设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

防具种类关联技能

查看数: 2049 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-10-12 12:30

正文摘要:

本帖最后由 3106345123 于 2013-10-12 16:35 编辑 VA实现了 装备了某种或某几种中的一种武器时才能使用某技能, 现在我想让防具也实现此功能。 即 装备了某种或某几种中的一种防具时才能使用某技能 ...

回复

tan12345 发表于 2013-10-12 15:42:26
是呢,可惜最近忙,这个还是看他简单顺手写的。@喵呜喵5
tan12345 发表于 2013-10-12 15:16:12
啊啊啊啊啊喵呜喵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
复制代码

点评

谢谢。  发表于 2013-10-12 16:44
其实本质上都一样,有时间的话干脆做成防具一个数组、武器一个数组的效果脚本的实用性会大大提高  发表于 2013-10-12 15:35

评分

参与人数 2星屑 +180 收起 理由
熊喵酱 + 176 认可答案
3106345123 + 4 认可答案

查看全部评分

喵呜喵5 发表于 2013-10-12 14:59:51
先加入这个脚本
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即可

点评

谢谢。  发表于 2013-10-12 16:44

评分

参与人数 2星屑 +184 收起 理由
熊喵酱 + 180 认可答案
3106345123 + 4 认可答案

查看全部评分

tan12345 发表于 2013-10-12 14:20:38
如果你想这样改,涉及到脚本了,最近比较忙,没什么时间,你@下其他人吧,不是很难改,在备注栏里加判断就可以了
tan12345 发表于 2013-10-12 12:43:32
武器你是怎么实现的?脚本还是什么?如果是脚本就要改脚本,如果是数据库,你在数据库里怎么设定武器的,也可以设定防具

点评

数据库里可以设定武器,无法设定防具。  发表于 2013-10-12 12:50
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-18 13:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表