Project1

标题: 求个装备携带限制的设置方法 [打印本页]

作者: stella    时间: 2014-9-26 14:26
标题: 求个装备携带限制的设置方法
当携带武器超过40件就不能再得到武器,提示一句话“超过武器携带上限”
当携带防具超过50件就不能再得到防具,提示一句话“超过防具携带上限”
物品没有数量限制
作者: chd114    时间: 2014-9-26 21:06
你说得40件是有40种不同类型武器还是40个武器···
作者: stella    时间: 2014-9-26 21:40
chd114 发表于 2014-9-26 21:06
你说得40件是有40种不同类型武器还是40个武器···

总和40件。假如携带20个铜剑15个铁剑5个钢剑,判断出来就是40个
作者: chd114    时间: 2014-9-26 21:44
stella 发表于 2014-9-26 04:40
总和40件。假如携带20个铜剑15个铁剑5个钢剑,判断出来就是40个

我可以做出来,不过RMXP里面增加武器的方法太多了···我不能保证每一种增加武器的情况都可以做到
  1. 当携带武器超过40件就不能再得到武器,提示一句话“超过武器携带上限”
复制代码
···
作者: 你最珍贵    时间: 2014-9-26 21:59
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Game_Party
  3. #------------------------------------------------------------------------------
  4. #  处理同伴的类。包含金钱以及物品的信息。本类的实例
  5. # 请参考 $game_party。
  6. #==============================================================================
  7.  
  8. class Game_Party
  9.   #--------------------------------------------------------------------------
  10.   # ● 增加武器 (减少)
  11.   #     weapon_id : 武器 ID
  12.   #     n         : 个数
  13.   #--------------------------------------------------------------------------
  14.   def gain_weapon(weapon_id, n)
  15.     a = 0
  16.     for i in 1..$data_weapons.size
  17.       a += $game_party.weapon_number(i)
  18.     end
  19.     return p "超过武器携带上限" if a >= 40
  20.     # 更新 hash 的个数数据
  21.     if weapon_id > 0
  22.       @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
  23.     end
  24.   end
  25. end

物品 防具也可以参照以上方法
作者: stella    时间: 2014-9-26 22:39
你最珍贵 发表于 2014-9-26 21:59
#==============================================================================
# ■ Game_Party
#--- ...

我测试了一下,把武器上限设为10,然后通过一事件同时给角色4个铜剑,5个铁剑,5个钢剑,结果角色得到的一共是14件武器
作者: 芯☆淡茹水    时间: 2014-9-27 09:32
把上面的稍微改下:
  1. #==============================================================================
  2. # ■ Game_Party
  3. #------------------------------------------------------------------------------
  4. #  处理同伴的类。包含金钱以及物品的信息。本类的实例
  5. # 请参考 $game_party。
  6. #==============================================================================

  7. class Game_Party
  8.   #--------------------------------------------------------------------------
  9.   # ● 增加武器 (减少)
  10.   #     weapon_id : 武器 ID
  11.   #     n         : 个数
  12.   #--------------------------------------------------------------------------
  13.   def gain_weapon(weapon_id, n)
  14.     a = 0
  15.     for i in 1..$data_weapons.size
  16.       a += $game_party.weapon_number(i)
  17.     end
  18.     ln = a + n - 40
  19.     n = [n, 40-a].min
  20.     p "超过武器携带上限#{ln}个。"  if ln > 0
  21.     # 更新 hash 的个数数据
  22.     if weapon_id > 0
  23.       @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
  24.     end
  25.   end
  26. end
复制代码

作者: 573932914    时间: 2014-9-27 09:44
  1. for i in  100 #数据库设置100个武器就弄100个
  2. @weaponnum+=$game_party.weapon_number(i)
  3. end
  4. if @weaponnum = 40
  5. end
复制代码
未测试哎。




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