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

Project1

 找回密码
 注册会员
搜索
查看: 1193|回复: 2
打印 上一主题 下一主题

[已经解决] 装备等级脚本出错

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-12-22
帖子
274
跳转到指定楼层
1
发表于 2009-1-19 00:41:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
2
发表于 2009-1-19 01:54:55 | 只看该作者
你少了定义Armor那一段 - -bbb
  1. module RPG
  2. class Weapon
  3.   def level
  4.    return 1 if @description.split(/★/)[1] == nil
  5.    return @description.split(/★/)[1]
  6. end
  7.   def description      
  8.     return @description.split(/★/)[0]
  9.   end
  10. end
  11. class Armor
  12.   def level
  13.    return 1 if @description.split(/★/)[1] == nil
  14.    return @description.split(/★/)[1]
  15.   end
  16.   def description      
  17.     return @description.split(/★/)[0]
  18.   end
  19. end
  20. end



  21. class Game_Actor < Game_Battler
  22. #--------------------------------------------------------------------------
  23. # ● 可以装备判定
  24. #     item : 物品
  25. #--------------------------------------------------------------------------
  26. def equipable?(item)
  27.   
  28. # 武器的情况
  29. if item.is_a?(RPG::Weapon)
  30.    # 包含当前的职业可以装备武器的场合
  31.    if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<@level
  32.      return true
  33.    end
  34. end
  35. # 防具的情况
  36. if item.is_a?(RPG::Armor)
  37.    # 不包含当前的职业可以装备武器的场合
  38.    if $data_classes[@class_id].armor_set.include?(item.id)  and item.level.to_i<@level
  39.      return true
  40.    end
  41. end
  42. return false
  43. end
  44. end
  45. #==============================================================================
  46. # ■ Window_EquipItem
  47. #------------------------------------------------------------------------------
  48. #  装备画面、显示浏览变更装备的候补物品的窗口。
  49. #==============================================================================

  50. class Window_EquipItem < Window_Selectable
  51. #--------------------------------------------------------------------------
  52. # ● 刷新
  53. #--------------------------------------------------------------------------
  54. def refresh
  55.   if self.contents != nil
  56.     self.contents.dispose
  57.     self.contents = nil
  58.   end
  59.   @data = []
  60.   # 添加可以装备的武器
  61.   if @equip_type == 0
  62.     weapon_set = $data_classes[@actor.class_id].weapon_set
  63.     for i in 1...$data_weapons.size
  64.       if $game_party.weapon_number(i) > 0 and weapon_set.include?(i) and @actor.equipable?($data_weapons[i])
  65.         @data.push($data_weapons[i])
  66.       end
  67.     end
  68.   end
  69.   # 添加可以装备的防具
  70.   if @equip_type != 0
  71.     armor_set = $data_classes[@actor.class_id].armor_set
  72.     for i in 1...$data_armors.size
  73.       if $game_party.armor_number(i) > 0 and armor_set.include?(i) and @actor.equipable?($data_armors[i])
  74.         if $data_armors[i].kind == @equip_type-1
  75.           @data.push($data_armors[i])
  76.         end
  77.       end
  78.     end
  79.   end
  80.   # 添加空白
  81.   @data.push(nil)
  82.   # 生成位图、描绘全部项目
  83.   @item_max = @data.size
  84.   self.contents = Bitmap.new(width - 32, row_max * 32)
  85.   for i in 0...@item_max-1
  86.     draw_item(i)
  87.   end
  88. end
  89. end  
复制代码

系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
111 小时
注册时间
2010-6-26
帖子
80
3
发表于 2010-7-23 20:11:44 | 只看该作者
突然发现楼上的脚本有一个错误啊,忍不住指出来。
#--------------------------------------------------------------------------
# ● 可以装备判定
#     item : 物品
#--------------------------------------------------------------------------
def equipable?(item)
  
# 武器的情况
if item.is_a?(RPG::Weapon)
   # 包含当前的职业可以装备武器的场合
   if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<@level
     return true
   end
end
# 防具的情况
if item.is_a?(RPG::Armor)
   # 不包含当前的职业可以装备武器的场合
   if $data_classes[@class_id].armor_set.include?(item.id)  and item.level.to_i<@level
     return true
   end
end
return false
end
end

这一段,if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<@level
     return true只是用了<号,就是说正好处于那个等级的时候装备还不可以装备上,所以应该把<号修改为<=才正确。下面的防具对应的也需要修改。
:(不知道顶坟贴会不会被处罚~不过也是为了大家好嘛~

评分

参与人数 1星屑 +300 收起 理由
「旅」 + 300 奖励200~~不过挖坟减去50~~

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-12-27 06:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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