1111.png (157.23 KB, 下载次数: 36)
所有角色最多只能食用20颗果子
余杭 发表于 2023-4-11 19:22
简单也很麻烦的方法就是每个角色设置一个变量来代表使用次数,当变量超过20使用无效,不过需要调用公共事件 ...
55808888 发表于 2023-4-16 00:24
请问“每个角色设置一个变量代表使用次数”怎么设置?
例如:A吃了一个智力果实,公共事件里怎么只让A的 ...
if($gameActors.actor($gameParty._targetActorId).usednumber === undefined) $gameActors.actor($gameParty._targetActorId).usednumber = 0; $gameActors.actor($gameParty._targetActorId).usednumber += 1; $gameVariables.setValue(1,$gameActors.actor($gameParty._targetActorId).usednumber ); $gameVariables.setValue(2,$gameParty._targetActorId);
余杭 发表于 2023-4-16 01:23
使用公共事件界面的 脚本 ,里面输入下面的代码,就可以把变量 1 设置为当前选择人物的果实使用次数 ...
bleen 发表于 2023-4-11 16:52
用插件的方法:YEP有一个YEP_X_ItemRequirements的插件,可以根据变量或开关来决定物品是否可用。物品里关 ...
余杭 发表于 2023-4-16 01:23
使用公共事件界面的 脚本 ,里面输入下面的代码,就可以把变量 1 设置为当前选择人物的果实使用次数 ...
QQ图片20230417194413.png (371.25 KB, 下载次数: 36)
111.png (384.75 KB, 下载次数: 34)
55808888 发表于 2023-4-17 19:43
大神,在这个基础上我扩展了下设计,攻击、法攻、幸运归为一类攻击类果实,生命、防御,法防归为防御类种 ...
余杭 发表于 2023-4-17 20:13
你需要把 .usednumber 换掉,可以把攻击类改成 .攻击果实 ,
...
//【使用说明】 //满足下列条件的道具,在使用时受限制次数影响: //1.道具备注栏备注<角色使用限制:x> //2.道具范围是[我方单体]; //3.使用场合是城镇地图(战斗时会自动禁用,不用担心)。 //4.成员入队初始化时,重置该角色所有道具的使用次数。 //【举例子】 //1号道具备注:<角色使用限制:10> //该道具对任何角色的次数限制均为10,所有角色单独计算。 //可以随时在数据库修改备注栏的限制次数,会自动同步。 var _XZScene_ItemBase_canUse = Scene_ItemBase.prototype.canUse; Scene_ItemBase.prototype.canUse = function() { if (this._actorWindow && this._actorWindow.active) { var actor = $gameParty.members()[this._actorWindow.index()]; var TJ = !actor.isItemXZ(this.item()); return _XZScene_ItemBase_canUse && TJ; } else { return _XZScene_ItemBase_canUse; } }; var _XZScene_Item_onItemOk = Scene_Item.prototype.onItemOk; Scene_Item.prototype.onItemOk = function() { _XZScene_Item_onItemOk.call(this); if (this._actorWindow && this._actorWindow.active) this._actorWindow.refresh(); }; var _XZScene_Item_useItem = Scene_Item.prototype.useItem; Scene_Item.prototype.useItem = function() { _XZScene_Item_useItem.call(this); if (this._actorWindow && this._actorWindow.active) { var actor = $gameParty.members()[this._actorWindow.index()]; actor.BgItemXZ(this.item()); this._actorWindow.refresh(); } }; var _XZWindow_Base_drawActorSimpleStatus = Window_Base.prototype.drawActorSimpleStatus; Window_Base.prototype.drawActorSimpleStatus = function(actor, x, y, width) { _XZWindow_Base_drawActorSimpleStatus.call(this, actor, x, y, width); if (SceneManager._scene.constructor.name == "Scene_Item") { var item = SceneManager._scene.item(); if (item && item.meta.角色使用限制) { var se = actor.isItemXZ(item)?'\\c[18]':'\\c[24]'; var text = '\\c[16]限制使用次数:'+se+actor.ItemXZs(item)+'/'+item.meta.角色使用限制; var yy = y+this.itemHeight()-this.standardFontSize()-this.spacing()*2; this.drawTextEx(text, this.textPadding(), yy); } } }; var _XZWindow_ItemList_isCurrentItemEnabled = Window_ItemList.prototype.isCurrentItemEnabled; Window_ItemList.prototype.isCurrentItemEnabled = function() { if ($gameParty.inBattle() && this.item() && this.item().meta.角色使用限制) return false; return _XZWindow_ItemList_isCurrentItemEnabled.call(this); }; //成员入队初始化时,重置该角色所有道具的使用次数 //不想要这个功能就删除这段代码 var _XZGame_Actor_setup = Game_Actor.prototype.setup; Game_Actor.prototype.setup = function(actorId) { _XZGame_Actor_setup.call(this,actorId); if (this._ItemXZ) this._ItemXZ = null; };// Game_Actor.prototype.isItemXZ = function(item) { var kg = false; if (!item) return kg; if (!item.meta.角色使用限制) return kg; if (!this._ItemXZ) this._ItemXZ = []; var s = Number(item.meta.角色使用限制); for (var i=0;i<this._ItemXZ.length;i++) { var sz = this._ItemXZ[i]; if (sz[0]==item.id && sz[1]>=s) kg = true; } return kg; }; Game_Actor.prototype.ItemXZs = function(item) { if (item && item.meta.角色使用限制 && this._ItemXZ) { var bh = -1; for (var i=0;i<this._ItemXZ.length;i++) { var sz = this._ItemXZ[i]; if (sz[0]==item.id) bh = i; } if (bh!=-1) return this._ItemXZ[bh][1]; } return 0; }; Game_Actor.prototype.BgItemXZ = function(item) { if (item && item.meta.角色使用限制 && !this.isItemXZ(item)) { var bh = -1; for (var i=0;i<this._ItemXZ.length;i++) { var sz = this._ItemXZ[i]; if (sz[0]==item.id) bh = i; } if (bh!=-1) { this._ItemXZ[bh][1]++; } else { this._ItemXZ.push([item.id,1]); } } };
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |