Project1

标题: 获取装备中武器的(ID?攻击力?) [打印本页]

作者: killuer    时间: 2015-7-24 13:50
标题: 获取装备中武器的(ID?攻击力?)
求问下VA里怎么获取装备中武器的ID或者某项属性?

XP的
$game_party.actors[0].weapon_id
貌似是不行的……

用这个
$game_actors[1].weapons
倒是搞出了下面一大滩,但是只要其中的ID或者某项属性(如攻击力)该怎么写?

[#<RPG::Weapon:0x3575898 @description="", @name="ff", @icon_index=147, @price=0, @animation_id=0, @note="", @id=1, @features=[#<RPG::BaseItem::Feature:0x35756f4 @code=31, @data_id=1, @value=0>, #<RPG::BaseItem::Feature:0x35756a4 @code=22, @data_id=0, @value=0>], @params=[0, 0, 15, 0, 10, 0, 0, 0], @etype_id=0, @wtype_id=1>]


作者: 墨凌羽    时间: 2015-7-24 13:56
  1. $game_actors[1].weapons.id
复制代码
?
作者: killuer    时间: 2015-7-24 15:15
墨凌羽 发表于 2015-7-24 13:56
?

我也这么猜过。。。不行,报未定义方法"id"
作者: VIPArcher    时间: 2015-7-24 20:10
本帖最后由 VIPArcher 于 2015-7-24 20:16 编辑

VA里因为有双持武器,所以获取的weapons是个数值
具体代码见Game_Actor#weapons,如下:
  1. class Game_Actor < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 获取武器实例的数组
  4.   #--------------------------------------------------------------------------
  5.   def weapons
  6.     @equips.select {|item| item.is_weapon? }.collect {|item| item.object }
  7.   end
  8. end
复制代码
所以获取1号角色的武器实例应该这样
RUBY 代码复制
  1. $game_actors[1].weapons[0]

另外武器实例拥有的方法参考F1数据结构里的RPG::Weapon及其父类(RPG::EquipItem和RPG::BaseItem)
比如1号角色装备的武器的攻击力就是
RUBY 代码复制
  1. $game_actors[1].weapons[0].params[2]

【别说F1帮助文档还没汉化什么的】
再另外VA里获取队员和XP不同,VA里是
RUBY 代码复制
  1. $game_party.members
  2. $game_party.members[2] #队伍里的第三个人





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