Project1

标题: 请帮忙做个全敌群共用事件 [打印本页]

作者: soulsaga    时间: 2017-3-23 13:04
标题: 请帮忙做个全敌群共用事件
那个..我有个想法..如果能把某个指定敌群编号用作全部敌群共用事件的话就可以省了要在每个敌群都重复用同一事件浪费时间的行为了 不知能不能实现?
跪求大神出手帮忙...
作者: 芯☆淡茹水    时间: 2017-3-23 15:18
把战斗场景的 设置战斗事件 里面的敌人队伍ID,固定为你需要的敌人队伍ID就行了。
无论是哪个敌人队伍,始终只执行你固定的那个敌人队伍事件。
作者: soulsaga    时间: 2017-3-23 15:30
本帖最后由 soulsaga 于 2017-3-23 15:31 编辑
芯☆淡茹水 发表于 2017-3-23 15:18
把战斗场景的 设置战斗事件 里面的敌人队伍ID,固定为你需要的敌人队伍ID就行了。
无论是哪个敌人队伍,始 ...


这是改脚本么?
作者: 芯☆淡茹水    时间: 2017-3-23 17:30
把下面俩敌人队伍ID改为固定的敌人队伍ID


所以无论遇见什么队伍,都会执行你更改的敌人队伍ID的事件,慎用
作者: guoxiaomi    时间: 2017-3-23 17:38
芯☆淡茹水 发表于 2017-3-23 17:30
把下面俩敌人队伍ID改为固定的敌人队伍ID

所以改成:

  1. for index in 0...$data_troops[@troop_id].pages.size + 2 # 2 是多余的事件页数量
  2.   page = $data_troops[@troop_id].pages[index] if index < $data_troops[@troop_id].pages.size
  3.   page = $data_troops[10].pages[0] if index == $data_troops[@troop_id].pages.size # 队伍10第1页
  4.   page = $data_troops[10].pages[1] if index == $data_troops[@troop_id].pages.size + 1 # 队伍10第2页
  5.   ...
  6.   c = page.conditon
  7.   ...
复制代码


类似这样就可以尽可能减少麻烦……
作者: soulsaga    时间: 2017-3-23 18:48
本帖最后由 soulsaga 于 2017-3-24 09:50 编辑

RUBY 代码复制
  1. # ● 设置战斗事件
  2.   #--------------------------------------------------------------------------
  3.   def setup_battle_event
  4.     # 正在执行战斗事件的情况下
  5.     if $game_system.battle_interpreter.running?
  6.       return
  7.     end
  8.     # 搜索全部页的战斗事件
  9.     event_flags2 = 0
  10.     for index in 0...$data_troops[4].pages.size
  11.       # 获取事件页
  12.       page2 = $data_troops[4].pages[index]
  13.       # 事件条件可以参考 c
  14.       c = page2.condition
  15.       # 没有指定任何条件的情况下转到下一页
  16.       unless c.turn_valid or c.enemy_valid or
  17.              c.actor_valid or c.switch_valid
  18.         next
  19.       end
  20.       # 执行完毕的情况下转到下一页
  21.       if $game_temp.battle_event_flags[index]
  22.         next
  23.       end
  24.       # 确认回合条件
  25.       if c.turn_valid
  26.         n = $game_temp.battle_turn
  27.         a = c.turn_a
  28.         b = c.turn_b
  29.         if (b == 0 and n != a) or
  30.            (b > 0 and (n < 1 or n < a or n % b != a % b))
  31.           next
  32.         end
  33.       end
  34.       # 确认敌人条件
  35.       if c.enemy_valid
  36.         enemy = $game_troop.enemies[c.enemy_index]
  37.         if enemy == nil or enemy.hp * 100.0 / enemy.maxhp > c.enemy_hp
  38.           next
  39.         end
  40.       end
  41.       # 确认角色条件
  42.       if c.actor_valid
  43.         actor = $game_actors[c.actor_id]
  44.         if actor == nil or actor.hp * 100.0 / actor.maxhp > c.actor_hp
  45.           next
  46.         end
  47.       end
  48.       # 确认开关条件
  49.       if c.switch_valid
  50.         if $game_switches[c.switch_id] == false
  51.           next
  52.         end
  53.       end
  54.       event_flags = true
  55.       # 设置事件
  56.       $game_system.battle_interpreter.setup(page2.list, 0)
  57.       if page2.span <= 1
  58.         # 设置执行结束标志
  59.         $game_temp.battle_event_flags[index] = true
  60.       end
  61.       #return
  62.     end
  63.     for index2 in 0...$data_troops[@troop_id].pages.size
  64.       # 获取事件页
  65.       page = $data_troops[@troop_id].pages[index2]
  66.       # 事件条件可以参考 c
  67.       c = page.condition
  68.       # 没有指定任何条件的情况下转到下一页
  69.       unless c.turn_valid or c.enemy_valid or
  70.              c.actor_valid or c.switch_valid
  71.         next
  72.       end
  73.       # 执行完毕的情况下转到下一页
  74.       if event_flags2 == true
  75.         #event_flags2 = 0
  76.         next
  77.       end
  78.       # 确认回合条件
  79.       if c.turn_valid
  80.         n = $game_temp.battle_turn
  81.         a = c.turn_a
  82.         b = c.turn_b
  83.         if (b == 0 and n != a) or
  84.            (b > 0 and (n < 1 or n < a or n % b != a % b))
  85.           next
  86.         end
  87.       end
  88.       # 确认敌人条件
  89.       if c.enemy_valid
  90.         enemy = $game_troop.enemies[c.enemy_index]
  91.         if enemy == nil or enemy.hp * 100.0 / enemy.maxhp > c.enemy_hp
  92.           next
  93.         end
  94.       end
  95.       # 确认角色条件
  96.       if c.actor_valid
  97.         actor = $game_actors[c.actor_id]
  98.         if actor == nil or actor.hp * 100.0 / actor.maxhp > c.actor_hp
  99.           next
  100.         end
  101.       end
  102.       # 确认开关条件
  103.       if c.switch_valid
  104.         if $game_switches[c.switch_id] == false
  105.           next
  106.         end
  107.       end
  108.       # 设置事件
  109.       $game_system.battle_interpreter.setup(page.list, 0) if $game_temp.battle_event_flags[index2] != true
  110.       $game_system.battle_interpreter.setup(page.list+page2.list, 0) if event_flags == true
  111.       event_flags2 = true
  112.       # 本页的范围是 [战斗] 或 [回合] 的情况下
  113.       if page.span <= 1
  114.         # 设置执行结束标志
  115.         $game_temp.battle_event_flags[index2] = true
  116.          end
  117.       return
  118.     end
  119.   end
  120.   end





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