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

看板mud_sanc (Sanctuary - 聖殿)作者 (幽素)時間17年前 (2008/10/26 17:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/7 (看更多)
※ 引述《laechan (小太保)》之銘言: : ※ 引述《amosdeus (幽素)》之銘言: : : 問題一: : : 我想做的每次使用者攻擊都會損失ㄧ定值得血量, : 可以從使用者每次攻擊時會呼叫哪些函數來考量,上面的函數就是 : 其中之一,但是不一定要用那個函數來實現。 : 那個函數我沒記錯的話是寫在防具上的,而 user_d.c 裡頭有一行 : 就是判斷如果玩家有裝備「特殊的東西」時就呼叫該東西自定的上 : 述函數 add_damage_percent。 : : 而被攻擊者如果是正道德傷害則在加深, : : 問題是這個函數只有在玩家裝備時才使用到, : : 請問有別的方法做到,每次攻擊就判斷嗎? : 有,玩家每次攻擊時必定會呼叫 user_d.c 的 continue_attack以 : 及 normal_attack 兩個函數,一般損血設定有幾種... : 1)ppl->set_temp("損血公定參數",1); : 即玩家每攻擊一次→損血→上面的xx就減一 : 則系統可以寫成自行判斷該參數的有效次數 : 所以重點在於你是要在什麼時機,讓玩家觸發這個函數來損血,以 : 及玩家在什麼條件下該觸發會停止,以上面2)跟3)的情況我可以配 : 合在 /adm/daemons/user_d.c 裡頭寫相關判斷。 : (這跟五毒珠的設計流程相似,先有五毒珠,我再配合五毒珠去修 : 改 /std/user.c 裡頭的中毒效果相關函數) : : 這個函數判斷是攻擊結束外的傷害在額外增加 : : 有在攻擊時就增加的嗎? : : 舉列:比方使用技能時傷害為五十萬這時就加入額外傷害十萬 : : 變成傷害為六十萬在到 receive_damage 這裡做判斷。 : : 這個函數有判斷 dam 型態不會增加傷害 : : 是否可以加入呢? : 那上面的公定參數以及它的資料型態(int/string/mixed/mapping) : 要先定義出來,主要看你要讓這個參數定哪幾種資料。 : 像毒 poison 就是定了三項資料,你可以仿照,或依自己的需要來 : 設。這個由你來決定,我主要是提供修改建議,並在確認後將其寫 : 進系統內,再由你來測試。 : : 或是另設一個參數,做到以上提出的問題? 這裡我要做的是當玩家裝備該項武器,再戰鬥中每次攻擊便會判斷敵方 的道德是否加深傷害以及自身受到該裝備的反饋(損傷),直到玩家卸除 該裝備為止。 1)ppl->set_temp("損血公定參數",1);則 wiz 要另定該參數如何使其消失. 這個是比叫符合需求,參數的部份為 ppl->set_temp("special_hurt",傷害數值); 傷害數值可自由設定。 攻擊函數的部份,這幾天做好之後再提出。 : >look : 小房間 : 這是一個房間。 : 黃色炸藥 TNT (TNT) : (隱形物件)黃色炸藥 TNT (TNT) : 我剛實裝了隱形物件,你可以再試試,測試方式是設某個物 : 件的 invis >0,然後開 wiz char 及 ppl char 下 look看 : 看結果。 : (隱形物件只適用於該物品在房間的情況) : 其它的明天再回。 測試沒問題, 感謝! : 問題三: : 當程式是在一堆判斷裡面的時候 shut 傷害如果超過三百五十萬, : 就會出現問題,造成有傷害數字出現然實際上卻沒損傷, : 如果程式裡面只有 : user->shut(XXXXXXX,dam,hit,({"fire","air",3}),tar); : 這樣一行的攻擊時 shut 傷害即使是超過三百五十萬也會執行, : 並實際地扣血,請問能把 shut 攻擊程式 copy 給我,讓我知道那裡寫錯嗎? : 這個玩家可使用的技能。 : 有實際檔案 more 比較能判斷你哪邊寫錯。 : 我猜有可能是你的 user or tar 中途消失,或者 dam、hit 中途 : 被改變,因為你是寫在一堆程式敘裡頭的。 目錄:/d/slash/burnperfume.c 有問題的部份是 case 15: 第 216 行 這招我想把它做成 dam * 2 但是因為超過攻擊直就會爆掉, 所以拆成兩招。 : 問題四: : user->shut(XXXXXX,dam,hit,({"fire","magic",3}),tar); : 我想寫 magic 種類技能無效的 MOB 但是在 mixed shield : 函數中怎麼設都不行,請問該如何判斷? data plain 裡面有的參數為 anti_percent : ([ ]) 這個參數不曉得是做啥用的,如果目前還沒規劃是否可以做成 跟 anti_effect : ([ "all" : 80 ]) 參數相同的東西。 舉例: set("anti_percent/magic",20); 那魔法類型攻擊就有20%的抵抗 set("anti_percent/magic",100); 那麼魔法類型的攻擊變無效 只是這有個問題,當玩家使用 shut2 類型的攻擊時就會跳過不判斷 所以該 MOB 必須增加防 shut2 的判斷(這好解決)。 Plain@Sanc -- 咽咽學楚吟 病骨傷幽素 秋姿白髮生 木葉啼風雨 燈青蘭膏歇 落照飛蛾舞 古壁生凝塵 羇魂夢中語 傷心行 李賀 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.175.51.49
文章代碼(AID): #1913Z8jo (mud_sanc)
文章代碼(AID): #1913Z8jo (mud_sanc)