📄 meipo.c
字号:
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 + -