Project1

标题: 请问如何做一个消耗装备的技能 [打印本页]

作者: 电车之熊    时间: 2016-11-20 22:48
标题: 请问如何做一个消耗装备的技能
在帮助菜单的范例中有 一个制作消耗“物品”的技能。有没有方法做一个消耗装备的技能呢 就是装备穿在身上 然后放技能这装备就没了,所有一场只能用一次。
谢谢了
作者: jianyulei    时间: 2016-11-20 23:46
制作一个添加技能的装备,技能导入事件,事件内容设置删除此装备,同界面中勾选“包括已装备”,然后再插入用下面链接2楼的脚本
https://rpg.blue/forum.php?mod=v ... d=395257&extra=
作者: VIPArcher    时间: 2016-11-21 00:46
本帖最后由 VIPArcher 于 2016-11-21 00:47 编辑
  1. class Game_Actor < Game_Battler
  2.   alias vip20161121_usable? usable?
  3.   def usable?(skill)
  4.     if skill.is_a?(RPG::Skill) && skill.note =~ /<消耗装备\s*([aw])\s*(\d+)>/
  5.       equip = $1 == 'a' ? $data_armors[$2.to_i] : $data_weapons[$2.to_i]
  6.       return equips.include?(equip) && vip20161121_usable?(skill)
  7.     end
  8.     vip20161121_usable?(skill)
  9.   end
  10.   alias vip20161121_pay_skill_cost pay_skill_cost
  11.   def pay_skill_cost(skill)
  12.     if skill.is_a?(RPG::Skill) && skill.note =~ /<消耗装备\s*([aw])\s*(\d+)>/
  13.       equip = $1 == 'a' ? $data_armors[$2.to_i] : $data_weapons[$2.to_i]
  14.       if SceneManager.scene_is?(Scene_Battle)
  15.         SceneManager.scene.instance_variable_get(:@log_window).add_text(
  16.           "#{self.name}舍弃了#{equip.name}奋力一击!"
  17.         )
  18.       end
  19.       discard_equip(equip)
  20.     end
  21.     vip20161121_pay_skill_cost(skill)
  22.   end
  23. end
复制代码
仅仅做了简单测试

技能备注上例如:<消耗装备 a 1>   a表示防具,w表示武器。大小写敏感
作者: 卡奥尼特    时间: 2016-11-21 07:43
記得迷糊的安安發過類似的,雖然只是消耗物品…… 不是武器……
https://rpg.blue/thread-226207-1-1.html




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