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

📄 baoer.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
📖 第 1 页 / 共 2 页
字号:
#include <ansi.h>#include <combat.h>inherit NPC;#include "action.h"string *cmds = ({"wield", "unwield", "wear", "remove", "enable", "jifa", "prepare", "bei", "exert","yun", "perform", "yong", "enforce", "jiali"});void random_chat();int ask_go();int ask_kiss();int ask_wait();int ask_home();int ask_eat();int ask_fight();int ask_fight1();int ask_fight2();int ask_fight3();void exec_cmd(object me, string arg);mixed get_auto_actions(string action);void change_combat_mode(object me, int mode);int check_legal_title(string name);create_wine(string nmstr, string* idlist, string cup, string longstr){        object obj;object me=this_player();        obj = new(__DIR__"obj/wine");        obj->set_name(cup, idlist);        obj->set("guardfood",1);        if (longstr)              obj->set("long", longstr);        else              obj->set("long", RED+"一杯醇正的" + nmstr + "。\n" + NOR);        obj->set("liquid/name", nmstr);write( HIG "酒:"+nmstr+HIG"做好了。"+"\n" NOR);        obj->move(me);}create_water(string nmstr, string* idlist, string cup, string longstr){        object obj;object me=this_player();        obj = new(__DIR__"obj/water");        obj->set_name(cup, idlist);        obj->set("guardfood",1);        if (longstr)              obj->set("long", longstr);        else              obj->set("long", YEL+"一杯可口的" + nmstr + "。\n" + NOR);        obj->set("liquid/name", nmstr);write( HIG "荼:"+nmstr+HIG"买好了。"+"\n" NOR);        obj->move(me);}create_food(string nmstr, string* idlist, string longstr){        object obj;object me=this_player();        obj = new(__DIR__"obj/food");        obj->set_name(nmstr, idlist);        obj->set("guardfood",1);        if (longstr)              obj->set("long", longstr);        else              obj->set("long", GRN+"一盘热气腾腾, 香喷喷的"+nmstr+"。\n"+NOR);write( HIG "菜:"+obj->query("name")+HIG"做好了。"+"\n" NOR);        obj->move(me);}void create(){        set_name(HIW"宝儿"NOR, ({ "shi tong",  "shitong"}));	set("title", HIM "绝世风华" NOR);	set("long", HIG "他看上去只有十来岁,长得正是玉树临风,潇洒倜傥。\n"+	"但他的双目中却包含着一种深深的忧郁,\n"+	"似乎正在感叹人间沧桑,世事无常。\n" NOR);        set("marry","hxsd");        set("gender", "男性"); 	set("age", 18);        set("str", 50);        set("cor", 50);        set("baohu","hxsd");        set("couple/couple_name","小人物");        set("cps", 50);        set("int", 50);        set("dex", 200);        set("per", 100);        set("agi",55);	set("no_get",1);	set("no_put",1);	set("no_get",1);	set("no_drop",1);	set("no_beg",1);	set("no_steal",1);	set("ownmake",1);        set("combat_exp", 1000000);        set("score", 9000);        set("shen", 9000);        set("max_qi",80000);        set("max_jing",80000);        set("max_neili",160000);        set("neili",160000);        set_skill("tianluo-diwang",400);        set_skill("yinsuo-jinling",400);        set_skill("strike",400);        set_skill("whip",400);        set_skill("yangyanshu", 400);        set_skill("yunv-xinfa", 400);    //玉女心法        set_skill("sword", 400);        set_skill("yunv-jian", 400);     //玉女剑        set_skill("quanzhen-jian",400);  //全真剑        set_skill("dodge", 400);        set_skill("yunv-shenfa", 400);   //玉女身法        set_skill("parry", 400);        set_skill("hubo", 400);          //双手互搏        set_skill("unarmed",400);        set_skill("meinv-quan", 400);    //美女拳法        set_skill("literate",400);        set_skill("qufeng",400);         //驱蜂之术        set_skill("wuzhan-mei",400);        set_skill("dodge",400);        set_skill("spells",400);        set_skill("magic-old",400);        map_skill("strike", "tianluo-diwang");        map_skill("force", "yunv-xinfa");        map_skill("spells", "magic-old");        map_skill("sword", "yunv-jian");        map_skill("dodge", "tianluo-diwang");        map_skill("parry", "yunv-jian");        map_skill("unarmed", "meinv-quan");        prepare_skill("strike","tianluo-diwang");        prepare_skill("cuff","meinv-quan");        set("chat_chance", 10);        set("chat_msg", ({		(: command, "emote 眨了眨眼道:我们差不多该上路了吧,好吗!" :),                (:random_chat:),        }) );	set("inquiry", ([		"走" : (: ask_go :),		"亲热" :  (: ask_kiss :),		"等待" :  (: ask_wait :),		"回家" :  (: ask_home :),		"做饭" :  (: ask_eat :),		"普通攻击" :  (: ask_fight :),		"一般攻击" :  (: ask_fight1 :),		"全力攻击" :  (: ask_fight2 :),		"牵制攻击" :  (: ask_fight3 :),	]));	setup();        carry_object("/clone/cloth/male-shoe")->wear();        carry_object(sprintf("/clone/cloth/male%d-cloth", random(8) + 1))->wear();}int init(){ object ob;ob = this_player();::init();       add_action("do_quit","kill");if (userp(ob)&& ob->query("id")==query("host_id")){       add_action("do_att","att");       add_action("do_ting","ting");       add_action("do_hulian","hulian");       add_action("do_sha","sha");       add_action("do_move","mache");       add_action("do_shape","shape");       add_action("do_lingwu","taolun");       add_action("do_heji","heji");       add_action("do_lian","lianxi");       add_action("do_order", "order");       add_action("do_name", "set_name");       add_action("do_long", "set_long");       add_action("do_title", "set_title");       add_action("do_ticks", "ticks");}}void random_chat(){  string *e,str="";   int i;   object npc,*inv;if (!environment(this_object()))   return;   inv=all_inventory(environment(this_object()));if(!inv)	return;	if(!sizeof(inv))	return;    e = sort_array(EMOTE_D->query_all_emote(), 1);   str=e[random(sizeof(e))];   command(str+" "+inv[random(sizeof(inv))]->query("id"));   set("answer",str);     return;}void smiling (object who){  if (random(2))    command("smile");  else    command("smile "+who->query("id"));}int ask_kiss(){  object me;  string new_name,new_id,host_id;  me=this_player();	if( !living(this_object()) )		return notify_fail("嗯....你得先把" + this_object()->name() + "弄醒再说。\n");if (this_player()->query("id")!=query("host_id"))return notify_fail("你无权使用这个命令!\n");        if(me->is_busy()){command("say 主人,你太忙了,我帮不上你!");        return notify_fail("你上一个动作还没有完成。\n");return 1;}//  if(query("id")!="bao er")//        {//	 sscanf(query("id"),"%s's bao er",host_id);	 if(me->query("id")==query("host_id"))           {	   if(random(10)>7)	                     {	   say(query("name")+"满脸羞得通红,垂下头来,缓缓的点了点头。\n");           command("lovelook "+ me->query("id") );           command("cat "+ me->query("id") );           command("kiss "+ me->query("id") );           write(CYN"你对"+query("name")+CYN"微微一笑,流露出无限的喜爱之情。\n"NOR);           write(CYN" "+query("name")+CYN"深深的注视着你,双目蕴涵着浓浓的爱意。\n"NOR);           command("makelove "+ me->query("id") );           me->start_busy(1);           this_object()->start_busy(1);           }		           else {	   me->start_busy(1);           this_object()->start_busy(1);	   say(query("name")+"啊的一声,一下子跳将开去,说:不行,不可以。\n");	   return 1;}           }//	}//else say(query("name")+"说道:呸,我不干。");return 1;}int ask_go(){  object me;  string new_name,new_id,host_id;   me=this_player();	if( !living(this_object()) )		return notify_fail("嗯....你得先把" + this_object()->name() + "弄醒再说。\n");//	   if(query("id")!="bao er")//        {//		 sscanf(query("id"),"%s's bao er",host_id);		 if(query("id")==query("host_id"))           {say(query("name")+"睁大眼睛看了看"+				me->query("name")+",说:当然愿意啦,我都听你的。\n");            return 1;           }	 if(me->query("id")!=query("host_id"))           {say(query("name")+"睁大眼睛看了看"+				me->query("name")+",说:不行的,我得听我主人的。\n");			return 1;           }//	 }	   command("nod");	   command("say 主人待我恩重如山,我一定会尽心尽力的服侍你!");           set_leader(me);return 1;}int ask_wait(){  object me;  string new_name,new_id,host_id;  me=this_player();	if( !living(this_object()) )		return notify_fail("嗯....你得先把" + this_object()->name() + "弄醒再说。\n");if (this_player()->query("id")!=query("host_id"))return notify_fail("你无权使用这个命令!\n");        if(me->is_busy()){command("say 主人,你太忙了,我帮不上你!");        return notify_fail("你上一个动作还没有完成。\n");return 1;}//  if(query("id")!="bao er")//        {//	 sscanf(query("id"),"%s's bao er",host_id);	 if(me->query("id")==query("host_id"))           {           command("inn " + me->query("id"));           command("say 我暂时在这里等你,如果有什么事,记得召唤我哦!");           set_leader(0);	   return 1;           }//	}//say(query("name")+"说道:你是谁?我又不认识你,就不听你的!");return 1;}int ask_home(){  object me;  string new_name,new_id,host_id;  me=this_player();	if (this_object()->is_busy())		return notify_fail("现在正忙着呢。\n");	if( this_object()->is_fighting() )		return notify_fail("已经在战斗中了,学一点实战经验吧。\n");	if( !living(this_object()) )		return notify_fail("嗯....你得先把" + this_object()->name() + "弄醒再说。\n");	if( !living(this_object()) )		return notify_fail("嗯....你得先把" + this_object()->name() + "弄醒再说。\n");if (this_player()->query("id")!=query("host_id"))return notify_fail("你无权使用这个命令!\n");        if(me->is_busy()){command("say 主人,你太忙了,我帮不上你!");        return notify_fail("你上一个动作还没有完成。\n");return 1;}//  if(query("id")!="bao er")//        {//	 sscanf(query("id"),"%s's bao er",host_id);	 if(me->query("id")==query("host_id"))           {	if (is_busy() || is_fighting()) {		command("say 我正忙着,等一会再回去。");		return 1;	}	   if(random(10)>3)	                     {	   message("vision",		 name() + "说道:主人如再要我服待,请发哨为警!我等你啊!\n\n"		+ name() + "闪了闪就消失不见了。\n" , environment(),		this_object() );	   destruct(this_object());           }		           else 	   say(query("name")+"啊的一声,轻声细语的说:求求"+me->query("name")+"主人,不要.我不要回家\n");	   return 1;           }//	}//say(query("name")+"说道:你是谁?我又不认识你,就不听你的!");return 1;}int ask_fight(){  object me;  string new_name,new_id;  me=this_player();if (this_player()->query("id")!=query("host_id"))return notify_fail("你无权使用这个命令!\n");	if( !living(this_object()) )		return notify_fail("嗯....你得先把" + this_object()->name() + "弄醒再说。\n");        if(me->is_busy()){command("say 主人,你太忙了,我帮不上你!");        return notify_fail("你上一个动作还没有完成。\n");return 1;}	 if(me->query("id")==query("host_id"))           {           command("nod "+ me->query("id"));           command("say 好的,我尽量小心,不出绝招了!");           change_combat_mode(me, 0); 	   return 1;           }		else           command("say "+ me->query("name")+" 我不认识你啊?");return 1;}int ask_fight1()

⌨️ 快捷键说明

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