xiaoer.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 140 行
C
140 行
// waiter.cinherit NPC;int ask_key();void create(){ set_name("店小二", ({ "xiao er", "xiao", "xiaoer", "waiter" }) ); set("gender", "男性" ); set("age", 22); set("long", "这位店小二正懒洋洋地坐着,好象几年没发工钱了一样。\n"); set("combat_exp", 100); set("attitude", "friendly"); set("rank_info/respect", "小二哥"); set("inquiry", ([ "name" : "不敢不敢,小的叫王小二,打从三年前就在这里做跑堂的了。", "rumors" : "上次一个红毛鬼子死在这里,就有了闹鬼的传说,只好把门锁了起来!唉,生意也因此冷淡了。", "here" : "这里叫做归来客栈。", "红毛鬼子": "就死在楼上的西房里。", "桃花岛": "传说海上有这么一座小岛,岛上住着一个恶魔。", "钥匙": (: ask_key :), "key": (: ask_key :), "扬州" : "在苏州的西北。", "苏州" : "在扬州的东南边,出扬州东门去找。", "杭州" : "在苏州的东南边。", "少林" : "在河南少室山,从扬州往北可以走到。", "少林寺" : "在河南少室山,从扬州往北可以走到。", "少林派" : "在河南少室山,从扬州往北可以走到。", "武当" : "在湖北境内,出了扬州往南面走吧。", "武当山" : "在湖北境内,出了扬州往南面走吧。", "武当派" : "在湖北境内,出了扬州往南面走吧。", "星宿" : "在天山西边,从扬州往西去找。", "星宿海" : "在天山西边,从扬州往西去找。", "星宿派" : "在天山西边,从扬州往西去找。", "明教" : "在昆仑山东边,从扬州往西走。", "光明顶" : "在昆仑山东边,从扬州往西走。", "慕容" : "在姑苏燕子圬,去苏州找找看吧。", "姑苏慕容" : "在姑苏燕子圬,去苏州找找看吧。", "归云庄" : "在太湖边上,从苏州往南走。", "丐帮" : "这可是个秘密呀。", "昆仑" : "在遥远的西域,一直往西走吧。", "昆仑山" : "在遥远的西域,一直往西走吧。", "昆仑派" : "在遥远的西域,一直往西走吧。", "古墓" : "在终南山,从扬州向北再折向西南吧。", "终南山" : "从扬州向北再折向西南吧。", "大理" : "在大宋的南边,所以要从扬州往南走。", "华山" : "在陕西境内,从扬州城西向北走可以到达。", ]) ); setup(); set("chat_chance", 10); set("chat_msg", ({"店小二嚷声说道,“天下第一大门派就是少林。”\n","店小二伸出右大姆指, 道,“天下第一帮么, 自然是丐帮了。”\n","店小二小声说道,“天下第一教, 是人称魔教的明教。”\n","店小二好奇地问,“武当山, 昆仑山, 五岳剑派, 挑哪一个好? ”\n","店小二叹息道,“神雕侠侣, 相继亡故, 不知古墓一派可有传人。”\n","店小二怒冲冲, 高声叫嚷,“非杀了那帮星宿恶贼不可。”\n","店小二笑嘻嘻地说道,“咱前年做生意到大理, 还真碰上了大理国皇帝。”\n","店小二神秘一笑, 道,“听说桃花岛岛主黄药师最近云游后, 又回岛了。”\n","店小二指了指东南方, 哈哈大笑道,“都什么朝代了, 还要什么大燕国。”\n", }) );}void init(){ object ob; ::init(); if (base_name(environment()) != query("startroom")) return; if( interactive(ob = this_player()) && visible(ob) && !is_fighting() ) { remove_call_out("greeting"); call_out("greeting", 1, ob); }}void greeting(object ob){ if (!present(ob, environment())) return; say( "店小二笑咪咪地说道:这位" + RANK_D->query_respect(ob) + ",快进来坐。\n");}int accept_object(object who, object ob){ if (ob->query("money_id") && ob->value() >= 400) { tell_object(who, "店小二一哈腰,连不迭地说道:多谢您老,客官请上楼歇息。\n"); who->set_temp("rent_paid",1); return 1; } return 0;}void relay_emote(object me,string arg){ command(arg+" "+me->query("id"));}int ask_key(){ object ob=this_player(); if (!present("kezhan key",ob)) { say("小二高兴地说:客官您喜欢住鬼屋吗?那可太好了。钥匙给您。\n" ); new("d/nio/obj/key")->move(ob); } else say("小二撅着嘴说:您怎么又来了,刚才不是您拿走的吗?\n"); return 1;}void kill_ob(object ob){ ob->remove_killer(this_object()); remove_killer(ob); message_vision("小二连忙冲$N打揖道:“我可是老实人,客官您就别拿我寻开心了。”\n", ob); message_vision("$N看着他的倒霉样,实在下不了手。”\n", ob);}void unconcious(){ say( "小二大喊一声:“我不行了,快来接班!”\n"); say( "结果从楼上又走下来一个小二来,说:“没问题,交给我吧。”\n"); say( "前一个小二快快乐乐地离开了。\n"); reincarnate(); set("eff_qi", query("max_qi")); set("qi", query("max_qi")); set("eff_jing", query("max_jing")); set("jing", query("max_jing")); set("jingli", query("eff_jingli"));}void die(){ unconcious();}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?