赞 | 40 |
VIP | 559 |
好人卡 | 234 |
积分 | 47 |
经验 | 251834 |
最后登录 | 2025-1-5 |
在线时间 | 5242 小时 |
Lv3.寻梦者 (版主) 八宝粥的基叔
- 梦石
- 0
- 星屑
- 4719
- 在线时间
- 5242 小时
- 注册时间
- 2009-4-29
- 帖子
- 14318
|
首先说明我是不怎么懂脚本的,但是在我制作的作品里成功实现了战斗结束后触发公共事件。
方法有点麻烦,但是是成功的。
以下都是在VX原来的脚本上作修改,共3个脚本,都在Scene_Battle里,题目分别叫:“处理逃跑”,“处理胜利”和“失败处理”。可以分别对这三种情况调用不同脚本。以下有“(我加)”标识的为我加的脚本,其他的脚本原封不动。使用以下脚本可以在战斗结束的三种情况下调用公共事件21号。再声明,本脚本在我的作品里面是成功调用了的。
- #--------------------------------------------------------------------------
- # ● 处理逃跑
- #--------------------------------------------------------------------------
- def process_escape
- @info_viewport.visible = false
- @message_window.visible = true
- text = sprintf(Vocab::EscapeStart, $game_party.name)
- $game_message.texts.push(text)
- if $game_troop.preemptive
- success = true
- else
- success = (rand(100) < @escape_ratio)
- end
- Sound.play_escape
- if success
- wait_for_message
- battle_end(1)
- else
- @escape_ratio += 10
- $game_message.texts.push('\.' + Vocab::EscapeFailure)
- wait_for_message
- $game_party.clear_actions
- start_main
- end
- common_event = $data_common_events[21] #(我加)战斗结束调用公共事件21
- $game_troop.interpreter.setup(common_event.list,0) #(我加)
- $game_troop.interpreter.update #(我加)
- end
复制代码
- #--------------------------------------------------------------------------
- # ● 处理胜利
- #--------------------------------------------------------------------------
- def process_victory
- @info_viewport.visible = false
- @message_window.visible = true
- RPG::BGM.stop
- $game_system.battle_end_me.play
- unless $BTEST
- $game_temp.map_bgm.play
- $game_temp.map_bgs.play
- end
- common_event = $data_common_events[21] #(我加)战斗结束调用公共事件21
- $game_troop.interpreter.setup(common_event.list,0) #(我加)
- $game_troop.interpreter.update #(我加)
- display_exp_and_gold
- display_drop_items
- display_level_up
- battle_end(0)
- end
复制代码
- #--------------------------------------------------------------------------
- # ● 失败处理
- #--------------------------------------------------------------------------
- def process_defeat
- @info_viewport.visible = false
- @message_window.visible = true
- text = sprintf(Vocab::Defeat, $game_party.name)
- $game_message.texts.push(text)
- wait_for_message
- common_event = $data_common_events[21] #(我加)战斗结束调用公共事件21
- $game_troop.interpreter.setup(common_event.list,0) #(我加)
- $game_troop.interpreter.update #(我加)
- battle_end(2)
- end
复制代码 系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |
|