本帖最后由 harinlen 于 2012-9-1 17:35 编辑
a123669520 发表于 2012-9-1 16:00 ![]()
怪的等级可以写在数据库名字里或者备注里,战斗结束了再跟每个角色算最终获得的经验
这么说吧:要是把怪的等级存放在一个变量可以这么更改Game_Interpreter的第1201行处这些代码:
把"怪物.等级"换成自己设定的怪物等级即可。
#-------------------------------------------------------------------------- # ● 增减经验值 #-------------------------------------------------------------------------- def command_315 value = operate_value(@params[2], @params[3], @params[4]) iterate_actor_var(@params[0], @params[1]) do |actor| if 怪物.等级 > actor.level #比人物等级高 NewExp = 100 + actor.level * 5 - (actor.level - 怪物.等级) * 10 if NewExp > 0 actor.change_exp(actor.exp + NewExp, @params[5]) end else #与人物同级或者不如人物等级高 NewExp = 100 + actor.level * 5 - (怪物.等级 - actor.level) * 5 if NewExp > 0 actor.change_exp(actor.exp + NewExp, @params[5]) end end end end
#--------------------------------------------------------------------------
# ● 增减经验值
#--------------------------------------------------------------------------
def command_315
value = operate_value(@params[2], @params[3], @params[4])
iterate_actor_var(@params[0], @params[1]) do |actor|
if 怪物.等级 > actor.level
#比人物等级高
NewExp = 100 + actor.level * 5 - (actor.level - 怪物.等级) * 10
if NewExp > 0
actor.change_exp(actor.exp + NewExp, @params[5])
end
else
#与人物同级或者不如人物等级高
NewExp = 100 + actor.level * 5 - (怪物.等级 - actor.level) * 5
if NewExp > 0
actor.change_exp(actor.exp + NewExp, @params[5])
end
end
end
end
P.S.:额,吐槽下,为什么20级的怪物打了90级的怪物是负数?要是真赢了不是出事了麼……所以强烈建议更正算法!!! |