Re: [wizs] 問題請教(二十四)

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間14年前 (2011/07/21 20:37), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《amosdeus (幽素)》之銘言: : 第一個問題: : 6061 11/11 laechan R: [問題] 法術施展間隔 : 以前有, ready_attack 大概是這樣, 假設發特攻 +a, : 發法術 +b, 發動 en 攻擊 +c : a+c > 一回合極限 -> 下一回合 en 不發動 : b+c > 一回合極限 -> 下一回合 en 不發動 : 通常特攻的 ready_attack 都會比較短. : ================================================= : 但是因為 ready_attack 的累加經常出問題, 出問題時 : 玩家在戰鬥中就會一直發不出攻擊, 所以就取消了相關 : 判斷. : 請問現在用什麼參數當作特攻的延遲時間 : 作用是新的技能使用的到 : _slash : //劍術加速 20% Plain in 2011.07.19 : //劍術攻擊速度增加 Fencing quicken : if(me->query("skill/kencing quicken")) : { : me_ra = me->query("ready_attack"); : me_ra = ( me_ra / 10 ) * 2; : me->add("ready_attack",-me_ra); : } 既然只有新的技能會使用到,你可以自己寫,參數設在 temp_data 區的 time_record 欄位即可,例如 me->add_temp("time_record/ready_slash",-me_ra); : 第二個問題: : 請問如何玩家使用wp時 special 能夠被執行 : 新的技能的構想是當劍士學習到 魔法劍專精(Improved Magicslash) : 裝備劍類武器讀取 me->query("skill/improved magicslash") 技能英文名盡量取短一點,比方 xxx-magic slash。 : 可以執行劍類武器時 special 或者應該從哪個函數去作修改。 : Plain@Sanc 這個東西本來就有,那比較有可能的就是被 /* */ 掉了。 > grep -n special_fun *.c [/adm/daemons/mob_d.c] 383: call_other(me,"special_fun",me,tar); 392: call_other(wp,"special_fun",me,tar); > grep -n special_fun * [/adm/daemons/user_d.20100609] 1354: wp->special_fun(me,tar); 所以我才會說,請不要把前人的 /* */ 或 // 拿掉,不然 到時找不到屍體,要復原很困難。 這東西原先是寫在 /adm/daemons/user_d.c 的 execute_attack 函數裡頭,這很合理,玩家欲執行每次的 en/普攻 時就順便讀 取武器的 special 值來隨機執行武器特殊攻擊... /* else if(wp=me->query_wp()) { if(wp->query("special") > random(100)) { wp->special_fun(me,tar); return ; } } */ 因為沒有註明移除原因,所以不清楚為何移除,但移除一定是有 理由的(我猜跟當初的 debug 1 的 bug 有關)。 要復原可以,前提是: 1. special 值不能被濫設(很多都設 9x 以上,有設等於沒設) 2. 我會額外加幾個判斷來防止它被瞬間大量執行。 (用 time_record 來做就可) wp 的 special_fun 寫法跟 mob 的 special_fun 寫法相同。           Belldandy. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.9.179
文章代碼(AID): #1EA1sAlY (mud_sanc)
討論串 (同標題文章)
文章代碼(AID): #1EA1sAlY (mud_sanc)