wizlistold.c

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

C
64
字号


#include <ansi.h>

inherit F_CLEAN_UP;

int level(mixed, mixed);
string wiz_rank(string hood);

int main(object me, string arg)
{
        string *list, hood = "", str;
        int j = 0;

        list = sort_array(SECURITY_D->query_wizlist(), (: level :) );
        str = HIC"【海洋II】"NOR +"巫师成员:\n";
        str += HIY"———————————————————\n";
        for(int i=0; i<sizeof(list); i++, j++) {
                if (hood!= wiz_rank(wizhood(list[i]))) {
                        hood = wiz_rank(wizhood(list[i]));
                        if (j%7) str += "\n";
                        str += hood;
                        str = replace_string(str,"(",HIG);
                        str = replace_string(str,")",": "NOR);
                        j = 0;
                }

                str += sprintf(" %s%s", list[i],
                        ( j%7==6 ) ? "\n" : ( i<sizeof(list)-1 && hood ==wizhood(list[i+1]) ) ? ", " : ""  );
        }
        str += HIY"\n———————————————————\n"NOR;
        str += sprintf("目前一共有: %d个巫师\n",sizeof(list) );
        me->start_more(str);
        return 1;
}
string wiz_rank(string hood)
{	switch(hood) {
		case "(admin)":			
			return HIW "【底层维护】" NOR;
		case "(arch)":			
			return HIY "【程序开发】" NOR;
		case "(wizard)":		
			return HIY "【玩家管理】" NOR;
		case "(apprentice)":		
			return HIG "【开发辅助】" NOR;
		case "(immortal)":		
			return HIC "【管理辅助】" NOR;
	}
}
int level(mixed ob1, mixed ob2)
{
        if (wiz_level(ob1) != wiz_level(ob2))
                return wiz_level(ob1) - wiz_level(ob2);
        return ob1 < ob2?-1:1;
}

int help(object me)
{
        write("\n指令格式 : wizlist\n"
        "用途 : 列出目前所有的巫师名单。\n"
        );
        return 1;
}

⌨️ 快捷键说明

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