看板 mud_sanc 關於我們 聯絡資訊
大致修正了兩個地方, 一個是誤把空物件(0)丟去戰鬥相關 函數因而產生的相關問題, 一個是 new_defence 函數的回 傳值(array)錯誤造成的相關問題。 new_defence 主要傳回一個 array.. dresult = ({ 傷害的計算後修正值, "傷害的訊息" }) 一般就令 damage = dresult[0], str = dresult[1] 在 /adm/daemons/user_d.c 及 /adm/daemons/shut_d.c 都會看到類似的東西. 我發現它有時會 return 空集合, 目前暫時是先以加判斷 來解決, 未來就是直接改 new_defence 函數來解決. 特別提這個是因為 new_defence 函數的由來就是先前寫在 /adm/daemons/fight_d.c 裡的 defence 函數, 將其改寫 成 simul_efun 而來的, 而今會跑出上述問題, 就代表該 問題以前就已經存在過. defence 函數被設計為不管是任何判斷情況都會有回傳值 , 最基本的就是 ({ 0 , "" }) 這樣的東西, 這東西當然 不能隨便定為預設回傳(不然有時應該造成傷害卻反而會 無傷害). 有空時我再看看 new_defence. Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.82.96.162