文字MUD游戏论坛-天下泥潭群英会-水泊梁山

文字MUD游戏论坛-天下泥潭群英会-水泊梁山 (http://www.aolai.org/forums/)
-   『 梁山论剑 』 (http://www.aolai.org/forums/f3/)
-   -   无底洞 详解天魔台 (http://www.aolai.org/forums/t8542/)

roseprince 2004-12-21 01:58

详解天魔台
 
inherit ROOM;

int do_leap();
void reset();

void create ()
{
set ("short", "秘洞");
set ("long", @LONG

这里是无底洞的一条秘道,寻常小妖不准进出。正待迈步,突然发现
脚下竟是万丈深渊,黑漆漆的,望不见底。黑暗之中你极目远眺,只
见模模糊糊的似乎是另一处悬崖。看上去两峰之间不过一纵之遥,但
一失足。。。
LONG);
set("outdoors", 0);
setup();
}
void init()
{
add_action("do_leap", "leap");
add_action("do_leap", "jump");
add_action("do_leap", "tiao");
add_action("do_push", "push");
add_action("do_push", "tui");
}
int do_leap()
{
object me, corpse;
int mydodge,mykar,factor,mypot,mylp,mynewpot;
int i;
object *inv;
me=this_player();
mydodge=(int)me->query_skill("dodge");
mykar=(int)me->query_kar();
factor=mydodge+mykar*4;

inv=all_inventory(me);
i=sizeof(inv);

message_vision("$N向崖外跳了出去。\n", me);

while (i--)
{
if(userp(inv[i])) {
me->move("/d/qujing/wudidong/yadi");
message_vision("$N一个没站稳,掉下绝崖,粉身碎骨,西天去了!\n", me);
me->delete_temp("last_damage_from");
me->set_temp("death_msg", "摔死了。\n");
me->die();
me->save();
inv[i]->move("/d/qujing/wudidong/yadi");
return 1;
}
}


if ( (string)me->query("family/family_name") != "陷空山无底洞" ) {
if( random(mykar) < 10 || mydodge < 100 ) {
me->move("/d/qujing/wudidong/yadi");
message_vision("$N一个没站稳,掉下绝崖,粉身碎骨,西天去了!\n", me);
me->delete_temp("last_damage_from");
me->set_temp("death_msg", "摔死了。\n");
me->die();
me->save();
return 1;
}
}else{
if( random(mykar) < 5 || mydodge < 100 ) {
me->move("/d/qujing/wudidong/yadi");
me->unconcious();
return 1;

}
}
message_vision("$N腾空纵起,跳到对崖去了。\n", me);
me->move(__DIR__"cave2");
message_vision("$N跳了过来。\n",me);
return 1;
}

int do_push(string arg)
{
object me=this_player();
int myeffstr=me->query_skill("unarmed",1)/10-2+me->query("str");
int mystr=me->query_str();
int myforce=me->query("maximum_force");

if ( !arg || ((arg !="men") ))
return notify_fail("你要推什么? \n");
if ( mystr <50 || myeffstr<20)
return notify_fail("你力气太小了,推不动! \n");
if (random(myforce)>1000)
{
message_vision("$N推石门时用力过猛,似乎受了内伤。\n", me);
me->add_maximum_force(-myforce/100);
}
message_vision("$N一推石门,突然间,一阵阴风把$N推到了另一间房间去了。\n", me);
me->move(__DIR__"inner-bedroom");
message_vision("石门翻转处,$N走了过来。\n", me);
return 1;
}

以上是这个房间的代码
判断依据如下:
1. 身上的东西
if(userp(inv[i]))
这里的userp函数是什么我也不清楚,不过身上不穿东西应该是没问题的
2. 是不是无底洞的
如果不是:
判断如果dodge<100 或者随机福缘<10,直接摔死
如果是:
dodge<100 或者 随机福缘<10,直接摔死
否则,重新取一个随机福缘
dodge<100 或者 随机福缘<5,晕倒在崖底


所以,如果不想摔死
1. dodge>100,
2. 福缘尽量高
3. 裸体
4. 运气....

roseprince 2004-12-21 02:05

更正,所有的或者改成并且。

argus 2004-12-21 16:08

我认为,所有的“或者”不能改成“并且”。
就是说,“dodge<100 或者随机福缘<10,直接摔死”这句话的意思是:
dodge必须大于100,并且随机福缘>10才可以跳过去。
单单dodge>100或者随机福缘>10不一定能跳过去。

userp(inv[i])是用来判断是否背人了,背人跳崖必死。

另外,无底洞的如果不背人,不会被摔死,并且跳过去的几率较高。

icper 2004-12-26 23:58

回复: 详解天魔台
 
nod
fail 判断用 or
pass 判断用 and

xiaoliu 2004-12-29 17:44

回复: 详解天魔台
 
晕。这也是详解呀。
糊涂了。 :em01: :em01:

banbanba 2005-01-15 23:46

回复: 详解天魔台
 
路过,顺便灌水。。。。。。。

dysea 2005-02-02 14:22

回复: 详解天魔台
 
问个有点白痴的问题: 没有yaofa可以练起来吗?

medu 2005-02-02 19:15

回复: 详解天魔台
 
引用:

作者: dysea
问个有点白痴的问题: 没有yaofa可以练起来吗?

可以。但你的其他特殊法术(除seashentong外)必须小于50级

luoyiluoyi888 2005-02-02 20:35

回复: 详解天魔台
 
看不懂了,说清楚点???

steve2046 2007-01-20 08:48

回复: 详解天魔台
 
谢谢大家指点!


所有时间均为格林尼治时间 +9, 现在的时间是 02:36.

Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号

站长 fengyue


Content Relevant URLs by vBSEO 3.6.1