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

📄 biao.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// biao.c#include <ansi.h>inherit ITEM;void create(){        set_name("镖银", ({ "biao yin", "biao","yin" }) );        set_weight(2000);        if( clonep() )                set_default_object(__FILE__);        else {                set("unit", "箱");                set("long", "这是一箱林总镖头托你运送的镖银。\n");        }}void init(){        add_action("do_give", "give");        add_action("do_put", "put");	add_action("do_guard", "guard");        remove_call_out("attract_robber");        call_out("attract_robber", 1);        if(query("target") ) {                remove_call_out("set_target");                call_out("set_target", 4, query("target"));                delete("target");               //add 4 seconds' delay, can't be so fast        }}void set_target(string target){        set("target", target);}int do_give(string arg){        object me,ob,silver, home;        string obj,target,msg;        int i;        if(!arg || sscanf(arg,"%s to %s",obj,target)!=2 )                if(sscanf(arg,"%s %s", target, obj) !=2 )                               return 0;        if(!id(obj) )   return 0;        me = this_player();        if(!ob=present(target,environment(me)) ) {                tell_object(me,"你想要把镖银交给谁?\n");                return 1;        }        if(ob->query("id")!=query("target") ) {                tell_object(me,"你不能把这样东西给这个人。\n");                return 1;        }        if(ob->query_temp("unconcious") ) {                tell_object(me,ob->query("name")+"已经无法收下这样东西了。\n");                return 1;        }/*        if(!home = find_object(ob->query("startroom")) )                home = load_object(ob->query("startroom"));        if(ob->query("id") != "kong kong-er"         && base_name(environment(ob)) != ob->query("startroom") ) {                tell_object(me, ob->query("name")+"说道:你还是到"+home->query("short")+"来找我吧。\n");                return 1;        }*/        message_vision("$N拿出一箱镖银交给了"+ob->query("name")+"。\n",me);        if((time()-me->query("biao_start"))>me->query("biao_time") ) {                message_vision("$N很生气地对$n说道:这么点儿事都办不好,真没用!\n",                        ob,me);                tell_object(me,"你没有及时把镖银送到"+ob->query("name")+"的手中,你的任务失败了!\n");                me->set("biao_failed",1);        }        else {                i=query("amount")/100;                tell_object(me,"恭喜你成功地将镖银送到了"+ob->query("name")+"的手中。\n");                message_vision(CYN"$N对$n笑道:好!这里是一成红利,你拿去吧。\n"NOR,ob,me);                msg=sprintf("$N拿出%s两银子交给$n。\n",chinese_number(i));                if(!silver=present("silver",me) ) {                        silver=new("/clone/money/silver");                        silver->move(me);                        silver->set_amount(i);                }                else    silver->add_amount(i);                message_vision(msg,ob,me);                i=1+random(me->query("kar") ) * 8;                tell_object(me,sprintf(WHT"你获得了%s点战斗经验!\n"NOR,chinese_number(i*3/2)) );                me->add("combat_exp",i*3/2);                i=2+random(me->query("kar") ) * 8;                tell_object(me,sprintf(WHT"你获得了%s点潜能!\n"NOR,chinese_number(i)) );                me->add("potential",i);                me->start_busy(6);                me->delete("biao_start");                me->delete("biao_time");        }        me->receive_damage("qi", random(10) + 20);        me->receive_damage("jing", random(10) + 20);        destruct(this_object());        return 1;}void attract_robber(){        object ob, robber, room1, room2;        int i;	ob = this_player();        if(!userp(ob = environment(this_object())) )    return;        room2 = environment(ob);        if(room1 != room2 && room2->query("outdoors") //                && random(ob->query("kar")) < 1) {                ) {/*                if(ob->query("combat_exp") < 2000 )                        i = 1+ random(3);                if(ob->query("combat_exp") < 10000 )                        i = 4+ random(3);                if(ob->query("combat_exp") < 80000 )                        i = 7+ random(3);                if(ob->query("combat_exp") >= 80000 )                        i = 10+ random(3);*/                robber = new(__DIR__"robber");//                robber->set_leader(this_player());                robber->move(room2);                robber->set_leader(this_player());		robber->kill_ob(this_player());                room1 = room2;                return;        }        remove_call_out("attract_robber");        call_out("attract_robber", 1);}int do_put(string arg){        string biao, bag;        if(!arg)        return 0;        if(sscanf(arg, "%s in %s", biao, bag) != 2)     return 0;        if(present(biao, this_player()) || biao == "all" ) {                tell_object(this_player(), "你要把镖银放到哪里?\n");                return 1;        }        return 0;}int do_guard(string arg){        write(this_player()->query("name")+",你现在不能用guard!\n");        return 1;}

⌨️ 快捷键说明

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