Mirv / arma3projectmanagement

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

stat generation

Mirv opened this issue · comments

commented

Need to get the stats from the game engine - via eventhandler

Starting with ...

EntityKilled

con:

  • mission event
  • must check it's on dedicated
  • fires for every unit

pro:

  • simple
  • gives me everything

Others ...

  • mpkill
  • dammage
  • hit
  • handleScore

Notes:

  • side doesn't work unless alive & missiosn don't do custom faction names
  • custom weapons via missions like antistasi mortars / statics being vehicles aren't handled
  • kills from a vehicle or ordered by a commander / squad leader credits get messy
commented

Simple version

  • killed uid
  • killed name // AI won't have UID - not sure should record, but might net interesting llama on llama tk info
  • killed team // teams appears to be useless as most mods add their own factions into the team slots
  • killer uid
  • killer name
  • killer team // teams appears to be useless as most custom missions add their own factions into the team slots
  • killDistance
  • currentMap // from worldName
  • currentMission // from missionName
  • currentServerName // from serverName
  • killerPos // heat map idea
  • killedPos
  • weaponName
  • weaponClass // fn_weaponNames might need to be where we credit players in vehicle too
  • isVehicle
  • vehicleClass // from typeOf vehicle player
  • vehicleName
  • ingame date/time
  • check if kill is by player & exitwith []; if not
  • player roles of both? // with getAllUnitTraits - Link
    // - TODO - might make more sense instead of getting name, get the class role & nice name as that explains what the person was
  • squad names are hand typed - so might be sql injection issue

Version 4 add:

  • who was in squad
  • who was online
  • distance of squad
  • distance of online people

Version 5 add:

  • designated
  • who spotted
  • who saw first

Version 6 add:

  • other players who damaged

Version 7 add:

  • Auxiliary / assist credits for others?

https://gist.github.com/Mirv/e60f528ea24c774ec32b89a787f18169

commented

Currently the entityKilled time & the time the shotfired could be different over greater distances - especially if the unit bleeds out versus instant death.

Con's ... This is HIGHLY imbalanced way to check because:

  • statics / vehicles fire significantly faster
  • statics / vehicles are almost always fatal on first hit
  • statics / vehicles fire significantly faster
  • most man-portable weaponry results in an injury - not a kill

Pro's

  • best multiplayer option
  • will only trigger once globally
  • deals with ai & players
  • allows tracking on vehicle impacts
  • allows tracking of thrown ordinance
  • tracks if target dies from indirect hits
  • tracks if target bleeds out later
  • statistically rare compared to hits
  • exponentially less lag compared to "fired" type triggers

It also introduces the issue of travel time for munitions - mortars, missiles, sniper shots etc give time for a player to switch weapons or exit the vehicle before the kill happens.


alternative #1 is to have each shot fired have an _instigator or shotParent attached

Pros

  • allows us to know the weapon that fired accurately
  • allows us to add players in vehicles to credit them accurately
  • could credit the squad
  • could credit anyone within certain distance
  • could credit anyone online

Con's

  • we just multiplied the server impact, r.ate o.f f.ire x number of players + r.o.f. times number of AI

  • see #1 - this can't be stressed enough - especially with any insurgent type full map simulator with 3 sides

  • see #1 - we will never be able to run tanoa with 3 sides

  • would much prefer to do on damage & calc percent, maybe on hits


"Hit" often doesn't fire if killed is triggered - so this method is extremely unreliable by itself


Attaching to players "FiredNear" event can help credit other players by attaching

commented

Assembling:

  • killed uid
  • killed name // AI won't have UID - not sure should record, but might net interesting llama on llama tk info
  • killed team // teams appears to be useless as most mods add their own factions into the team slots
  • killer uid
  • killer name
  • killer team // teams appears to be useless as most custom missions add their own factions into the team slots
  • currentMap // from worldName
  • currentMission // from missionName
  • currentServerName // from serverName
  • killerPos // heat map idea
  • killedPos
  • killDistance
  • weaponName
  • weaponClass // fn_weaponNames might need to be where we credit players in vehicle too
  • isVehicle
  • vehicleClass // from typeOf vehicle player
  • vehicleName
  • ingame date/time