好久没看了,目前 log 量都不大。
游戏已经执行了 5天 11 小时 34分 42秒。
99 debug.log
执行时段错误: *Array index must be positive or zero.
程式: /u/l/laechan/skycastle/room/skyfarm_mob.c:589
物件: /u/l/laechan/skycastle/room/skyfarm_mob#12243
生物名: SKYFARM
/std/user#504 "cmd_hook" /std/user.c:140
/cmds/std/_look "cmd_look" /cmds/std/_look.c:50
/adm/daemons/look_d "look_in_room" /adm/daemons/look_d.c:447
/u/l/laechan/skycastle/room/skyfarm_mob#12243 "query" /std/ob/mob.c:31
/u/l/laechan/skycastle/room/skyfarm_mob#12243 "query_long" /u/l/laechan/skycastle/room/skyfarm_mob.c:664
/u/l/laechan/skycastle/room/skyfarm_mob#12243 "grow_situation" /u/l/laechan/skycastle/room/skyfarm_mob.c:589
c=(t-gt)*100/(nt-gt); // 得到 % 数
if(c<1) c=1;
else if(c>99) c=99;
a=c/10;
b=c%10;
msg+=PERCENTS[b]+c+"%";
^^^^^^^^^^^
上面加了一个避免 b < 1 的判断。
==
执行时段错误: *Illegal to move or destruct an object
(/d/ppl/norr/quarcha/mob/hole_animal#25216) defining actions from a verb function which returns zero.
程式: 0:0
物件: 0
这个 error 蛮多的。
int die()
{
object ob1,ppl=this_player();
if(random(30)==1)
{
ob1=clone_object(NE"ring");
ob1->set("names",(string)ppl->query("name"));
ob1->move(ppl);
}
::die();
return 1;
}
我的判断是它 clone_object 时有失败的情况,我加上了失败时
避免 error 产生的判断。
==
object /open/cmds/quest/n/n000: eval_cost too big 3000000
执行时段错误: *Too long evaluation. Execution aborted.
程式: /open/cmds/quest/quest_d.c:185
物件: /open/cmds/quest/n/n000
/std/user#164902 "cmd_hook" /std/user.c:140
/cmds/std/_quest "cmd_quest" /cmds/std/_quest.c:856
/open/cmds/quest/n/n000 "query_quest_npc" /open/cmds/quest/quest_d.c:185
object /cmds/std/_quest: eval_cost too big 3000000
执行时段错误: *Too long evaluation. Execution aborted.
程式: /cmds/std/_quest.c:856
物件: /cmds/std/_quest
/std/user#164902 "cmd_hook" /std/user.c:140
/cmds/std/_quest "cmd_quest" /cmds/std/_quest.c:856
while(i>0)
{
if(base_name(mob)==quest_ob->query_quest_npc(i))
{
return notify_fail(quest_ob->query_quest_msg(i,1)+
CYN"【提示】你接下来应找的对话目标: "+tmp[0..strlen(tmp)-3]+NOR"\n");
i=i-1;
}
}
在执行 n000 这个脚本时,上面的循环判断发生了 eval_cost 太大的
情况。不过问题应该不是在 n000 而是在上面 i=i-1 的段落应该是放
错了(要放到下面的 } 之后)。已修正。
==
locals were: "执行时段错误: *Bad argument 1 to environment()
Expected: object Got: 0.
程式: /d/slash/crack.c:402
物件: /d/slash/crack
/d/slash/crack "start_effect2" /d/slash/crack.c:402
if(environment(user) != environment(tar))
return 1;
偶发错误,观察中。
==
locals were: /std/user#5483,0,71,0
Object: /d/ppl/ina/dinah/blood/mob/a4#198959, Program: /d/ppl/ina/dinah/blood/mob/a4.c
in special_fun() at /d/ppl/ina/dinah/blood/mob/a4.c:31
arguments were (0,/std/user#5483)
Object: /d/ppl/ina/dinah/blood/mob/a4#198959, Program: /std/mob/living.c
in shut() at /std/mob/living.c:145
arguments were ("$N使出了^[[1;31m八^[[1;33m卦^[[1;35m阵^[[1;37m法^[[0m攻向$O",59280,5054,({ /* sizeof() == 3 */
"dam",
"physics",
1
}),/std/user#5483,5)
locals were: ".","","$N使出了^[[1;31m八^[[1;33m卦^[[1;35m阵^[[1;37m法^[[0m攻向$O","dam","physics",0,0,0,0,1480235707,0,1,3,0,59280,5054,0,0,1,0,0,({ /* sizeof() == 2 */
0,
", $O眼光独到, 以独孤九剑随手化解了!"
}),0,0,0
这是独孤的反击判断问题,之前有改过了,不过还是一直出现,
观察中。
laechan