白嫩白嫩的 发表于 2019-7-25 21:22
公共事件分歧判断
当装备【空虚飞机杯】 时 转换职业 为 假面骑士
var slot_Id = 1; var _Game_Actor_changeEquip = Game_Actor.prototype.changeEquip; Game_Actor.prototype.changeEquip = function (slotId, item) { slotId == (slot_Id - 1) ? (item == null ? this._classId = 1 : (this.actorId() == 1 ? (item.wtypeId != undefined ? (item.id == 1 ? this._classId = 2 : this._classId = 1) : 0) : 0)) : 0; _Game_Actor_changeEquip.call(this, slotId, item); } var _Game_Actor_discardEquip = Game_Actor.prototype.discardEquip; Game_Actor.prototype.discardEquip = function (item) { (slot_Id - 1) == this.equips().indexOf(item) ? (item == null ? this._classId = 1 : 0) : 0; _Game_Actor_discardEquip.call(this, item); };
多卡多卡 发表于 2019-7-26 20:38
var slot_Id = 1;
var _Game_Actor_changeEquip = Game_Actor.prototype.changeEquip;
Game_Actor.prototy ...
多卡多卡 发表于 2019-7-26 20:38
var slot_Id = 1;
var _Game_Actor_changeEquip = Game_Actor.prototype.changeEquip;
Game_Actor.prototy ...
ccArtermices 发表于 2019-7-28 15:54
你好,我的项目是有很多个防具,然后这些防具都对应一个职业,装备了之后变成这个职业,但是大神你给我的 ...
多卡多卡 发表于 2019-7-28 16:10
如果要实现换一个防具就切换一个职业的话,这个实现起来就比较困难了,我试试看能不能做出来 ...
//============================================================================= // Doka_ChangeClassWithEquip.js // by 多卡多卡 on 2019/7/28 //============================================================================= /*: * @plugindesc 换装切换职业 * @author 多卡多卡 * * @param 装备-1 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-2 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-3 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-4 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-5 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-6 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-7 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-8 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-9 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-10 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-11 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-12 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-13 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-14 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-15 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-16 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-17 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-18 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-19 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @param 装备-20 * @type struct<Equip> * @desc 装备的详细配置信息。 * @default * * @help * 切换装备可以同时切换职业 * 当换上一件装备时,如果可以变更职业, * 那么职业将会转变成装备对应的职业。 * 如果脱下装备或换上一件普通的装备, * 那么职业将会切换会原来的职业 */ /*~struct~Equip: * * @param 切换职业 * @desc 切换装备后的职业 * @type class * @default 0 * * @param 装备类型 * @type boolean * @on 武器 * @off 防具 * @desc 装备的类型 * @default true * * @param ----装备Id---- * @default * * @param 武器Id * @parent ----装备Id---- * @type weapon * @desc 武器的Id(仅当装备类型为武器时生效) * @default 0 * * @param 防具Id * @parent ----装备Id---- * @type armor * @desc 防具的Id(仅当装备类型为防具时生效) * @default 0 */ var Imported = Imported || {}; Imported.Doka_ChangeClassWithEquip = true; var Doka_ChangeClassWithEquip = Doka_ChangeClassWithEquip || {}; Doka_ChangeClassWithEquip.parameters = PluginManager.parameters('Doka_ChangeClassWithEquip'); Doka_ChangeClassWithEquip.MaxEquip = 20; Doka_ChangeClassWithEquip.Equips = []; for (var i = 0; i < Doka_ChangeClassWithEquip.MaxEquip; i++) { if (Doka_ChangeClassWithEquip.parameters['装备-' + String(i + 1)] != "") { Doka_ChangeClassWithEquip.Equips[i] = JSON.parse(Doka_ChangeClassWithEquip.parameters['装备-' + String(i + 1)]); //不知道这个有什么用,先抄下来 Doka_ChangeClassWithEquip.Equips[i]['Later Class'] = Number(Doka_ChangeClassWithEquip.Equips[i]['切换职业']); Doka_ChangeClassWithEquip.Equips[i]['Type'] = String(Doka_ChangeClassWithEquip.Equips[i]["装备类型"] || "true") == "true"; Doka_ChangeClassWithEquip.Equips[i]['Weapon Id'] = Number(Doka_ChangeClassWithEquip.Equips[i]['武器Id']); Doka_ChangeClassWithEquip.Equips[i]['Armor Id'] = Number(Doka_ChangeClassWithEquip.Equips[i]['防具Id']); } else { Doka_ChangeClassWithEquip.Equips[i] = []; } } var Doka_Game_Actor_initMembers = Game_Actor.prototype.initMembers; Game_Actor.prototype.initMembers = function () { Doka_Game_Actor_initMembers.call(this); this.initOriginClass(); }; Game_Actor.prototype.initOriginClass = function () { if (!this._originClass) { this._originClass = 0; } }; var Doka_Game_Actor_changeEquip = Game_Actor.prototype.changeEquip; Game_Actor.prototype.changeEquip = function (slotId, item) { for (var i = 0; i <= Doka_ChangeClassWithEquip.MaxEquip; i++) { if (i < Doka_ChangeClassWithEquip.MaxEquip && this.equips()[slotId] != null && Doka_ChangeClassWithEquip.Equips[i]['Type'] != undefined) { if ((Doka_ChangeClassWithEquip.Equips[i]['Type'] && (this.equips()[slotId].wtypeId != undefined && this.equips()[slotId].id != Doka_ChangeClassWithEquip.Equips[i]['Weapon Id'])) || (!Doka_ChangeClassWithEquip.Equips[i]['Type'] && (this.equips()[slotId].atypeId != undefined && this.equips()[slotId].id != Doka_ChangeClassWithEquip.Equips[i]['Armor Id']))) this._originClass = this._classId; } } Doka_Game_Actor_changeEquip.call(this, slotId, item); for (var i = 0; i <= Doka_ChangeClassWithEquip.MaxEquip; i++) { if (i < Doka_ChangeClassWithEquip.MaxEquip && this.equips()[slotId] != null && Doka_ChangeClassWithEquip.Equips[i]['Type'] != undefined) { if ((Doka_ChangeClassWithEquip.Equips[i]['Type'] && this.equips()[slotId].wtypeId != undefined && this.equips()[slotId].id == Doka_ChangeClassWithEquip.Equips[i]['Weapon Id']) || (!Doka_ChangeClassWithEquip.Equips[i]['Type'] && this.equips()[slotId].atypeId != undefined && this.equips()[slotId].id == Doka_ChangeClassWithEquip.Equips[i]['Armor Id'])) { this._originClass = this._classId; this._classId = Doka_ChangeClassWithEquip.Equips[i]['Later Class']; break; } } Doka_ChangeClassWithEquip.MaxEquip == i ? this._classId = this._originClass : 0; } }
1.41 KB, 下载次数: 126
多卡多卡 发表于 2019-7-28 20:47
这个就可以实现切换装备的同时切换职业了,如果脱下装备或者换了普通的装备,就会切回原来的职业。
//===== ...
ccArtermices 发表于 2019-7-31 21:25
多神,这个脚本使用后只要角色一装备物品就会出现 cannot read property 'params' of null的错误,如何破 ...
多卡多卡 发表于 2019-7-31 21:59
要将角色原来的职业储存起来比较麻烦,现在改过了不会报错了,并且关闭后重新读档也能切回原来的职业,可 ...
多卡多卡 发表于 2019-7-31 21:59
要将角色原来的职业储存起来比较麻烦,现在改过了不会报错了,并且关闭后重新读档也能切回原来的职业,可 ...
中华国哥 发表于 2019-8-1 09:35
口以试一下waynee95的插件,WAY_CustonOnEquipEval(还需way的核心插件),口以设定装备或脱下装备时执行某 ...
ccArtermices 发表于 2019-8-14 20:34
多神,还是不行,还是会报那个错,而这个报错一般是发生在没有装备可以改变职业的物品的角色上,这些角色 ...
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |