Project1

标题: 请问如何杀一个怪然后再增援一个怪? [打印本页]

作者: 爆焰    时间: 2013-3-18 20:36
标题: 请问如何杀一个怪然后再增援一个怪?
请问如何设置?设置的时候只能场上还有敌人时才会出现,有没有什么办法让场上只有一只怪,杀了他后再增援?增援的怪和增援的次数由我决定。看清哦,是只有一只怪,杀了他后才增援。
作者: 弗雷德    时间: 2013-3-18 20:41
敌人死了再让敌人复活咧?
作者: 小和尚    时间: 2013-3-18 20:45
在战斗事件中设置 当敌人HP=0时 出现敌人= = 这个应该可以把..
作者: 弗雷德    时间: 2013-3-18 20:47
嗯,如果不复活就用楼上的方法吧,次数加上一个变量来做判断。
作者: 小和尚    时间: 2013-3-18 20:49
设置这个敌人不死之身 当HP=0时出现敌人 前一个敌人附加战斗不能
作者: 小和尚    时间: 2013-3-18 21:18
你还可以这么设置 如果队伍有4个怪 战斗事件设置每死一个人+1个变量 当变量=4时出现怪 当变量=5时出现怪 直到你认为增援够了 当变量=X时 变量归零
作者: 爆焰    时间: 2013-3-20 21:38
请问谁能帮我写一个这种脚本
作者: 亿万星辰    时间: 2013-3-21 15:29
本帖最后由 亿万星辰 于 2013-3-21 15:32 编辑
  1. class Game_Troop
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化对像
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     # 建立敌人序列
  7.     @enemies = []
  8.     @reinforce = []
  9.   end
  10.   #--------------------------------------------------------------------------
  11.   # ● 设置
  12.   #     troop_id : 敌人 ID
  13.   #--------------------------------------------------------------------------
  14.   def setup(troop_id)
  15.     # 由敌人序列的设置来确定队伍的设置
  16.     @enemies = []
  17.     troop = $data_troops[troop_id]
  18.     for i in 0...troop.members.size
  19.       enemy = $data_enemies[troop.members[i].enemy_id]
  20.       if enemy != nil
  21.         @enemies.push(Game_Enemy.new(troop_id, i))
  22.       end
  23.     end
  24.     rein_troops = troop.name.split(/,/)
  25.     @rein_index = 0
  26.     return if rein_troops.size < 1
  27.     for i in 1...rein_troops.size
  28.       @reinforce.push(rein_troops[i].to_i)
  29.     end
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● 设置增援
  33.   #--------------------------------------------------------------------------
  34.   def setup2
  35.     # 由敌人序列的设置来确定队伍的设置
  36.     @enemies = []
  37.     return false if @rein_index == @reinforce.size
  38.     troop_id = @reinforce[@rein_index]
  39.     troop = $data_troops[troop_id]
  40.     for i in 0...troop.members.size
  41.       enemy = $data_enemies[troop.members[i].enemy_id]
  42.       if enemy != nil
  43.         @enemies.push(Game_Enemy.new(troop_id, i))
  44.       end
  45.     end
  46.     @rein_index += 1
  47.     return true
  48.   end
  49. end
  50. class Scene_Battle
  51.   #--------------------------------------------------------------------------
  52.   # ● 胜负判定
  53.   #--------------------------------------------------------------------------
  54.   def judge
  55.     # 全灭判定是真、并且同伴人数为 0 的情况下
  56.     if $game_party.all_dead? or $game_party.actors.size == 0
  57.       # 允许失败的情况下
  58.       if $game_temp.battle_can_lose
  59.         # 还原为战斗开始前的 BGM
  60.         $game_system.bgm_play($game_temp.map_bgm)
  61.         # 战斗结束
  62.         battle_end(2)
  63.         # 返回 true
  64.         return true
  65.       end
  66.       # 设置游戏结束标志
  67.       $game_temp.gameover = true
  68.       # 返回 true
  69.       return true
  70.     end
  71.     # 如果存在任意 1 个敌人就返回 false
  72.     for enemy in $game_troop.enemies
  73.       if enemy.exist?
  74.         return false
  75.       end
  76.     end
  77.     if $game_troop.setup2 == true
  78.       @spriteset = Spriteset_Battle.new
  79.       return
  80.     end
  81.     # 开始结束战斗回合 (胜利)
  82.     start_phase5
  83.     # 返回 true
  84.     return true
  85.   end
  86. end
复制代码
幽灵*2,1,1,2


简易版,注意经验值金钱物品等的计算。
作者: 爆焰    时间: 2013-3-21 18:52
亿万星辰 发表于 2013-3-21 15:29
简易版,注意经验值金钱物品等的计算。

请问:
@enemies = []是干嘛的?
@reinforce = []是增援队伍的ID。




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