宣告動作可能性
%bc <宣告動作可能性>
call : <呼叫子程序> : <動作可能性>
next : <等待秒數> : <動作可能性>
retry : <等待秒數> : <動作可能性>
next | 執行下一個動作 |
retry | 重覆動作 |
call | 呼叫子程序 |
使用 retry 的注意事項
retry 這個指令非常特別,因為系統會不停地重覆動作,而不會終止,直至不符合這項 retry 內的條件,在重覆動作的過程中,並不會執行下一項動作。
一般的情況下,retry 這個指令並不會令機械人程式卡住。由於神聖之路、定位術在戰鬥中並不能使用,如果在戰鬥狀態中使用這些法術便伯被卡住。雖然在正常情況下,你便不會在戰鬥狀態使用這些法術,但可能因為 lag 機或其他因素而影響,不過機會繁相當低。
一般的情況下,是用 retry::你正忙著呢 !,如果經常性因為使用定位術被卡住,可改為 next::你正忙著呢 !
例子:
%scene begin |
< 1 > |
5:holyball_bc:cast holyball on man | < 2 > |
%scene goto_meditate | < 3 > |
30::meditate | < 4 > |
::@return | < 5 > |
%bc holyball_bc | < 6 > |
call:goto_meditate:(你得到 %* 點經驗。) | < 7 > |
next::你的精神還沒有恢復平靜,不能冥思。 | < 8 > |
retry::但是什麼事也沒發生。 |
< 9 > |
< 1 > | 程式宣告起始 |
< 2 > | 執行動作 cast holyball on man,檢查可能性 holyball_bc,並在 5 秒後執行下一項指令 |
< 3 > | 宣告子程序程 goto_meditate |
< 4 > | 冥想 30 秒 |
< 5 > | 結束子程序 goto_meditate 後,返回 5:holyball_bc:cast holyball on man 並執行下一個動作 |
< 6 > | 宣告動作可能性 holyball_bc |
< 7 > | 如果畫面出現 "(你得到 %* 點經驗。)",便呼叫子程序 goto_meditate |
< 8 > | 如果畫面出現 "你的精神還沒有恢復平靜,不能冥思。" 便執行 5:holyball_bc:cast holyball on man 的下一項指令,等待時間為 0 秒 |
< 9 > | 如果畫面出現 "但是什麼事也沒發生。" 便立即重覆動作,等待時間為 0 秒 |
問答集:
問題 | ::@return 是什麼? |
回答 | 當你使用 call 指令執行子程序後,你必須使用 ::@return 命令程式回到你開始呼叫的位置,並執行下一個動作 |