box.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 107 行
C
107 行
//Cracked by Kafei// box.c 铁盒#include <ansi.h>inherit ITEM;void create() { set_name("铁箱", ({"box"})); set_weight(100); if( clonep() ) set_default_object(__FILE__); else { set("unit", "只"); set("long", "此盒高约一尺见方,不知道里面装着什么东西。\n"); set("material", "steel"); set("value", 100); set("no_get", 1); }}void init() { object ob = this_object(); //if (!ob->query("flag")) ob->set("flag", 0);
if( random(8)==1 )
ob->set("bomb", 1+ random(2) );
else if( random(16)==1 )
ob->set("hunterbow", 1+ random(2) );
else if( random(16)==1 )
ob->set("shortbow", 1+ random(2) );
else if( random(5)!=1 )
ob->set("arrow", 1+ random(5) );
add_action("do_open", "open");}int do_open(string arg) { object ob = this_object(), flag, npc, me=this_player(); if ( !arg || arg != "box" ) return notify_fail("你要将什么打开?\n");
if( me->is_busy() )return notify_fail("还在忙着呢!\n") ; if ( me->query_skill("dodge") > 200 && me->query("jingli") > me->query("max_jingli")/2 ) { if (ob->query("flag") == 1) {
message_vision("$N打开铁箱,发现箱中有一面旗帜。\n", me);
message_vision(HIR"$N“哗啦”一下展开了武林大旗!\n"NOR, me);
me->start_busy(7 + random(5));
flag = new(__DIR__"flag");
flag->move(me);
ob->set("flag", 0);
return 1;
}
else if (ob->query("bomb") > 0 ) {
message_vision(HIY"$N打开铁箱,发现箱中有一枚霹雳弹。\n"NOR, me);
message_vision(HIW"$N“赶紧把霹雳弹包到怀里!\n"NOR, me);
me->start_busy(16 + random(10));
flag = new(__DIR__"bomb");
flag->move(me);
ob->add("bomb", -1);
return 1;
}
else if (ob->query("hunterbow") > 0 ) {
flag = new(__DIR__"hunterbow");
flag->move(me);
message_vision(HIY"$N打开铁箱,发现箱中有一$n。\n"NOR, me,flag);
message_vision(HIW"$N“赶紧把$n包到怀里!\n"NOR, me,flag);
me->start_busy(8 + random(10));
ob->add("hunterbow", -1);
return 1;
}
else if (ob->query("shortbow") > 0 ) {
flag = new(__DIR__"shortbow");
flag->move(me);
message_vision(HIY"$N打开铁箱,发现箱中有一$n。\n"NOR, me,flag);
message_vision(HIW"$N“赶紧把$n包到怀里!\n"NOR, me,flag);
me->start_busy(8 + random(5));
ob->add("shortbow", -1);
return 1;
}
else if (ob->query("arrow") > 0 ) {
flag = new(__DIR__"arrow");
flag->move(me);
flag->set_amount(10);
message_vision(HIY"$N打开铁箱,发现箱中有一$n。\n"NOR, me,flag);
message_vision(HIW"$N“赶紧把$n包到怀里!\n"NOR, me,flag);
me->start_busy(4 + random(6));
ob->add("arrow", -1);
return 1;
}
else { message_vision("$N打开铁箱,发现里面是空的。\n", me); me->start_busy(8 + random(8)); return 1; } } else { message_vision(HIR"$N打开铁箱,突然铁箱中射出三支硬努,全部射在了$N身上!\n"NOR, me); me->receive_wound("qi", me->query("max_qi")+ 1); return 1; } return notify_fail("你要打开什么?\n");}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?