Project1

标题: 使用道具时的判断问题 [打印本页]

作者: mtyhol    时间: 2018-10-25 22:34
标题: 使用道具时的判断问题
求教大神
问题是这样的,想做一系列特殊装备,A1,B1,C1,分别能升级成A2,B2,C2,这些装备会固定栏位,玩家不能手动卸下来或者更换,只能通过特定事件触发强制更换
2级别的不能直接装备,需要先装备1才能升级,但是装备里面的特性并不满足我想做的功能
于是我把这些装备先做成了道具,使用A1时触发公共事件,加了一个装备并且强制穿上,但是公共事件里无法判断这个道具给谁用了,谁应该穿上
于是我又在使用时添加了一个技能,判定条件就是谁学会了这个技能,就穿上这个特殊装备
于是问题又来了,有了A2之后我想给A1升级,这个可以判定,但是如果有多个主角就会出现bug,如果玩家给甲先用了A1,那么用A2的时候就无法判断是甲升级还是乙装备,结果造成给乙吃的时候,甲升级了
求助怎么实现这个功能,或者有什么插件可以使用,万分感谢
作者: qq1065526265    时间: 2018-10-26 07:48
本帖最后由 qq1065526265 于 2018-10-26 08:08 编辑

做出药的效果 。做成非消耗品增加状态和公共事件
吃了之后获得一个状态,然后一个个人判断有没有这个状态和A1装备。如果有继续执行下一步,然后减少这个物品,全队清除这个状态。如果两个条件不符合显示文本无法使用,然后清除全队的这个状态
作者: ekmomo    时间: 2018-10-26 10:50


JAVASCRIPT 代码复制
  1. var weaponShift = {1:3, 2:4};
  2. var armorShift = {1:3, 2:4};
  3. var actors = $gameParty.allMembers();
  4. for (var i=0;i<actors.length;i++){
  5. for (var j=0;j<actors[i]._equips.length;j++){
  6. var item = actors[i]._equips[j];
  7. if (item._dataClass ==="weapon" && weaponShift[item._itemId]){item._itemId = weaponShift[item._itemId];}
  8. if (item._dataClass ==="armor" && armorShift[item._itemId]){item._itemId = armorShift[item._itemId];}
  9. }
  10. }


前两行自己改一下,weaponShift = {1:3, 2:4}代表ID为1的武器替换为ID为3的,armorShift就是替换护甲。多个规则由逗号分隔如var armorShift = {A:B, C:D, E:F, G:H}这样。
作者: sjdbdbdbdbdb    时间: 2018-10-26 20:49
看的脑瓜疼
作者: yang1zhi    时间: 2018-10-27 11:13
你说的不就是特性里面的,固定装备吗




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1