Project1

标题: 怎么战斗结束后触发公共事件? [打印本页]

作者: cigreaty    时间: 2009-5-24 22:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: cigreaty    时间: 2009-5-24 22:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2009-5-25 03:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: 怪蜀黍    时间: 2009-5-26 04:11
首先说明我是不怎么懂脚本的,但是在我制作的作品里成功实现了战斗结束后触发公共事件。
方法有点麻烦,但是是成功的。
以下都是在VX原来的脚本上作修改,共3个脚本,都在Scene_Battle里,题目分别叫:“处理逃跑”,“处理胜利”和“失败处理”。可以分别对这三种情况调用不同脚本。以下有“(我加)”标识的为我加的脚本,其他的脚本原封不动。使用以下脚本可以在战斗结束的三种情况下调用公共事件21号。再声明,本脚本在我的作品里面是成功调用了的。

  1.   #--------------------------------------------------------------------------
  2.   # ● 处理逃跑
  3.   #--------------------------------------------------------------------------
  4.   def process_escape
  5.     @info_viewport.visible = false
  6.     @message_window.visible = true
  7.     text = sprintf(Vocab::EscapeStart, $game_party.name)
  8.     $game_message.texts.push(text)
  9.     if $game_troop.preemptive
  10.       success = true
  11.     else
  12.       success = (rand(100) < @escape_ratio)
  13.     end
  14.     Sound.play_escape
  15.     if success
  16.       wait_for_message
  17.       battle_end(1)
  18.     else
  19.       @escape_ratio += 10
  20.       $game_message.texts.push('\.' + Vocab::EscapeFailure)
  21.       wait_for_message
  22.       $game_party.clear_actions
  23.       start_main
  24.     end
  25.     common_event = $data_common_events[21]    #(我加)战斗结束调用公共事件21
  26.     $game_troop.interpreter.setup(common_event.list,0)  #(我加)
  27.     $game_troop.interpreter.update  #(我加)
  28.   end
复制代码

  1.   #--------------------------------------------------------------------------
  2.   # ● 处理胜利
  3.   #--------------------------------------------------------------------------
  4.   def process_victory
  5.     @info_viewport.visible = false
  6.     @message_window.visible = true
  7.     RPG::BGM.stop
  8.     $game_system.battle_end_me.play
  9.     unless $BTEST
  10.       $game_temp.map_bgm.play
  11.       $game_temp.map_bgs.play
  12.     end
  13.     common_event = $data_common_events[21]    #(我加)战斗结束调用公共事件21
  14.     $game_troop.interpreter.setup(common_event.list,0)  #(我加)
  15.     $game_troop.interpreter.update  #(我加)
  16.     display_exp_and_gold
  17.     display_drop_items
  18.     display_level_up
  19.     battle_end(0)
  20.   end
复制代码

  1.   #--------------------------------------------------------------------------
  2.   # ● 失败处理
  3.   #--------------------------------------------------------------------------
  4.   def process_defeat
  5.     @info_viewport.visible = false
  6.     @message_window.visible = true
  7.     text = sprintf(Vocab::Defeat, $game_party.name)
  8.     $game_message.texts.push(text)
  9.     wait_for_message
  10.     common_event = $data_common_events[21]    #(我加)战斗结束调用公共事件21
  11.     $game_troop.interpreter.setup(common_event.list,0)  #(我加)
  12.     $game_troop.interpreter.update  #(我加)
  13.     battle_end(2)
  14.   end
复制代码
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




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