→ laechan :有空我自己 try 一下 11/18 17:22
※ 引述《laechan (小太保)》之銘言:
: ※ 引述《justinj (黑旋風)》之銘言:
: : 某一個quest的步驟
: : {
: : ob->remove();
: : write("迪菲亞特道:太好了,謝謝你幫我記錄完畢,那這是給你的報酬。\n");
: : }
: : ===============執行的結果============================
: : 迪菲亞特道:太好了,謝謝你幫我記錄完畢,那這是給你的報酬。
: : 執行時段錯誤: *Illegal to move or destruct an object
: : (/d/ppl/justinj/dark/obj/bio_record#1893454) defining actions from a verb
: : function which returns zero.
: : 程式: 0:0
: : 物件: 0
: : =====================================================
: : 那要怎麼設定才不會出現?
: 程式段給的資訊不足,我不太清楚問題點在哪,但是依照一般的
: 經驗,如果你有做 ob->remove() 的話一定要用 return 1; 做為
: 結尾,不然就會產生錯誤。
: defining actions from a verb function which returns zero.
: ^^^^^^^^^^^^^^^^^^^
: 一般這錯誤會發生在你用 add_action 自訂一個 verb 時,然後在
: 這個 verb 內嚐試要 move or remove(destruct) 一個東西,然後
: 沒有適當的結尾(return 1)。
: 之前我在 /d/ppl/quest/memory 目錄下也發現過這種狀況,即玩
: 家 mivis 所反映的那個 bug,我之前有處理過的。
: 總之請記得 move or remove 一定要接 return 1,函數要用 int
: 宣告不要用 void。
: Laechan
一樣有出現
/open/cmds/quest/j/j007.c
...
int step3_end(object ppl,object npc,string key)
{
remove_obj(ppl,"bio_record");
add_v(ppl,"exp",77000);
merc_finish(ppl,"j007");
"/d/ppl/justinj/dark/room/069.c"->cmd_finish("j007");
return 1;
}
【傭兵行會】你的任務生物記錄-風色幻想(編號j007)總結如下:
任務積分 15 冥靈印。
影特幣 62760 枚。
道德 62500 點。
執行時段錯誤: *Illegal to move or destruct an object
(/d/ppl/justinj/dark/obj/bio_record#3423586) defining actions from a verb
function which returns zero.
程式: 0:0
物件: 0
迪菲亞特道:太好了,謝謝你幫我記錄完畢,那這是給你的報酬。
【你得到 77000 經驗值】
--
/\/. ◢◣ \\/.
,\//, //o\,\//,.\//\█◣ /o\\ ,\/,,\/
//o\◢◣ | //o\\/o//o\\█◣|◢◣ //o\/o\.//,
|◢██◣| ◣| | |██████◣| | \o\\
◢██████|◣◢█|███████◣ | |
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.3.147