Project1

标题: 同一場戰鬥,兩隻以上小兵死後,出現BOSS,有沒有較好的做法? [打印本页]

作者: 御之嵐    时间: 2015-8-10 09:25
标题: 同一場戰鬥,兩隻以上小兵死後,出現BOSS,有沒有較好的做法?
本帖最后由 御之嵐 于 2015-8-10 09:27 编辑

RT

其實問題和
https://rpg.blue/thread-382236-1-1.html
一樣
但是裡面的方法 怎弄都不成功吶_(:з」∠)_
兩隻怪全部死亡後
就馬上結束戰鬥了

於似乎就上網找了資料
但好像只能用 不死之身的狀態去做的樣子

所以又嘗試了一下
一隻感覺還好可以
判斷比較容易
但是兩隻的話 我就稍微花了點時間去思考了

但最後的做法如下

不知道這樣做對不對
但是能正常執行就是了

因為攻擊沒有順序
所以做了判斷其他隻是否死亡
但是這樣如果兩隻以上的話
判斷會蠻多的_(:з」∠)_

最後一隻死掉的瞬間
馬上補上敵人現身就不會結束戰鬥
但是如果
先死掉-在對話-敵人現身
對話完就會結束戰鬥了ლ(・ω・ლ)

有嘗試使用  腳本
  1. $game_troop.members[id].hp  #id 為敵群怪物順序,第一隻為0  第二隻為1  以此類推
复制代码
去做判斷
但好像只有 『回合』有效果
可是 使用回合的話,怪物已經確定死了,還是會等回合結束才死
也就是說他必須等到所有動作完畢後才會進行判斷
其他兩個  不是沒反應,就是會卡住

所以想問有其他更好的做法嗎?
還請幫忙解惑
謝謝

===================================
還是 有那種類似『魔力寶貝』裡面的連戰系統?
例如 10連戰
在同一場戰鬥裡面就會有十波的敵人
每波敵人數量不均

不過網路上稍微找了一下
好像沒看到類似的東西ლ(・ω・ლ)
作者: taroxd    时间: 2015-8-10 09:34
本帖最后由 taroxd 于 2015-8-10 10:34 编辑

换个想法:1号开关关闭时才结算胜利

RUBY 代码复制
  1. def BattleManager.judge_win_loss
  2.   if @phase
  3.     return process_abort   if $game_party.members.empty?
  4.     return process_defeat  if $game_party.all_dead?
  5.     return process_victory if !$game_switches[1] && $game_troop.all_dead? # 改了这句,没测试
  6.     return process_abort   if aborting?
  7.   end
  8.   return false
  9. end

作者: 御之嵐    时间: 2015-8-10 10:33
本帖最后由 御之嵐 于 2015-8-10 10:37 编辑
taroxd 发表于 2015-8-10 09:34
换个想法:1号开关打开时才结算胜利

def BattleManager.judge_win_loss



測試了一下
這個好像是『開了不會結算』
不開的話就會 正常的結算


一隻的話  我的事件是這樣寫的

先讓他暫停結算
怪物死了 BOSS就會現身
BOSS 死了之後開啟結算

可以正常執行



兩隻的時候

也只有第二頁多了一個條件分支
其他動作都一樣
不管小兵的死亡的先後順序
BOSS就是不會現身
而且會卡在戰鬥選單中

繼續執行指令就會出錯
所以只能逃跑


不知道有沒有寫錯就是了
目前卡在這邊_(:з」∠)_

==========================
補充一下

一隻的時候
一擊斃殺的時候可以正常執行
兩下以上的時候  BOSS不現身 會卡選單    (  艸)
作者: taroxd    时间: 2015-8-10 10:36
御之嵐 发表于 2015-8-10 10:33
測試了一下
這個好像是『開了不會結算』
不開的話就會 正常的結算

因为你写的是
  1. 敌人现身:[2. 士兵]
复制代码
那个确实是关闭开关才结算,是我打中文的时候手滑了- - 抱歉
作者: 御之嵐    时间: 2015-8-10 10:58
本帖最后由 御之嵐 于 2015-8-10 11:01 编辑
taroxd 发表于 2015-8-10 10:36
因为你写的是那个确实是关闭开关才结算,是我打中文的时候手滑了- - 抱歉 ...


我照到問題點 解決了

主要是把第二頁的間隔,從『戰鬥』改成了『回合』
讓他每個回合的結束就判斷一次



為了避免每回合他都會講一次話
所以就給他判斷現身
讓他安靜點
就成功了

我覺得這樣比用不死之身的用法還要簡單明瞭ლ(・ω・ლ)

總之
非常感謝你的腳本_(:з」∠)_





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