作者laechan (小太保)
看板mud_sanc
標題Re: [問題] 移除的問題
時間Tue Nov 12 16:46:14 2013
※ 引述《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
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53
推 justinj :有return 1 11/12 17:09
→ laechan :nobu 昨天有 line 我, 大致上是如果升到 2.26 似乎可 11/13 11:18
→ laechan :以解決這問題 11/13 11:18
→ laechan :啊請無視上面的網址... 11/13 11:22
→ laechan :基本上跟昨天討論的一樣,mudos認為return 0就是不應 11/13 11:22
→ laechan :該做 move 跟 destruct(remove), 這個在 2.26 版以後 11/13 11:23
→ laechan :似乎就已經得到了解決(聖殿目前使用 2.26 以前的版本 11/13 11:23