Project1

标题: [VA]暗雷失败执行公共事件 [打印本页]

作者: 包子丶    时间: 2012-8-9 21:04
标题: [VA]暗雷失败执行公共事件
本帖最后由 越前リョーマ 于 2013-8-6 11:15 编辑

看帖不会真是  于是我决定改成回复了,回复又能捞经验   又能顶帖子   如果实在不知道回什么,请复制   “楼主威武!!!!加油!!包子!!!”
话说,,当年我还是个 的时候io,我只“发明”了暗雷失败继续游戏。功能非常少。
而前几天看一个帖子 原帖  发现能够做到失败执行公共事件。于是我就转到地球村来了。

BattleManager里241行
  1.   #--------------------------------------------------------------------------
  2.   # ● 全灭时的处理
  3.   #--------------------------------------------------------------------------
  4.   def self.process_defeat
  5.     $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
  6.     wait_for_message
  7.     if @can_lose
  8.       revive_battle_members
  9.       replay_bgm_and_bgs
  10.       SceneManager.return
  11.     elsif $troop_encounter
  12.       revive_battle_members
  13.       SceneManager.return
  14.       $game_temp.reserve_common_event(1) #()内为暗雷死亡时调用的公共时间id
  15.     else
  16.       SceneManager.goto(Scene_Gameover)
  17.     end
  18.     battle_end(2)
  19.     return true
  20.   end
复制代码
Scene_Map里168行
  1. #--------------------------------------------------------------------------
  2.   # ● 监听遇敌事件
  3.   #--------------------------------------------------------------------------
  4.   def update_encounter
  5.     if $game_player.encounter
  6.     SceneManager.call(Scene_Battle)
  7.     $troop_encounter=true
  8.     end
  9.   end
复制代码
Game_Interpreter里1095行下:战斗的处理部分脚本修改
  1. #--------------------------------------------------------------------------
  2.   # ● 战斗的处理
  3.   #--------------------------------------------------------------------------
  4.   def command_301
  5.     return if $game_party.in_battle
  6.     $troop_encounter=false
  7.     if @params[0] == 0                      # 直接指定
  8.       troop_id = @params[1]
  9.     elsif @params[0] == 1                   # 变量指定
  10.       troop_id = $game_variables[@params[1]]
  11.     else                                    # 地图指定的敌群
  12.       troop_id = $game_player.make_encounter_troop_id
  13.     end
  14.     if $data_troops[troop_id]
  15.       BattleManager.setup(troop_id, @params[2], @params[3])
  16.       BattleManager.event_proc = Proc.new {|n| @branch[@indent] = n }
  17.       $game_player.make_encounter_count
  18.       SceneManager.call(Scene_Battle)
  19.     end
  20.     Fiber.yield
  21.   end
复制代码
如果要全员恢复的话。

BattleManager的264-272行左右
改成
  1.   #--------------------------------------------------------------------------
  2.   # ● 复活参战角色(全灭时)
  3.   #--------------------------------------------------------------------------
  4.   def self.revive_battle_members
  5.     $game_party.battle_members.each do |actor|
  6.       actor.hp = actor.mhp  if actor.dead?
  7.       actor.mp = actor.mmp  if actor.dead?
  8.     end
  9.   end
复制代码

作者: oobuluo    时间: 2012-8-17 05:06
看贴是要回贴的,这个脚本应该很好,怎么没有回的?
作者: yoyo543    时间: 2012-8-27 18:16
看起来好深奥
作者: 咕噜    时间: 2012-8-30 15:29
还不错,一般都是明雷失败能的,这个解决了某些需要。
作者: 1715063941    时间: 2013-8-5 15:47

本帖最后由 包子丶 于 2013-8-2 14:24 编辑


看帖不会真是  于是我决定改成回复了,回复又能捞经验   又能顶帖子   如果实在不知道回什么,请复制   “楼主威武!!!!加油!!包子!!!”
作者: xq12121    时间: 2013-8-5 16:27
楼主威武!!!!加油!!包子!!!
作者: 喵呜喵5    时间: 2013-8-5 17:18
楼主威武!!!!加油!!包子!!!


================================================================================


{:2_254:}

竟然就是那个帖子,并且原样复制范例都没有…………
作者: a0936459772    时间: 2013-8-5 17:28
雖然已經看過你的帖子了

不過身為使用者,我還是補一下回復好了:

謝謝包大的無私分享!

楼主威武!!!!加油!!包子!!!
作者: w20090930    时间: 2013-8-6 08:52
恩啊慕名而来




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