所有的 simul_efun 都位於 /adm/simul_efun 目錄下,有些 .c 檔
內只有一個 simul_efun,有些會包含好幾個。
底下有說明的部份就是我判斷會用到、常用的、重要的,相反的若我有
說這東西沒用、很少用、用不太到、我不太熟....這類的,就代表我判
斷就算不知道這些東西也沒關係,有興趣的可自行研究這樣。
依據就是我在 sanc 1x 年的經驗。
int adminp( mixed ob_or_str )
判斷一個物件或是 id 是不是 admin,因為可接物件跟字串,所以它用
mixed 宣告,然後再用底下的判斷式區隔:
if(stringp(ob_or_str)) // 如果是字串的話
.
.
else if(objectp(ob_or_str)) // 如果是物件的話
然後其讀取的源頭就是 /adm/obj/master.c 的 query_member_group
函數。
int wiz_lv(string str)
這個則是我仿 sanc 新增的函數,例如說 laechan 是 wiz,則
wiz_lv("laechan") > 0
它主要是讀取玩家的 /data/std/connection 目錄下的連線資料檔去做
判斷的,而且當該玩家在線時它直接做 adminp(str) 的判斷。
string cap_words( string str )
基本上如果 str = "laechan", cap_words("laechan") = "Laechan",
如果 str = "abc def",cap_words(str) = "Abc Def"
這函數我摸 lpc 摸了十幾年用都沒用過。
string article(string str)
這東西主要是用在英文版的 tmi2-mudlib,比方我們要形容一隻鳥時是
"a bird",要形容一顆蛋時則用"an egg",那如何判斷啥時該用 a 啥
時該用 "an"? 就是用這函數,它會判斷 str 的首字字母是不是母音字
母 'a', 'e', 'i', 'o', 'u' 開頭。
int atoi(string str)
簡單的說它可以把字串 "123" 變成數字 123,它的做法很簡單
int num;
sscanf(str,"%d",num);
那有沒有 itoa?不需要,因為
int num=123;
string str;
str=""+num;
這樣 str 就是 "123"。
string htoa(string map_string,int e)
這個則是我為地圖系統新增的函數,它的關鍵段落在底下..
while(j