[wizs] 關於新型態區域下的 xxx.h

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間13年前 (2012/10/30 12:22), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
我們舉 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

10/30 12:24, , 1F
那還有一種做法,因為同區域下的所有mob都繼承同一個
10/30 12:24, 1F

10/30 12:24, , 2F
檔,所以也可以在那個檔的init動手腳,只是這樣較不好
10/30 12:24, 2F
文章代碼(AID): #1GZrOWsI (mud_sanc)
文章代碼(AID): #1GZrOWsI (mud_sanc)