bang.c

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

C
104
字号
#include <ansi.h>#define SCORE_COST 5000#define GOLD_COST 2000inherit F_CLEAN_UP;int check_legal_name(string name);int main(object me, string arg){	object gold;	string e_name,c_name,title,mid,mname;		string *dir;	int i;	seteuid(getuid());        if(!arg || sscanf(arg,"%s %s %s",e_name, c_name, title) != 3)        return notify_fail("指令格式: bang xuelianjiao 雪莲教 教主\n");        if((int)me->query("score") < SCORE_COST)        return notify_fail("你的江湖阅历不够"+chinese_number(SCORE_COST)+        "点。\n");	 if((int)me->query("combat_exp") < 5000000)        return notify_fail("你的经验不够"+chinese_number(5000000)+        "点。\n");        gold = present("gold_money",me);        if(!gold) return notify_fail("你身上没有金子。\n");        if((int) gold->query_amount() < GOLD_COST)        return notify_fail("你身上没有"+chinese_number(GOLD_COST)+"两金子。\n");		if(!check_legal_name(c_name) || !check_legal_name(title))	return 1;	c_name += " ";	e_name += "_";	dir = get_dir(DATA_DIR+"guild/");	for(i=0; i<sizeof(dir); i++) 	if(dir[i] == e_name || dir[i] == c_name)	return notify_fail("你想创立的帮派中文或英文名字已经被别人占用了!\n");		if(c_name=="少林派" || c_name=="武当派" || c_name=="峨嵋派"|| c_name=="华山派"	|| c_name=="灵鹫宫"|| c_name=="桃花岛"|| c_name=="星宿派"|| c_name=="白驼山派"	|| c_name=="神龙教"|| c_name=="云龙门"|| c_name=="明教"|| c_name=="丐帮"	|| c_name=="全真教"|| c_name=="大理段家"|| c_name=="逍遥派"|| c_name=="铁掌帮"	|| c_name=="姑苏慕容"|| c_name=="日月神教"|| c_name=="昆仑派"|| c_name=="雪山寺")	return notify_fail("你想创立的帮派中文或英文名字已经被别人占用了!\n");		if(	!BR_D->touch_file(DATA_DIR+"guild/"+e_name) ||	!BR_D->touch_file(DATA_DIR+"guild/"+c_name))	return notify_fail("游戏系统出现问题!请通知管理人员!\n");        mid=me->query("family/master_id");	mname=me->query("family/master_name");	me->delete("family");	me->create_family(c_name,1,title);	me->set("class",e_name);        me->set("family/master_id",mid);        me->set("family/master_name",mname);	me->add("score",-SCORE_COST);	gold->add_amount(-GOLD_COST);	me->set("title",c_name+title); 	message("system",	HIM"\n☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ \n\n\n"HIC 			"\t\t    『  "+c_name+"』"+"在江湖中成立了!\n"HIM"	    \n☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ \n"NOR,			users() );    return 1;} int help(object me){    write(@HELP让你在海洋中成立自己的帮派!指令格式: bang xuelianjiao 雪莲教 教主此指令让你创立一个新的帮,派,或教。 并封你为雪莲教教主。又例:bang bluedress 青衣楼 总管创立青衣楼并封你为青衣楼总管。HELP    );	return 1;} int check_legal_name(string name){        int i;        i = strlen(name);        if( (strlen(name) < 4) || (strlen(name) > 30 ) ) {                write("对不起,中文名字必须是三到十五个中文字。\n");                return 0;        }        while(i--) {                if( name[i]<=' ' ) {                        write("对不起,中文名字不能用控制字元。\n");                        return 0;                }                if( i%2==0 && !is_chinese(name[i..<0]) ) {                        write("对不起,名字必需是中文。\n");                        return 0;                }        }        return 1;}

⌨️ 快捷键说明

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