Project1

标题: 战斗中怎么样判定敌人获得胜利? [打印本页]

作者: 美丽晨露    时间: 2013-1-14 19:37
标题: 战斗中怎么样判定敌人获得胜利?
本帖最后由 美丽晨露 于 2013-1-21 19:12 编辑

怎么样判定敌人胜利?
默认脚本有无定义
如果没有,要这么判定呢?
作者: tommay    时间: 2013-1-14 20:32
主角全部阵亡就是敌人获得胜利
作者: Password    时间: 2013-1-14 20:50
本帖最后由 Password 于 2013-1-14 20:51 编辑

自己的队伍战败不就是敌人胜利么……{:2_276:}

作者: 美丽晨露    时间: 2013-1-16 19:38
tommay 发表于 2013-1-14 20:32
主角全部阵亡就是敌人获得胜利

嗯,这个我知道。
但是在脚本中是哪一句定义的
能不能在敌人胜利时实行某些操作?
作者: 电子最终龙    时间: 2013-1-16 19:43
本帖最后由 电子最终龙 于 2013-1-16 21:55 编辑
  1. #--------------------------------------------------------------------------
  2.   # ● 胜负判定
  3.   #--------------------------------------------------------------------------
  4.   def judge
  5.     # 全灭判定是真、并且同伴人数为 0 的情况下
  6.     if $game_party.all_dead? or $game_party.actors.size == 0
  7.      # 允许失败的情况下
  8.       if $game_temp.battle_can_lose
  9.         # 还原为战斗开始前的 BGM
  10.         $game_system.bgm_play($game_temp.map_bgm)
  11.         # 战斗结束
  12.         battle_end(2)
  13.         # 返回 true
  14.         return true
  15.       end
  16.       # 设置游戏结束标志
  17.       $game_temp.gameover = true
  18.       # 返回 true
  19.       return true
  20.     end
  21.     # 如果存在任意 1 个敌人就返回 false
  22.     for enemy in $game_troop.enemies
  23.       if enemy.exist?
  24.         return false
  25.       end
  26.     end
  27.     # 开始结束战斗回合 (胜利)
  28.     start_phase5
  29.     # 返回 true
  30.     return true
  31.   end
复制代码
  1. #--------------------------------------------------------------------------
  2.   # ● 战斗结束
  3.   #     result : 結果 (0:胜利 1:失败 2:逃跑)
  4.   #--------------------------------------------------------------------------
  5.   def battle_end(result)
  6.     # 清除战斗中标志
  7.     $game_temp.in_battle = false
  8.     # 清除全体同伴的行动
  9.     $game_party.clear_actions
  10.     # 解除战斗用状态
  11.     for actor in $game_party.actors
  12.       actor.remove_states_battle
  13.     end
  14.     # 清除敌人
  15.     $game_troop.enemies.clear
  16.     # 调用战斗返回调用
  17.     if $game_temp.battle_proc != nil
  18.       $game_temp.battle_proc.call(result)
  19.       $game_temp.battle_proc = nil
  20.     end
  21.     # 切换到地图画面
  22.     $scene = Scene_Map.new
  23.   end
复制代码
默認腳本在Scene_Battle 1中
作者: 美丽晨露    时间: 2013-1-16 19:48
电子最终龙 发表于 2013-1-16 19:43
默認腳本在Scene_Battle 1中

没有发现有判定敌人胜利的脚本的说
作者: wabbyzw    时间: 2013-1-16 19:55
忘记那个游戏了,战棋类型的:
    when 16
    勝利 = [17,01,01,false,11]  # マップ 2(X10, Y10) 暗転しない コモンイベント1
    敗北 = [17,01,01,false,37]
就是当胜利的时候执行11号事件,失败的时候执行37号事件。(地图编号16)
作者: j433463    时间: 2013-1-16 20:03
怎么没有?

if $game_party.all_dead? or $game_party.actors.size == 0

其中  if $game_party.all_dead? 是全灭判断为 true,就是队伍全灭,
而 $game_party.actors.size == 0 则是队伍中的人数为零,也就是没有一个活口了,
这样就显示 Game Over 画面,这不是敌人胜利是什么?





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