※ 引述《VBAD (Juin)》之銘言:
: → laechan :先下 area 指令, 然後去打看看區域 10/28 16:36
: → laechan :不然就去羅德斯任務店(小地圖上面有標示)看看 10/28 16:36
: → laechan :目前實在找不到這東西哪裡有寫錯,等狀況好時再找 10/28 16:37
: → laechan :或者等我將任務模擬器完工 10/28 16:51
: → elvrael :以我的經驗 只要任務沒聽完離開房間就會發生 10/29 12:18
: → elvrael :請耐心聽完 或是可以請wiz在對話結束時加個end...ame 10/29 12:19
沒對話完一樣可以,在玩家離開房間時對話就不會再繼續,除非
是特殊的任務才不允許。
理論上是這樣。
// 4.最後才吐出訊息
quest_ob->show_msg(me,ob,s1,tt+1);
這段是在 quest oo about xx 的最結尾處,也就是說這時候不
管玩家有沒有看訊息,任務實際上已經跑完該步驟了。
然後再依照訊息,實際上 quest a 卻顯示為 b 的 name,那就
是 s1 有問題才會這樣,則往前逆推的結果
if(j==0)
s1=s1+1;
else
s1=j;
再往前逆推的結果
j=(int)quest_ob->quest_check(s1,fstr,exp,quest_temp,mob);
// 假設第 2-4 步驟是 nonseq, 玩家先解了第 4 步驟
// 則此時 j = -4
j=-j;
由我程式的備註就可以看得出來,要解決這個 bug,只要實驗
第 m 到 n 步驟為 nonseq 的「所有可能流程」,就能找出會
造成問題的那一組,然後就能分析為何它會造成問題,以及要
如何解。
上面的意思就是當 j 出問題時 s1 就會出問題,連帶影響到
吐出來的訊息。
我下午再做一個模擬任務來跑。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53