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

Project1

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

[已经过期] 谁来帮我看这个脚本,等级限制出错了。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2011-4-29
帖子
23
跳转到指定楼层
1
发表于 2012-9-14 20:32:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
  1. #============================================================================
  2. # 定义装备等级限制方法:在数据库装备备注里写上[LV n] ,LV后有空格,n为等级,
  3. # 同理,定义装备能力值限制方法:
  4. # 备注里写上[ATK n][DEF n][MAT n][MDF n][AGI n][LUK n]。
  5. #            攻击   防御   魔攻   魔防   敏捷   幸运
  6. # 若某项限制不写则没有装备限制。
  7. # 注意这里限制的能力值是人物原始的能力值,不考虑装备、状态的影响,
  8. # 但是考虑事件对能力值的影响。
  9. #==============================================================================
  10. #==============================================================================
  11. # ■ RPG::BaseItem
  12. #==============================================================================
  13. class RPG::BaseItem

  14.   def lv_limit                                         #物品要求最低等级
  15.     m = 0
  16.     self.note.split(/[\r\n]+/).each { |line|
  17.       m = $1.to_i if line =~ /\[LV (\d+)\]/
  18.     }   
  19.     return m
  20.   end
  21.   
  22.   def atk_limit                                        #物品要求最低个人攻击力
  23.     m = 0
  24.     self.note.split(/[\r\n]+/).each { |line|
  25.       m = $1.to_i if line =~ /\[ATK (\d+)\]/
  26.     }   
  27.     return m
  28.   end
  29.   
  30.   def def_limit                                        #物品要求最低个人防御力
  31.     m = 0
  32.     self.note.split(/[\r\n]+/).each { |line|
  33.       m = $1.to_i if line =~ /\[DEF (\d+)\]/
  34.     }   
  35.     return m
  36.   end

  37.   def mat_limit                                        #物品要求最低个人魔法攻击
  38.     m = 0
  39.     self.note.split(/[\r\n]+/).each { |line|
  40.       m = $1.to_i if line =~ /\[MAT (\d+)\]/
  41.     }   
  42.     return m
  43.   end
  44.   
  45.   def mdf_limit                                        #物品要求最低个人魔法防御
  46.     m = 0
  47.     self.note.split(/[\r\n]+/).each { |line|
  48.       m = $1.to_i if line =~ /\[MDF (\d+)\]/
  49.     }   
  50.     return m
  51.   end
  52.   
  53.   def agi_limit                                        #物品要求最低个人敏捷性
  54.     m = 0
  55.     self.note.split(/[\r\n]+/).each { |line|
  56.       m = $1.to_i if line =~ /\[AGI (\d+)\]/
  57.     }   
  58.     return m
  59.   end  
  60.   
  61.   def luk_limit                                        #物品要求最低个人幸运
  62.     m = 0
  63.     self.note.split(/[\r\n]+/).each { |line|
  64.       m = $1.to_i if line =~ /\[LUK (\d+)\]/
  65.     }   
  66.     return m
  67.   end
  68.   #--------------------------------------------------------------------------
  69.   # ● 判断是否有要求
  70.   #--------------------------------------------------------------------------
  71.   def has_requirement?
  72.     return true if lv_limit  !=0
  73.     return true if atk_limit !=0
  74.     return true if def_limit !=0
  75.     return true if mat_limit !=0
  76.     return true if mdf_limit !=0
  77.     return true if agi_limit !=0
  78.     return true if luk_limit !=0
  79.     return false
  80.   end
  81. end
  82. class Game_Actor < Game_Battler
  83.   #--------------------------------------------------------------------------
  84.   # ● 判断是否可以装备
  85.   #     item : 物品
  86.   #--------------------------------------------------------------------------
  87.   alias original_equippable? equippable?
  88.   def equippable?(item)
  89.     return unless item
  90.     return false if self.level < item.lv_limit                     #等级限制
  91.     return false if actor_param(2) < item.atk_limit
  92.     return false if actor_param(3) < item.def_limit
  93.     return false if actor_param(4) < item.mat_limit
  94.     return false if actor_param(5) < item.mdf_limit
  95.     return false if actor_param(6) < item.agi_limit
  96.     return false if actor_param(7) < item.luk_limit
  97.     return original_equippable?(item)
  98.   end
  99.   #--------------------------------------------------------------------------
  100.   # ● 计算角色能力值
  101.   #--------------------------------------------------------------------------
  102.   def actor_param(param_id)
  103.     t_p = param_base(param_id) + param_base(param_id)
  104.     return [t_p, param_max(param_id)].min
  105.   end
  106. end

  107. #==============================================================================
  108. # ■ Window_Item
  109. #------------------------------------------------------------------------------
  110. #  物品画面、战斗画面、显示浏览物品的窗口。
  111. #==============================================================================

  112. class Window_ItemList < Window_Selectable
  113.   #--------------------------------------------------------------------------
  114.   # ● 更新帮助文本(自动显示使用物品的等级能力限制)
  115.   #--------------------------------------------------------------------------
  116.   def update_help
  117.     if item.nil?
  118.       @help_window.set_text("")
  119.       return
  120.     end
  121.     newdes = item.description
  122.     newdes += "  要求:" if(item.has_requirement?)
  123.     newdes += Vocab.level_a  + item.lv_limit.to_s  if item.lv_limit  != 0
  124.     newdes += Vocab.param(2) + item.atk_limit.to_s if item.atk_limit != 0
  125.     newdes += Vocab.param(3) + item.def_limit.to_s if item.def_limit != 0
  126.     newdes += Vocab.param(4) + item.mat_limit.to_s if item.mat_limit != 0
  127.     newdes += Vocab.param(5) + item.mdf_limit.to_s if item.mdf_limit != 0
  128.     newdes += Vocab.param(6) + item.agi_limit.to_s if item.agi_limit != 0
  129.     newdes += Vocab.param(7) + item.luk_limit.to_s if item.luk_limit != 0
  130.     @help_window.set_text(newdes)
  131.   end
  132. end
  133. class Window_EquipItem < Window_ItemList
  134.   #--------------------------------------------------------------------------
  135.   # ● 判断是否有效化
  136.   #--------------------------------------------------------------------------
  137.   alias original_include? include?
  138.   def include?(item)
  139.     o_equippable = original_include?(item)
  140.     if [email protected]?(item) && !o_equippable
  141.       return false
  142.     elsif [email protected]?(item)
  143.       return true
  144.     else
  145.       return false
  146.     end
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ● 判断是否有效化
  150.   #--------------------------------------------------------------------------
  151.   def enable?(item)
  152.     return @actor.equippable?(item)
  153.   end
  154. end
复制代码
就这个!!!!是可以限制物品的等级使用,可是对于换装备来说 无法看到装备了!求帮助!
d

Lv1.梦旅人

哆啦菌

梦石
0
星屑
46
在线时间
795 小时
注册时间
2010-7-24
帖子
3800
2
发表于 2012-9-14 22:11:53 | 只看该作者
是不是后觉大大的脚本?如果不是建议你用那个,如果是那么就是脚本冲突啊
随便看看
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-21 09:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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