Project1

标题: 防具种类关联技能 [打印本页]

作者: 3106345123    时间: 2013-10-12 12:30
标题: 防具种类关联技能
本帖最后由 3106345123 于 2013-10-12 16:35 编辑

VA实现了 装备了某种或某几种中的一种武器时才能使用某技能,

现在我想让防具也实现此功能。

装备了某种或某几种中的一种防具时才能使用某技能

作者: tan12345    时间: 2013-10-12 12:43
武器你是怎么实现的?脚本还是什么?如果是脚本就要改脚本,如果是数据库,你在数据库里怎么设定武器的,也可以设定防具
作者: tan12345    时间: 2013-10-12 14:20
如果你想这样改,涉及到脚本了,最近比较忙,没什么时间,你@下其他人吧,不是很难改,在备注栏里加判断就可以了
作者: 喵呜喵5    时间: 2013-10-12 14:59
先加入这个脚本
http://rpg.blue/thread-99474-1-1.html

然后在那个脚本以下的位置添加这个脚本
  1. class Game_Actor < Game_Battler  
  2.   def skill_wtype_ok?(skill)
  3.     wtype_id1 = skill.required_wtype_id1
  4.     wtype_id2 = skill.required_wtype_id2
  5.     atype_id1 = $data_skills[skill.id].read_note('ar1')
  6.     atype_id2 = skill.read_note('ar2')
  7.     if wtype_id1 == 0 && wtype_id2 == 0
  8.       return true if atype_id1 == nil && atype_id2 == nil
  9.       return true if atype_id1 > 0 && atype_equipped?(atype_id1)
  10.       return true if atype_id2 > 0 && atype_equipped?(atype_id2)
  11.     else   
  12.       return true if wtype_id1 > 0 && wtype_equipped?(wtype_id1)
  13.       return true if wtype_id2 > 0 && wtype_equipped?(wtype_id2)
  14.     end
  15.     return false
  16.   end  
  17.   def atype_equipped?(atype_id)
  18.     armors.any? {|armor| armor.atype_id == atype_id }
  19.   end  
  20. end
复制代码
之后在技能的备注栏填入
  1. ar1 = 1
  2. ar2 = 2
复制代码
等号后面写上你防具的ID即可
作者: tan12345    时间: 2013-10-12 15:16
啊啊啊啊啊喵呜喵5我刚想说我无聊了可以帮弄了,结果你却抢先了,不管了,我的脚本没那么复杂,就那么一个。
  1. class Game_Actor < Game_Battler  
  2.   #--------------------------------------------------------------------------
  3.   # ● 是否装备技能所需要的所有必要武器装备
  4.   #--------------------------------------------------------------------------
  5.   def skill_wtype_ok?(skill)
  6.     #技能使用收到防具的限制
  7.     #使用方法:在技能的备注栏里加入<atype i>即可
  8.     #其中i代表收到限制的防具类型(参照数据库-用语-防具类型),为0或不填时代表不限制
  9.     #例如填写<atype 6>则代表在没有装备大盾类防具时,无法使用该技能。
  10.     #目前只做了限制一种防具
  11.     n = skill.note
  12.     c = /<atype (\d+?)>/i =~ n ? $1.to_i : 0
  13.     ###################
  14.     wtype_id1 = skill.required_wtype_id1
  15.     wtype_id2 = skill.required_wtype_id2
  16.     return true if wtype_id1 == 0 && wtype_id2 == 0 && c == 0
  17.     return true if wtype_id1 > 0 && wtype_equipped?(wtype_id1)
  18.     return true if wtype_id2 > 0 && wtype_equipped?(wtype_id2)
  19.     return true if c > 0 && atype_equipped?(c)
  20.     return false
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 是否装备着特定类型的防具装备
  24.   #--------------------------------------------------------------------------
  25.   def atype_equipped?(atype_id)
  26.     armors.any? {|armor| armor.atype_id == atype_id }
  27.   end
  28. end
复制代码

作者: tan12345    时间: 2013-10-12 15:42
是呢,可惜最近忙,这个还是看他简单顺手写的。@喵呜喵5




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