xiaofeng.c

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

C
215
字号
// xiaofeng.c 萧峰(乔峰)#include <ansi.h>inherit NPC;void check_skills(object ob);int waiting(object me, object dest);int checking(object me, object dest);int do_back(object me);int do_kill(object me, object dest);void create(){	set_name("萧峰", ({"xiao feng", "xiao", "feng"}));	set("gender", "男性");	set("nickname",HIB"铁掌降龙"NOR);	set("age", 28);	set("long", 		"他就是丐帮前任帮主,因被发现是契丹人而众叛亲离。\n"		"在江湖上与燕子坞的慕荣复并称为「北乔峰,南慕荣」。\n"		"他身穿一件普通的粗布褂子,腰间用一条麻绳随便一系。\n"		"他身高六尺有余,体格十分魁梧,长有一张线条粗旷、十\n"		"分男性化的脸庞,双目如电,炯炯有神。\n");	set("attitude", "peaceful");		set("str", 45);	set("int", 30);	set("con", 30);	set("dex", 30);	set("chat_chance", 1);	set("chat_msg", ({		"萧峰叹了口气道:“唉……想不到我萧峰大好男儿,居然被马夫人这样一个女子所骗!\n",		"萧峰喃喃道:“我们丐帮的「降龙十八掌」是天下最霸道的掌法。”\n",		(: random_move :),	}));	set("inquiry", ([		"青竹林" : "东北西北东西北。\n",		"丐帮" : "东北西北东西北。\n",		"拜师" : "你可以去东城门的我帮总舵拜鲁有脚。\n",	]));	set("qi", 4000);	set("max_qi", 4000);	set("jing", 1500);	set("max_jing", 1500);	set("neili", 4000);	set("max_neili", 4000);	set("jiali", 100);		set("combat_exp", 180000);	set("score", 20000);	 	set_skill("force", 120);             // 基本内功	set_skill("huntian-qigong", 120);    // 混天气功	set_skill("unarmed", 120);           // 基本拳脚	set_skill("xianglong-zhang", 120);   // 降龙十八掌	set_skill("dodge", 120);      	     // 基本躲闪	set_skill("xiaoyaoyou", 120);        // 逍遥游	set_skill("parry", 120);             // 基本招架	set_skill("begging", 50);            // 叫化绝活	set_skill("checking", 50);           // 道听途说		map_skill("force", "huntian-qigong");	map_skill("unarmed", "xianglong-zhang");	map_skill("dodge", "xiaoyaoyou");	map_skill("parry", "xianglong-zhang");		setup();		carry_object("/clone/misc/cloth")->wear();}void init(){        object ob;        ::init();        if (interactive(ob = this_player()) )	{                remove_call_out("check_skills");                call_out("check_skills", 0, ob);        }}void check_skills(object ob){	mapping skl; 	object  me;	string *sname;	int i, counter, ob_shen;if (!me) return;if (!ob) return;	me = this_object();	skl = ob->query_skills();if (!skl) return;	sname  = sort_array( keys(skl), (: strcmp :) );	ob_shen = (int)ob->query("shen");	counter = 0;	for(i=0; i<sizeof(skl); i++)	{		if (skl[sname[i]] >= 100)			counter++;	}	if(counter >= 3)//	if((counter >= 3) && (ob_shen < 0))	{		me->set_leader(ob);			if ( !environment(me)->query("no_fight"))		{			call_out("do_kill", 1, me, ob);			return ;		}		else		{			call_out("waiting", 0, me, ob);			return ;		}	}	return ;}int do_kill(object me, object dest){if (!me) return 1;if (!dest) return 1;	if (!(int)dest->query("yipin/joined"))	        return 1;	if( objectp(dest) && present(dest, environment(me))		 && !environment(me)->query("no_fight"))	{		message_vision(HIR "$N对$n说道:老子一见一品堂高手就生气。"			+RANK_D->query_rude(dest)+",纳命来!\n" NOR, me, dest);//		me->set_leader(dest);		me->fight_ob(dest);//		dest->fight_ob(me);		call_out("checking", 0,  me, dest);	}	else  		call_out("waiting", 1, me, dest);		return 1;}int waiting(object me, object dest){if (!me) return 1;if (!dest) return 1;	if ( objectp(dest) )	{		if (dest->is_ghost())		{			call_out("do_back", 1, me);			return 1;		}		else if (me->is_fighting() && present(dest, environment(me)))		{			call_out("checking", 0, me);			return 1;		}		else if (living(me) && !environment(dest)->query("no_fight"))		{			call_out("do_chase", 0, me);			return 1;		}	}				remove_call_out("waiting");	call_out("waiting", 60, me);    return 1;}int checking(object me, object dest){	object ob;if (!me) return 1;if (!ob) return 1;	if (me->is_fighting()) 	{		call_out("checking", 1, me);	        return 1;	}	if( objectp(ob = present("corpse", environment(me)))		 && ob->query("victim_name") ==	dest->query("name") )	{		call_out("do_back", 1, me);        return 1;	}		call_out("waiting", 0, me, dest);	return 1;}int do_back(object me){	me->move("/d/city/dongdajie2");	me->set("combat_exp", 1000000);	message("vision", "萧峰走了过来,拍了拍身上的尘土,微微一笑说道:又除了一个坏蛋。\n", 		environment(), me );	me->set_leader(0);	return 1;}

⌨️ 快捷键说明

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