[ WE ] 想問一下 助攻系統

看板WarCraftChat作者 (Horazon)時間13年前 (2011/05/10 06:00), 編輯推噓2(2025)
留言27則, 7人參與, 最新討論串1/1
就是dota類的助攻系統 (os的好像最完善) 比如說 在10秒內對英雄A造成傷害的有英雄B C D C最後殺死了A C得到尾刀賞金 這時候我要怎麼判斷B 和 D曾經做過傷害? 目前的想法是用一個10x10的陣列 (應該只需要5x5x2) 每個欄位儲存 某英雄對另一英雄 最後造成傷害的時間 以英雄死亡時間和 最後傷害時間做判斷是否有助攻 不過這樣 每個英雄每次做出傷害都要執行觸發 不知道會不會造成太多負荷? 有人能幫我稍微說明一下目前dota遊戲的做法嗎? 不用完整觸發 只要大概說明一下就好 感謝^_^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.164.81

05/10 12:05, , 1F
一個hash table直接存最後造成傷害時間就可以了
05/10 12:05, 1F

05/10 12:06, , 2F
這類作法本來就得要每次造成傷害就存
05/10 12:06, 2F

05/10 12:16, , 3F
我不知道助攻是怎麼做的 但是每次傷害就觸發不會造成什麼
05/10 12:16, 3F

05/10 12:16, , 4F
負荷
05/10 12:16, 4F

05/10 12:45, , 5F
OS 上Debuff也會有助攻
05/10 12:45, 5F

05/10 13:21, , 6F
只針對hero 10隻是還好,..全域傷害都有人做了
05/10 13:21, 6F

05/10 16:18, , 7F
應該只是用倒數器,傷害或施放技能的對象在倒數結束
05/10 16:18, 7F

05/10 16:18, , 8F
前死亡,紀錄為一次助攻。這應該是最有效率的作法
05/10 16:18, 8F

05/10 16:29, , 9F
這樣還得創timer, 並且還是得用傷害trg去處理timerStart
05/10 16:29, 9F

05/10 16:31, , 10F
以有吸到經驗來抓 可不可以
05/10 16:31, 10F

05/10 16:39, , 11F
只要在timer倒數結束後再用一次傷害trg重啟就好
05/10 16:39, 11F

05/10 16:39, , 12F
不需要每次傷害都觸發timerStart
05/10 16:39, 12F

05/10 16:40, , 13F
只要傷害觸發timerStart以後,就關閉這個傷害觸發
05/10 16:40, 13F

05/10 16:40, , 14F
在倒數結束以後再重啟傷害觸發
05/10 16:40, 14F

05/10 16:41, , 15F
這樣就只是十幾秒一次傷害觸發而已,吃資源就少了
05/10 16:41, 15F

05/10 21:32, , 16F
5隻打同1隻會開5個timer, 我們前面說的作法都是存在被傷害者
05/10 21:32, 16F

05/10 21:32, , 17F
身上
05/10 21:32, 17F

05/10 21:50, , 18F
再者, 若timerStart後關閉傷害tri, 5分鐘時有造成傷害
05/10 21:50, 18F

05/10 21:50, , 19F
更正, 5秒
05/10 21:50, 19F

05/10 21:51, , 20F
傷害trig開啟後, 5秒內該敵人死亡, 此時timer已stop, 會判斷為
05/10 21:51, 20F

05/10 21:52, , 21F
沒助攻, 請問何解
05/10 21:52, 21F

05/10 23:29, , 22F
你說的有道理,多謝指正
05/10 23:29, 22F

05/11 01:47, , 23F
有機會可以多討論:)
05/11 01:47, 23F

05/11 04:58, , 24F
既然負荷不大 就都存吧 gyd的像我的說法 也很方便 謝啦
05/11 04:58, 24F

05/11 04:59, , 25F
我的環境有多維陣列可以用 倒是不用hashtable :)
05/11 04:59, 25F

05/11 14:52, , 26F
:) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)
05/11 14:52, 26F

05/12 01:08, , 27F
樓上是怕多隆學符號去用嗎 :)
05/12 01:08, 27F
文章代碼(AID): #1Do6G6C5 (WarCraftChat)