Re: [問題] 一些函數用法的問題。

看板mud_sanc (Sanctuary - 聖殿)作者 (狂人)時間18年前 (2007/12/20 23:41), 編輯推噓0(001)
留言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
以上code的發動判定尚未完善
12/20 23:46, 1F
文章代碼(AID): #17QeqPH7 (mud_sanc)
討論串 (同標題文章)
文章代碼(AID): #17QeqPH7 (mud_sanc)