Re: [wizs]問題請教(二十一)
看板mud_sanc (Sanctuary - 聖殿)作者amosdeus (幽素)時間17年前 (2008/10/26 17:30)推噓0(0推 0噓 0→)留言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
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
13
30