作者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
1F:推 justinj :有return 1 11/12 17:09
2F:→ laechan :nobu 昨天有 line 我, 大致上是如果升到 2.26 似乎可 11/13 11:18
3F:→ laechan :以解决这问题 11/13 11:18
5F:→ laechan :啊请无视上面的网址... 11/13 11:22
6F:→ laechan :基本上跟昨天讨论的一样,mudos认为return 0就是不应 11/13 11:22
7F:→ laechan :该做 move 跟 destruct(remove), 这个在 2.26 版以後 11/13 11:23
8F:→ laechan :似乎就已经得到了解决(圣殿目前使用 2.26 以前的版本 11/13 11:23