Re: [問題] 一些函數用法的問題。
看板mud_sanc (Sanctuary - 聖殿)作者doall (狂人)時間18年前 (2007/12/20 23:41)推噓0(0推 0噓 1→)留言1則, 1人參與討論串25/35 (看更多)
我嘗試想用heart_beat做出會在戰鬥中自己攻擊的eq
但是...似乎沒有出現我要的效果
不知道是不是我寫錯,或者在wear之後eq的heart beat會消失?
以下附上原始碼
inherit ARMOR;
void create()
{
seteuid(getuid(this_object()));
set("id",({"deep lake gloves","gloves"}));
set("short",GRN"深潭"HIP"手套"NOR"(deep lake gloves)");
set("long",@LONG
碧潭鎮中被譽為傳奇的手套。
LONG
);
set("mass",100);
set("value",5000);
set("type","gloves");
set("hide",1);
set("no_break",95);
set("effect/stat-str",5);
set("effect/stat-air",5);
set("effect/stat-mag",-30);
set("sdata",({"names"}));
set("level",140);
set("armor",100);
set_heart_beat(1);
}
int wear_func()
{
if((string)this_player()->query("name")!=query("names"))
{
write(this_object()->query("short")+"只有 "+query("names")+" 才能穿戴喔
!\n");
return 0;
}
write(HIW"你穿上"+query("short")+"\n"NOR);
return 1;
}
void attacking()
{
object player,target;
int i,att_times,damage;
string *att_str;
att_str = ({
HIP+"\t咻~伴隨一聲巨大的破空聲,只見眼前一隻銀色冰龍向$O飛竄而去
!\n"+NOR,
HIW+"\t$N雙手各凝出兩枚大冰球,向$O砸去!\n"+NOR,
HIC+"\t數枚冰錐忽地向$O飛去!\n"+NOR,
});
i = random(sizeof(att_str));
att_times = pow(2,i);
if(i == 2) att_times = att_times+random(10);
damage = (player->query("mag"))*100/att_times + random(10000);
player = environment(this_object());
target = player->query_current_attacker();
if(i == 2) tell_room(environment(player), HIC"氣溫驟降!
"+player->query("chi_name")+
"周身水氣凝結成數枚指頭大小的
冰錐!\n"NOR);
player->shut(att_str[i],damage,8000-300*att_times,({"ice","magic",3}),target,att_times);
}
int sec = 0;
int heart_beat()
{
player = environment(this_object());
if(sec > 20){
sec = 0;
write("$N手上的深潭手套散發著強烈的深藍色光芒!\n\n");
if (random(2) == 1 && player -> query_current_attacker())
attacking();
}
return 1;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.142.53
→
12/20 23:46, , 1F
12/20 23:46, 1F
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
15
26