看板 mud_sanc 關於我們 聯絡資訊
※ 引述《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
laechan :有空我自己 try 一下 11/18 17:22