标签:
以下列出的是 ES2 mudlib 根目錄下標準的子目錄結構,以及簡短的說明。
/adm | 儲存由系統管理者所管理的程式與資料檔。 |
/std | 儲存標準物件的程式碼。 |
/obj | 儲存通用物件的程式碼。 |
/feature | 儲存物件特徵的程式碼。 |
/daemon | 儲存遊戲制度精靈的程式碼。 |
/d | 儲存開放區域的程式碼。 |
/cmds | 儲存全域性使用者指令的程式碼。 |
/include | 儲存系統表頭檔。 |
/doc | 儲存說明文件文字檔。 |
/data | 儲存使用者帳號、物件資料。 |
/u | 儲存巫師工作目錄。 |
/log | 儲存系統日誌。 |
以下列出的是 ES2 mudlib 目前定義的 simul-efun 及扼要的用途說明。
chinese_number | 傳回中文格式的數字如「一百三十六」等。 |
chinese_period | 傳回中文時間的表示法如「一小時三十六分」等。 |
to_chinese | 傳回一個英文詞彙的對應中文名稱。 |
break_chinese_string | 將一個含有中文的字串依照指定長度斷成數行。 |
currency_string | 傳回中文錢的表示法如「三兩銀子又十二文錢」等。 |
cat | 將一個檔案的內容顯示給 this_player()。 |
log_file | 將一段文字寫入指定的日誌 (log) 檔。 |
assure_file | 檢查並建立一個檔案路徑中所有的目錄。 |
base_name | 傳回物件的真正檔名 (去掉物件流水號)。 |
gender_self | 傳回指定性別的中文第二人稱。 |
gender_pronoun | 傳回指定性別的中文第三人稱。 |
getoid | 傳回物件的流水號。 |
file_owner | 傳回指定檔案的擁有者 (巫師) 代號。 |
creator_file | 傳回指定檔案的建立者 UID,用來設定物件被建立時的權限。 |
destruct | 覆蓋 efun 中的 destruct,作各種檢查。 |
users | 覆蓋 efun 中的 users,作各種檢查。 |
livings | 覆蓋 efun 中的 livings,作各種檢查。 |
objects | 覆蓋 efun 中的 objects,作各種檢查。 |
exec | 覆蓋 efun 中的 exec,作各種檢查。 |
user_cwd | 傳回指定巫師目前的工作目錄 (實作錯誤)。 |
user_home | 傳回指定巫師的 home 目錄。 |
user_path | 傳回指定巫師的 home 目錄加上 ‘/‘。 |
user_data | 傳回指定使用者的人物存檔檔名。 |
login_data | 傳回指定使用者的帳號存檔檔名。 |
mail_data | 傳回指定使用者的郵件信箱存檔檔名。 |
resolve_path | 傳回展開 ‘.‘ 與 ‘..‘ 表示法的路徑名稱。 |
wiz_level | 傳回指定使用者的巫師等級。 |
wizhood | 傳回指定使用者的巫師等級名稱。 |
wiz_level | 傳回指定使用者的巫師等級。 |
ntime | 傳回 ISO-8601 的日期時間表示法。 |
snoop | 覆蓋 efun 中的 snoop,作各種檢查。 |
message_vision | 將訊息加上人稱變化,顯示給多個對象。 |
tell_object | 利用 message efun 提供與早期 MudOS 的相容 efun。 |
tell_room | 利用 message efun 提供與早期 MudOS 的相容 efun。 |
shout | 利用 message efun 提供與早期 MudOS 的相容 efun。 |
write | 利用 message efun 提供與早期 MudOS 的相容 efun。 |
say | 利用 message efun 提供與早期 MudOS 的相容 efun。 |
表頭檔位於 /include 目錄下,以下列出 ES2 目前使用中的表頭檔。
<action.h> | 定義人物特徵 F_ACTION 所使用到的巨集符號。 |
<action.h> | 定義人物特徵 F_ACTION 所使用到的巨集符號。 |
<ansi.h> | 定義 ANSI 色彩/游標控制碼的巨集符號。 |
<armor.h> | 護具類物件的標準表頭檔,含護具類物件的繼承定義。 |
<attack.h> | 定義人物特徵 F_ATTACK 中宣告的函式原型。 |
<attribute.h> | 定義特徵 F_ATTRIBUTE 中宣告的函式原型與巨集符號。 |
<char.h> | 定義人物特徵 F_* 巨集符號。 |
<combat.h> | 定義人物特徵 F_COMBAT 所使用到的巨集符號。 |
<command.h> | 定義指令系統所使用到的巨集符號,以及預設指令搜尋路徑。 |
<condition.h> | 定義人物特徵 F_CONDITION 所使用到的巨集符號。 |
<condition.h> | 定義人物特徵 F_CONDITION 所使用到的巨集符號。 |
<config.h> | 定義 ES2 mudlib 系統組態,與開啟/關閉某些選擇性功能的符號。 |
<copyright.h> | ES2 mudlib 著作權聲明的表頭檔。 |
<daemon.h> | 定義精靈物件 *_D 的巨集符號。 |
<dbase.h> | 定義特徵 F_DBASE 所使用的巨集符號。 |
<explore.h> | 定義利用使用者特徵 F_FLAG 紀錄使用者探險點數的檢查點所使用的巨集符號。 |
<function.h> | MudOS 的函式指標所使用的巨集符號 (根據 MudOS 定義)。 |
<globals.h> | ES2 mudlib 的系統預設表頭檔。 |
<intermud.h> | Intermud 通訊協定相關的巨集定義。 |
<item.h> | 一般物件的標準表頭檔,含一般物件的繼承定義。 |
<localtime.h> | MudOS 的 localtime efun 所使用的巨集符號 (根據 MudOS 定義)。 |
<login.h> | 有關玩家身分驗證、人物創造的組態設定。 |
<move.h> | 定義特徵 F_MOVE 所宣告的函式原型。 |
<mudlib.h> | 有關 ES2 mudlib 的版本資訊等巨集定義。 |
<name.h> | 定義特徵 F_NAME 所宣告的函式原型。 |
<obj.h> | 定義通用物件的位置。 |
<origin.h> | MudOS 的 origin efun 所使用的巨集符號 (根據 MudOS 定義)。 |
<race.h> | 遊戲中與種族相關的巨集符號。 |
<room.h> | 房間類物件的標準表頭檔,未包含繼承定義。 |
<runtime_config.h> | MudOS 的 get_config efun 所使用的巨集符號 (根據 MudOS 定義) |
<score.h> | 定義人物特徵 F_SCORE 所宣告的函式原型。 |
<skill.h> | 定義人物特徵 F_SKILL 所宣告的函式原型。 |
<socket_err.h> | MudOS 的 socket 族群 efun 所使用的巨集符號 (根據 MudOS 定義)。 |
<statistic.h> | 定義特徵 F_STATISTIC 所宣告的函式原型。 |
<team.h> | 定義人物特徵 F_TEAM 所宣告的函式原型。 |
<type.h> | MudOS 的 typeof 運算傳回值的巨集定義 (根據 MudOS 定義)。 |
<user.h> | 定義使用者特徵的 F_* 符號,以及一些相關組態設定。 |
<weapon.h> | 武器類物件的標準表頭檔,含武器類物件的繼承定義。 |
物件特徵是 ES2 mudlib 異於其他 mudlib 的最主要特色,在 ES2 mudlib 的設計哲學中,一個物件分析到最後,就是一群物件特徵的聚合體。
ES2 mudlib 在物件特徵的目錄下,另外細分幾個族群,分列如下:
具有屬性 | /feature/attribute.c |
具有計量值 | /feature/statistic.c |
具有資料庫 | /feature/dbase.c |
具有自動釋放功能 | /feature/clean_up.c |
具有唯一性 | /feature/unique.c |
可以被飲用 | /feature/drink.c |
可以被裝備 | /feature/equip.c |
可以被食用 | /feature/food.c |
可以被移動 | /feature/move.c |
可以被看見與指名 | /feature/name.c |
可以被儲存 | /feature/save.c |
可以被研讀 | /feature/study.c |
人物特徵 | |
能夠攻擊 | /feature/char/attack.c |
能夠使用指令 | /feature/char/command.c |
能夠計算貨幣 | /feature/char/finance.c |
能夠接收訊息 | /feature/char/message.c |
能夠學習技能 | /feature/char/skill.c |
能夠進行持續性動作 | /feature/char/action.c |
能夠維持戰鬥狀態 | /feature/char/combat.c |
能夠受輔助/不良狀況效果影響 | /feature/char/condition.c |
能夠建立師徒關係 | /feature/char/master.c |
能夠提升等級、經驗 | /feature/char/score.c |
能夠組織隊伍 | /feature/char/team.c |
使用者特徵 | |
能夠儲存 alias | /feature/char/alias.c |
能夠儲存物品 | /feature/char/autoload.c |
能夠編輯文字 | /feature/char/edit.c |
能夠紀錄事件旗標 | /feature/char/flag.c |
能夠使用 pager | /feature/char/more.c |
護具類物件特徵 | |
盔甲類 | /feature/armor/armor.c |
衣物類 | /feature/armor/cloth.c |
鞋類 | /feature/armor/feet.c |
戒指類 | /feature/armor/finger_eq.c |
手套類 | /feature/armor/hand_eq.c |
頭盔類 | /feature/armor/head_eq.c |
護腿類 | /feature/armor/leg_eq.c |
項鍊類 | /feature/armor/neck_eq.c |
腰帶類 | /feature/armor/waist_eq.c |
武器類物件特徵 | |
斧類 | /feature/armor/axe.c |
刀類 | /feature/armor/blade.c |
鈍器類 | /feature/armor/blunt.c |
匕首類 | /feature/armor/dagger.c |
針類 | /feature/armor/needle.c |
槍類 | /feature/armor/pike.c |
杖類 | /feature/armor/staff.c |
劍類 | /feature/armor/sword.c |
鞭類 | /feature/armor/whip.c |
標準物件主要提供區域建造者物件的基礎原型,區域建造者經由「繼承」這些 標準物件來撰寫區域內的物件。ES2 mudlib 在標準物件目錄下另外細分幾個 族群,分列如下:
留言板物件 | /std/bboard.c |
人物狀況定義物件 | /std/condition.c |
技能定義物件 | /std/skill.c |
貨幣物件 | /std/money.c |
種族類物件 | |
類人種族 | /std/race/humanoid.c |
人物類物件 | /std/char.c |
非玩家人物 | /std/char/npc.c |
房間類物件 | /std/room.c |
錢莊 | /std/room/bank.c |
當舖 | /std/room/hockshop.c |
當舖儲藏室 | /std/room/hockshop_storage.c |
客棧 | /std/room/inn.c |
旅行點 | /std/room/journey.c |
物品類物件 | /std/item.c |
可合併物品 | /std/item/combined.c |
容器物品 | /std/item/container.c |
液態物品 | /std/item/liquid.c |
藥材 ?? | /std/item/pharmacy.c |
原物料 | /std/item/reagent.c |
另外有一類介於標準物件與通用物件之間的重要物件,因為物件權限的規劃, 被安排放在標準物件的目錄下,這些物件包括:
精靈物件是指遊戲系統中一些用來提供某些功能,但是並不具備實體的抽象物件, 這些功能並不專屬於某幾種物件,也不依存某些物件而存在。 它們的角色類似神話中掌管大自然的火之精靈、光之精靈等,因此而得名。
精靈物件主要分為兩類,第一類位於 /adm/daemons 目錄下,為具有 ROOT 權限 的系統精靈;另一種位於 /daemon 下,為具有 MUDLIB 權限的遊戲制度精靈。
目前 ES2 的系統精靈包括:
指令代換精靈 | /adm/daemons/aliasd.c | 負責提供系統通用 alias 給所有使用者。 |
頻道精靈 | /adm/daemons/channeld.c | 負責提供所有通訊頻道如 chat、wiz、rumor 等。 |
人物精靈 | /adm/daemons/chard.c | 負責設定、檢查、人物的狀態,包括死亡、復活等。 |
中文精靈 | /adm/daemons/chinesed.c | 負責處理中、英文對照,以及一些與中文相關的功能。 |
家族精靈 | /adm/daemons/cland.c | 負責管理所有玩家間的持久性組織。 |
指令精靈 | /adm/daemons/cmd_d.c | 負責管理玩家指令的搜尋與執行。 |
戰鬥精靈 | /adm/daemons/combatd.c | 負責所有戰鬥的進行。 |
制度精靈 | /adm/daemons/daemond.c | 負責管理第二類制度精靈的登記、查詢、呼叫。 |
情緒精靈 | /adm/daemons/emoted.c | 負責管理、執行所有的情緒指令。 |
裝備強化精靈 | /adm/daemons/enhanced.c | 負責裝備的隨機強化。 |
使用者查詢精靈 | /adm/daemons/fingerd.c | 負責處理並執行 finger 指令。 |
連線精靈 | /adm/daemons/logind.c | 負責管理使用者連線登入、創造人物、斷線、重新連線等。 |
自然現象精靈 | /adm/daemons/natured.c | 負責管理天氣變化與遊戲中的自然現象。 |
系統效能精靈 | /adm/daemons/profiled.c | 負責監控、統計系統效能。 |
權力精靈 | /adm/daemons/securityd.c | 負責管理所有物件對檔案系統的讀寫權、以及某些 efun 的使用權。 |
郵件精靈 | /adm/daemons/smtpd.c | 負責管理使用者間互相寄送郵件的功能。 |
身分識別精靈 | /adm/daemons/userid.c | 負責網路使用者身份識別。 |
虛擬物件精靈 | /adm/daemons/virtual.c | 負責管理虛擬物件的產生。 |
制度精靈主要隨各 MUD 遊戲設計不同而異,目前 ES2 所使用的制度精靈有以下幾類:
種族精靈 | 位於 /daemon/race 目錄下 |
職業精靈 | 位於 /daemon/class 目錄下 |
技能精靈 | 位於 /daemon/skill 目錄下 |
狀態精靈 | 位於 /daemon/condition 目錄下 |
留言板物件 | 位於 /daemon/board 目錄下 |
指令物件唯一的用途是用來提供使用者執行指令,這些物件的特色是:具有 ROOT 權限,但是在執行指令時,通常會降低為和執行指令的使用者相同的權限。
目前 ES2 mudlib 將指令物件依照使用權限高低分為以下幾類, 權限較高的使用者可以使用權限較低者全部的指令。
大神指令 | 位於 /cmds/adm 目錄下 |
大巫師指令 | 位於 /cmds/arch 目錄下 |
巫師指令 | 位於 /cmds/wiz 目錄下 |
實習巫師指令 | 位於 /cmds/app 目錄下 |
見習巫師指令 | 位於 /cmds/imm 目錄下 |
玩家指令 | 位於 /cmds/usr 目錄下 |
一般指令 | 位於 /cmds/std 目錄下 |
以下是 ES2 目前所有的通用指令: (不含由物件、房間、職業、種族所提供的特殊指令)
chpass | 大神 | 設定除了大神以外,任意使用者的密碼。 |
shutdown | 大神 | 立即關閉遊戲伺服器,如果你用一個自動重新啟動的 shell script 跑 neolith,這個指令也可以用來立即重新啟動 MUD。 |
callouts | 大巫師 | 列出所有物件待執行的 callout 函數。 |
chinese | 大巫師 | 中文精靈的管理工具,可設定中英文對照。 |
cleanup | 大巫師 | 對所有物件呼叫自動清除 (clean_up) 函式。 |
force | 大巫師 | 強迫另一位使用者執行指定的指令。 |
heal | 大巫師 | 完全恢復一位使用者的健康狀態。 |
overview | 大巫師 | 檢視系統一些物件的統計資料。 |
possess | 大巫師 | 附身在指定的 NPC 物件。 |
promote | 大巫師 | 提升/降低指定使用者的巫師等級。 |
purge | 大巫師 | 刪除指定使用者的帳號 |
reboot | 大巫師 | 啟動系統正常的重新啟動程序,開始倒數計時,並發出訊息警告所有使用者。 |
rehash | 大巫師 | 更新指令搜尋快取。 |
reset_okip | 大巫師 | 設定指定使用者的登入 IP 地址檢查。 |
restore | 大巫師 | 取回指定使用者的人物備份檔。 |
resurrect | 大巫師 | 將指定使用者從死亡狀態復活。 |
slay | 大巫師 | 直接殺死指定的使用者或生物。 |
wizlock | 大巫師 | 設定/取消非巫師的使用者登入限制。 |
analyze | 巫師 | 顯示並分析指定使用者或生物的狀態與能力。 |
call | 巫師 | 呼叫指定物件的指定函式。 |
cat | 巫師 | 列出指定檔案的內容。 |
cost | 巫師 | 計算執行某一指令所需要的微指令 (instruction) 數。 |
daemon | 巫師 | 制度精靈的查詢/管理工具。 |
exile | 巫師 | 立即驅逐指定的玩家,並且禁止上線一段時間。 |
ff | 巫師 | 查詢某一函數在物件中,函數定義所在的檔名。 |
ilist | 巫師 | 顯示指定物件的繼承樹。 |
info | 巫師 | 顯示指定物件的內部狀態。 |
invis | 巫師 | 開啟/關閉巫師隱形狀態。 |
localcmds | 巫師 | 顯示巫師目前由身上物件與所在房間提供的所有指令。 |
qload | 巫師 | 顯示系統目前的負荷。 |
quiet | 巫師 | 設定/取消指定使用者在公共頻道上的發言限制。 |
snoop | 巫師 | 監聽指定使用者所收到的訊息。 |
summon | 巫師 | 立即將指定使用者移動到巫師所在的地點。 |
tail | 巫師 | 顯示指定檔案的最後幾行。 |
userid | 巫師 | 用身分識別精靈查詢使用者身份。 |
cp | 實習巫師 | 拷貝指定的檔案。 |
edit | 實習巫師 | 編輯指定的檔案。 |
home | 實習巫師 | 立即移動到自己的工作室或巫師公會。 |
mkdir | 實習巫師 | 建立一個子目錄。 |
mv | 實習巫師 | 移動 (更名) 指定的檔案或子目錄。 |
rm | 實習巫師 | 刪除指定的檔案。 |
rmdir | 實習巫師 | 刪除指定的子目錄。 |
cd | 見習巫師 | 改變工作目錄。 |
clone | 見習巫師 | 複製指定的物件。 |
dest | 見習巫師 | 摧毀指定的物件。 |
edemote | 見習巫師 | 編輯情緒指令。 |
goto | 見習巫師 | 立即移動到指定的房間或指定的使用者身邊。 |
home | 見習巫師 | 立即移動到自己的工作室或巫師公會。 |
items | 見習巫師 | 顯示身上或房間中物品的真實名稱。 |
ls | 見習巫師 | 顯示工作目錄或指定目錄的內容。 |
mem | 見習巫師 | 顯示系統或指定物件所佔用的記憶體量。 |
more | 見習巫師 | 以分頁方式顯示指定檔案的內容。 |
pwd | 見習巫師 | 顯示自己的工作目錄與工作檔案。 |
status | 見習巫師 | 顯示系統使用記憶體的統計資料。 |
update | 見習巫師 | 重新載入指定的物件,或更新使用者物件。 |
where | 見習巫師 | 尋找指定的物件,或列出所有使用者的位置。 |
which | 見習巫師 | 顯示提供某一指令的物件檔名。 |
whoami | 見習巫師 | 顯示自己目前的權限。 |
abandon | 玩家 | 放棄學習指定的技能。 |
alias | 玩家 | 設定/查詢指令替代功能。 |
backup | 玩家 | 備份人物存檔。 |
balance | 玩家 | 查詢銀行帳戶餘額。 |
ccmd | 玩家 | 幫派指令。 |
chfn | 玩家 | 修改自己的電子郵件、簽名等個人資料。 |
cls | 玩家 | 清除螢幕。 |
describe | 玩家 | 設定自己的人物描述。 |
disable | 玩家 | 將指定的技能設定為不使用。 |
enable | 玩家 | 將指定的技能設定為使用。 |
estimate | 玩家 | 評估指定對手的戰鬥能力。 |
finger | 玩家 | 查詢離線使用者。 |
gain | 玩家 | 查詢技能進步的狀況。 |
help | 玩家 | 查詢說明文件。 |
hp | 玩家 | 顯示人物生命點數。 |
identify | 玩家 | 鑑定物品。 |
ignore | 玩家 | 用來關閉所有來自指定使用者的 tell 訊息。 |
inventory | 玩家 | 顯示人物身上攜帶的物品。 |
keep | 玩家 | 將指定物品作上記號,以免不小心丟掉或賣掉。 |
localtime | 玩家 | 顯示伺服器所在地的時間。 |
nick | 玩家 | 設定自己的綽號。 |
okip | 玩家 | 設定允許登入 IP 地址的檢查。 |
option | 玩家 | 設定一些關於顯示訊息的開關。 |
order | 玩家 | 命令自己的寵物、嘍囉做某些事情。 |
passwd | 玩家 | 修改自己的密碼。 |
praise | 玩家 | 讚揚其他的使用者。 |
quit | 玩家 | 結束連線離開遊戲。 |
save | 玩家 | 將人物資料存檔。 |
score | 玩家 | 顯示人物屬性、經驗值等資訊。 |
semote | 玩家 | 顯示情緒指令列表。 |
skills | 玩家 | 顯示人物的技能。 |
suicide | 玩家 | 自殺、刪除人物帳號。 |
time | 玩家 | 顯示遊戲世界目前的時間。 |
to | 玩家 | 輸入含有換列字元的命令。 |
tune | 玩家 | 關閉指定的頻道。 |
undescribe | 玩家 | 刪除人物的描述。 |
uptime | 玩家 | 顯示伺服器執行的時間。 |
version | 玩家 | 顯示 MUD 所使用的伺服器名稱與版本。 |
visitor | 玩家 | 顯示 MUD 的使用者人次統計。 |
who | 玩家 | 顯示所有使用者的列表。 |
wimpy | 玩家 | 設定自動逃跑的參數。 |
wizlist | 玩家 | 查詢巫師團隊的人員名冊。 |
acquire | 一般 | 向其他人物學習技能。 |
apprentice | 一般 | 向其他人物拜師學藝。 |
ask | 一般 | 向其他人物詢問問題。 |
backstab | 一般 | 對其他人物發動偷襲。 |
berserk | 一般 | 對其他人物發動狂暴攻擊。 |
buy | 一般 | 向其他人物購買物品。 |
cast | 一般 | 施展法術。 |
charge | 一般 | 指定戰鬥中優先攻擊目標。 |
close | 一般 | 關閉門窗等。 |
conjure | 一般 | 施展法術。 |
drink | 一般 | 喝飲料。 |
drop | 一般 | 丟棄物品。 |
eat | 一般 | 吃食物。 |
emote | 一般 | 作動作。 |
enter | 一般 | 進入特定場所。 |
exert | 一般 | 使用內功。 |
fight | 一般 | 向其他人物提出比試的要求。 |
fill | 一般 | 將容器注入液體。 |
follow | 一般 | 設定人物自動跟隨其他人物一起行動。 |
get | 一般 | 從地上或其他容器中撿起物品。 |
give | 一般 | 將身上的物品給予指定的人物。 |
go | 一般 | 往指定的方向移動。 |
guard | 一般 | 設定人物保護的對象。 |
halt | 一般 | 終止戰鬥或正在進行的活動。 |
kill | 一般 | 開始以殺死對方為目的的戰鬥。 |
lock | 一般 | 使用鑰匙將門鎖上。 |
look | 一般 | 檢視物品或週遭的環境。 |
open | 一般 | 開啟門窗。 |
perform | 一般 | 使用招式。 |
put | 一般 | 將物品放進容器。 |
remove | 一般 | 卸下裝備。 |
reply | 一般 | 回答來自其他玩家的 tell。 |
say | 一般 | 說話,讓位於同一房間中的人物聽到。 |
search | 一般 | 在所在的環境搜尋特定的物品。 |
shout | 一般 | 大吼大叫,讓所有其他玩家聽到。 |
sneak | 一般 | 嘗試以不引人注意的方式,向指定的方向移動。 |
steal | 一般 | 嘗試向指定的對象偷竊。 |
study | 一般 | 從特定物品上學習技能。 |
team | 一般 | 和其他人物組織隊伍。 |
tell | 一般 | 傳送訊息給指定的使用者。 |
unlock | 一般 | 用鑰匙開門。 |
unwield | 一般 | 卸下武器。 |
wear | 一般 | 穿上裝備。 |
whisper | 一般 | 和指定對象耳語。 |
wield | 一般 | 使用武器。 |
标签:
原文地址:http://www.cnblogs.com/cfas/p/5875608.html