看板 mud_sanc 關於我們 聯絡資訊
200.飛天蜈蚣(FlyingCentipede)[50群飛天蜈蚣] /d/ppl/justinj/sky/mob/centipede5 190.飛天蜈蚣(FlyingCentipede)[20群飛天蜈蚣] /d/ppl/justinj/sky/mob/centipede4 170.飛天蜈蚣(FlyingCentipede)[5群飛天蜈蚣] /d/ppl/justinj/sky/mob/centipede3 140.飛天蜈蚣(FlyingCentipede) /d/ppl/justinj/sky/mob/centipede2 70.飛天蜈蚣(FlyingCentipede) /d/ppl/justinj/sky/mob/centipede 有五種飛天蜈蚣 我不太贊成有複數檔名的情況下怪物名稱都一樣,希望至少能做 兩三種區別,尤其是特別的那一兩隻。 int special_fun(object frog,object ppl) { object env; int i; tell_object(ppl,query("short")+HIM"對你使出異界傳送!\n"NOR); if(ppl->query("anti_effect/space") > random(50)) { tell_object(ppl,HIG"但被你反抗掙脫了!\n"NOR); return 1; } 異界傳送如果失敗,玩家會看到訊息。 env = environment(frog); i = strlen(ROOT)+4; i = atoi(base_name(env)[i..i]); if(i==2) ppl->move_to(sprintf(ROOT"room/%03d",random(200))); else ppl->move_to(sprintf(ROOT"room%d/%03d",i-1,random(200))); 這裡則請 justin 幫忙看一下是否有隱藏的錯誤,有玩家反映沒看到 失敗的訊息,但無法傳送成功。 (%03d我沒用過,我一般都用 %3d) 通常我會加兩行 if(!frog) return 1; else if(!env=environment(frog)) return 1; 以此來確保一定有 env (後面僅管 frog 可能被瞬殺了也沒差) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.126.145.135 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/mud_sanc/M.1695864956.A.029.html
justinj : 如果怪在非ROOT/roomX上判斷應該會出問題..修改之 09/28 11:52