[wizs] 新型態區域預載 npc 的做法

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間12年前 (2013/08/19 15:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
思考了諸多做法之後決定採最簡單的。 首先,假設房間已經依 trans 產生,然後 area_room.c 設定了 某一格有 npc,那麼 1.直接 ed 該格房間 2.在 create 函數裡新增底下這行: ::init(this_object()); 則該房間不管是 update 後或是被 find_object_or_load,都能 順利產生 npc 參數 > da 133 Object : 房間(/u/p/ppl/hiei/1/133) exits : ([ "north" : "/u/p/ppl/hiei/1/123" ]) light : 1 long : "微弱的亮光,只能照映出身邊兩步的距離,自己只能小心翼翼的\n前똊i,洞穴裡不斷有聲響傳來,像人的哭聲又像野獸的叫聲,你\n提心吊膽著,防備著下個轉씊s處,有更恐怖的怪物襲擊而來。\n\n" npc : 怪物(cheng zhi /std/new_ob/npc) 這樣就不需要像之前 quest 或是目前 learnlist 那樣得加上很 多程式段才能載入 npc。 本設定在經測試無問題後會全面實裝,這時唯一要注意的一點就 是,如果區域房間被 rm 掉再重新 trans 產生的話,必須在重新 產生的房間加上 ::init(this_object()); 這行,而為了避免這 種情況亦可於 script_area 檔加上底下 if((int)query("room_file")==133) ::init(this_object()); 這樣就算 rm 掉全部房間,重新產生的房間也會自動補上。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.61.157.53
文章代碼(AID): #1I4SEK0E (mud_sanc)
文章代碼(AID): #1I4SEK0E (mud_sanc)