tiechan.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 400 行
C
400 行
// 铁铲#include <ansi.h>inherit ITEM;int do_open(string arg);string *box_object=({"item/0","item/1","item/2","item/3","item/4","item/5","item/6","item/7","item/8","item/9","item/10","item/11","item/12","item/13","item/14","item/15","item/16","item/17","item/18","item/19","item/20","item/21","item/22","item/23","item/24","item/25","item/26","item/27","item/28","item/29","item/30","item/31","item/32","item/33","item/34","item/35","item/36","item/37","item/38","item/39","item/40","item/41","item/42","item/43","item/44","item/45","item/46","item/47","item/48","item/49","item/50","item/51","item/52","item/53","item/54","item/55","item/56","item/57","item/58","item/59","item/60","item/61","item/62","item/63","item/64","item/65","item/66","item/67","item/68","item/69","item/70","item/71","item/72","item/73","item/74","item/75","item/76","item/77","item/78","item/79","item/80","item/81","item/82","item/83","item/84","item/85","item/86","item/87","item/88","item/89","item/90","item/91","item/92","item/93","item/94","item/95","item/96","item/97","item/98","item/99","item/100","item/101","item/102","item/103","item/104","item/105","item/106","item/107","item/108","item/109","item/110","item/111","item/112","item/113","item/114","item/115","item/116","item/117","item/118","item/119","item/120","item/121","item/122","item/123","item/124","item/125","item/126","item/127","item/128","item/129","item/130","item/131","item/132","item/133","item/134","item/135","item/136","item/137","item/138","item/139","item/140","item/141","item/142","item/143","item/144","item/145","item/146",}); void create(){ set_name(HIC"铁铲"NOR, ({"tie chan", "chan", "tiechan"})); set_weight(100000); set_weight(10); if (clonep()) set_default_object(__FILE__); else { set("long", "一个用精钢制作而成的"+HIC"铁铲,"NOR+"似乎可以挖掘(dig)。\n" "如果在荒山野地,用这个"+HIC"铁铲,"NOR+"挖到(dig)宝物就好了!\n" "在人多的城市附近铁定是没有的。\n"); set("unit", "把"); set("no_drop","不要乱丢,这东西打到人痛!\n"); set("no_put",1); }}void init(){ add_action("do_open","dig");} int do_open(string arg){ int exp,pot; object me=this_player(),ob,env; env = environment(me); if (me->is_busy()) { tell_object(me,"等你忙完了,再挖吧,!\n"); return 1; } if( me->is_fighting() ) { tell_object(me,"等打完了,再挖吧,!\n"); return 1; } if ((me->query("jing") < 20)) { tell_object(me,"你的精力不能集中,不可以挖宝!\n"); return 1; } if ((me->query("combat_exp") < 100000 )) { tell_object(me,"你的经验太差,不能挖宝!\n"); return 1; } if ((me->query("qi") < 30 )) { tell_object(me,"你的身体状态太差,不能挖宝!\n"); return 1; } if(me->query("jing")<me->query("max_jing")/20 ) return notify_fail("你的精不够了。\n"); if(me->query("eff_jing")<me->query("max_jing")/20 ) return notify_fail("你的精不够了。\n"); if(me->query("qi")<me->query("max_qi")/20 ) return notify_fail("你的气不够了。\n"); if(me->query("eff_qi")<me->query("max_qi")/20 ) return notify_fail("你的气不够了。\n"); if (!env->query("outdoors")) return notify_fail("你打算拆屋呀?\n"); if (env->query("no_fight")) { return notify_fail("这里不准随便挖掘。\n"); } if (env->query("no_dig")) { return notify_fail("这里好像刚刚被人挖过没有宝物了!\n"); }else { message_vision(HIC"$N蹲在地上,双手乱刨,挥动铁铲开始在地上挖了起来。\n"NOR,me); me->add("jing",-me->query("eff_jing")/50); me->add("qi",-me->query("eff_jing")/50); me->add("eff_qi",-me->query("max_jing")/50); me->start_busy(6); } if (random(7)<5) { me->start_busy(3); message_vision(CYN"$N挖了一阵,什么也没有找到。\n"NOR,me); return notify_fail("真是可惜!\n"); } if (env->query("outdoors")=="city" ||env->query("outdoors")=="city2" ||env->query("outdoors")=="chengdu" ||env->query("outdoors")=="changan" ||env->query("outdoors")=="dali" ||env->query("outdoors")=="foshan" ||env->query("outdoors")=="hangzhou" ||env->query("outdoors")=="huanggon" ||env->query("outdoors")=="hg" ||env->query("outdoors")=="quanzhou" ||env->query("outdoors")=="xiangyang" ||env->query("outdoors")=="quanzhou" ||env->query("outdoors")=="pingan" ||env->query("outdoors")=="武馆" ||env->query("outdoors")=="lanzhou" ||env->query("outdoors")=="ruzhou" ||env->query("outdoors")=="fengyun" ||env->query("outdoors")=="yanjing" ||env->query("outdoors")=="japan" ||env->query("outdoors")=="kaifeng" ||env->query("outdoors")=="changan" ||env->query("outdoors")=="lingzhou") { me->start_busy(3); message_vision(CYN"$N挖了一阵,什么也没有找到, 这个地方估计找不到什么了。\n"NOR,me); return notify_fail("真是可惜!\n"); } if(me->query("gender")=="男性") tell_object(me,"你迫不及待地将挖出的"+HIY+"宝物"NOR+"拿出,\n"); else tell_object(me,"你小心翼翼地将挖出的"+HIY+"宝物"NOR+"拿出,\n"); if( me->over_encumbranced() ) return notify_fail("身上带的东西太多了,拿不动了。\n"); env->set("no_dig",1); add_temp("workchan", 1);exp=25+random(30);pot=15+random(15); me->add("combat_exp",exp); me->add("potential",pot);tell_object(me,"你被奖励了\n"+chinese_number(exp)+"点实战经验\n" +chinese_number(pot)+"点潜能\n"); if(random(100)>95) { ob=new("/clone/money/gold"); ob->set_amount(random(3)+1); ob->move(me); tell_object(me,"发现了一些"+HIY"黄金"NOR+"。\n"NOR); } else if(random(200)>180) { me->add("eff_jing",-10); me->add("eff_qi",-100); tell_object(me,"挖出的石头划破了你的"+HIC"手"NOR+",你受了伤!"NOR+"。\n"NOR); } else if(random(200)>180) { me->add("eff_jing",-10); me->add("eff_qi",-100); tell_object(me,"挖出的石头划破了你的"+HIC"手"NOR+",你受了伤!"NOR+"。\n"NOR); } else if(random(200)>198) { me->apply_condition("snake_poison",10); me->add("qi",-10); tell_object(me,"挖出的东西有"+HIR"毒"NOR+",你受了伤!"NOR+"。\n"NOR); } else if(random(200)>198) { me->apply_condition("wugong_poison",10); me->add("qi",-10); tell_object(me,"挖出的东西有"+HIR"毒"NOR+",你受了伤!"NOR+"。\n"NOR); } else if(random(200)>198) { me->apply_condition("wugong_poison",10); me->add("qi",-10); tell_object(me,"挖出的东西有"+HIR"毒"NOR+",你受了伤!"NOR+"。\n"NOR); } else if(random(200)>198) { me->apply_condition("zhizhu_poison",10); me->add("qi",-10); tell_object(me,"挖出的东西有"+HIR"毒"NOR+",你受了伤!"NOR+"。\n"NOR); } else if(random(200)>198) { me->apply_condition("xiezi_poison",10); me->add("qi",-10); tell_object(me,"挖出的东西有"+HIR"毒"NOR+",你受了伤!"NOR+"。\n"NOR); } else if(random(200)>198) { me->apply_condition("chanchu_poison",10); me->add("qi",-10); tell_object(me,"挖出的东西有"+HIR"毒"NOR+",你受了伤!"NOR+"。\n"NOR); } else if(random(100)>95) { ob=new("/clone/money/silver"); ob->set_amount(random(10)+1); ob->move(me); tell_object(me,"发现了一些"+HIY"白银"NOR+"。\n"NOR); } else if(random(100)>95) { ob=new("/clone/money/coin"); ob->set_amount(random(20)+1); ob->move(me); tell_object(me,"发现了一些"+HIY"铜钱"NOR+"。\n"NOR); } else { int rand; rand=random(sizeof(box_object)); ob=new(__DIR__+box_object[rand]);if(random(201)==199) {message_vision(HIY "$N挖到了一个亮晶晶的宝石!!\n" NOR,me); ob=new("/clone/gem/gem");if (ob->query("level") >4){ ob=new("/clone/gem/gem");}if (ob->query("level") >4){ ob=new("/clone/gem/gem");} ob->move(me);}if(ob){ ob->move(me); tell_object(me,"发现了"+HIY":"+ob->query("name")+"."NOR+"。\n"NOR);}else tell_object(me,"结果什么也没有!"NOR+"。\n"NOR); } if ( query_temp("workchan") > 12) { message_vision(HIG"铁铲已经挖坏了!\n"NOR,me); destruct(this_object()); } return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?