Project1

标题: 装备判定 [打印本页]

作者: 黑米馒头    时间: 2022-7-28 21:50
标题: 装备判定
在武器界面装备武器时出现脚本错误,来个大佬帮忙看看啥情况~


RUBY 代码复制
  1. # ■装备判断
  2. #==============================================================================
  3. # ■ Game_Actor
  4. #------------------------------------------------------------------------------
  5. #  处理角色的类。本类在 Game_Actors 类 ($game_actors)
  6. # 的内部使用、Game_Party 类请参考 ($game_party) 。
  7. #==============================================================================
  8.  
  9. # 判断能否装备。
  10. class Game_Actor < Game_Battler
  11.   def can_equip?(equip)
  12.     if equip.is_a?(RPG::Weapon)
  13.       set = $data_classes[@class_id].weapon_set
  14.     else
  15.       set = $data_classes[@class_id].armor_set
  16.     end
  17.     return set.include?(equip.id)
  18.   end
  19. end



作者: qq634488405    时间: 2022-7-29 08:38
can_equip?这个方法你传入的是什么参数?传入的参数应该是RPG::Weapon或RPG::Armor的实例对象,比如$data_weapons[x]或$data_armors[y]之类的
作者: 黑米馒头    时间: 2022-7-29 12:50
qq634488405 发表于 2022-7-29 08:38
can_equip?这个方法你传入的是什么参数?传入的参数应该是RPG::Weapon或RPG::Armor的实例对象,比如$data_w ...

不懂….我只知道在装备武器和装备栏的时候,里面是有一个空的格子,点空格子的时候,可以把身上的武器或装备拆下来,现在的问题是,一点那个空白的格子就弹出脚本错误
作者: alexncf125    时间: 2022-7-29 13:29
return true if equip.nil?
作者: 黑米馒头    时间: 2022-7-29 14:49
alexncf125 发表于 2022-7-29 13:29
return true if equip.nil?


# 判断能否装备。
class Game_Actor < Game_Battler
  def can_equip?(equip)
    if equip.is_a?(RPG::Weapon)
      set = $data_classes[@class_id].weapon_set
    else
      set = $data_classes[@class_id].armor_set
    end
#   return set.include?(equip.id)
    return true if equip.nil?
  end
end

这样直接装备都不能装了

作者: 黑米馒头    时间: 2022-7-29 15:45
qq634488405 发表于 2022-7-29 08:38
can_equip?这个方法你传入的是什么参数?传入的参数应该是RPG::Weapon或RPG::Armor的实例对象,比如$data_w ...

我这么改目前好像没出错,应该没问题吧?

  1. # 判断能否装备。
  2. class Game_Actor < Game_Battler
  3.   def can_equip?(equip)
  4.     if equip.is_a?(RPG::Weapon)
  5.       set = $data_classes[@class_id].weapon_set
  6.     else
  7.       set = $data_classes[@class_id].armor_set
  8.     end
  9.    
  10.     # 装备为无时
  11.     if equip.nil?
  12.       # 返回
  13.       return true
  14.     else
  15.       # 穿戴装备
  16.       return set.include?(equip.id)
  17.     end
  18.    
  19.   end
  20. end
复制代码

作者: RPGzh500223    时间: 2022-7-29 19:24
你发的帖子,好些都是一个问题……。
你可以使用RMXP原本的方法,Game_Actor#equippable?,这个方法就避免了item 为nil 报错的情况。




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