[wiz]init
看板mud_sanc (Sanctuary - 聖殿)作者HighElf (高等妖精)時間18年前 (2007/06/21 01:46)推噓0(0推 0噓 0→)留言0則, 0人參與討論串1/2 (看更多)
當我在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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章