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

📄 perform.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// perform.c//inherit F_CLEAN_UP;inherit F_SSERVER;int main(object me, string arg){object target;	object weapon;	string martial, skill;	mapping prepare;		seteuid(getuid());	if( !target ) target = offensive_target(me);        if (me->is_fighting()){	if( !target)		return notify_fail("现在不能使用这个绝技。\n");if (me->is_fighting(target) ){	if( environment(target)!=environment(me))		return notify_fail("你要对谁使用这个绝技?\n");}}if (target && me){if(!target->query_condition("killer") && environment(me)->query("no_fight"))		return notify_fail("这里不允许打斗!\n");}	if(userp(me) &&  me->query_temp("combat_yield") )	return notify_fail("你不是打不还手吗?\n");if (userp(me) && !me->query_skill_mapped("force"))return notify_fail("你没有内功,在使用中啊!\n");	if( me->is_busy() )	return notify_fail("( 你上一个动作还没有完成,不能施用外功。)\n");  if (me->is_perform()) return notify_fail("你正在使用"+me->query_perform()+"。\n");	if( !arg ) return notify_fail("你要用外功做什么?\n");        if( me->query_condition("no_perform") )		return notify_fail("( 你气息不匀,暂时不能施用外功。)\n");	if( sscanf(arg, "%s.%s", martial, arg)!=2 ) {		if( weapon = me->query_temp("weapon") )			martial = weapon->query("skill_type");		else {			prepare = me->query_skill_prepare();			if (sizeof(prepare)) martial = keys(prepare)[0];			else			martial = "unarmed";		}	}	notify_fail("你所使用的外功中没有这种功能。\n");if( environment(me)->query("magicroom") && martial != "spells"&& me->is_fighting() && userp(me)){if ( me->query("neili") < me->query("max_neili")/3)me->add("neili",-me->query("neili")/4);else me->add("neili",-me->query("max_neili")/4);tell_object(me,"一种神奇的力量限制你想要用的绝学,你用尽全力方才使出想用的绝技。。。\n");tell_object(me,"看了这个世界,只能使用魔法。。。\n");}	if( stringp(skill = me->query_skill_mapped(martial))	&& SKILL_D(skill)->perform_action(me, arg) ) {		if( random(120) < (int)me->query_skill(skill) )			me->improve_skill(skill, 1, 1);		return 1;	}	if (sizeof(prepare) > 1) {		martial = keys(prepare)[1];		if( stringp(skill = me->query_skill_mapped(martial))		&& SKILL_D(skill)->perform_action(me, arg) ) {			if( random(120) < (int)me->query_skill(skill, 1) )				me->improve_skill(skill, 1, 1);			return 1;		}	}	if( stringp(skill = me->query_skill_mapped("parry"))	&& SKILL_D(skill)->perform_action(me, arg) ) {		if( random(120) < (int)me->query_skill(skill, 1) )			me->improve_skill(skill, 1, 1);		return 1;	}	if( stringp(skill = me->query_skill_mapped("dodge"))	&& SKILL_D(skill)->perform_action(me, arg) ) {		if( random(120) < (int)me->query_skill(skill, 1) )			me->improve_skill(skill, 1, 1);		return 1;	}	return 0;}int help (object me){        write(@HELP指令格式:perfrom [<武功种类>.]<招式名称> [<施用对象>]如果你所学的外功(拳脚、剑法、刀法....)有一些特殊的攻击方式或招式,可以用这个指令来使用,你必须先用 enable 指令指定你使用的武功,不指定武功种类时,空手的外功是指你的拳脚功夫,使用武器时则是兵刃的武功。若是你的外功中有种类不同,但是招式名称相同的,或者不属於拳脚跟武器技能的武功(如轻功),可以用 <武功>.<招式>  的方式指定,如:perform parry.yiorperform chan换句话说,只要是 enable 中的武功有特殊招式的,都可以用这个指令使用。HELP        );        return 1;}

⌨️ 快捷键说明

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