作者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