Project1

标题: 请问怎么设定队伍全灭后执行某一个公共事件? [打印本页]

作者: 沼冬    时间: 2015-8-10 10:15
标题: 请问怎么设定队伍全灭后执行某一个公共事件?
请问怎么设定队伍全灭后执行某一个公共事件?
作者: 沼冬    时间: 2015-8-10 10:30
在线等。。
作者: 沼冬    时间: 2015-8-11 09:24
@御之嵐 是队伍全灭后马上执行。
作者: 浮云半仙    时间: 2015-8-11 09:50

是酱紫么。。{:2_260:}
作者: 沼冬    时间: 2015-8-11 09:56
浮云半仙 发表于 2015-8-11 09:50
是酱紫么。。

大神,求脚本。
作者: 浮云半仙    时间: 2015-8-11 10:03
沼冬 发表于 2015-8-11 09:56
大神,求脚本。

{:2_258:}我那个写错了,数据库里的公共事件标号不用-1,但是运行产生了FiberError{:2_264:}我不是大神,我学rgss这才第3天,好多机制一知半解。。
作者: 浮云半仙    时间: 2015-8-11 10:10
就是修改Scene_Base里的check_gameover方法,在场景转向游戏结束场景之前,做你想做的事情,就比如调用个公共事件,但是用脚本调用公共事件我还不会
作者: 沼冬    时间: 2015-8-11 10:11
浮云半仙 发表于 2015-8-11 10:03
我那个写错了,数据库里的公共事件标号不用-1,但是运行产生了FiberError我不是大神 ...

能回复我就很开心了,谢谢。
作者: 浮云半仙    时间: 2015-8-11 10:29
我又想到一种方案,亲测可以
先来段脚本
RUBY 代码复制
  1. class Scene_Base
  2.   def check_gameover
  3.     return false
  4.   end
  5. end

这段代码放到main之前的插件脚本部分,确保在原va自带的Scene_Base后面就行
然后数据库:公共事件

你根据实际情况,照着这个公共事件写吧
运行结果:

作者: 沼冬    时间: 2015-8-11 10:59
浮云半仙 发表于 2015-8-11 10:29
我又想到一种方案,亲测可以
先来段脚本
class Scene_Base

我把这段脚本插到插脚本的部分了,公共事件开关开了,并行处理开了,但是全灭后还是直接游戏结束了,不知道是哪一步错了。
作者: 浮云半仙    时间: 2015-8-11 11:58


Project1.rar (1.42 MB, 下载次数: 50) https://rpg.blue/forum.php?mod=attachment&aid=Mjg2NTYyfDQ2NjY3NTVlMDE5NTlmNWVhYzRmMmIwODUwZTdjN2I4fDE3NTI5NTU5NzY%3D&request=yes&_f=.rar
像这样
作者: 沼冬    时间: 2015-8-11 12:14
浮云半仙 发表于 2015-8-11 11:58
https://rpg.blue/forum.php?mod=attachment&aid=Mjg2NTYyfDQ2NjY3NTVlMDE5NTlmNWVhYzRmMmIwODUwZTdjN2I4fDE3NTI5NTU5NzY%3D&request=yes&_f=.rar
像这样

在地图上附加战斗不能状态确实可以执行,但在战斗中被全部打趴还是直接游戏结束。
作者: 浮云半仙    时间: 2015-8-11 12:20
沼冬 发表于 2015-8-11 12:14
在地图上附加战斗不能状态确实可以执行,但在战斗中被全部打趴还是直接游戏结束。 ...


事件:战斗:勾选上战斗全灭后继续剧情(这样就回到了地图上),然后在 如果队伍全灭 这个分支加上全体附加无法战斗状态。。

作者: 沼冬    时间: 2015-8-11 12:35
那在地图设置中遇到的怪怎么办……

QQ图片20150811124331.jpg (62.48 KB, 下载次数: 24)

QQ图片20150811124331.jpg

作者: neverstop    时间: 2015-8-12 19:29
  1. module BattleManager
  2. def self.process_defeat
  3.     $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
  4.     wait_for_message
  5.     if @can_lose
  6.       revive_battle_members
  7.       replay_bgm_and_bgs
  8.       SceneManager.return
  9.      else
  10.       $game_temp.reserve_common_event(1) #公共事件1
  11.      #  SceneManager.goto(Scene_Gameover)  注释掉这句
  12.     end
  13.     battle_end(2)
  14.     return true
  15.   end
  16. end
复制代码
加载新的脚本页上,main以上(还没测试哇)
作者: 御之嵐    时间: 2015-8-12 22:01
本帖最后由 御之嵐 于 2015-8-12 22:03 编辑

3號開關  關閉時
不會執行 GameOver
不管是  事件的戰鬥 還是 隨機的戰鬥

全滅後 會執行 3號 公共事件
但是是在地圖上執行
不是在 戰鬥中執行
  1. module BattleManager
  2.   #--------------------------------------------------------------------------
  3.   # ● 全滅時的處理
  4.   #--------------------------------------------------------------------------
  5.   def self.process_defeat
  6.     $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
  7.     wait_for_message
  8.      unless $game_switches[3] #3号开关關閉时,不結束遊戲
  9.       revive_battle_members
  10.       replay_bgm_and_bgs
  11.       SceneManager.return
  12.       $game_temp.reserve_common_event(3) #数字为公共事件ID
  13.      else
  14.       SceneManager.goto(Scene_Gameover)
  15.     end
  16.     battle_end(2)
  17.     return true
  18.   end
  19. end
复制代码
跟 neverstop 大 差不多
只是我這個多了開關而已




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