KillTracker
Tracks kills and damage dealt per match and shows them on the round-end screen. Vanilla compatible.
By jachthafen
CHANGELOG
Changelog
1.1.0
- Damage tracking. Every player's damage dealt is counted and shown in the scoreboard, on the same 0-100 scale the HUD uses.
- Rewritten kill detection. 1.0.0 hooked the
PlayerHealth.killerSyncVar and treated every write as a kill, but the game writes it on every damaging hit. With multi-hit weapons the first player to land a hit was credited, and a player who was hit but survived produced a phantom kill. Detection now runs off the health value instead. - Damage and deaths are read from the client-side SyncVar write only. FishNet keeps a separate server and client copy of every SyncVar, so reading the field for the previous value mixed the two and produced nonsense deltas.
- The starting health is never written through the SyncVar setter, so
fullHealthis used as the baseline for the first hit of a life. Without this a one-shot kill produced no event. - Attribution is resolved synchronously rather than at the end of the frame - the victim's object is despawned during the death sequence, which silently dropped the lethal hit.
- Overkill no longer inflates the damage counter, and the follow-up writes of a death
(
-8, then-2000) no longer count twice. - Burst and automatic weapons credit every hit, not just the first. FishNet only replicates a
SyncVar when its value changes, so
killerreaches remote clients once per attacker rather than once per hit; requiring a same-frame write dropped the rest as "environment" - including the lethal one when it was not the first shot of the burst. - Environmental deaths are detected from the game's own
fellVoid/suicideflags, so a player who was shot earlier and then falls into the void no longer credits that kill to whoever hit them last. - Scoreboard overlay is on by default and shows name / kills / damage.
NameFormatgained a third placeholder{2}for damage dealt.- New diagnostic option
Debug/TraceRawWrites.
1.0.0
- Per-match kill counter next to player names on the round-end screen.
- Works as a client, not just as the host.
- Marked vanilla compatible - no separate matchmaking pool.