作者justinj (黑旋风)
看板mud_sanc
标题Re: [问题] 移除的问题
时间Mon Nov 18 16:40:43 2013
※ 引述《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
1F:→ laechan :有空我自己 try 一下 11/18 17:22