You are viewing a potentially older version of this package. View all versions.
jachthafen-KillTracker-1.1.0 icon

KillTracker

Tracks kills and damage dealt per match and shows them on the round-end screen. Vanilla compatible.

Date uploaded 2 days ago
Version 1.1.0
Download link jachthafen-KillTracker-1.1.0.zip
Downloads 51
Dependency string jachthafen-KillTracker-1.1.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

Kill Tracker

Tracks kills and damage dealt per match and shows them when the round ends.

A scoreboard appears in the corner:

THIS MATCH          KILLS   DMG
You                     4   812
Enemy                   2   540

and the kill count is added next to each name on the round-end screen:

You    [4]        3
Enemy  [2]        2

The number on the right is the game's existing round-win counter. The number in brackets is new: actual kills, i.e. who landed the lethal blow.

In a 1v1 kills and round wins are almost always identical, because a round ends after exactly one kill. The difference shows up in FFA lobbies with 3+ players (e.g. with moreStrafts), where several kills happen per round but only one player wins it.

Features

  • Real kill attribution — all weapons, all explosives, correct on multi-hit weapons
  • Damage dealt per player
  • Works as a client, not just as the host — no custom RPCs
  • Overkill doesn't inflate damage; environmental deaths aren't credited to anyone
  • Configurable display format with TextMeshPro rich text
  • Vanilla compatible — no separate matchmaking pool

Configuration

BepInEx/config/jachthafen.straftat.killtracker.cfg, or in-game via Mod Menu / ConfigurationManager.

Setting Default Description
General / Enabled true Master switch
Display / NameFormat {0} <size=60%>[{1}]</size> {0} = name, {1} = kills, {2} = damage. TMP rich text allowed. Use {0} <size=60%>[{1} | {2}]</size> to show damage in the name line too
Display / HideZeroKills false Hide the counter for players with 0 kills
Display / ShowOverlay true Draw the name / kills / damage scoreboard at round end
Tracking / TrackDamage true Count damage dealt
Tracking / CountSuicides false Count self-inflicted damage and kills for yourself
Debug / VerboseLogging false Log every hit and kill to the BepInEx console

Notes

  • Counters reset when a new match starts.
  • Vanilla shows 4 name slots; with moreStrafts + MoreStrafts UISpawnAddon there are more, and all of them get the counter. The overlay has no such limit.
  • Each client counts independently by observing the replicated PlayerHealth SyncVars. No custom networking is added.
  • If two different players damage the same victim within the same frame (~16 ms), both hits are credited to whoever hit last. Rare in practice.
  • Compatible with GunGame, KillfeedIcons and Mod Menu.

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.killer SyncVar 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 fullHealth is 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 killer reaches 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 / suicide flags, 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.
  • NameFormat gained 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.