作者laechan (小太保)
看板mud_sanc
標題[wizs] 關於新型態區域下的 xxx.h
時間Tue Oct 30 12:22:54 2012
我們舉 pal.h 為例
/u/l/laechan/area/pal/syt/pal.h
#define MOBS_DATA ({\
({"mob01",100,({"pighead monster","monster"}),"豬頭人",\
-1000,1000,5,({"cape"})}),\
我打算最終型態設為
#define MOBS_DATA ({\
({"mob01",100,({"pighead monster","monster"}),"豬頭人",\
-1000,1000,5,({"cape"}),({"temp","flying",1,"data","ftype","豬"})}),\
上面的意思就是說,「其它雜七雜八」的設定,通通匯到最後一
個參數裡頭去設。
因為鎖妖塔有一隻怪叫「鐮刀鼬」,這隻是空飄的,以上面的設
定來說就是 ({"temp","flying",1}),也就是說,只有這隻怪物
跟其它隻不同,所以設起來就會變成..
({"mob05",110,({"iron-fork bullhead","bullhead"}),"鐵叉牛頭",\
-1100,1100,5,({"cloth"})}),\
({"mob06",120,({"sickle ferret","ferret"}),"鐮刀鼬",\
-1200,1200,5,({"boots"}),({"temp","flying",1})}),\
那麼,在設定上就可以這樣做...
if(sizeof(datas)>8) // 代表有最後的 ({ xxx })
{
if(datas[8][0]=="data")
tmp+=" set(\""+datas[8][1]+"\","+identify(datas[8][2])+");\n";
else
tmp+=" set_temp(\""+datas[8][1]+"\","+identify(datas[8][2])+");\n";
}
這樣 鐮刀鼬 就會比其它 mob 多一個 set_temp("flying",1);
的設定。
然後因為這個最後的 datas 也可以支援其它的設定,所以最
終就可以將 sizeof(datas) 控制在 9 個。
({ "怪物檔名",等級,({"id設定",..}),"怪物名",\
道德,金錢,隻數,({"會掉的東西",..}),({其它設定...}) })
wiz 若有興趣寫新型態區域請先告知嘿,會比自己研究還快。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53
1F:→ laechan :那還有一種做法,因為同區域下的所有mob都繼承同一個 10/30 12:24
2F:→ laechan :檔,所以也可以在那個檔的init動手腳,只是這樣較不好 10/30 12:24