who2.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 58 行

C
58
字号
// who2.cinherit F_CLEAN_UP;#include <ansi.h>int main(object me, string str){    object where, ob, *ob_list;    int i;    string stri;    seteuid(getuid());    ob_list = users();    ob_list = sort_array(users(), "sort_user", this_object());    str = HIG" 玩家    年龄 存款           地址               所在       程序       \n"NOR;    str += "—————————————————————————————————————\n";    for(i=0; i<sizeof(ob_list); i++)    {        ob = ob_list[i];        where = environment(ob);        str += sprintf(WHT"%-8s:  ",ob->name());        str += sprintf(HIR"%-2d ", ob->query("age"));        str += sprintf(HIG"%-10d ", ob->query("balance"));if(!wizardp(ob)){        str += sprintf(HIY"%-20s ", query_ip_name(ob));}else         str += sprintf(HIY"%-20s ", "保密");    if (where) str += sprintf(HIM"%-10s ", where->query("short"));    if (!where) str += sprintf("\n"NOR);       else str += sprintf(HIC"%s\n"NOR, file_name(where));    }    str += "—————————————————————————————————————\n";    str = sprintf("%s共有 %d 位使用者连线中。\n", str, sizeof(ob_list));    me->start_more(str);    return 1;}int sort_user(object ob1, object ob2){	if( wizardp(ob1) && !wizardp(ob2) ) return -1;	if( wizardp(ob2) && !wizardp(ob1) ) return 1;	if( wizardp(ob1) && wizardp(ob2) )		return (int)SECURITY_D->get_wiz_level(ob2) 			- (int)SECURITY_D->get_wiz_level(ob1);		return (int)ob2->query("mud_age") - (int)ob1->query("mud_age");}int help(object me){        write(@HELP指令格式:who2玩家信息查询。HELP        );        return 1;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?