Project1

标题: 如果暗雷战阵亡后继续游戏? [打印本页]

作者: cryhades    时间: 2016-8-7 17:24
标题: 如果暗雷战阵亡后继续游戏?
事件战败自然是可以选择继续游戏的,但如果像PM那样暗雷遇敌,如果全灭了怎么继续游戏呢?
求告知要修改哪一处脚本,顺便帮忙添加一句全灭后金钱减半的脚本
{:2_249:}
作者: 御曹司    时间: 2016-8-7 17:51
  1. =begin
  2. RPGツクールVXAce用スクリプト素材
  3. 全滅時にコモンイベントを実施

  4. 2012年12月08日
  5. tamuraさんは遊び足りない 製作
  6. http://tamurarpgvx.blog137.fc2.com/

  7. 【概要】
  8. 戦闘で全滅したときに、ゲームオーバーに行かずにコモンイベントを実施します。


  9. 【導入方法】
  10. スクリプトエディタを開き、左のリストの一番下、「ここに追加」と書いてある部分の
  11. 下の空欄を選び、右クリック、「挿入」を選ぶ。
  12. 出来た空欄に、「名前」の所でファイル名を入れておくといい。
  13. 右に空白の領域に、このテキストファイル全文をコピーして貼り付け。


  14. 【使い方】
  15. ・戦闘で全滅した際、ゲームスイッチ CALL_GAME_OVER_EX 番がONだと、
  16.  ゲームオーバーにならずに、コモンイベント STARTUP_COMMON を実施します。
  17.  これらのスイッチ・コモンイベントを、下記 module TamuraGameOver のところで
  18.  設定してください。



  19. 【注意事項・コモンイベントの作り方】

  20. ・まず「全回復」を実行してください。
  21. マップに戻った瞬間にゲームオーバーになります。

  22. ・コモンイベントが一通り終わったら、イベントコマンドの「スクリプト」を使って、
  23. SceneManager.call(Scene_Map)
  24. と書かないと、マップに戻れずにフリーズします!

  25. ・おそらく「場所移動」を使う人が大半かと思われますが、上記の
  26. SceneManager.call(Scene_Map) の後で場所移動を実行しないとフリーズします。




  27. =end


  28. module TamuraGameOver
  29.   
  30.   #このスイッチがONの時に、ゲームオーバーコモンを呼び出す。
  31.   CALL_GAME_OVER_EX = 306
  32.   
  33.   #この番号のコモンイベントを呼び出す。
  34.   STARTUP_COMMON = 10
  35.   
  36. end


  37. #==============================================================================
  38. # ■ BattleManager
  39. #------------------------------------------------------------------------------
  40. #  ゲームオーバーの呼び出しを変更。
  41. #==============================================================================
  42. module BattleManager
  43.   #--------------------------------------------------------------------------
  44.   # ● 敗北の処理
  45.   #--------------------------------------------------------------------------
  46.   def self.process_defeat
  47.     $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
  48.     wait_for_message
  49.     if @can_lose
  50.       revive_battle_members
  51.       replay_bgm_and_bgs
  52.       SceneManager.return
  53.     else
  54.       if $game_switches[TamuraGameOver::CALL_GAME_OVER_EX]
  55.         SceneManager.call(Scene_GameOverEx)
  56.       else
  57.         SceneManager.goto(Scene_Gameover)
  58.       end
  59.     end
  60.     battle_end(2)
  61.     return true
  62.   end
  63. end






  64. #==============================================================================
  65. # ■ Scene_GameOverEx
  66. #------------------------------------------------------------------------------
  67. #  宝箱画面の処理を行うクラス。
  68. #==============================================================================
  69. class Scene_GameOverEx < Scene_Base
  70.   #--------------------------------------------------------------------------
  71.   # ● 開始処理
  72.   #--------------------------------------------------------------------------
  73.   def start
  74.     super
  75.     SceneManager.clear
  76.     $game_map.refresh
  77.     $game_message.visible = false
  78.     @menu_calling = false
  79.     create_all_windows
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # ● フレーム更新
  83.   #--------------------------------------------------------------------------
  84.   def update
  85.     super
  86.     $game_map.update(true)
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● ウィンドウの作成・現在のイベントの中断・コモンイベント予約
  90.   #--------------------------------------------------------------------------
  91.   def create_all_windows
  92.     @message_window = Window_Message.new
  93.     $game_map.interpreter.clear
  94.     $game_temp.reserve_common_event(TamuraGameOver::STARTUP_COMMON) #開始コモンイベント
  95.   end
  96. end
复制代码


队伍全灭时如果306号开关打开则执行10号公共事件。
减半的话金钱带入变量就行了。
另外使用起来有几个注意事项在脚本注释里面写了。机译看不懂的话再问我。
注意这个脚本因为不能随便转载所以三天后删除(只留链接)


作者: cryhades    时间: 2016-8-8 21:20
御曹司 发表于 2016-8-7 17:51
队伍全灭时如果306号开关打开则执行10号公共事件。
减半的话金钱带入变量就行了。
另外使用起来有几个注 ...

完成了!完美!感谢!{:2_249:}




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