View Single Post
07/18/23, 09:15 PM   #26
ZOS_DanBatson
ZOS Staff!
 
ZOS_DanBatson's Avatar
Yes this person is from ZeniMax!
Join Date: Jul 2015
Posts: 181
Originally Posted by Masteroshi430 View Post
I used a minimum of 10 kills including the 3 alliances at a location to add the notification and 5 minutes without kill at the location to remove the notification in CyrHUD.
I'll see if I fine tune/modify this when U39 goes live because it is impossible to test this on PTS due to the low number of players there.

Note:
EVENT_PVP_KILL_FEED_DEATH bugs:
- Triggers once when you commit suicide with slaughterfish (you are then both the killer and the victim)
- triggers twice when another player kills you
I hope these will be fixed before U39 goes live
Note about the trigger twice thing:

"The client will raise two consecutive kill events to Lua when the victim dies within two detection cells. The reason is that both our local trigger - detected via the Unit's SetDead method - and the server-based "crossed swords" trigger (sent via Region->Client message) fire that kill event.

Rather than having the client try to determine whether the kill occurred within the larger, 10-ish detection radius of any in-range crossed swords or having the server try to determine whether the kill was within the client's two detection cell range... the server just sends the event regardless, as does the Unit::SetDead "local" logic.

To safeguard against this, ChatHandlers.lua creates a singleton:
Code:
g_pvpKillFeedDeathRecurrenceTracker = ZO_RecurrenceTracker:New(EXPIRATION_MS, EXTENSION_MS)
which suppresses the redundant message, if any, when received:
Code:
local numOccurrences = g_pvpKillFeedDeathRecurrenceTracker:AddValue(messageKey)
if numOccurrences > 1 then
    -- Suppress redundant notifications that would otherwise result
    -- from duplicate client- and server-sourced death events.
    return nil
end
"
  Reply With Quote