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

Project1

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

[已经解决] VX物品和装备等级能力限制系统v1_2 转职时出错

[复制链接]

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
跳转到指定楼层
1
发表于 2010-8-31 20:26:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 企鹅达达 于 2010-8-31 22:06 编辑

item_and_equip_paam_limit_sample.rar (248.05 KB, 下载次数: 237)
  1. #============================================================================
  2. #         BY drgdrg  (感谢snstar2006提供的提取[]内容代码)
  3. #定义装备等级限制方法:在数据库装备备注里写上[LV n] ,LV后有空格,n为等级,
  4. #同理,定义装备能力值限制方法:备注里写上[ATK n][DEF n][SPI n][AGI n]。
  5. #若某项限制不写则没有装备限制。
  6. #注意这里限制的能力值是人物原始的能力值,不考虑装备、状态的影响,
  7. #但是考虑事件对能力值的影响。
  8. #==============================================================================
  9. #==============================================================================
  10. # ■ RPG::BaseItem
  11. #==============================================================================
  12. class RPG::BaseItem

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

  36.   def SPIlimit                                        #物品要求最低个人精神力
  37.     m = 0
  38.     self.note.split(/[\r\n]+/).each { |line|
  39.       m = $1.to_i if line =~ /\[SPI (\d+)\]/
  40.     }   
  41.     return m
  42.   end
  43.   
  44.   def AGIlimit                                        #物品要求最低个人敏捷性
  45.     m = 0
  46.     self.note.split(/[\r\n]+/).each { |line|
  47.       m = $1.to_i if line =~ /\[AGI (\d+)\]/
  48.     }   
  49.     return m
  50.   end  
  51. end



  52. #==============================================================================
  53. # ■ Game_Actor
  54. #------------------------------------------------------------------------------
  55. #  处理角色的类。本类在 Game_Actors 类 ($game_actors)
  56. # 的内部使用、Game_Party 类请参考 ($game_party) 。
  57. #==============================================================================

  58. class Game_Actor < Game_Battler  
  59.   #--------------------------------------------------------------------------
  60.   # ● 判断是否可以装备
  61.   #     item : 物品
  62.   #--------------------------------------------------------------------------
  63.   def equippable?(item)
  64.     return false if self.level < item.LVlimit                     #等级限制
  65.     return false if actor.parameters[2, @level] + @atk_plus < item.ATKlimit                   #攻击力限制
  66.     return false if actor.parameters[3, @level] + @def_plus < item.DEFlimit                   #防御力限制
  67.     return false if actor.parameters[4, @level] + @spi_plus < item.SPIlimit                   #精神力限制   
  68.     return false if actor.parameters[5, @level] + @agi_plus < item.AGIlimit                   #敏捷性限制
  69.     if item.is_a?(RPG::Weapon)
  70.       return self.class.weapon_set.include?(item.id)
  71.     elsif item.is_a?(RPG::Armor)
  72.       return false if two_swords_style and item.kind == 0  
  73.       return self.class.armor_set.include?(item.id)
  74.     end
  75.     return false
  76.   end
  77.   
  78. end

  79. #==============================================================================
  80. # ■ Window_Item
  81. #------------------------------------------------------------------------------
  82. #  物品画面、战斗画面、显示浏览物品的窗口。
  83. #==============================================================================

  84. class Window_Item < Window_Selectable
  85.   #--------------------------------------------------------------------------
  86.   # ● 更新帮助文本(自动显示使用物品的等级能力限制)
  87.   #--------------------------------------------------------------------------
  88.   def update_help
  89.    
  90.     if item != nil
  91.       newdes = item.description
  92.       newdes += "  要求:" if(item.LVlimit !=0 or item.ATKlimit !=0 or item.DEFlimit != 0 or item.SPIlimit != 0 or item.AGIlimit != 0)
  93.       newdes += " LV" + item.LVlimit.to_s    if  item.LVlimit != 0
  94.       newdes += " 攻" + item.ATKlimit.to_s   if  item.ATKlimit != 0
  95.       newdes += " 防" + item.DEFlimit.to_s   if  item.DEFlimit != 0
  96.       newdes += " 精" + item.SPIlimit.to_s   if  item.SPIlimit != 0
  97.       newdes += " 敏" + item.AGIlimit.to_s   if  item.AGIlimit != 0
  98.       @help_window.set_text(newdes)
  99.     else
  100.       @help_window.set_text("")
  101.     end
  102.    
  103.   end
  104. end
复制代码
原发布页里面的脚本就是这么乱的……所以我把里面的范例发上来了,设置一个转职的事件就会发现错误了,问题出在哪里?应该怎么改呢?

点评

⊙_⊙为啥下载失败?  发表于 2013-12-30 17:09

Lv2.观梦者

神隐的主犯

梦石
0
星屑
288
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

2
发表于 2010-8-31 20:27:50 | 只看该作者
脚本一看乱糟糟的,去找发布帖重新下载一个吧~~

点评

我保存的网页里面脚本就这么乱,我把范例和里面的脚本贴上来了。麻烦你了  发表于 2010-8-31 20:38

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
288
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

3
发表于 2010-8-31 20:40:52 | 只看该作者
这个可不行, 这么乱的脚本要分段很痛苦啊~~~

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv2.观梦者

旅之愚者

梦石
0
星屑
275
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

4
发表于 2010-8-31 20:47:57 | 只看该作者
本帖最后由 六祈 于 2010-8-31 20:50 编辑

转职时自动卸除新职业不可装备的装备,判定每一件装备时没有考虑不存在的情况,于是bug

脚本【!装备要求等级、能力值】69行def equippable?(item)后跟上
  1. return true if item == nil
复制代码
即可

点评

哎呀六祈进步了好多~好久不见哈  发表于 2010-9-1 21:01
原来如此,问题解决了,多谢多谢  发表于 2010-8-31 22:06

评分

参与人数 1星屑 +700 收起 理由
DeathKing + 700 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
26 小时
注册时间
2011-9-18
帖子
11
5
发表于 2011-9-26 11:15:51 | 只看该作者
4楼,我爱死你了,急需中,木马~~一个先

评分

参与人数 1星屑 -10 收起 理由
Kimu -10 挖坟

查看全部评分

不知道什麽時候,自己變滴這麽傷感,只知道,爲什麽我活滴這麽累、、、
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 10:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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