tuzhu.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 304 行
C
304 行
#include <ansi.h>
inherit ITEM;
void create()
{
set_name(HIB"土灵珠"NOR, ({ "tuzhu" }) );
set_weight(1);
set("no_put", 1);
if( clonep() )
set_default_object(__FILE__);
else {
set("no_put", 1);
set("no_steal", 1);
set("no_get", 1);
set("no_beg", 1);
set("value", 100000);
set("unit", "颗");
set("material", "paper");
set("long", "你可以用(gohome),或(usezhu)来离开迷宫。用(setzhu)来设置空间门位置\n");
}
setup();
}
void init()
{
add_action("do_eatt", "gohome");
add_action("do_eat", "usezhu");
add_action("do_set", "setzhu");
}
int do_set(string arg)
{
object *inv;
int sizeinv;
object me = this_player();
string target;
if (!id(arg))
return notify_fail("你要用什么?\n");
inv=all_inventory(me);
sizeinv=sizeof(inv);
while (sizeinv--)
{
if (inv[sizeinv]->is_character())
return notify_fail("你不能背着人用土珠!\n");
}
if (me->is_fighting())
return notify_fail("你正打的热闹着呢!\n");
if (me->is_busy())
return notify_fail("你正热闹着呢!\n");
if (me->query("neili")<1000)
return notify_fail("你的内力不足!\n");
me->delete("vendetta/authority");
if(environment(me)->query("short")==BLU"山洞"NOR
||environment(me)->query("short")==WHT"钟乳石洞"NOR
||environment(me)->query("short")==YEL"岩洞"NOR
||environment(me)->query("short")==RED"熔岩洞"NOR
||environment(me)->query("short")==CYN"石洞"NOR
||environment(me)->query("magicroom"))
{
target=(string)file_name(environment(me));
me->set("jobtarget",target);
me->start_busy(8);
message_vision(HIG "$N吃把珠拿出,一阵光辉笼罩了你!\n" NOR, me);
message_vision(HIG "下次使用土灵珠你将会直接来到这里!\n" NOR, me);
me->add("neili",-1000);
}
else
{
message_vision(HIG "$N这里不能使用!\n" NOR, me);
}
return 1;
}
int do_eat(string arg)
{
string msg;
object *inv;
int sizeinv;
object me = this_player();
object tarset;
if (!id(arg))
return notify_fail("你要用什么?\n");
inv=all_inventory(me);
sizeinv=sizeof(inv);
while (sizeinv--)
{
if (inv[sizeinv]->is_character())
return notify_fail("你不能背着人用土珠!\n");
}
if (me->is_fighting())
return notify_fail("你正打的热闹着呢!\n");
if (me->is_busy())
return notify_fail("你正热闹着呢!\n");
if (me->query("neili")<1000)
return notify_fail("你的内力不足!\n");
if(environment(me)->query("short")==BLU"山洞"NOR
||environment(me)->query("short")==WHT"钟乳石洞"NOR
||environment(me)->query("short")==YEL"岩洞"NOR
||environment(me)->query("short")==RED"熔岩洞"NOR
||environment(me)->query("short")==CYN"石洞"NOR
||environment(me)->query("magicroom"))
{
if (!me->query("jobtarget"))
{
me->move("d/city/guangchang");
}
else{
tarset=me->query("jobtarget");
msg=me->query("jobtarget");
if (me->query_condition("migongmove"))
return notify_fail("你刚刚用过移动点,等会再来吧!\n");
if (strsrch(msg,"lev19")>1
&& (int)me->query_skill("magic-ice",1) > 10)
{
me->set_temp("jobtar","/d/migong/lev19/dong2"+(random(5)+1));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev18")>1
&& (int)me->query_skill("magic-earth",1) > 10)
{
me->set_temp("jobtar","/d/migong/lev18/dong2"+(random(5)+1));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev17")>1
&& (int)me->query_skill("magic-water",1) > 10)
{
me->set_temp("jobtar","/d/migong/lev17/dong2"+(random(5)+1));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev16")>1
&& (int)me->query_skill("magic-fire",1) > 10)
{
me->set_temp("jobtar","/d/migong/lev16/dong2"+(random(5)+1));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev14")>1)
{
me->set_temp("jobtar","/d/migong/lev14/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev14/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev14/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev13")>1)
{
me->set_temp("jobtar","/d/migong/lev13/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev13/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev13/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev12")>1)
{
me->set_temp("jobtar","/d/migong/lev12/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev12/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev12/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev11")>1)
{
me->set_temp("jobtar","/d/migong/lev11/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev11/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev11/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev10")>1)
{
me->set_temp("jobtar","/d/migong/lev10/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev10/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev10/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev9")>1)
{
me->set_temp("jobtar","/d/migong/lev9/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev9/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev9/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev8")>1)
{
me->set_temp("jobtar","/d/migong/lev8/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev8/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev8/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev7")>1)
{
me->set_temp("jobtar","/d/migong/lev7/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev7/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev7/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev6")>1)
{
me->set_temp("jobtar","/d/migong/lev6/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev6/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev6/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev5")>1)
{
me->set_temp("jobtar","/d/migong/lev5/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev5/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev5/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev4")>1)
{
me->set_temp("jobtar","/d/migong/lev4/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev4/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev4/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev3")>1)
{
me->set_temp("jobtar","/d/migong/lev3/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev3/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev3/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}if (strsrch(msg,"lev2")>1)
{
me->set_temp("jobtar","/d/migong/lev2/dong0"+(random(5)+1));
if (random(3)==1) me->set_temp("jobtar","/d/migong/lev2/dong"+(random(21)+50));
if (random(3)==2) me->set_temp("jobtar","/d/migong/lev2/dong"+(random(21)+30));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev20")>1
&& (int)me->query_skill("magic-light",1) > 10)
{
me->set_temp("jobtar","/d/migong/lev20/dong2"+(random(5)+1));
tarset=me->query_temp("jobtar");
}
if (strsrch(msg,"lev21")>1
&& (int)me->query_skill("magic-dark",1) > 10)
{
me->set_temp("jobtar","/d/migong/lev21/dong2"+(random(5)+1));
tarset=me->query_temp("jobtar");
}
me->move(tarset);
me->apply_condition("migongmove",18);
message_vision(HIG "$N吃把珠拿出,一阵光辉笼罩了你!\n" NOR, me);
}
me->start_busy(8);
message_vision(HIG "$N吃把珠拿出,一阵光辉笼罩了你!\n" NOR, me);
me->add("neili",-1000);
destruct(this_object());
}
else
{
message_vision(HIG "$N这里不能使用!\n" NOR, me);
}
return 1;
}
int do_eatt(string arg)
{
object *inv;
int sizeinv;
object me = this_player();
object tarset;
if (!id(arg))
return notify_fail("你要用什么?\n");
inv=all_inventory(me);
sizeinv=sizeof(inv);
while (sizeinv--)
{
if (inv[sizeinv]->is_character())
return notify_fail("你不能背着人用土珠!\n");
}
if (me->is_fighting())
return notify_fail("你正打的热闹着呢!\n");
if (me->is_busy())
return notify_fail("你正热闹着呢!\n");
if(environment(me)->query("short")==BLU"山洞"NOR
||environment(me)->query("short")==WHT"钟乳石洞"NOR
||environment(me)->query("short")==YEL"岩洞"NOR
||environment(me)->query("short")==RED"熔岩洞"NOR
||environment(me)->query("short")==CYN"石洞"NOR
||environment(me)->query("magicroom"))
{
me->apply_condition("migongmove",18);
me->move("d/migong/migong3");
me->start_busy(8);
message_vision(HIG "$N吃把珠拿出,一阵光辉笼罩了你!\n" NOR, me);
destruct(this_object());
}
else
{
message_vision(HIG "$N这里不能使用!\n" NOR, me);
}
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?