看板 mud_sanc 關於我們 聯絡資訊
※ 引述《justinj (黑旋風)》之銘言: : 問題 1: : 你發覺蟑螂對你展開攻擊! : ☆☆☆ 戰 鬥 開 始 ☆☆☆ : 你發覺蟑螂對你展開攻擊! : 你發覺蟑螂對你展開攻擊! : 你發覺蟑螂對你展開攻擊! : 你發覺蟑螂對你展開攻擊! : 你發覺蟑螂對你展開攻擊! : 其實只有3隻而已....這個通常發生在那個房間還沒啟動時 這原因很簡單,因為新型態區域的寫法問題,我有空把它修一下好了。 (在舊區域不會有這問題) : 問題2: : 不知道是不是副本沒寫完.. : instance_data :([ "short" : "[副本]武魂殿的廚房", "long" : "\n 這裡是武魂 : 殿的廚房,時常有黑色的生物從這裡進進出出的\n,所以這裡的衛生不太好,請將這裡打 : 掃乾淨保持衛生。\n\n" ]) : long :"\n這裡是一片廣大的草原,穿越了層層的雜草來到了這裡,你被眼\n : 前的景象嚇了一跳,竟然會是一小片的矮草區,雖然此處的草都\n長不高,但前面盡是一 : 堆比你還要高的草,你心想應該是過不去\n了。你仔細一看,發現地上有些許\的圓形痕 : 跡,而且周圍的草卻\n沒有枯\萎看來似乎是某種神奇的力量所造成的。\n\n" : short :"[副本]\t   -- 坎達尼亞草原 --" : 我想房間設定上面那個short及long.. 這要檢查 create_instance // 然後載入 iroom 的預先設定集 if(instance_data[tmp]) { tmps2=keys(instance_data[tmp]); if(sizeof(tmps2)>0) foreach(tmp2 in tmps2) iroom->set(tmp2,instance_data[tmp][tmp2]); } // iroom 剩下的未設定項目就使用 oroom 原來的設定 // 而且限定在 short, long, item_desc 三項 if(!iroom->query("short")) iroom->set("short","[副本]"+oroom->query("short")); 從上面你可以發現,如果 instance_data 裡面有設定 short 資料, 它就會先在 iroom 上面設定 short,則「理論上」,oroom 的short 就不會設到 iroom 上面。 iroom: 副本房間 oroom: 原先的房間 所以除非 if(!iroom->query("short")) 這一句有問題,而我在撰寫 之初這一句是的確有問題的,我改成 query_ob_data() 的做法後就 解決,我最近會再改成這種做法。 : 問題3: : 副本那邊..有沒有法子全部都是載入同一種房間(反正就問題2是這個沒法度去設定才出現的) : instance_files=({ : "083","084","085","086","087","088","089","090", : "091","092","093","094","095","096","097","098","099","100", : }); 這什麼意思? 另外我會給副本房間一些彈性,如果它偵測到 "/" 就直接讀檔,沒 有偵測到就 INSTANCE_PATH + files[i] 這樣。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.224.75.120 ※ 文章網址: http://www.ptt.cc/bbs/mud_sanc/M.1396953656.A.D1F.html ※ 編輯: laechan (61.224.75.120), 04/08/2014 18:43:31
justinj :原本的副本是"截取"一段現存的區域變成副本(但原區域 04/09 08:36
justinj :長什麼樣子副本就是這個樣子) 04/09 08:37
justinj :我想多一種副本是 一個房間+地圖(或只給房間方向)去 04/09 08:38
justinj :演變成副本....不過問題2解決了.那問題3我自己改改看 04/09 08:39
我不太建議這樣─但是副本系統可以支援。 不太建議的原因是,這樣你的副本檔 xxx.c 會設定過長,它有折衷 的做法就是你可以用區域產生器,把副本地圖丟進去,讓它產生出房 間,這樣你的 xxx.c 檔就可以只設定 short、long 及生怪資料,而 不必包含 exits 資料。 我之前有貼一篇說明「為何我覺得每一個副本都有一個原生區域會比 較好」的文,你可以參看: http://www.ptt.cc/bbs/mud_sanc/M.1393213631.A.8DD.html 我猜測暗黑三也是同樣的做法,它並不是玩家每一次進去都是隨機地 圖隨機產生出口,而是「地圖早就存在了,只是讓玩家覺得隨機」, 關鍵就在於它不是單一伺服器,以聖殿的說法就是,聖殿就算只有單 一伺服器,我也可以先產生出一百張「每張之間都只有些微差異的地 圖」,然後玩家每次進一張地圖就是從這一百張裡面隨機挑一張,這 樣同樣能具現所謂的隨機地圖。 換言之,我認為你自己寫一個 001.c 然後 instance_rooms=({ "001","001","001",...... }); 這樣也可以,因為 instance_rooms 有包括出口設定,你自訂出口就 相當於每個房間都是不同出口,甚至在 init_instance 裡面寫隨機 改變出口的呼叫也不是不行,但是與其這樣,還不如一開始就有原生 區域(尤其現在從地圖→區域是已經有現成工具了),你會更好設定, 設定檔也不會過長,我是覺得,一但連每個房間的 long 都要設定到 xxx.c 那還不如現在就思考有沒有更好的設定方式,我的原意是只有 少數房間需要額外設定 long。 Laechan ※ 編輯: laechan (210.61.157.53), 04/09/2014 10:31:15