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

Project1

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

[已经解决] 装备增加HP/MP的问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
58 小时
注册时间
2008-5-1
帖子
43
跳转到指定楼层
1
发表于 2011-8-25 01:07:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pkboy9999 于 2011-8-26 13:25 编辑

刚刚看到忧雪大大的武器增加HP脚本
  1. module RPG
  2.   class Weapon
  3.     def description
  4.       description = @description.split(/hp/)[0]
  5.       return description != nil ? description : ''
  6.     end
  7.     def hp
  8.       hp = @description.split(/hp/)[1]
  9.       return hp != nil ?  hp.to_i : 0
  10.     end
  11.   end
  12. end

  13. class Game_Actor
  14.   
  15.   alias :old_maxhp :maxhp unless method_defined? :old_maxhp
  16.   def maxhp
  17.     weapon = $data_weapons[@weapon_id] != nil ? $data_weapons[@weapon_id].hp : 0
  18.     return Integer(old_maxhp + weapon)
  19.   end
  20. end

  21. end
复制代码
插入了这个脚本后,我重新复制插入一个新脚本,把里面所有的HP换成MP,然后在武器的描述最后加上hp50mp50,实际上武器也的确加了50HP和50MP,但是描述里面hp50没有隐藏起来,mp50却隐藏了,看起来有点别扭,有完善的方法吗?
我的想法是把在描述后面添加改成在备注里添加,应该就能解决了,但是我又不懂脚本,只好求助大神帮忙修改了- -

还有一个问题是,这个脚本只能对武器起作用,不能对防具起作用,如果同时能对防具也起作用,那就更好了。

有点贪心,不要见怪>.<

the universe.rar (1.07 MB, 下载次数: 60)

点评

你这也能翻出来……强大。  发表于 2011-8-25 01:43
这游戏太难了

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

2
发表于 2011-8-25 02:01:58 | 只看该作者
本帖最后由 忧雪の伤 于 2011-8-25 03:33 编辑
  1. # 使用方法:装备名字中增加 <hp(n)> 或者 <mp(n)> 。允许一起使用。
  2. class RPG::BaseItem  
  3.   alias __name__ name
  4.   def name
  5.     name = @name.dup
  6.     name.gsub(/<.p\([0-9]*\)>/, '')
  7.   end
  8. end
  9. module RPG
  10.   def self.get_result(regexp, strings)
  11.     re = strings.map {|str| str[regexp] ? Integer($1) : 0 }
  12.   end
  13. end
  14. class Game_Actor
  15.   alias __maxhp__ maxhp
  16.   alias __maxmp__ maxmp
  17.   def get_all_equips
  18.     ary = [$data_weapons[@weapon_id],
  19.     $data_armors[@armor1_id], $data_armors[@armor2_id],
  20.     $data_armors[@armor3_id], $data_armors[@armor4_id]]
  21.     strings = ary.map {|equip| equip.__name__ rescue '' }
  22.   end
  23.   def maxhp
  24.     re = RPG.get_result(/<hp\(([0-9]*)\)>/, get_all_equips)
  25.     __maxhp__ + re.inject(0) {|result, item| result + item }
  26.   end
  27.   def maxmp
  28.     re = RPG.get_result(/<mp\(([0-9]*)\)>/, get_all_equips)
  29.     __maxmp__ + re.inject(0) {|result, item| result + item }
  30.   end   
  31. end
复制代码

点评

非常感谢  发表于 2011-8-25 07:34
就是之前说到把装备取下后最小值超过了最大值就像喝了X药一样  发表于 2011-8-25 03:34
属性溢出不必在意?嘛,总之可以用了 可以看做是一种游戏性上的bug恩……  发表于 2011-8-25 03:30
一起使用时22行错误,还有把装备取下后属性超过了最大值 ps 阁下神速,验证该死  发表于 2011-8-25 02:39
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
557 小时
注册时间
2010-8-19
帖子
307
3
发表于 2011-8-25 02:54:12 | 只看该作者
忧雪の伤 发表于 2011-8-25 02:01

真糟糕啊,上个图这么难

无标题.png (21.54 KB, 下载次数: 12)

无标题.png

点评

= =,这点没注意,不过,就当BUG吧……  发表于 2011-8-25 03:35
属性溢出是啥?  发表于 2011-8-25 03:32
改完了。  发表于 2011-8-25 03:21
修正中= =b  发表于 2011-8-25 02:57

评分

参与人数 1星屑 +10 收起 理由
忧雪の伤 + 10 感谢。

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 03:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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