getid.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 78 行
C
78 行
// getid.c
inherit F_CLEAN_UP;
#include <ansi.h>
void create()
{
seteuid(getuid());
}
private int get_sameaddress_players(string adress);
int main(object me, string arg)
{
string status;
status = wizhood(me);
if( me!=this_player(1)
|| wiz_level(me) <= wiz_level(status) )
return notify_fail("你没有权力使用这个指令。\n");
if(!arg) return notify_fail("指令格式:getid (player's ip)\n");
return get_sameaddress_players(arg);
}
private int get_sameaddress_players(string address)
{
int i, j, ppl_cnt, count;
string *dir, *ppls, name;
object ob;
seteuid(getuid());
count = 0;
ppl_cnt = 0;
dir = get_dir(DATA_DIR + "login/");
for(i=0; i<sizeof(dir); i++) {
reset_eval_cost();
ppls = get_dir(DATA_DIR + "login/" + dir[i] + "/");
for(j=0; j<sizeof(ppls); j++) {
if( sscanf(ppls[j], "%s.o", name)==1 ) {
ob = new(LOGIN_OB);
ob->set("id", name);
if (!ob->restore()) {
destruct(ob);
continue;
}
else {
if(ob->query("last_from")==address){
write("id :"+ob->query("id")+"\n");
write("name:"+ob->query("name")+"\n");
count ++;
}
destruct(ob);
}
}
}
}
if(count)
write( count + "位使用者。\n");
else
write("不存在这个使用者.\n");
return 1;
}
int help(object me)
{
write(@HELP
指令格式:getid adress
find the id of an adres
HELP
);
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?