作者HighElf (高等妖精)
看板mud_sanc
标题[wiz]init
时间Thu Jun 21 01:46:17 2007
当我在void init()里面写到侦测this_player()
可是当this_object()是mob时也会被判断为是this_player()
例如在地下湖里面侦测有无戴氧气罩的程式段
void init()
{
mixed cm;
object ob;
string rac;
object me=this_player();
rac=me->query("race");
if(me->query("npc")) return 0; //玩家没有npc的参数
if(rac=="elf") return 0;
cm = all_inventory(me);
foreach(ob in cm)
if(ob->query("oxygenitem")) return 0;
call_out("check",1,this_player());
}
照理来说 mob 应该不会经过 check 阶段
但是实际上 mob就是会被 check ,因而移除掉
所以就必须要多加一行 if(me->query("npc")) return 0;
是不是init函数出错了呢?
--
不归之森的名称似乎早就在说明其不归着含意
落入尘世的妖精再也无法回去他的故乡了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.225.42.117