Project1

标题: 全队灭亡不结束游戏,而是扣经验与金钱,被传送到地府地 [打印本页]

作者: 358429534    时间: 2012-8-7 07:38
标题: 全队灭亡不结束游戏,而是扣经验与金钱,被传送到地府地
本帖最后由 358429534 于 2012-8-7 15:43 编辑

遇暗雷全队灭亡出现GAME OVER后不结束游戏,而是扣每个人百分之几的经验与百分之几金钱,然后被传送到指定坐标地图地府。
如何实现啊!在脚本里如何改啊!
谢谢!
dsu_plus_rewardpost_czw
作者: s05s0039    时间: 2012-8-7 10:50
明雷或劇情戰

111111111.png (5.42 KB, 下载次数: 92)

111111111.png

作者: 358429534    时间: 2012-8-7 10:54
本帖最后由 358429534 于 2012-8-7 12:49 编辑
s05s0039 发表于 2012-8-7 10:50
明雷或劇情戰


要是有脚本还是喜欢用脚本
作者: 幻想中的鸡蛋    时间: 2012-8-7 15:17
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
复制代码
然后在公共事件中设置传送到的地图,减少的经验,金钱神马的。记得全员恢复,否则Hp只有1点……
于是……大概就可以了……
作者: 358429534    时间: 2012-8-7 15:39
本帖最后由 358429534 于 2012-8-7 15:47 编辑
幻想中的鸡蛋 发表于 2012-8-7 15:17
BattleManager里241行下:全灭时的处理部分脚本修改Scene_Map里168行下:监听遇敌事件部分脚本修改Game_Int ...


激动啊!谢谢!十分纤细,逻辑性很强啊!要是我有VIP就送你一个......有些高手写的只有几个人知道用法,苦B的小白完全不懂.....你真的是他们的学习榜样 啊!追加100吧!(虽然我不是很多但是你实在值得表扬...{:2_275:}原来是100的)
作者: 358429534    时间: 2012-8-8 14:28
幻想中的鸡蛋 发表于 2012-8-7 15:17
BattleManager里241行下:全灭时的处理部分脚本修改Scene_Map里168行下:监听遇敌事件部分脚本修改Game_Int ...

你好,请问可不可以帮忙编辑个战斗系统啊!
http://rpg.blue/thread-244831-1-1.html
作者: 小小西    时间: 2014-3-26 20:09
幻想中的鸡蛋 发表于 2012-8-7 15:17
BattleManager里241行下:全灭时的处理部分脚本修改Scene_Map里168行下:监听遇敌事件部分脚本修改Game_Int ...

全灭后执行第几个公共事件?




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