※ 引述《amosdeus (幽素)》之銘言:
你之前攻擊會出現 ERROR,是因為你的 shut 使用底下語法...
shut("攻擊敘述",殺傷,命中,"型態",對象);
正確的語法是...
frog->shut("攻擊敘述",殺傷,命中,"型態",對象);
: 我已經修改好了,測試之後還是有問題,照DARK2部份來看普通攻擊應該會打不中
: 測試的結果還是沒作用。
: 麻煩請再幫我看一下 謝謝
我完全沒看到你的 zi.c 哪邊有需要繼承 character.c 耶。
一、charecter.c 只是 inherit 了 MONSTER 然後寫了幾個函數.
二、然後 zi.c 繼承了 charecter.c 所以自然繼承了那些函數.
三、但是 zi.c 沒有任何一個地方,呼叫那些函數。
(也就是有繼承跟沒繼承一樣)
所以你的 zi.c 先 inherit MONSTER; 我去想一種寫法讓你的
character.c 有作用。
: : 打怪物,怪物馬上消失,寫法是在怪物裡頭自定 kill_ob 函數
: void kill_ob(object ppl)
: {
: write(query("chi_name")+"面露疑惑說道:"HIY"如果沒事,偶要回去煮飯嚕!!\n"NOR+
: query("chi_name")+"丟下你不管轉身離開了。\n");
: remove();
: return ;
: }
: > k zi
: 你對著(Q版)中原須奈子喝道: 「小王八蛋﹗今日不是你死就是我活﹗」
: 你開始攻擊 (Q版)中原須奈子.
: (Q版)中原須奈子面露疑惑說道:如果沒事,我要回去煮飯嚕!!
: (Q版)中原須奈子丟下你不管轉身離開了。
: □ □ □ 戰 鬥 開 始 □ □ □
: 執行時段錯誤: *Illegal to move or destruct an object (/u/p/plain/wide/virtue/npc/zhong#2296) defining actions from a verb function which returns zero.
: 程式: (0):0
: 物件: 0
: ○○○ 這場戰鬥結束了!! ○○○
: Plain@Sanc
嗯,不能用 void,改成 int 吧。
int kill_ob(object ppl)
{
write(query("chi_name")+"面露疑惑說道:"HIY"如果沒事,我要回去煮飯嚕!\n"NOR+
query("chi_name")+"丟下你不管轉身離開了。\n");
remove(); // 消失
// 若要保險起見也可以 this_object()->remove();
return 1;
}
降應該就沒問題了,上面那個錯誤是因為 move 類函數需有
回傳值(void 函數的回傳值是 空氣 所以才有錯誤訊息)。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.225.18.81
※ 編輯: laechan 來自: 61.225.18.81 (03/22 05:29)