Project1

标题: 求问在脚本里定义敌人HP的问题 [打印本页]

作者: pinko    时间: 2009-6-8 18:53
标题: 求问在脚本里定义敌人HP的问题
我是这么改的。
GAME_enemy里
  #--------------------------------------------------------------------------
  # ● 获取基本 MaxHP
  #--------------------------------------------------------------------------
  def base_maxhp
    if @enemy_id == 54
      return 3500000
      else
    return $data_enemies[@enemy_id].maxhp
  end
  end

game_battler1里
  #--------------------------------------------------------------------------
  # ● 获取 MaxHP
  #--------------------------------------------------------------------------
  def maxhp
    n = [[base_maxhp + @maxhp_plus, 1].max, 99999999].min
    for i in @states
      n *= $data_states.maxhp_rate / 100.0
    end
    n = [[Integer(n), 1].max, 99999999].min
    return n
  end

修改后一切正常,但是当我想定义两个敌人的HP时就出BUG了。
这里我是这样写的。
#--------------------------------------------------------------------------
  # ● 获取基本 MaxHP
  #--------------------------------------------------------------------------
  def base_maxhp
    if @enemy_id == 54
      return 3500000
if @enemy_id == 55
      return 3000000
      else
    return $data_enemies[@enemy_id].maxhp
  end
  end
end

测试报错,求教原因。
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 紫苏    时间: 2009-6-8 18:56
语法问题,连续的 if 结构中第二个之后的条件用 elsif 关键字
作者: 懒洋洋的天堂    时间: 2009-6-8 18:59
报什么错误你到是贴出来?

一看楼主语音学的不好吧
def base_maxhp
   if @enemy_id == 54   
     return 3500000
if @enemy_id == 55
     return 3000000
     else
   return $data_enemies[@enemy_id].maxhp
end
end
end
  如果@enemy_id == 54 的情况
  返回函数值 3500000
  如果 @enemy_id == 55 的情况, ,,,,请问 @enemy_id都=54了怎 么还能= 55呢 .,...你觉得呢?

#首先我没看源脚本 我就拿你的改!这么写不是很好点呢
def base_maxhp
case @enemy_id
   when 54 :return 3500000
   when 55 :return 3000000
  else
   return $data_enemies[@enemy_id].maxhp
end
end
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1