⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 enable.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// enable.c#include <ansi.h>inherit F_CLEAN_UP;mapping valid_types = ([	"unarmed":	"拳脚",	"sword":	"剑法",	"hammer":     "锤法",	"blade":	"刀法",	"stick":	"棒法",	"staff":	"杖法",	"club" :        "棍法",	"throwing":	"暗器",	"force":	"内功",	"parry":	"招架",	"dodge":	"轻功",	"magic":	"法术",	"spells":	"魔法",        "leg":	"腿法",		"axe":	"斧法",	"move":	"行动",	"array":	"阵法",	"whip":     "鞭法",	"lingfa":  "令法",//	shaolin skills	"finger":   "指法",	"hand":     "手法",	"cuff":     "拳法",	"claw":     "爪法",	"strike":   "掌法",//	"club":     "棍法",]);int main(object me, string arg){	mapping map;	string *types, *skill, ski, map_to;	int i, modify;	seteuid(getuid());	if( !arg ) {		map = me->query_skill_map();		if( !mapp(map) || sizeof(map)==0 )			return notify_fail("你现在没有使用任何特殊技能。\n");		skill = keys(valid_types);		write("以下是你目前使用中的特殊技能。\n");		for (i=0; i<sizeof(skill); i++) {			if( undefinedp(valid_types[skill[i]]) ) {				map_delete(map, skill[i]);				continue;			}			if( !me->query_skill(skill[i]) ) continue;if (!undefinedp(map[skill[i]]) && me->query_skill(map[skill[i]],1)<=0){		me->map_skill("unarmed");		me->map_skill("hammer");		me->map_skill("blade");		me->map_skill("sword");		me->map_skill("staff");		me->map_skill("club");		me->map_skill("throwing");		me->map_skill("parry");		me->map_skill("dodge");		me->map_skill("magic");		me->map_skill("spells");		me->map_skill("leg");		me->map_skill("axe");		me->map_skill("array");		me->map_skill("whip");			me->map_skill("finger");		me->map_skill("hand");			me->map_skill("cuff");			me->map_skill("claw");			me->map_skill("strike");			me->map_skill("force");					me->prepare_skill("unarmed");		me->prepare_skill("hammer");		me->prepare_skill("blade");		me->prepare_skill("sword");		me->prepare_skill("staff");		me->prepare_skill("club");		me->prepare_skill("throwing");		me->prepare_skill("parry");		me->prepare_skill("dodge");		me->prepare_skill("magic");		me->prepare_skill("spells");		me->prepare_skill("leg");		me->prepare_skill("axe");		me->prepare_skill("array");		me->prepare_skill("whip");			me->prepare_skill("finger");		me->prepare_skill("hand");			me->prepare_skill("cuff");			me->prepare_skill("claw");			me->prepare_skill("strike");	                me->reset_action();return notify_fail(HIR"你的武功有问题!请重新enable所有武功\n"NOR);}			modify = me->query_temp("apply/" + skill[i]);			printf("  %-20s: %-20s  有效等级:%s%3d\n" NOR, 				valid_types[skill[i]] + " (" + skill[i] + ")",				undefinedp(map[skill[i]]) ? "无" : to_chinese(map[skill[i]]),				(modify==0 ? "" : (modify>0 ? HIC : HIR)),				me->query_skill(skill[i]));		}		return 1;	}	if( arg=="?" ) {		write("以下是可以使用特殊技能的种类:\n");		skill = sort_array(keys(valid_types), (: strcmp :) );		for(i=0; i<sizeof(skill); i++) {			printf("  %s (%s)\n", valid_types[skill[i]], skill[i] );		}		return 1;	}	if( sscanf(arg, "%s %s", ski, map_to)!=2 )		return notify_fail("指令格式:enable|jifa [<技能种类> <技能名称>|none]\n");	if( undefinedp(valid_types[ski]) )		return notify_fail("没有这个技能种类,用 enable ? 可以查看有哪些种类。\n");	if( map_to=="none" ) {if (ski=="force"){if (me->query_temp("powerup"))return notify_fail("这个内功你不是还用着吗?\n");if (me->query_temp("linji"))return notify_fail("这个内功你不是还用着吗?\n");if (me->query_temp("yun_riyue"))return notify_fail("这个内功你不是还用着吗?\n");if (me->query_temp("yun_yinyang"))return notify_fail("这个内功你不是还用着吗?\n");        if( (int)me->query_temp("powerupxtg") ) return            notify_fail("你已经在先天大法了。\n");        if( (int)me->query_temp("poweruptxg") ) return            notify_fail("你已经在运太玄功了。\n");        if( (int)me->query_temp("powerupkh") ) return            notify_fail("你已经在运葵花无敌功了。\n");        if(me->query_temp("wdpowerup") )        return notify_fail("你现在正在使用「五毒神功」的绝技,请在正常状态下放弃武功!\n");         if ((int)me->query_temp("shield"))                return notify_fail("你已经在运护体神功中了,请在正常状态下放弃武功!\n");}		me->map_skill(ski);		me->reset_action();		write("Ok.\n");		return 1;	} else if( map_to==ski ) {		write("「" + to_chinese(ski) + "」是所有" + valid_types[ski] + "的基础,不需要 enable。\n");		return 1;	}	if( !me->query_skill(map_to, 1) )		return notify_fail("你不会这种技能。\n");//	if( !me->query_skill(ski, 1) )//		return notify_fail("你连「" + to_chinese(ski) + "」都没学会,更别提"//			+ to_chinese(map_to) + "了。\n");	if( !SKILL_D(map_to)->valid_enable(ski) )		return notify_fail("这个技能不能当成这种用途。\n");		if( ski=="magic" ) {		write("你改用另一种法术系,精力必须重新锻练。\n");		me->set("jingli", 0);		me->receive_damage("jing", 0);	} 	else if( ski=="force" ) {if (me->query_temp("powerup"))return notify_fail("这个内功你不是还用着吗?\n");if (me->query_temp("powerup"))return notify_fail("这个内功你不是还用着吗?\n");if (me->query_temp("linji"))return notify_fail("这个内功你不是还用着吗?\n");if (me->query_temp("yun_riyue"))return notify_fail("这个内功你不是还用着吗?\n");if (me->query_temp("yun_yinyang"))return notify_fail("这个内功你不是还用着吗?\n");        if( (int)me->query_temp("powerupxtg") ) return            notify_fail("你已经在先天大法了。\n");        if( (int)me->query_temp("poweruptxg") ) return            notify_fail("你已经在运太玄功了。\n");        if( (int)me->query_temp("powerupkh") ) return            notify_fail("你已经在运葵花无敌功了。\n");        if(me->query_temp("wdpowerup") )        return notify_fail("你现在正在使用「五毒神功」的绝技,请在正常状态下放弃武功!\n");         if ((int)me->query_temp("shield"))                return notify_fail("你已经在运护体神功中了,请在正常状态下放弃武功!\n");		write("你改用另一种内功,内力必须重新锻练。\n");		me->set("neili", 0);		me->receive_damage("qi", 0);	}	me->map_skill(ski, map_to);	me->reset_action();	write("Ok.\n");	return 1;}int help(object me){        write(@HELP指令格式 : enable|jifa [<技能种类> <技能名称> | none]           enable|jifa ?这个指令让你指定所要用的技能,需指明技能种类和技能名称。如果不加参数则会显示出技能种类及你目前所使用的技能名称 ,如果加一个?会列出所有能使用特殊技能的技能种类。 HELP        );        return 1;}

⌨️ 快捷键说明

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