Re: [闲聊] tmi-2 efun 与 simul_efun 简单说明

楼主: laechan (挥泪斩马云)   2014-06-28 10:26:58
所有的 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

Links booklink

Contact Us: admin [ a t ] ucptt.com