referee.pk
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· PK 代码 · 共 95 行
PK
95 行
// referee.c
inherit NPC;
#include <ansi.h>;
int do_bihua(string arg);
string ask_me();
int do_halt();
void create()
{
set_name("公平子", ({ "gongping zi", "zi", "referee" }) );
set("gender", "男性");
set("age", 35);
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 :),
]));
setup();
carry_object("/clone/misc/cloth")->wear();
carry_object("/d/city/obj/changjian")->wield();
}
void init()
{
::init();
add_action("do_bihua", "bihua");
add_action("do_bihua", "bi");
add_action("do_bihua", "fight");
add_action("do_halt", "halt");
add_action("do_halt", "h");
}
string ask_me()
{
object* ob;
int i;
ob = users();
if ( !wizardp(this_player()) ) return "你无权召开比武大会!\n";
for ( i=sizeof(ob); i>0; i-- ) {
ob[i-1]->move("/d/huashan/sheshen");
}
return "好,现在比武大会第一组正式开始,全体成年选手集合!\n";
}
int do_bihua(string arg)
{
object ob1, ob2;
object old_target;
ob1 = this_player();
if( !arg || arg=="" ) return 0;
if ( arg == "gongping zi" || arg == "zi" || arg == "referee" )
{
command("say " + "你不能跟我比划!\n");
return 1;
}
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 + -
显示快捷键?