本帖最后由 weew163com 于 2017-1-22 14:17 编辑
别的有人回答了 这个是4的做法,
来到脚本管理器的 Game_Battler 的 item_apply(user, item) (应用技能/物品的效果)
在它最下面两个end之间加入 make_tsxg(user, item)
然后在 main 前插入脚本
class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ● 设置特殊效果 #-------------------------------------------------------------------------- def make_tsxg(user, item) if item.is_a?(RPG::Skill) #判断是技能不是物品 case item.id #循环判断技能编号 when 2 #如果是2号技能 the_mp = (user.mp/$game_party.alive_members.size).to_i #定义使用者的mp除以人数的数值 user.mp = 0 #清空使用者的mp $game_party.alive_members.each do |i| #每一个活着的成员执行一次(输出成员为i i.mp += the_mp #成员 i 的mp增加定义好的数值 over_mp = i.mp + the_mp - i.mmp #定义超出mp上限的数值 user.mp += over_mp if over_mp > 0 #返还超出上限部分的mp end end end end end
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# ● 设置特殊效果
#--------------------------------------------------------------------------
def make_tsxg(user, item)
if item.is_a?(RPG::Skill) #判断是技能不是物品
case item.id #循环判断技能编号
when 2 #如果是2号技能
the_mp = (user.mp/$game_party.alive_members.size).to_i #定义使用者的mp除以人数的数值
user.mp = 0 #清空使用者的mp
$game_party.alive_members.each do |i| #每一个活着的成员执行一次(输出成员为i
i.mp += the_mp #成员 i 的mp增加定义好的数值
over_mp = i.mp + the_mp - i.mmp #定义超出mp上限的数值
user.mp += over_mp if over_mp > 0 #返还超出上限部分的mp
end
end
end
end
end
==============================
脚本里面:
over_mp = i.mp + the_mp - i.mmp
user.mp += over_mp if over_mp > 0
这两句 表示如果mp+分给他的mp大于了他的最大mp
把多出来的mp返还给使用者。
如果不需要可以删除
|