Project1
标题:
装备增加HP/MP的问题
[打印本页]
作者:
pkboy9999
时间:
2011-8-25 01:07
标题:
装备增加HP/MP的问题
本帖最后由 pkboy9999 于 2011-8-26 13:25 编辑
刚刚看到忧雪大大的武器增加HP脚本
module RPG
class Weapon
def description
description = @description.split(/hp/)[0]
return description != nil ? description : ''
end
def hp
hp = @description.split(/hp/)[1]
return hp != nil ? hp.to_i : 0
end
end
end
class Game_Actor
alias :old_maxhp :maxhp unless method_defined? :old_maxhp
def maxhp
weapon = $data_weapons[@weapon_id] != nil ? $data_weapons[@weapon_id].hp : 0
return Integer(old_maxhp + weapon)
end
end
end
复制代码
插入了这个脚本后,我重新复制插入一个新脚本,把里面所有的HP换成MP,然后在武器的描述最后加上hp50mp50,实际上武器也的确加了50HP和50MP,但是描述里面hp50没有隐藏起来,mp50却隐藏了,看起来有点别扭,有完善的方法吗?
我的想法是把在描述后面添加改成在备注里添加,应该就能解决了,但是我又不懂脚本,只好求助大神帮忙修改了- -
还有一个问题是,这个脚本只能对武器起作用,不能对防具起作用,如果同时能对防具也起作用,那就更好了。
有点贪心,不要见怪>.<
the universe.rar
(1.07 MB, 下载次数: 60)
2011-8-26 13:23 上传
点击文件名下载附件
dsu_plus_rewardpost_czw
作者:
忧雪の伤
时间:
2011-8-25 02:01
本帖最后由 忧雪の伤 于 2011-8-25 03:33 编辑
# 使用方法:装备名字中增加 <hp(n)> 或者 <mp(n)> 。允许一起使用。
class RPG::BaseItem
alias __name__ name
def name
name = @name.dup
name.gsub(/<.p\([0-9]*\)>/, '')
end
end
module RPG
def self.get_result(regexp, strings)
re = strings.map {|str| str[regexp] ? Integer($1) : 0 }
end
end
class Game_Actor
alias __maxhp__ maxhp
alias __maxmp__ maxmp
def get_all_equips
ary = [$data_weapons[@weapon_id],
$data_armors[@armor1_id], $data_armors[@armor2_id],
$data_armors[@armor3_id], $data_armors[@armor4_id]]
strings = ary.map {|equip| equip.__name__ rescue '' }
end
def maxhp
re = RPG.get_result(/<hp\(([0-9]*)\)>/, get_all_equips)
__maxhp__ + re.inject(0) {|result, item| result + item }
end
def maxmp
re = RPG.get_result(/<mp\(([0-9]*)\)>/, get_all_equips)
__maxmp__ + re.inject(0) {|result, item| result + item }
end
end
复制代码
作者:
evermilk
时间:
2011-8-25 02:54
忧雪の伤 发表于 2011-8-25 02:01
真糟糕啊,上个图这么难
无标题.png
(21.54 KB, 下载次数: 14)
下载附件
保存到相册
2011-8-25 02:53 上传
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1