ES2 MUD LIB :: 東方故事二(ES2) 天朝帝國 mudlib 瀏覽展示
/doc/handbook/environment
□ 工作環境
lpmud 是以物件為主,所有你看得到,看不到的東西都是由一個或多個物件所組
成的。檔案儲存的方式有如樹狀結構,用來繼承的標準物件會放在 /std 以下,
系統物件或是範例會放在 /obj 下,玩家的存檔資料,和一些物件的相關存檔是
在 /data 下面。有關系統,也是最重要的部份是放在 /adm 下面,遊戲的區域
則是存放在 /d 底下,各巫師的工作目錄放在 /u 底下。各個目錄的用途多半可
以由該目錄內的 README 檔得知。
□ 函數的種類
MudOS 提供以下幾種函數:
efuns:這類的函數可以由任何物件呼叫,因為函數的支援是寫在 driver 本身
的,所以執行速度也比其他類的函數來的快。 使用時可以不必繼承任何
物件。
範例:getuid(),wizardp(),time(),this_player(),environment()
driver applies:定義在 mudlib 物件裡的函數,如 create(), init().等。
由 driver 定時或依情況呼叫。 如有需要,任何物件也可以視情況定義
這類函數以供 driver 呼叫。
Mudlib 提供以下幾種函數:
lfuns:這些是「local」的函數,可能是定義於系統物件中,也可能是定義在某
個標準物件中,如:room,user 裡。要對某物件呼叫這類函數的話必需
要使某物件包含或繼承該函數所在的物件。 換句話說,如過你要用某個
函數,而某個函數是定義在某個物件中,則你的物件就要繼承, 或包含
該物件的程式碼。
simul_efun:跟 efun 類似,但不含在 driver 裡而是在 /adm/obj/simul_efun
裡定義的,隨時都可以呼叫。 simul_efun 的目地是「模擬」efun,或
是取代 efun。 所以如果某個 simul_efun 和 efun 的名字相同,則
simul_efun 會被使用。執行速度比 efuns 稍慢,但比 lfuns 快。