referee.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 134 行

C
134
字号
// referee.c 公平子inherit NPC;#include <ansi.h>;int do_bihua(string arg);string ask_me();int do_halt();int do_no();void create(){        set_name("公平子", ({ "gongping zi", "zi", "referee" }) );        set("gender", "男性");        set("age", 35);        set("no_get", 1);        set("long",                "这是一位仙风道骨的中年道人,早年云游四方,性好任侠,公正无私。\n");        set("combat_exp",60000);        set("shen_type", 1);        set("attitude", "friendly");        set("apply/attack", 50);        set("apply/defense", 50);        set("max_qi", 800);        set("max_jing", 800);        set("max_neili", 800);        set_skill("force", 80);        set_skill("unarmed", 80);        set_skill("sword",80);        set_skill("parry",80);        set_skill("dodge", 80);        set("inquiry", ([                "比武大会"       : (: ask_me :),                "武林大会"       : (: ask_me :),        ]));        setup();        carry_object("/clone/misc/cloth")->wear();        carry_object("/clone/weapon/changjian")->wield();}void init(){        ::init();        add_action("do_start", "start");        add_action("do_bihua", "bihua");        add_action("do_bihua", "bi");        add_action("do_bihua", "hit");        add_action("do_bihua", "kill");        add_action("do_bihua", "fight");        add_action("do_bihua", "qiecuo");        add_action("do_halt", "halt");        add_action("do_halt", "h");        add_action("do_no", "beg");        add_action("do_no", "steal");        add_action("do_no", "quanjia");        add_action("do_no", "persuade");        add_action("do_no", "touxi");        add_action("do_no", "ansuan");}string ask_me(){        object* ob;        int i;        ob = users();        if ( !wizardp(this_player()) ) return "你无权召开比武大会!\n";/*        for ( i=sizeof(ob); i>0; i-- )         {                if (environment(ob[i-1]))                {                        ob[i-1]->move("/d/city/wudao1");        		ob[i-1]->set_temp("view_leitai",1);                }        }*/        return "好,现在比武大会正式开始,全体集合!\n";}int do_no(){        command("say " + "这里众目睽睽,岂能做此不才之事。\n");        return 1;}int do_start(){        int i,j;	object *allob, ob1, ob2, old_target, where;        if (!wizardp(this_player()))        {             command("say " + "比武要巫师发令才开始!\n");             return 1;        }        allob = all_inventory(environment(this_player()));        ob1 = this_object();        ob2 = this_player();        j = 0;        for ( i=sizeof(allob); i>0; i-- ) {             if ( userp(allob[i-1]) &&                 !wizardp(allob[i-1]))             {                if (j == 0)                {                    ob1 = allob[i-1];                    j = 1;                }                else ob2 = allob[i-1];              }        }        if (ob2 != this_player()) ob1->fight_ob(ob2);        if (ob1 == ob2) return notify_fail("只有一个人不能比武。\n");/*        ob1 = this_player();        if ( this_object()->query_temp("busy") )                return notify_fail("每次只能有两人参加比武。\n");        if (!ob2 = present(arg,environment(ob1)) )                return notify_fail("你想跟谁比划?\n");        if (ob1 == ob2)    return notify_fail("只有一个人不能比武。\n");        if( userp(ob2) && (object)ob2->query_temp("pending/fight") !=ob1 ) {                message_vision("\n$N对着$n说道

⌨️ 快捷键说明

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