加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 archmagetony 于 2015-12-31 17:39 编辑
大概有一个想法就是敌人会根据mp的不同会变身,比如说敌人001,当mp小于50%的时候变身为002,因为敌人数量较多并且要变身的也挺多的,用事件的话工程量有一些太大了想求各位大大帮忙。
大概希望的脚本的输入的样子就是
有一个输入的地方
ENEMIES[1] = [001,002,003,004,005] 敌人001可以根据mp百分比不同变身成002,003,004,005(有一个变身的就行,后面的我应该自己能尝试的写出来)
我看到Game_Interpreter里面有这么一段函数
#-------------------------------------------------------------------------- # ● 敌人变身 #-------------------------------------------------------------------------- def command_336 iterate_enemy_index(@params[0]) do |enemy| enemy.transform(@params[1]) $game_troop.make_unique_names end end
#--------------------------------------------------------------------------
# ● 敌人变身
#--------------------------------------------------------------------------
def command_336
iterate_enemy_index(@params[0]) do |enemy|
enemy.transform(@params[1])
$game_troop.make_unique_names
end
end
大概写到这个样子就不会写了。。。。。。告诉我transform方法未定义。。我想直接调用Game_Enemy类里面的transform方法。。。但是我前面用的是了Game_BattlerBase 这个类了。。。怎么才能同时用Game_BattlerBase类跟Game_Enemy类?还是说transform这个方法也得是我自己重新写?
class Game_BattlerBase alias refresh_new refresh def refresh refresh_new @hp = [[@hp, mhp].min, 0].max @mhp = mhp @mp = [[@mp, mmp].min, 0].max @mmp = mmp x=((@mp * 100)/@mmp) y=((@hp * 100)/@mhp) if @actor_id != 1 case x when 1...50 #-------------------------------------------------------------------------- # 1111111111111 #-------------------------------------------------------------------------- if @enemy_id ==60 puts "qqqq" enemy = $game_troop.members[@enemy_id] enemy.transform(61) $game_troop.make_unique_names puts "www" else puts "12" end #-------------------------------------------------------------------------- # 11111111111111111111 #-------------------------------------------------------------------------- end end end end
class Game_BattlerBase
alias refresh_new refresh
def refresh
refresh_new
@hp = [[@hp, mhp].min, 0].max
@mhp = mhp
@mp = [[@mp, mmp].min, 0].max
@mmp = mmp
x=((@mp * 100)/@mmp)
y=((@hp * 100)/@mhp)
if @actor_id != 1
case x
when 1...50
#--------------------------------------------------------------------------
# 1111111111111
#--------------------------------------------------------------------------
if @enemy_id ==60
puts "qqqq"
enemy = $game_troop.members[@enemy_id]
enemy.transform(61)
$game_troop.make_unique_names
puts "www"
else
puts "12"
end
#--------------------------------------------------------------------------
# 11111111111111111111
#--------------------------------------------------------------------------
end
end
end
end
|