tian.c

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

C
336
字号
//NPC /d/henshan/npc/tian.c#include <ansi.h>inherit NPC;string ask_me();string ask_live();string ask_tast();string ask_job();string ask_kill();string ask_jiebai();object me = this_player();void greeting(object ob);int accept_fight(object ob);void create(){	seteuid(getuid());	set_name("田伯光", ({ "tian boguang", "tian" }));        set("title","采花淫贼");        set("nickname",HIY"千里采花我独行"NOR);        set("long",                 "他就是江湖第一淫贼。\n"                "一个身材中等的壮年男子,眉梢眼角处处留出淫亵之意,不时朝你瞟过几眼。\n");	set("gender", "男性");	set("age", 37);	set("attitude", "friendly");	set("shen_type", -1);        set("per", 23);	set("str", 25);	set("int", 24);	set("con", 25);	set("dex", 26);set("pubmaster",1);	set("qi", 3000);	set("max_qi", 3000);	set("jing", 3800);	set("max_jing", 3800);	set("neili", 10000);	set("max_neili", 10000);	set("jiali", 10);	set("combat_exp", 300000);	set("score", 40000);	set_skill("blade", 100);	set_skill("dodge", 150);	set_skill("parry", 90);	set_skill("force", 90);	set_skill("lingxu-bu", 150);	set_skill("touch", 300);	set_skill("kuangfeng-blade", 200);         set("inquiry",                ([      "不戒" : (: ask_kill :),                       "解谗" : (: ask_tast :),                       "job" :  (:ask_tast:),                       "任务" : (: ask_job :),                       "help" : (: ask_job :),                       "帮助" : (:ask_job :),                       "采花" : (:ask_tast:),                       "秘技" : (:ask_me :),                       "丽春院" : "那可是扬州城里的好去处,就他妈的没少花老子的钱" ,                       "fuck" : "这等出娘胎便会的事,亏你还来问我?" ,                       "令狐冲" : "冲弟和盈盈正仙居一处,甚是快活。"  ,                       "仪琳" : "你可千万别再提她,她老子可真的要了我的命,真是个丧门星啊。" ,                       "结拜" : (:ask_jiebai :),                       "girl" : (:ask_live :),                       "woman" : (:ask_live :),                       "jiebai" : (:ask_jiebai :),               ]));	map_skill("cuff", "touch");	map_skill("unarmed", "touch");	map_skill("dodge", "lingxu-bu");	map_skill("parry", "kuangfeng-blade");	map_skill("blade", "kuangfeng-blade");        set("chat_msg_combat", ({                (: perform_action, "blade.kuang" :),        }) );	set("chat_chance", 10);	set("chat_msg", ({		"田伯光笑道:尼姑也没关系嘛,蓄起头发,两个月就是小美人了。\n",                "田伯光叹道:“自从惹了不戒那秃驴,日子真是难过,东躲西藏,不知何日可以再。\n",                "田伯光仰首望望天,:“谁能帮我找个妞就好了。\n",                 "田伯光垂头丧气地说:“也不知道丽春院近来又有了什么新货色。\n",                 "田伯光忽然精神一振:“前几天路过山下小村,那个叫翠翠的长的可真他妈的不赖。\n",	}) );	setup();	carry_object("/d/baituo/obj/baipao")->wear();	carry_object("/clone/weapon/gangdao")->wield();	add_money("silver",10);}void init(){	object ob;	::init();     add_action("do_want", "要");	if( interactive(ob = this_player()) && !is_fighting() )        {		remove_call_out("greeting");		call_out("greeting", 1, ob);	}}void greeting(object ob){	if( !ob || environment(ob) != environment() ) return;	if ((string)ob->query("gender")=="女性")	{if (ob->query("age")<26) say("田伯光笑道:妙极,妙极,又来了一个小姑娘。\n");     else say("田伯光笑道:妙极,妙极,可惜太老了点,我可没胃口。\n");     	}	else say("田伯光笑着招招手:这位"+RANK_D->query_respect(ob) + "来喝两杯,这个小尼姑嘛,反正也没什么事,就让她坐着就是。\n");	return;}int accept_fight(object ob){	if ((string)ob->query("gender") == "女性")	{		write("田伯光笑道:花姑娘?杀了太可惜了的。\n");		return 0;        }	return 1;} int accept_object(object who, object ob){	int i;	if (!(int)who->query_temp("learn_timeg"))      		who->set_temp("learn_timeg", 0);    if (environment(who)->query("short")!="回雁楼")         {           command ("say 这是什么地方啊,好像不是回雁楼啊!");           return 0;          }        if (userp(ob))         {           command ("say 玩家我可不敢要!");           return 0;          }       if (ob->query("gender") == "女性"       && ob->query("per") <= 22)         {           command ("say 这么难看的货色你自己玩吧!");           return 0;          }              if (ob->query("gender") == "女性" && ob->query("age") <= 25)      {          if  (this_player()->query_temp("findgirl"))         {           this_player()->set_temp("findgirlok",1);           command ("thumb" + this_player()->query("id"));           message_vision("田伯光色迷迷地看着$N,不停的咽口水。\n",ob);           message_vision("田伯光对着$N哈哈大笑,好好,我要好好谢你,说吧,你要什么。\n" , this_player());           tell_object(this_player(), "请输入 要  money, exp, ... \n");       call_out("destroying", 0,ob);           return 1;          }      }	if( !ob->query("money_id") )		return 0;			if(who->query_skill("touch",1)<30)		i=ob->value() / 50;	else	{		if(who->query_skill("touch",1)<60)			i=ob->value() / 100;		else		{			if(who->query_skill("touch",1)<100)				i=ob->value() / 150;			else				i=ob->value() / 300;		}	}	who->add_temp("learn_timeg",i);      message_vision("田伯光对$N说道:既然你和我是同道中人,我就教你二手吧。\n",who);	return 1;}int recognize_apprentice(object ob){	if( ob->query_temp("learn_timeg") <= 0) return 0;else         ob->add_temp("learn_timeg",-1);return 1;}int do_want(string arg){       me = this_player();        if ( !me->query_temp("findgirl"))       {        command("kick " + me->query("id"));       message_vision("田伯光朝$N勃然大怒:“你什么也没干,也敢来要奖励,给老子滚一边去。\n", me);      return 1;        }        if ( !me->query_temp("findgirlok"))       {        command("kick " + me->query("id"));       message_vision("田伯光朝$N勃然大怒:“你什么也没干,也敢来要奖励,给老子滚一边去。\n", me);      return 1;        }//       if (!me->query("tianjob") || stringp(me->query("tianjob")))       { //       command("kick " + me->query("id"));//       message_vision("田伯光朝$N勃然大怒:“你什么也没干,也敢来要奖励,给老子滚一边去。\n", me);//      return 1;//        }      if( !arg || arg==""  ) return 0;      if( arg == "money" )       {    message_vision("田伯光朝$N嘿嘿一乐:“想不到阁下是位财迷。\n", me);           new("/clone/money/gold.c")->move(me);           tell_object(me, "田伯光给你一些黄金。\n");me->start_busy(3);      }      if ( arg == "exp" )       {           message_vision("田伯光朝$N点了点头:“江湖中人,武艺确实是我等看家之宝。\n", me);           this_player()->add("combat_exp", 120);           this_player()->add("potential", 80);           tell_object(me, "你得到120点经验值和80点潜能做奖励。\n");me->start_busy(3);       }       if ( arg ==  "all")        {   command("faint " + me->query("id"));            message_vision("田伯光惊讶地对$N看着:“想不到你是个如此贪得无厌的家伙。\n", me);            command("slap " + me->query("id"));        }               this_player()->delete_temp("findgirl");           this_player()->delete_temp("findgirlok");           this_player()->add("tianjob", 1);if (me->query("tianjob") || !stringp(me->query("tianjob")))  {            if (me->query("tianjob") >1 && me->query("tianjob") <= 5)           me->set("title", "采花小贼");           if (me->query("tianjob") >5 && me->query("tianjob") <= 20)           me->set("title", "采花贼");           if (me->query("tianjob") >20 && me->query("tianjob") <= 40)           me->set("title", "采花淫贼");           if (me->query("tianjob") > 40)           me->set("title", "采花大盗");}           me->add("shen", -2000);           message_vision("田伯光迫不及待地说:“好了,你我各得所需,现在我要先去享用了。\n" , me);return 1;                  }   string ask_me(){         return RANK_D->query_respect(this_player()) +                 "想学点手段原也不难,可不知能否帮我解解谗先?";}string ask_live(){            return "原来" + RANK_D->query_respect(this_player()) +        "和我乃是同道中人呢。";}string ask_tast(){                    this_player()->set_temp("findgirl", 1);            return  "这样吧,最近风声太紧,你帮我搞几个妞吧,我会好好谢你的。";}string ask_job(){//             command("chat* touch " + this_player()->query("id"));              return "如果你能帮我杀了不戒那贼秃,我,我,你要什么我给什么。";              this_player()->set_temp("killmonk", 1);}string ask_kill(){               if (this_player()->query("jiebai1"))                return "都是自家兄弟了,还开这等玩笑。";                command ( "say 原来你是那老秃驴的同党,罢了,拿命来。");                kill_ob(this_player());                return "你死在我的闪电刀下,也算你的造化。"; } string ask_jiebai(){                           if (!this_player()->query("tianjob") || stringp(this_player()->query("tianjob")))              {                  message_vision("田伯光朝$N白了一眼。\n", this_player());                  return "你是谁啊?";               }                  if (this_player()->query("jiebai1"))              {                  message_vision("田伯光朝$N白了一眼。\n", this_player());                  return "都是自家兄弟了,还开这等玩笑。";               }                 if (this_player()->query("tianjob") <= 20)       {         message_vision("田伯光朝$N轻蔑地一撇嘴。\n", this_player());                 command("say 我田某人虽不才,可结交的也都是顶天立地的豪侠。");                  return "你再努力干吧。";        }                if (this_player()->query("tianjob") <= 60)            {    message_vision("田伯光朝$N惊讶地看了一眼。\n", this_player());                message_vision("田伯光朝$N挤了挤眼睛。\n", this_player());                return "既要做我兄弟,该再多为兄弟弄几个妞才行,看你够不够意思了。";            }                 if (this_player()->query_temp("bujie") < 1)                {                   command("say你为我做了确实不少事,只是这不戒不除,我委实不敢安心那。");                   return "这样吧,你去帮我做掉不戒这老秃驴,我们怎么都是好兄弟,今后有福同享,如何?";                 }                 {                     me->delete_temp("bujie");                     command("say 好,好,我田某今天结识到你,真是天大的高兴。");                     command("chat 从即日起,"+this_player()->name(1)+"就是我田某人的好兄弟,大家同福同难,共享天福。");                     this_player()->set("jiebai1", 1);                     return "从今后有什么难事,兄弟尽管吩咐,田某万死不辞。";                   }          }void destroying(object ob){      if(!ob) return;if (!userp(ob)){if(ob) destruct(ob);}}

⌨️ 快捷键说明

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