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

📄 meipo.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
📖 第 1 页 / 共 2 页
字号:
	obj->set("couple/couple_id",me->query("id"));	if ((string)obj->query("gender") == "女性")	{		me->set("couple/couple_gender", "妻子");		obj->set("couple/couple_gender", "丈夫");	}	else	{		obj->set("couple/couple_gender", "妻子");		me->set("couple/couple_gender", "丈夫");	}   call_out("meipo_waiting", 1,ob,me,obj); 	return 1;}int meipo_waiting(object ob,object me,object obj)//媒婆等拜堂{	if(ob->query_temp("wait_time") == 200 )	{		say( "媒婆疑惑地说道:“小夫妻连拜堂也不急?难道真是有缘无份?唉,婚礼还是取消罢!\n"      	"老娘可是白赚了50 gold了,呵呵呵...”\n\n");		call_out("do_back", 0, ob);      return 1;	}	if( environment(ob)==environment(me)&&environment(ob)==environment(obj) )   {                                                 //两人都在      ob->delete_temp("wait_time");   	call_out("ready_marry", 1,ob,me,obj);   }	else   {		if( environment(ob)==environment(me)&&environment(ob)!=environment(obj) )		{			if( random(10) == 0 )			say("\n媒婆问道:“"+me->name()+"!你去问问"+obj->name()+"怎么还不过来?难道不愿意了?\n");			ob->add_temp("wait_time",1);               //其中一人obj不在			call_out("meipo_waiting", 1, ob,me,obj);		}   	else if( environment(ob)!=environment(me)&&environment(ob)==environment(obj) )		{                                            //其中一人me不在			if( random(10) == 0 )			say("\n媒婆问道:“"+obj->name()+"!你去问问"+me->name()+"怎么还不过来?难道不愿意了?\n");			ob->add_temp("wait_time",1);			call_out("meipo_waiting", 1, ob,me,obj);		}		else      {	   	ob->add_temp("wait_time",1);			call_out("meipo_waiting", 1, ob,me,obj);      }   }	return 1;}int ready_marry(object ob,object me,object obj)//准备婚礼{	object room,npc;	if(!( room = find_object("/d/ruzhou/yinyuan-tang")) )	room = load_object("/d/ruzhou/yinyuan-tang");	message("vision", HIY "\n媒婆高声叫道:“快快快,干活的都出来了,马上布置喜堂!”\n" NOR, room);	message("vision", HIC"\n只听堂后响起一阵脚步声,十几个穿得五彩鲜艳衣服的少男少女嘻嘻哈哈地跑进来,\n"		"叽叽喳喳地议论着,又分头跑开了,时不时地笑着看一看"+me->name()+"和"+obj->name()+"。\n\n"NOR, room);	say("媒婆对两位新人说道:“不要着急,我们都是很有经验的,很快就会布置好的!”\n"   CYN"只见身边的人跑来跑去,忙得不得了。\n"NOR);	call_out("wait_marry", 1, ob,me,obj);   return 1;}int wait_marry(object ob,object me,object obj) //布置喜堂{	object room;	if(!( room = find_object("/d/ruzhou/yinyuan-tang")) )	room = load_object("/d/ruzhou/yinyuan-tang");	switch(ob->query_temp("wait_time"))	{   	case 0:    	say(RED"\n一个小家伙跑过来,叫道:“媒婆,买红纸的钱不够了!”媒婆赶紧给他一些钱。\n\n"NOR);	   ob->set_temp("wait_time",1);           call_out("wait_marry", 1, ob,me,obj);	   break;      case 1:     	say(MAG"\n突然,那边的小姑娘叫道:“媒婆,红鸳鸯贴这边正不正?”媒婆一看:“右边再上去点!”\n\n"NOR);      ob->add_temp("wait_time",1);	  	call_out("wait_marry", 1, ob,me,obj);      break;      case 2:     	say(CYN"\n四个家伙哼哟嘿哟地抬着一只大箱子从屋外你身边走过,媒婆叮嘱道:“慢些、轻点!”\n\n"NOR);      ob->add_temp("wait_time",1);	  	call_out("wait_marry", 1, ob,me,obj);      break;		case 3:      say("\n媒婆一把拉住身边跑过的一个小伙子:“迎宾楼的喜宴订了吗?快去!”\n\n"NOR);      ob->add_temp("wait_time",1);	  	call_out("wait_marry", 1, ob,me,obj);      break;      case 4:     	say(YEL"\n那边的人叫道:“快拿火折来,把香烛点亮、点亮。”\n\n"NOR);      ob->add_temp("wait_time",1);	  	call_out("wait_marry", 1, ob,me,obj);	   break;		case 5:     	say("\n那边又叫起来:“媒婆,给点钱打发送货来的吧!”“来了!”媒婆赶紧跑过去。\n\n");      ob->add_temp("wait_time",1);	 	call_out("wait_marry", 1, ob,me,obj);      break;		case 6:     	say(CYN"\n媒婆一路小跑过来,看看新郎新娘的身材,点点头回头叫:“快,给新人准备喜装。”\n\n"NOR);      ob->add_temp("wait_time",1);	  	call_out("wait_marry", 1, ob,me,obj);      break;		case 7:	  	say(WHT"\n一帮人七手八脚地抬出了几张大椅子,在中堂上挂了一个大大的\n"HIR"			       ■      ■\n""			    ■■■■■■■■\n""			    ■■■■■■■■\n""			     ■■■  ■■■\n""			     ■■■  ■■■\n""			      ◆◆    ◆◆\n""			    ■■■■■■■■\n""			     ■■■  ■■■\n""			     ■■■  ■■■\n\n"NOR);      ob->add_temp("wait_time",1);	  	call_out("wait_marry", 1, ob,me,obj);      break;   	case 8:     	say(YEL"\n唢呐乐手开始调试欢快的乐曲,进进出出不少认识不认识的人,纷纷拱手相贺:“恭喜恭喜!”\n\n"NOR);      ob->add_temp("wait_time",1);	  	call_out("wait_marry", 1, ob,me,obj);      break;		case 9:  	  	say("\n几个小姑娘笑嘻嘻地一边擦着桌椅,一边互相咬着耳朵,不时地偷眼看看新人。\n\n");      message("vision", HIY "\n媒婆高声问了一声:“都准备好了吗?”众人应道:“好了!”\n"      "媒婆立刻拖长了声音喊道:“有请月老主持婚礼……!”\n"      YEL"顿时,鼓乐齐鸣,鞭炮大作,伴郎伴娘拥过来,七手八脚给新郎、新娘换上新衣,\n"      "缀拥着向大堂中央走去。\n"NOR,room);              ob->add_temp("wait_time",1);              call_out("start_marry", 1, ob,me,obj);//            call_out("wait_marry", 1, ob,me,obj);		break;//                case 10://      call_out("start_marry", 1, ob,me,obj);//      break;   }   return 1;}int start_marry(object ob,object me,object obj) //开始婚礼{	object moon,room;   string msg;	if(!(room = find_object("/d/ruzhou/yinyuan-tang")))		room = load_object("/d/ruzhou/yinyuan-tang");	moon=new(__DIR__"yuelao");   moon->move(room);	message("vision", "\n随着一阵哈哈大笑,一位红面白须的老者,快步踱进堂中,在场的少年男女都躬身相拜:\n"   	"“恭请月老爷爷!”月老摆摆手,笑呵呵地看看"+me->name()+"和"+obj->name()+",点点头道:\n"      "“好!好!郎才女貌,天作之合!天作之合呀!”\n"   	HIY"\n媒婆一挥手,喜乐又高起,只听见月老高声宣布:“新郎…新娘…拜…天地……!”\n"NOR,room, moon);   say("媒婆又小声地对两个新人说:“按顺序输入‘拜 天地、拜 高堂和拜 对方的名字’。”\n");   CHANNEL_D->do_channel(moon, "mudnews",	   sprintf("恭贺%s和%s喜结良缘,拜堂大礼即时开始!\n",me->name(),obj->name()));	me->set_temp("pending/bai",1);   obj->set_temp("pending/bai",1);	return 1;}int do_back(object ob)//结束{   ob->delete_temp("wait_time");   ob->delete_temp("marry/money");	say("媒婆拍了拍身上,又一扭一扭地向西边走去。\n");   ob->move("/d/ruzhou/hongniang-zhuang");	return 1;}int do_bai(string arg)//拜堂{	object me,ob,obj;	string act;	me = this_player();   ob = this_object();	if (me->is_busy())		return notify_fail("媒婆说道:“你现在不是正忙着吗?忙完再说!”\n");	if( me->is_fighting(this_object()) )	{		if( !this_object()->is_killing(me) )			this_object()->kill_ob(me);		return notify_fail("媒婆说道:“老娘好心给你办婚事,你敢动武,送你去阴间成婚吧!”\n");	}	if( this_object()->is_fighting() )		return notify_fail("媒婆说道:没看见这儿有人捣乱吗!\n");	if( !living(this_object()) )		return notify_fail("你还是先想办法把媒婆救醒吧。\n");	if( me->is_fighting() )		return notify_fail("媒婆说道:“嘿嘿,你先还是料理完你的朋友再说吧!”\n");	if( !environment()||base_name(environment()) != ("/d/ruzhou/yinyuan-tang") )		return notify_fail("媒婆说道:“你这人真是的,拜堂是要到姻缘堂才行的呀!”\n");	if( !me->query_temp("pending/bai"))		return notify_fail("媒婆笑道:“哈哈,你犯什么傻呀!”\n");	if( !objectp(obj = present((string)me->query("couple/couple_id"), environment(me)))		|| !find_player(me->query("couple/couple_id")) )	{   	message_vision("媒婆转身一看,惊讶地说道:“唉呀!你的爱人怎么突然跑了?婚礼怎么举行?大伙散摊吧。”\n"      	"在一片惋惜声,大家纷纷离场,喜堂上的东西也是一收而空。\n",me);      call_out("do_back",1,ob);      return 1;   }   if(arg==" 天地"||arg==" 高堂"||arg==" "+(string)me->query("couple/couple_name"))		return notify_fail("“拜”与后面的词之间请用半角空格。\n");	if(!arg ||(me->query_temp("pending/bai")==1 &&arg!="天地")		||(me->query_temp("pending/bai")==2 && arg!="高堂")		||(me->query_temp("pending/bai")==3 && arg!=(string)me->query("couple/couple_name")))		return notify_fail("媒婆笑道:“你乱拜什么呀?一拜天地!二拜高堂!三拜你的爱人!可别再错了!”\n");	if( (string)obj->query_temp("pending/act")!=arg )	{      if((int)me->query_temp("pending/bai")!=3)      {			tell_object(obj, MAG"你的伴侣正等着和你拜 " + arg + " 呢...\n" NOR);			write(MAG "现在你正等待着你的伴侣...\n" NOR);			me->set_temp("pending/act", arg);      }      else      {			tell_object(obj, MAG"你的伴侣正等着和你互拜(拜他的名字)呢...\n" NOR);			write(MAG "现在你正等待着你的伴侣...\n" NOR);			me->set_temp("pending/act", me->name());      }		return 1;	}	else if((int)me->query_temp("pending/bai")==1)   {  		message_vision("“一拜…天…地……”$N和$n在阵阵鼓乐声中盈盈拜下......\n",me,obj);      me->add_temp("pending/bai",1);      obj->add_temp("pending/bai",1);      return 1;   }	else if((int)me->query_temp("pending/bai")==2)   {  		message_vision("“二拜…高…堂……”$N和$n在站起来相视一笑,又缓缓拜下......\n",me,obj);      me->add_temp("pending/bai",1);      obj->add_temp("pending/bai",1);      return 1;   }	else if((int)me->query_temp("pending/bai")==3)   {  		message_vision("“夫妻…对…拜……”$N和$n在相互深深拜了一拜......\n",me,obj);		message_vision(HIY "月老笑呵呵地说道:“好,$N和$n,现在正式结为夫妻! \n" NOR, obj, me);		CHANNEL_D->do_channel(this_object(), "chat",			sprintf( "恭喜%s和%s,一对璧人喜结良缘。\n        各位亲朋好友,可携礼到汝州迎宾楼参加他们的婚宴!\n", me->name(), obj->name()));		me->add("couple/married", 1);        //结婚次数		me->set("couple/have_couple",1);     //处于已婚状态      me->set_temp("married_party",1);     //做上记号,喜来福老板看到就会同意开酒席      obj->set_temp("married_party",1);    //两人都做,但只有男性才有用		obj->add("couple/married", 1);       //结婚次数		obj->set("couple/have_couple",1);    //已婚状态      me->delete_temp("pending/bai");      obj->delete_temp("pending/bai");      me->delete_temp("pending/act");      obj->delete_temp("pending/act");		me->delete_temp("pending/pro");		obj->delete_temp("pending/pro");     	me->delete_temp("ask_money");   	obj->delete_temp("ask_money");	   call_out("last_marry",1,ob,me,obj);		return 1;   }}int last_marry(object ob,object me,object obj)//拜堂结束{	object moon,room;	if(!(room = find_object("/d/ruzhou/yinyuan-tang")))		room = load_object("/d/ruzhou/yinyuan-tang");	moon = present("yue lao", room);	moon->move("/d/city/empty");   ob->delete_temp("wait_time");   ob->delete_temp("marry/money");	say("媒婆喊道:“轿夫!快将新人送到迎宾楼举行婚宴,我和月老就不去了,呵呵!”\n说完一扭一扭地向西边走去。\n");   ob->move("/d/ruzhou/hongniang-zhuang");	message_vision(HIR"伴郎伴娘拥着两位新人,上了门口的两顶大红花轿,只听轿夫们一声“起轿!”\n"   	"一行人吹吹打打地奔向迎宾楼......\n"NOR,me,obj);   me->move("/d/ruzhou/jiao1");   obj->move("/d/ruzhou/jiao2");   call_out("go_lou",8,ob,me,obj);	return 1;}int go_lou(object ob,object me,object obj)//到酒楼{	object room,npc;	if(!(room = find_object("/d/ruzhou/xifu-tang")))		room = load_object("/d/ruzhou/xifu-tang");	message_vision("\n    过了好长一会儿,只听轿夫们一声“到啦!”轿子整个儿一震,想是落到了地上,\n"   	"$N和$n从轿子中下来一看,原来已经到了迎宾楼。两人又被拥扶着一直上了二楼福满堂。\n"      "只听到一阵呵呵笑声,迎宾楼老板喜来福笑容满面地迎出来:“恭喜两位新人!恭喜恭喜!\n”",me,obj);   npc=new(__DIR__"xi-laifu");//老板出现   npc->set("name1",me->name());   npc->set("name2",obj->name());//双方姓名   npc->move("/d/ruzhou/xifu-tang");   me->move("/d/ruzhou/xifu-tang");   obj->move("/d/ruzhou/xifu-tang");   return 1;}

⌨️ 快捷键说明

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