2019-03-13 00:10:12 +00:00
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2019-11-20 19:43:50 +00:00
// Score hud stats system, gather data across x number of games to do math/stats
// This also has the added benefit of restoreing scores after leaving
// Script BY: DarkTiger
2020-02-28 21:37:29 +00:00
// Version 1.0 - Initial release
// Version 2.0 - Code refactor / optimizing/fixes
// Version 3.0 - DM / LCTF added
// Version 4.0 - Code refactor / optimizing / fixes
2020-03-16 16:52:20 +00:00
// Version 5.0 - DuleMod and Arena support / optimizing / fixes / misc stuff
// Version 6.0 - Lan & Bot Support / Leaderboard / Stats Storage Overhaul / Optimization / Fixes
2019-03-13 00:10:12 +00:00
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2019-11-20 19:43:50 +00:00
//ChangeLog
// 4.0
// *Removed most redudent/repeating code
// *Menus - removed redudent menus
// *Global arrays - reorganized to get rid of repeating field values
// *Save Load - removed unused functions from the load/save fast methods
// *Stats - condensed the stats handling code by 50%
// *Fixed bug with saveing weapon stats after a person has left
// *Removed $dtStats::fullGames, as it was not necessary becuase $dtStats::fgPercentage gives the same level of contorl
// *Null GUID protection, just to prevent garbage or null data
2019-11-06 16:21:22 +00:00
//
2019-11-20 19:43:50 +00:00
// 5.0
// Rework functions to remove dependencies on other .vl2 this script now works in base, classic, and some variants of the two.
// Arena and Duel Mod Support added
// MA stats across all weapons/items
// Mine Grenades Satchel Turrets Vehicles stats added
// Stats menu clean up and rework, some stuff was not even working
// Remvoed ProjectileData::onCollision hook for stats collection, everything is now under clientDmg
// Make processGameLink into one funciton for all game types
// Added fail safe to getCNameToCID to prevent blank names
// Reduce decimal places and scale down large numbers in the menus
// Added $dtStats::debugEchos for debuging issues
// Fix issue with reset when player joins the game
// Fix issue with back button bricking the score hud, as well as add a fail safe so this cant happen
// Added to options to control whats displayed
// Reworked history to remove redudent menus and to add the ablity to view weapon history, may expand on later
// Cleaned up the field value array removed unused and unnecessary values
// Total stats now reset onces a value has getting near the 32 bit int limit
// Added Live View so players can watch there stats in realtime with the added feature of being able to pin it and keep that window in place
// Added Player/Armror kill stats
2019-11-24 19:34:05 +00:00
//
// 5.5 fixes
// Rework hand grenade stats collection
2020-02-28 21:37:29 +00:00
// Moved commonly overridden functions in its own package and uses DefaultGame-
// -activate/deactivatePackages to correctly postion them on top of gameType
// -overrides this fixes issues with lakRabbitGame overrides
2019-11-24 19:34:05 +00:00
// Reworked some of the values on live screen to be more correct
// Moved resetDtStats to MissionDropReady so that liveStats work in lan game
//
2020-02-28 21:37:29 +00:00
// 6.0
// Full lan/no guid support - function will gen a uid and associate it with the players name
// Overhall of the way we store stats - NOTE this breaks compatibility with older versions so delete serverStats folder
// Leader Board/Best Of System - this info is compled during non peak server hours see $dtStats::buildSetTime
// Rename set/getFieldValue to set/getDynamicField to be less confuseing with the other field functions that deal with strings
// Added setValueField function to handel the new way of stats storage
// Made skip zeros the the only method for running averages there for removed extra code
// Removed timeLimitReached and scoreLimitReached, not sure why i needed them in the first place everything runs threw gameover anyways
// Removed $dtStats::slowLoadTime its not used any more with the new system as theres only 2 files to load vs 11 at a given time
// History menu redone added a page system to allow for larger then 10 game history
// System now self maintains files and will delete when out of date see $dtStats::expire
// Removed AI checks and added in ai support for better testing
// Fix some divide by zero issues useing conditional ternary operator example condition ? result1 : result2
// Fix few dynamic fields that were named wrong resulting in stats just showing 0
// Score resetting is handeld in script to better handel end game saving
// Added unused varable array uFV for short, this is only to reset the values we dont track directly or unused gametype values
// Renamed the arrays to keep them shorter, example fieldValue is now FV
// Added max array to allow recording of varables we only want the max of example being longest sniper shot
// Added an averaging array to be able to store current averages, keeps code complexity down on loaderboard stuff, may rework later
// setValueField will now default to 0 is value is ""
// Fixed mine disc code forgot to add %targetClient to the resetCode
// Replaced gameWinStat with postGameStats were custom stuff can added up or handled at the end of the game
// Added Armor::onTrigger to better track stats on player, and to remove duplicate code
// Added a handfull of new varables to track, too many to list.
// Surival time is now acurite also simplified the code
// Removed turrets stats other then kills death
2020-03-05 06:51:16 +00:00
//
// 6.5 Fixes
// Misc fixes from 6.0 additions/changes
// Added option to view the other game types within the leaderboard stuff
// Bumped up distance for mortar midAirs so it's just outside its damage radius something strange is going on there
// Added game type arrays for display and processing
//
2020-03-15 19:34:27 +00:00
// 6.6
// Added game id to track individual games
// Removed misc turret stuff
// Removed vehicle menus
// Misc fixes
2020-03-17 22:27:09 +00:00
//
// 6.7
// Escort fix moved
// Stats now allways save no matter the condition, this should reduce some edge cases problems and to have a more complete data set
// Added gamePCT becuase of the change to always save to track witch maps/games were cut short or joined in the middle of a match
// MapID Gen to track map specific stats
2020-03-15 19:34:27 +00:00
//
2020-02-28 21:37:29 +00:00
// 7.0 ToDos
2020-03-05 06:51:16 +00:00
// Replace or rework overallACC
2020-02-28 21:37:29 +00:00
// Add option to load stats after players first game to reduce any sort of impact on the server
// Remove or condense vehicle stats into one page kind of like the live screen and remove unused stuff
// Armor stats to be reworked or removed undecided yet
// Weapons,History to be reworked reduce the number of menus
// Match Stats to be reworked to show more intersting info possably rebuild like the live screen
// Clean up and optimize tracking functions, stuff was built to get things working not necessarily optimal/accurate
// Clean up or rework field array, looking at ways to add flexablity adding features like max avg with out haveing to add to it
// Take look at reset code see if we can come up with a way to get rid or reduce the unused arrays
// Add few more things to the kill death screen from the new stuff that has been added and possably add history to it
// With all the menu rework changes maybe look at making the main menu to be more intersting as well as all the other more optimal
2019-03-10 16:58:05 +00:00
//-----------Settings------------
2020-02-28 21:37:29 +00:00
2019-11-20 19:43:50 +00:00
//disable stats system restart required;
$ dtStats : : Enable = 1 ;
//Only self client can see his own stats, any stat, unless admin
$ dtStats : : viewSelf = 0 ;
2020-02-28 21:37:29 +00:00
//set max number of individual game to record
//Note only tested to 100 games, hard cap at 300
$ dtStats : : MaxNumOfGames = 100 ;
//Value at witch total stats should cap out
2020-03-17 22:27:09 +00:00
//Note 32bit int cap is 2,147,483,647 so nothing byeond that
2019-11-20 19:43:50 +00:00
$ dtStats : : ValMax = 2000000000 ;
2020-03-17 22:27:09 +00:00
$ dtStats : : invertVal = 1000000 ;
2020-02-28 21:37:29 +00:00
//This will load player stats after their first game, to reduce any impact on the server.
$ dtStats : : loadAfter = 0 ; //keep 0 not finished
//enables self maintainer to deletes old files see $dtStats::expire
//Note may or may not cause issues
$ dtStats : : sm = 1 ;
//deletes player stats files that are x amount days old, only works if $dtStats::sm is enabled
$ dtStats : : expire = 60 ;
2019-11-06 16:21:22 +00:00
2020-02-28 21:37:29 +00:00
//Record stats if player is here for x percentage of the game, set to 0 to rec every game
2020-02-29 20:45:58 +00:00
$ dtStats : : fgPercentage [ "CTFGame" ] = 25 ;
2019-11-20 19:43:50 +00:00
//0 score based, 1 time based, 2 the closer one to finishing the game
2019-03-10 16:58:05 +00:00
2019-03-13 00:10:12 +00:00
$ dtStats : : fgPercentage [ "LakRabbitGame" ] = 25 ;
2019-04-01 20:02:48 +00:00
$ dtStats : : fgPercentage [ "DMGame" ] = 25 ;
2020-02-28 21:37:29 +00:00
$ dtStats : : fgPercentage [ "SCtFGame" ] = 25 ;
// $dtStats::fgPercentage["ArenaGame"]/RoundsLimit * 100
$ dtStats : : fgPercentage [ "ArenaGame" ] = 20 ;
//keep 0 as there is no measure of when a game is done
$ dtStats : : fgPercentage [ "DuelGame" ] = 0 ;
2019-11-06 16:21:22 +00:00
2020-02-28 21:37:29 +00:00
// 30 sec min after not making an action reset
$ dtStats : : returnToMenuTimer = ( 30 * 1000 ) ;
2019-11-20 19:43:50 +00:00
//Load/saving rates to prevent any server hitching
2020-02-28 21:37:29 +00:00
$ dtStats : : slowSaveTime = 100 ;
2019-11-20 19:43:50 +00:00
//Disables save system, and only show stats of current play session
$ dtStats : : Basic = 0 ;
//Control whats displayed
$ dtStats : : Live = 1 ;
$ dtStats : : KD = 1 ;
$ dtStats : : Hist = 1 ;
2020-03-15 19:34:27 +00:00
//$dtStats::Vehicle = 0;
2019-11-20 19:43:50 +00:00
$ dtStats : : Armor = 0 ;
2019-11-24 19:34:05 +00:00
$ dtStats : : Match = 0 ;
$ dtStats : : Weapon = 0 ;
2019-11-20 19:43:50 +00:00
2020-02-28 21:37:29 +00:00
//Leaderboards stuff
//To rebuild the leaderboards manually type lStatsCycle(1) into the console;
//This time marks the end of day and to rebuild the leaderboards, best set this time when the server is normally empty or low numbers
$ dtStats : : buildSetTime = "8\t00\tam" ;
// top 15 players per cat;
$ dtStats : : topAmount = 15 ;
//set to 1 to delete old leaderboards files
$ dtStats : : lsm = 1 ;
//Set 2 or more to enable, this also contorls how much history you want, best to keep this count low
$ dtStats : : day = 0 ; //-365
$ dtStats : : week = 0 ; //~53
$ dtStats : : month = 3 ; //-12
$ dtStats : : quarter = 0 ; //-4
$ dtStats : : year = 0 ; // number of years
2019-11-20 19:43:50 +00:00
//debug stuff
2019-03-13 00:10:12 +00:00
$ dtStats : : enableRefresh = 0 ;
2019-11-20 19:43:50 +00:00
$ dtStats : : debugEchos = 1 ; // echos function calls
2019-03-10 16:58:05 +00:00
//$pref::NoClearConsole = 1;
2020-02-28 21:37:29 +00:00
//setLogMode(1);
//$AIDisableChat = 1;
2019-03-10 16:58:05 +00:00
// colors used
//00dcd4 Darker blue
//0befe7 Lighter blue
//00dc00 Green
//0099FF Blue
//FF9A00 Orange
//05edad Teal
//FF0000 Red
//dcdcdc White
//02d404 T2 Green
2019-03-16 19:39:43 +00:00
//fb3939 Lighter Red
2019-03-10 16:58:05 +00:00
//---------------------------------
// Torque Markup Language - TML
// Reference Tags
//---------------------------------
//<font:name:size>Sets the current font to the indicated name and size. Example: <font:Arial Bold:20>
//<tag:ID>Set a tag to which we can scroll a GuiScrollContentCtrl (parent control of the guiMLTextCtrl)
//<color:RRGGBBAA>Sets text color. Example: <color:dcdcdc> will display red text.
//<linkcolor:RRGGBBAA>Sets the color of a hyperlink.
//<linkcolorHL:RRGGBBAA>Sets the color of a hyperlink that is being clicked.
//<shadow:x:y>Add a shadow to the text, displaced by (x, y).
//<shadowcolor:RRGGBBAA>Sets the color of the text shadow.
//<bitmap:filePath>Displays the bitmap image of the given file. Note this is hard coded in t2 to only look in texticons in textures
//<spush>Saves the current text formatting so that temporary changes to formatting can be made. Used with <spop>.
//<spop>Restores the previously saved text formatting. Used with <spush>.
//<sbreak>Produces line breaks, similarly to <br>. However, while <br> keeps the current flow (for example, when flowing around the image), <sbreak> moves the cursor position to a new line in a more global manner (forces our text to stop flowing around the image, so text is drawn at a new line under the image).
//<just:left>Left justify the text.
//<just:right>Right justify the text.
//<just:center>Center the text.
//<a:URL>content</a>Inserts a hyperlink into the text. This can also be used to call a function class::onURL
//<lmargin:width>Sets the left margin.
//<lmargin%:width>Sets the left margin as a percentage of the full width.
//<rmargin:width>Sets the right margin.
//<clip:width>content</clip>Produces the content, but clipped to the given width.
//<div:bool>Use the profile's fillColorHL to draw a background for the text.
//<tab:##[,##[,##]]>Sets tab stops at the given locations.
//<br>Forced line break.
2020-02-28 21:37:29 +00:00
////////////////////////////////////////////////////////////////////////////////
// Supported Game Types
////////////////////////////////////////////////////////////////////////////////
//Array for processing stats
$ dtStats : : gameType [ 0 ] = "CTFGame" ;
$ dtStats : : gameType [ 1 ] = "LakRabbitGame" ;
$ dtStats : : gameType [ 2 ] = "DMGame" ;
$ dtStats : : gameType [ 3 ] = "SCtFGame" ;
$ dtStats : : gameType [ 4 ] = "ArenaGame" ;
$ dtStats : : gameType [ 5 ] = "DuelGame" ;
$ dtStats : : gameTypeCount = 6 ;
2020-03-05 06:51:16 +00:00
//short hand name
$ dtStats : : gtNameShort [ "CTFGame" ] = "CTF" ;
$ dtStats : : gtNameShort [ "LakRabbitGame" ] = "LakRabbit" ;
$ dtStats : : gtNameShort [ "DMGame" ] = "DM" ;
$ dtStats : : gtNameShort [ "SCtFGame" ] = "LCTF" ;
$ dtStats : : gtNameShort [ "ArenaGame" ] = "Arena" ;
$ dtStats : : gtNameShort [ "DuelGame" ] = "Duel" ;
//Display name
$ dtStats : : gtNameLong [ "CTFGame" ] = "Capture the Flag" ;
$ dtStats : : gtNameLong [ "LakRabbitGame" ] = "LakRabbit" ;
$ dtStats : : gtNameLong [ "DMGame" ] = "Deathmatch" ;
$ dtStats : : gtNameLong [ "SCtFGame" ] = "Spawn CTF" ;
$ dtStats : : gtNameLong [ "ArenaGame" ] = "Arena" ;
$ dtStats : : gtNameLong [ "DuelGame" ] = "Duel MOD" ;
2020-02-28 21:37:29 +00:00
2019-03-13 00:10:12 +00:00
///////////////////////////////////////////////////////////////////////////////
2019-11-24 19:34:05 +00:00
// CTF
2019-03-13 00:10:12 +00:00
///////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
$ dtStats : : FC [ "CTFGame" ] = 0 ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "kills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "deaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "suicides" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "teamKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "flagCaps" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "flagGrabs" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "carrierKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "flagReturns" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "score" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "scoreMidAir" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "scoreHeadshot" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "scoreRearshot" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "escortAssists" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "defenseScore" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "offenseScore" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "flagDefends" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "winCount" ; // in this script only
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "lossCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "destruction" ;
2020-03-17 22:27:09 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "heldTime" ;
$ dtStats : : FV [ $ dtStats : : FC [ "CTFGame" ] + + , "CTFGame" ] = "grabSpeed" ;
2020-02-28 21:37:29 +00:00
////////////////////////////Unused CTF Vars/////////////////////////////////////
$ dtStats : : uFC [ "CTFGame" ] = 0 ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "tkDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "genDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "sensorDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "turretDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "iStationDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "vstationDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "mpbtstationDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "solarDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "sentryDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "depSensorDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "depTurretDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "depStationDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "vehicleScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "vehicleBonus" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "genDefends" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "turretKills" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "mannedTurretKills" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "genRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "SensorRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "TurretRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "StationRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "VStationRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "mpbtstationRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "solarRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "sentryRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "depSensorRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "depInvRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "depTurretRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "CTFGame" ] + + , "CTFGame" ] = "returnPts" ;
2019-03-13 00:10:12 +00:00
///////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
// LakRabbit
2019-03-13 00:10:12 +00:00
///////////////////////////////////////////////////////////////////////////////
//Game type values - out of LakRabbitGame.cs
2020-02-28 21:37:29 +00:00
$ dtStats : : FC [ "LakRabbitGame" ] = 0 ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "score" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "kills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "deaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "suicides" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "flagGrabs" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "flagTimeMin" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "morepoints" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "mas" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "totalSpeed" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "totalDistance" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "totalChainAccuracy" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "totalChainHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "totalSnipeHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "totalSnipes" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "totalShockHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "totalShocks" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "MidairflagGrabs" ;
$ dtStats : : FV [ $ dtStats : : FC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "MidairflagGrabPoints" ;
$ dtStats : : uFC [ "LakRabbitGame" ] = 0 ;
2020-03-01 08:35:43 +00:00
$ dtStats : : uFV [ $ dtStats : : uFC [ "LakRabbitGame" ] + + , "LakRabbitGame" ] = "flagTimeMS" ;
2019-04-01 20:02:48 +00:00
///////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
// DMGame
2019-04-01 20:02:48 +00:00
///////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
$ dtStats : : FC [ "DMGame" ] = 0 ;
$ dtStats : : FV [ $ dtStats : : FC [ "DMGame" ] + + , "DMGame" ] = "score" ;
$ dtStats : : FV [ $ dtStats : : FC [ "DMGame" ] + + , "DMGame" ] = "kills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "DMGame" ] + + , "DMGame" ] = "deaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "DMGame" ] + + , "DMGame" ] = "suicides" ;
$ dtStats : : FV [ $ dtStats : : FC [ "DMGame" ] + + , "DMGame" ] = "efficiency" ;
$ dtStats : : uFC [ "DMGame" ] = 0 ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "DMGame" ] + + , "DMGame" ] = "MidAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "DMGame" ] + + , "DMGame" ] = "Bonus" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "DMGame" ] + + , "DMGame" ] = "KillStreakBonus" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "DMGame" ] + + , "DMGame" ] = "killCounter" ;
2019-11-06 16:21:22 +00:00
///////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
// LCTF
2019-11-20 19:43:50 +00:00
///////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
$ dtStats : : FC [ "SCtFGame" ] = 0 ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "kills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "deaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "suicides" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "teamKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "flagCaps" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "flagGrabs" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "carrierKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "flagReturns" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "score" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "scoreMidAir" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "scoreHeadshot" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "scoreRearshot" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "escortAssists" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "defenseScore" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "offenseScore" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "flagDefends" ;
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "winCount" ; // in this script only
$ dtStats : : FV [ $ dtStats : : FC [ "SCtFGame" ] + + , "SCtFGame" ] = "lossCount" ;
////////////////////////////Unused LCTF Vars/////////////////////////////////////
$ dtStats : : uFC [ "SCtFGame" ] = 0 ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "tkDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "genDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "sensorDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "turretDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "iStationDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "vstationDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "mpbtstationDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "solarDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "sentryDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "depSensorDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "depTurretDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "depStationDestroys" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "vehicleScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "vehicleBonus" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "genDefends" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "escortAssists" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "turretKills" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "mannedTurretKills" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "genRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "SensorRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "TurretRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "StationRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "VStationRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "mpbtstationRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "solarRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "sentryRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "depSensorRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "depInvRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "depTurretRepairs" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "SCtFGame" ] + + , "SCtFGame" ] = "returnPts" ;
2019-11-20 19:43:50 +00:00
///////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
// DuelGame
2019-11-20 19:43:50 +00:00
///////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
$ dtStats : : FC [ "DuelGame" ] = 0 ;
$ dtStats : : FV [ $ dtStats : : FC [ "DuelGame" ] + + , "DuelGame" ] = "score" ;
$ dtStats : : FV [ $ dtStats : : FC [ "DuelGame" ] + + , "DuelGame" ] = "kills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "DuelGame" ] + + , "DuelGame" ] = "deaths" ;
$ dtStats : : uFC [ "DuelGame" ] = 0 ;
2019-11-20 19:43:50 +00:00
///////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
// ArenaGame
2019-11-06 16:21:22 +00:00
///////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
$ dtStats : : FC [ "ArenaGame" ] = 0 ;
$ dtStats : : FV [ $ dtStats : : FC [ "ArenaGame" ] + + , "ArenaGame" ] = "kills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "ArenaGame" ] + + , "ArenaGame" ] = "deaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "ArenaGame" ] + + , "ArenaGame" ] = "suicides" ;
$ dtStats : : FV [ $ dtStats : : FC [ "ArenaGame" ] + + , "ArenaGame" ] = "teamKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "ArenaGame" ] + + , "ArenaGame" ] = "snipeKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "ArenaGame" ] + + , "ArenaGame" ] = "roundsWon" ;
$ dtStats : : FV [ $ dtStats : : FC [ "ArenaGame" ] + + , "ArenaGame" ] = "roundsLost" ;
$ dtStats : : FV [ $ dtStats : : FC [ "ArenaGame" ] + + , "ArenaGame" ] = "assists" ;
$ dtStats : : FV [ $ dtStats : : FC [ "ArenaGame" ] + + , "ArenaGame" ] = "roundKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "ArenaGame" ] + + , "ArenaGame" ] = "hatTricks" ;
$ dtStats : : FV [ $ dtStats : : FC [ "ArenaGame" ] + + , "ArenaGame" ] = "score" ;
$ dtStats : : uFC [ "ArenaGame" ] = 0 ;
2019-11-20 19:43:50 +00:00
///////////////////////////////////////////////////////////////////////////////
2019-11-24 19:34:05 +00:00
// Weapon/Misc Stats
2019-11-20 19:43:50 +00:00
///////////////////////////////////////////////////////////////////////////////
//these are field values from this script
2020-02-28 21:37:29 +00:00
$ dtStats : : FC [ "dtStats" ] = 0 ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockLanceKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockLanceDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "elfKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "elfDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "explosionKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "explosionDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "impactKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "impactDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "groundKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "groundDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "turretKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "turretDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaTurretKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaTurretDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "aaTurretKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "aaTurretDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "elfTurretKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "elfTurretDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarTurretKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarTurretDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileTurretKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileTurretDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "indoorDepTurretKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "indoorDepTurretDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "outdoorDepTurretKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "outdoorDepTurretDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "sentryTurretKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "sentryTurretDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "outOfBoundKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "outOfBoundDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "lavaKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "lavaDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shrikeBlasterKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shrikeBlasterDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "bellyTurretKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "bellyTurretDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "bomberBombsKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "bomberBombsDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "tankChaingunKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "tankChaingunDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "tankMortarKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "tankMortarDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "satchelChargeKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "satchelChargeDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "lightningKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "lightningDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "vehicleSpawnKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "vehicleSpawnDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "forceFieldPowerUpKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "forceFieldPowerUpDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "crashKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "crashDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "waterKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "waterDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "nexusCampingKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "nexusCampingDeaths" ;
2019-11-20 19:43:50 +00:00
//Damage Stats
2020-02-28 21:37:29 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "elfDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "elfDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discInDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discInDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeInDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeInDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeInDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeInDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarInDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarInDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileInDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileInDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaInDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaInDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockLanceInDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockLanceIDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineInDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineInDmgTaken" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "SatchelInDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "SatchelInDmgTaken" ;
2019-11-20 19:43:50 +00:00
//rounds fired
2020-02-28 21:37:29 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockLanceShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "elfShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineShotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgDirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserDirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterDirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "elfDirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discIndirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeIndirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeInHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarIndirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileIndirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaIndirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockLanceIndirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineIndirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "SatchelInHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgHitMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discHitMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeHitMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeHitMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserHitMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarHitMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileHitMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaHitMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterHitMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineHitMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockHitMaxDist" ;
//misc
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserHeadShot" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockRearShot" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "minePlusDisc" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shotsFired" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "totalMA" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "totalTime" ;
2019-11-20 19:43:50 +00:00
2020-02-28 21:37:29 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "killAir" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "killGround" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "deathAir" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "deathGround" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "inDirectHits" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "overallACC" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "airTime" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "groundTime" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "EVKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "EVDeaths" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "multiKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "chainKills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "lightningMAkills" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "totalWepDmg" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "timeTL" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "killStreak" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "assist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "maxSpeed" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "avgSpeed" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "maxRV" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "comboPT" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "comboCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "distMov" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "weaponHitMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "weaponScore" ;
2019-11-20 19:43:50 +00:00
2020-02-28 21:37:29 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorL" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorM" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorH" ;
2019-11-20 19:43:50 +00:00
2020-03-15 19:34:27 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorLD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorMD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorHD" ;
2020-02-28 21:37:29 +00:00
2020-03-15 19:34:27 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorLL" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorLM" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorLH" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorML" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorMM" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorMH" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorHL" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorHM" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorHH" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorLLD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorLMD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorLHD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorMLD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorMMD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorMHD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorHLD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorHMD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "armorHHD" ;
2020-02-28 21:37:29 +00:00
//max kill distance
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgKillMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discKillMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeKillMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeKillMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserKillMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarKillMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileKillMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaKillMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterKillMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineKillMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockKillMaxDist" ;
2019-11-20 19:43:50 +00:00
//weapon combos
2020-02-28 21:37:29 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgCom" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discCom" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeCom" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeCom" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserCom" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarCom" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileCom" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaCom" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterCom" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineCom" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockCom" ;
2019-11-20 19:43:50 +00:00
//relative velocity
2020-02-28 21:37:29 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgKillRV" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discKillRV" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeKillRV" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserKillRV" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarKillRV" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockKillRV" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaKillRV" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterKillRV" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeKillRV" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineKillRV" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileKillRV" ;
2019-11-20 19:43:50 +00:00
//acc
2020-02-28 21:37:29 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgACC" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discACC" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeACC" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserACC" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarACC" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockACC" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaACC" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterACC" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeACC" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineACC" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileACC" ;
2019-11-20 19:43:50 +00:00
//midairs
2020-02-28 21:37:29 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "cgMA" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "discMA" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "grenadeMA" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "laserMA" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mortarMA" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "shockMA" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "plasmaMA" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "blasterMA" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeMA" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "missileMA" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mineMA" ;
2019-11-20 19:43:50 +00:00
2020-03-15 19:34:27 +00:00
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "ShrikeBlasterDmg";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "ShrikeBlasterDirectHits";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "ShrikeBlasterDmgTaken";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "BellyTurretDmg";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "BellyTurretDirectHits";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "BellyTurretDmgTaken";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "TankChaingunDmg";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "TankChaingunDirectHits";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "TankChaingunDmgTaken";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "BomberBombsInDmg";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "BomberBombsInHits";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "BomberBombsInDmgTaken";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "TankMortarInDmg";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "TankMortarInHits";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "TankMortarInDmgTaken";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "ShrikeBlasterFired";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "BellyTurretFired";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "BomberBombsFired";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "TankChaingunFired";
//$dtStats::FV[$dtStats::FC["dtStats"]++,"dtStats"] = "TankMortarFired";
2020-02-28 21:37:29 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "wildRK" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "assaultRK" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mobileBaseRK" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "scoutFlyerRK" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "bomberFlyerRK" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hapcFlyerRK" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "wildRD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "assaultRD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mobileBaseRD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "scoutFlyerRD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "bomberFlyerRD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hapcFlyerRD" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "wildCrash" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "assaultCrash" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mobileBaseCrash" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "scoutFlyerCrash" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "bomberFlyerCrash" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hapcFlyerCrash" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "wildEK" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "assaultEK" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "mobileBaseEK" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "scoutFlyerEK" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "bomberFlyerEK" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "hapcFlyerEK" ;
2020-04-06 21:48:01 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "chatallCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "chatteamCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "kickCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "obstimeoutkickCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "spawnobstimeoutCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "voteCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairgenCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairsolarpanelCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairsensorlargeCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairstationinvCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairstationvehCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairturretlargeCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairturretsentryCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairdepmotsensorCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairturretspiderclampCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairturretlandspikeCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairdepinvstationCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "repairmpbteleCount" ;
2020-04-07 19:53:33 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "leavemissionareaCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "teamkillCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "switchteamCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "flipflopCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "packpickupCount" ;
$ dtStats : : FV [ $ dtStats : : FC [ "dtStats" ] + + , "dtStats" ] = "weaponpickupCount" ;
2020-03-15 19:34:27 +00:00
2020-02-28 21:37:29 +00:00
///////////////////////////////////////////////////////////////////
$ dtStats : : uFC [ "dtStats" ] = 0 ; // not saved but used to calculate other stats that are saved
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgKillAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discKillAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeKillAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeKillAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserKillAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarKillAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileKillAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockKillAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaKillAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterKillAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineKillAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgDeathAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discDeathAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeDeathAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeDeathAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserDeathAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarDeathAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileDeathAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockDeathAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaDeathAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterDeathAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineDeathAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgKillGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discKillGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeKillGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeKillGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserKillGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarKillGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileKillGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockKillGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaKillGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterKillGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineKillGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgDeathGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discDeathGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeDeathGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeDeathGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserDeathGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarDeathGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileDeathGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockDeathGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaDeathGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterDeathGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineDeathGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgKillAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discKillAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeKillAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeKillAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserKillAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarKillAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileKillAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockKillAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaKillAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterKillAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineKillAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgKillAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discKillAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeKillAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeKillAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserKillAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarKillAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileKillAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockKillAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaKillAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterKillAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineKillAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgDeathAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discDeathAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeDeathAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeDeathAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserDeathAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarDeathAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockDeathAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaDeathAirAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterDeathAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineDeathAirGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgKillGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discKillGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeKillGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeKillGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserKillGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarKillGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileKillGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockKillGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaKillGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterKillGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineKillAGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgDeathGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discDeathGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeDeathGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeDeathGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserDeathGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarDeathGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileDeathGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockDeathGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaDeathGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterDeathGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineDeathGroundAir" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgKillGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discKillGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeKillGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeKillGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserKillGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarKillGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileKillGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockKillGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaKillGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterKillGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineKillAGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgDeathGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discDeathGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeDeathGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeDeathGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserDeathGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarDeathGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileDeathGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockDeathGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaDeathGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterDeathGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineDeathGroundGround" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterScore" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineScore" ;
//victim velocity
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "cgKillVV" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "discKillVV" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "grenadeKillVV" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "laserKillVV" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mortarKillVV" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "shockKillVV" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "plasmaKillVV" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "blasterKillVV" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "hGrenadeKillVV" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "mineKillVV" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "missileKillVV" ;
$ dtStats : : uFV [ $ dtStats : : uFC [ "dtStats" ] + + , "dtStats" ] = "ttl" ;
//////////////////////////////////////////////////////////////////////////////
//these are only saved in the total stats files
//keeps only the max value
$ dtStats : : FC [ "max" ] = 0 ; // value you want the max of \t the value you want it stored in
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "cgKillMaxDist\tcgMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "discKillMaxDist\tdiscMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "grenadeKillMaxDist\tgrenadeMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "hGrenadeKillMaxDist\thGrenadeMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "laserKillMaxDist\tlaserMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "mortarKillMaxDist\tmortarMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "missileKillMaxDist\tmissileMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "plasmaKillMaxDist\tplasmaMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "blasterKillMaxDist\tblasterMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "mineKillMaxDist\tmineMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "shockKillMaxDist\tshockMaxDist" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "weaponHitMaxDist\tweaponHitMaxDistMax" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "score\tscoreMax" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "kills\tkillsMax" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "killStreak\tkillStreakMax" ;
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "maxSpeed\tmaxSpeedMax" ;
2020-03-17 22:27:09 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "max" ] + + , "max" ] = "grabSpeed\tgrabSpeedMax" ;
2020-02-28 21:37:29 +00:00
2019-11-06 16:21:22 +00:00
2020-02-28 21:37:29 +00:00
//saves only the avg were total value does not make sence
$ dtStats : : FC [ "avg" ] = 0 ; //avg array // value we want avg off \t new value we want to avg to be dumped into
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "cgACC\tcgACCAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "discACC\tdiscACCAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "grenadeACC\tgrenadeACCAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "laserACC\tlaserACCAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "mortarACC\tmortarACCAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "shockACC\tshockACCAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "plasmaACC\tplasmaACCAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "blasterACC\tblasterACCAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "hGrenadeACC\thGrenadeACCAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "mineACC\tmineACCAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "missileACC\tmissileACCAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "score\tscoreAVG" ;
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "kills\tkillsAVG" ;
2020-03-05 06:51:16 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "timeTL\ttimeTLAVG" ;
2020-02-28 21:37:29 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "overallACC\toverallACCAVG" ;
2020-03-17 22:27:09 +00:00
$ dtStats : : FV [ $ dtStats : : FC [ "avg" ] + + , "avg" ] = "heldTime\theldTimeAVG" ;
2020-02-28 21:37:29 +00:00
//$dtStats::FV[$dtStats::FC["avg"]++,"avg"] = "airTime\tairTimeAvg";
//$dtStats::FV[$dtStats::FC["avg"]++,"avg"] = "groundTime\tgroundTimeAvg";
2019-03-13 00:10:12 +00:00
if ( ! $ dtStats : : Enable ) { return ; } // abort exec
if ( ! isObject ( statsGroup ) ) { new SimGroup ( statsGroup ) ; }
2019-11-20 19:43:50 +00:00
2020-02-28 21:37:29 +00:00
function dtAICON ( % client ) {
dtStatsMissionDropReady ( Game . getId ( ) , % client ) ;
}
2019-03-10 16:58:05 +00:00
package dtStats {
2020-02-28 21:37:29 +00:00
function AIConnection : : startMission ( % client ) { // ai support
parent : : startMission ( % client ) ;
if ( $ dtStats : : Enable )
schedule ( 25000 , 0 , "dtAICON" , % client ) ;
}
2019-03-13 00:10:12 +00:00
function CTFGame : : clientMissionDropReady ( % game , % client ) {
2019-03-10 16:58:05 +00:00
parent : : clientMissionDropReady ( % game , % client ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsMissionDropReady ( % game , % client ) ; //common
2019-03-10 16:58:05 +00:00
}
function CTFGame : : onClientLeaveGame ( % game , % client ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsClientLeaveGame ( % game , % client ) ; //common
2019-03-10 16:58:05 +00:00
parent : : onClientLeaveGame ( % game , % client ) ;
}
function CTFGame : : gameOver ( % game ) {
2019-03-13 00:10:12 +00:00
parent : : gameOver ( % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsGameOver ( % game ) ; //common
}
2019-03-13 00:10:12 +00:00
function CTFGame : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
clientKillStats ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ; //for stats collection
2019-03-13 00:10:12 +00:00
parent : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ;
}
2019-11-20 19:43:50 +00:00
function CTFGame : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
else
parent : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
2019-11-20 19:43:50 +00:00
}
function CTFGame : : updateScoreHud ( % game , % client , % tag ) { // defaultGame/evo
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
CTFHud ( % game , % client , % tag ) ;
else
parent : : updateScoreHud ( % game , % client , % tag ) ;
}
function CTFGame : : resetScore ( % game , % client ) {
//to prevent the game type from resetting scores as we do it after the stats are saved
if ( ! $ dtStats : : Enable )
parent : : resetScore ( % game , % client ) ;
2019-11-20 19:43:50 +00:00
}
////////////////////////////////////////////////////////////////////////////////
2019-03-13 00:10:12 +00:00
function LakRabbitGame : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
clientKillStats ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ; //for stats collection
2019-03-13 00:10:12 +00:00
parent : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ;
}
function LakRabbitGame : : clientMissionDropReady ( % game , % client ) { // called when client has finished loading
parent : : clientMissionDropReady ( % game , % client ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsMissionDropReady ( % game , % client ) ; //common
2019-03-13 00:10:12 +00:00
}
function LakRabbitGame : : onClientLeaveGame ( % game , % client ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsClientLeaveGame ( % game , % client ) ; //common
2019-03-13 00:10:12 +00:00
parent : : onClientLeaveGame ( % game , % client ) ;
}
function LakRabbitGame : : gameOver ( % game ) {
2019-03-10 16:58:05 +00:00
parent : : gameOver ( % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsGameOver ( % game ) ; //common
}
function LakRabbitGame : : recalcScore ( % game , % client ) {
if ( $ missionRunning ) {
parent : : recalcScore ( % game , % client ) ;
}
2019-03-10 16:58:05 +00:00
}
2019-11-20 19:43:50 +00:00
function LakRabbitGame : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
else
parent : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
2019-11-20 19:43:50 +00:00
}
function LakRabbitGame : : updateScoreHud ( % game , % client , % tag ) { // defaultGame/evo
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
LakRabbitHud ( % game , % client , % tag ) ;
else
parent : : updateScoreHud ( % game , % client , % tag ) ;
}
function LakRabbitGame : : resetScore ( % game , % client ) {
//to prevent the game type from resetting scores as we do it after the stats are saved
if ( ! $ dtStats : : Enable )
parent : : resetScore ( % game , % client ) ;
2019-11-20 19:43:50 +00:00
}
////////////////////////////////////////////////////////////////////////////////
2019-04-01 20:02:48 +00:00
function DMGame : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
clientKillStats ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ; //for stats collection
2019-04-01 20:02:48 +00:00
parent : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ;
}
function DMGame : : clientMissionDropReady ( % game , % client ) { // called when client has finished loading
parent : : clientMissionDropReady ( % game , % client ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsMissionDropReady ( % game , % client ) ; //common
2019-04-01 20:02:48 +00:00
}
function DMGame : : onClientLeaveGame ( % game , % client ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsClientLeaveGame ( % game , % client ) ; //common
2019-04-01 20:02:48 +00:00
parent : : onClientLeaveGame ( % game , % client ) ;
}
function DMGame : : gameOver ( % game ) {
parent : : gameOver ( % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsGameOver ( % game ) ; //common
}
function DMGame : : recalcScore ( % game , % client ) {
if ( ! $ missionRunning ) {
return ;
}
parent : : recalcScore ( % game , % client ) ;
2019-04-01 20:02:48 +00:00
}
2019-11-20 19:43:50 +00:00
function DMGame : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
else
parent : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
2019-11-20 19:43:50 +00:00
}
function DMGame : : updateScoreHud ( % game , % client , % tag ) { // defaultGame/evo
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
DMHud ( % game , % client , % tag ) ;
else
parent : : updateScoreHud ( % game , % client , % tag ) ;
}
function DMGame : : resetScore ( % game , % client ) {
//to prevent the game type from resetting scores as we do it after the stats are saved
if ( ! $ dtStats : : Enable )
parent : : resetScore ( % game , % client ) ;
2019-11-20 19:43:50 +00:00
}
////////////////////////////////////////////////////////////////////////////////
2019-04-01 20:02:48 +00:00
function SCtFGame : : clientMissionDropReady ( % game , % client ) {
parent : : clientMissionDropReady ( % game , % client ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsMissionDropReady ( % game , % client ) ; //common
2019-04-01 20:02:48 +00:00
}
function SCtFGame : : onClientLeaveGame ( % game , % client ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsClientLeaveGame ( % game , % client ) ; //common
2019-04-01 20:02:48 +00:00
parent : : onClientLeaveGame ( % game , % client ) ;
}
function SCtFGame : : gameOver ( % game ) {
parent : : gameOver ( % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsGameOver ( % game ) ; //common
2019-04-01 20:02:48 +00:00
}
function SCtFGame : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
clientKillStats ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ; //for stats collection
2019-04-01 20:02:48 +00:00
parent : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ;
}
2019-11-20 19:43:50 +00:00
function SCtFGame : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
else
parent : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
2019-11-20 19:43:50 +00:00
}
function SCtFGame : : updateScoreHud ( % game , % client , % tag ) { // defaultGame/evo
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
CTFHud ( % game , % client , % tag ) ;
else
parent : : updateScoreHud ( % game , % client , % tag ) ;
}
function SCtFGame : : resetScore ( % game , % client ) {
//to prevent the game type from resetting scores as we do it after the stats are saved
if ( ! $ dtStats : : Enable )
parent : : resetScore ( % game , % client ) ;
2019-11-20 19:43:50 +00:00
}
/////////////////////////////////////////////////////////////////////////////////////
function ArenaGame : : clientMissionDropReady ( % game , % client ) {
parent : : clientMissionDropReady ( % game , % client ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsMissionDropReady ( % game , % client ) ; //common
2019-11-20 19:43:50 +00:00
}
function ArenaGame : : onClientLeaveGame ( % game , % client ) {
dtStatsClientLeaveGame ( % game , % client ) ; //common
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
parent : : onClientLeaveGame ( % game , % client ) ;
2019-11-20 19:43:50 +00:00
}
function ArenaGame : : gameOver ( % game ) {
parent : : gameOver ( % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsGameOver ( % game ) ; //common
2019-11-20 19:43:50 +00:00
}
function ArenaGame : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
clientKillStats ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ; //for stats collection
2019-11-20 19:43:50 +00:00
parent : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ;
}
function ArenaGame : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
else
parent : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
2019-11-20 19:43:50 +00:00
}
function ArenaGame : : updateScoreHud ( % game , % client , % tag ) { // defaultGame/evo
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
ArenaHud ( % game , % client , % tag ) ;
else
parent : : updateScoreHud ( % game , % client , % tag ) ;
}
function ArenaGame : : resetScore ( % game , % client ) {
//to prevent the game type from resetting scores as we do it after the stats are saved
if ( ! $ dtStats : : Enable )
parent : : resetScore ( % game , % client ) ;
2019-11-20 19:43:50 +00:00
}
/////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
function DuelGame : : clientMissionDropReady ( % game , % client ) {
2019-11-20 19:43:50 +00:00
parent : : clientMissionDropReady ( % game , % client ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsMissionDropReady ( % game , % client ) ; //common
2019-11-20 19:43:50 +00:00
}
function DuelGame : : onClientLeaveGame ( % game , % client ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsClientLeaveGame ( % game , % client ) ; //common
2019-11-20 19:43:50 +00:00
parent : : onClientLeaveGame ( % game , % client ) ;
}
function DuelGame : : gameOver ( % game ) {
parent : : gameOver ( % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtStatsGameOver ( % game ) ; //common
2019-11-20 19:43:50 +00:00
}
function DuelGame : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
clientKillStats ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ; //for stats collection
2019-11-20 19:43:50 +00:00
parent : : onClientKilled ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) ;
}
function DuelGame : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
dtGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
else
parent : : processGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) ;
2019-11-20 19:43:50 +00:00
}
function DuelGame : : updateScoreHud ( % game , % client , % tag ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
DuelHud ( % game , % client , % tag ) ;
else
parent : : updateScoreHud ( % game , % client , % tag ) ;
}
function DuelGame : : resetScore ( % game , % client ) {
//to prevent the game type from resetting scores as we do it after the stats are saved
if ( ! $ dtStats : : Enable )
parent : : resetScore ( % game , % client ) ;
2019-11-20 19:43:50 +00:00
}
2020-03-16 16:52:20 +00:00
///////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
function DefaultGame : : forceObserver ( % game , % client , % reason ) {
parent : : forceObserver ( % game , % client , % reason ) ;
if ( $ dtStats : : Enable ) {
2020-04-06 21:48:01 +00:00
if ( % reason $ = "spawnTimeout" ) {
% client . spawnobstimeoutCount + + ;
}
2020-02-28 21:37:29 +00:00
% client . gt = % client . at = 0 ; //air time ground time reset
}
}
2019-11-24 19:34:05 +00:00
function DefaultGame : : missionLoadDone ( % game ) {
parent : : missionLoadDone ( % game ) ;
//check to see if we are running evo or not, if not then lets just enable these
if ( ! isFile ( "scripts/autoexec/evolution.cs" ) ) {
2020-03-23 20:23:42 +00:00
$ Host : : AveragePings = $ Host : : ShowIngamePlayerScores = 1 ;
2019-11-24 19:34:05 +00:00
}
}
function serverCmdShowHud ( % client , % tag ) { // to refresh screen when client opens it up
parent : : serverCmdShowHud ( % client , % tag ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable ) {
% tagName = getWord ( % tag , 1 ) ;
% tag = getWord ( % tag , 0 ) ;
if ( % tag $ = ' scoreScreen ' & & % client . viewStats ) {
statsMenu ( % client , Game . class ) ;
}
2019-11-24 19:34:05 +00:00
}
}
2020-03-16 16:52:20 +00:00
//////////////////////////////////////////////////////////////////////////////////
2019-11-24 19:34:05 +00:00
function DefaultGame : : activatePackages ( % game ) {
parent : : activatePackages ( % game ) ;
if ( isActivePackage ( dtStatsGame ) ) {
deactivatePackage ( dtStatsGame ) ;
activatePackage ( dtStatsGame ) ;
}
else {
activatePackage ( dtStatsGame ) ;
}
}
function DefaultGame : : deactivatePackages ( % game ) {
parent : : deactivatePackages ( % game ) ;
if ( isActivePackage ( dtStatsGame ) )
deactivatePackage ( dtStatsGame ) ;
}
2020-03-16 16:52:20 +00:00
//////////////////////////////////////////////////////////////////////////////////
// Flag Escort Fixes
function CTFGame : : onClientDamaged ( % game , % clVictim , % clAttacker , % damageType , % implement , % damageLoc ) {
parent : : onClientDamaged ( % game , % clVictim , % clAttacker , % damageType , % implement , % damageLoc ) ;
if ( ( % clVictim . player . holdingFlag ! $ = "" ) & & ( % clVictim . team ! = % clAttacker . team ) )
% clAttacker . dmgdFlagTime = getSimTime ( ) ;
}
function CTFGame : : testEscortAssist ( % game , % victimID , % killerID ) {
if ( ( getSimTime ( ) - % victimID . dmgdFlagTime ) < % game . TIME_CONSIDERED_FLAGCARRIER_THREAT & & % killerID . player . holdingFlag $ = "" )
return true ;
return false ;
}
function SCtFGame : : onClientDamaged ( % game , % clVictim , % clAttacker , % damageType , % implement , % damageLoc ) {
parent : : onClientDamaged ( % game , % clVictim , % clAttacker , % damageType , % implement , % damageLoc ) ;
if ( ( % clVictim . player . holdingFlag ! $ = "" ) & & ( % clVictim . team ! = % clAttacker . team ) )
% clAttacker . dmgdFlagTime = getSimTime ( ) ;
}
function SCtFGame : : testEscortAssist ( % game , % victimID , % killerID ) {
if ( ( getSimTime ( ) - % victimID . dmgdFlagTime ) < % game . TIME_CONSIDERED_FLAGCARRIER_THREAT & & % killerID . player . holdingFlag $ = "" )
return true ;
return false ;
}
function PracticeCTFGame : : onClientDamaged ( % game , % clVictim , % clAttacker , % damageType , % implement , % damageLoc ) {
parent : : onClientDamaged ( % game , % clVictim , % clAttacker , % damageType , % implement , % damageLoc ) ;
if ( ( % clVictim . player . holdingFlag ! $ = "" ) & & ( % clVictim . team ! = % clAttacker . team ) )
% clAttacker . dmgdFlagTime = getSimTime ( ) ;
}
function PracticeCTFGame : : testEscortAssist ( % game , % victimID , % killerID ) {
if ( ( getSimTime ( ) - % victimID . dmgdFlagTime ) < % game . TIME_CONSIDERED_FLAGCARRIER_THREAT & & % killerID . player . holdingFlag $ = "" )
return true ;
return false ;
}
//////////////////////////////////////////////////////////////////////////////////
2020-04-06 21:48:01 +00:00
function chatMessageAll ( % sender , % msgString , % a1 , % a2 , % a3 , % a4 , % a5 , % a6 , % a7 , % a8 , % a9 , % a10 ) {
if ( $ dtStats : : Enable ) {
% sender . chatallCount + + ;
}
parent : : chatMessageAll ( % sender , % msgString , % a1 , % a2 , % a3 , % a4 , % a5 , % a6 , % a7 , % a8 , % a9 , % a10 ) ;
}
function chatMessageTeam ( % sender , % msgString , % a1 , % a2 , % a3 , % a4 , % a5 , % a6 , % a7 , % a8 , % a9 , % a10 ) {
if ( $ dtStats : : Enable ) {
% sender . chatteamCount + + ;
}
parent : : chatMessageTeam ( % sender , % msgString , % a1 , % a2 , % a3 , % a4 , % a5 , % a6 , % a7 , % a8 , % a9 , % a10 ) ;
}
function kick ( % client , % admin , % guid ) {
if ( $ dtStats : : Enable ) {
% client . kickCount + + ;
}
parent : : kick ( % client , % admin , % guid ) ;
}
function cmdAutoKickObserver ( % client , % key ) { // Edit GG
parent : : cmdAutoKickObserver ( % client , % key ) ;
if ( $ dtStats : : Enable ) {
% client . obstimeoutkickCount + + ;
}
}
function playerStartNewVote ( % client , % typeName , % arg1 , % arg2 , % arg3 , % arg4 , % teamSpecific , % msg ) {
parent : : playerStartNewVote ( % client , % typeName , % arg1 , % arg2 , % arg3 , % arg4 , % teamSpecific , % msg ) ;
if ( $ dtStats : : Enable ) {
% client . voteCount + + ;
}
}
//////////////////////////////////////////////////////////////////////////////////
2019-11-24 19:34:05 +00:00
} ;
//helps with game types that override functions and dont use parent
// that way we get called first then the gametype can do whatever
package dtStatsGame {
function detonateGrenade ( % obj ) { // from lakRabbitGame.cs for grenade tracking
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable ) {
% obj . dtNade = 1 ;
$ dtObjExplode = % obj ;
}
2019-11-24 19:34:05 +00:00
parent : : detonateGrenade ( % obj ) ;
}
function MineDeployed : : onThrow ( % this , % mine , % thrower ) {
parent : : onThrow ( % this , % mine , % thrower ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable ) {
% thrower . client . mineShotsFired + + ;
% thrower . client . shotsFired + + ;
% thrower . client . mineACC = ( % thrower . client . mineIndirectHits / % thrower . client . mineShotsFired ) * 100 ;
}
2019-11-24 19:34:05 +00:00
}
function GrenadeThrown : : onThrow ( % this , % gren , % thrower ) {
parent : : onThrow ( % this , % gren ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable ) {
% thrower . client . hGrenadeShotsFired + + ;
% thrower . client . shotsFired + + ;
% thrower . client . hGrenadeACC = ( % thrower . client . hGrenadeInHits / % thrower . client . hGrenadeShotsFired ) * 100 ;
}
2019-11-24 19:34:05 +00:00
}
function ShapeBaseImageData : : onFire ( % data , % obj , % slot ) {
2019-11-20 19:43:50 +00:00
% p = parent : : onFire ( % data , % obj , % slot ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable ) {
if ( isObject ( % p ) ) {
clientShotsFired ( % data . projectile , % obj , % p ) ;
}
2019-11-20 19:43:50 +00:00
}
return % p ;
}
function Armor : : damageObject ( % data , % targetObject , % sourceObject , % position , % amount , % damageType , % momVec , % mineSC ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
clientDmgStats ( % data , % position , % sourceObject , % targetObject , % damageType , % amount ) ;
2019-11-20 19:43:50 +00:00
parent : : damageObject ( % data , % targetObject , % sourceObject , % position , % amount , % damageType , % momVec , % mineSC ) ;
}
2020-04-06 21:48:01 +00:00
//0 Fire 1 ??? 2 jump 3 jet 4 grenade 5 mine
2020-03-07 22:37:54 +00:00
function Armor : : onTrigger ( % data , % player , % triggerNum , % val ) {
parent : : onTrigger ( % data , % player , % triggerNum , % val ) ;
2020-03-15 19:34:27 +00:00
if ( $ dtStats : : Enable ) {
if ( isObject ( % player ) & & ! % player . getObjectMount ( ) ) {
if ( % val ) { // cuts the amount of tiggers by half
% client = % player . client ;
% speed = vectorLen ( % player . getVelocity ( ) ) ;
if ( % client . maxSpeed < % speed ) { % client . maxSpeed = % speed ; }
% client . avgTSpeed + = % speed ; % client . avgSpeedCount + + ;
% client . avgSpeed = % client . avgTSpeed / % client . avgSpeedCount ;
if ( % client . avgSpeedCount > = 500 ) { % client . avgSpeedCount = % client . avgTSpeed = 0 ; }
//dist moved
% xypos = getWords ( % player . getPosition ( ) , 0 , 1 ) SPC 0 ;
if ( % client . lp ! $ = "" ) { % client . distMov = mFloor ( % client . distMov + vectorDist ( % client . lp , % xypos ) ) ; }
% client . lp = % xypos ;
}
if ( % triggerNum = = 3 ) { //jet triggers
if ( % val ) {
if ( isEventPending ( % player . jetTimeTest ) ) {
cancel ( % player . jetTimeTest ) ;
}
% client . jetTrigCount + + ;
if ( % client . ground ) {
if ( % client . gt > 0 ) {
% client . groundTime + = ( ( getSimTime ( ) - % client . gt ) / 1000 ) / 60 ;
}
% client . at = getSimTime ( ) ;
2020-03-07 22:37:54 +00:00
}
2020-03-15 19:34:27 +00:00
% client . ground = 0 ;
}
else {
if ( ! isEventPending ( % player . jetTimeTest ) ) {
% mask = $ TypeMasks : : StaticShapeObjectType | $ TypeMasks : : InteriorObjectType | $ TypeMasks : : TerrainObjectType ;
% rayStart = % player . getWorldBoxCenter ( ) ;
% rayEnd = VectorAdd ( % rayStart , "0 0" SPC ( 10000 * - 1 ) ) ;
% raycast = ContainerRayCast ( % rayStart , % rayEnd , % mask , % player ) ;
% groundPos = getWords ( % raycast , 1 , 3 ) ;
% dis = vectorDist ( % player . getPosition ( ) , % groundPos ) ;
% zv = getWord ( % player . getVelocity ( ) , 2 ) ;
//%player.testDis = %player.getPosition();
//%a = getVecAngle(%player.getForwardVector(),vectorNormalize(%player.getVelocity()),%zv);
//%hv = vectorLen(%player.getVelocity());
//%range = %hv * mCos(%a * 3.14159/180) * (%hv * mSin(%a * 3.14159/180) + mSqrt(mPow((%hv * mSin(%a * 3.14159/180)),2) + 2 * mAbs(getGravity()) * %dis)) / mAbs(getGravity());
% time = ( ( ( % zv + mSqrt ( mPow ( ( % zv ) , 2 ) + 2 * mAbs ( getGravity ( ) ) * % dis ) ) / mAbs ( getGravity ( ) ) ) * 1000 ) ; // not perfect but close enough with out getting too crazy and facy
// error(%dis SPC %time SPC %range);
% player . jetTimeTest = schedule ( % time , 0 , "chkGrounded" , % player ) ;
}
2020-03-07 22:37:54 +00:00
}
}
}
2020-03-15 19:34:27 +00:00
else {
% client . lp = "" ;
% client . gt = % client . at = 0 ;
}
2020-03-07 22:37:54 +00:00
}
}
2019-11-20 19:43:50 +00:00
function StaticShapeData : : damageObject ( % data , % targetObject , % sourceObject , % position , % amount , % damageType ) {
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
clientDmgStats ( % data , % position , % sourceObject , % targetObject , % damageType , % amount ) ;
parent : : damageObject ( % data , % targetObject , % sourceObject , % position , % amount , % damageType ) ;
2019-11-20 19:43:50 +00:00
}
function SniperRifleImage : : onFire ( % data , % obj , % slot ) {
if ( ! % obj . hasEnergyPack | | % obj . getEnergyLevel ( ) < % this . minEnergy ) // z0dd - ZOD, 5/22/03. Check for energy too.
{
// siddown Junior, you can't use it
serverPlay3D ( SniperRifleDryFireSound , % obj . getTransform ( ) ) ;
return ;
2019-03-10 16:58:05 +00:00
}
2019-11-20 19:43:50 +00:00
% pct = % obj . getEnergyLevel ( ) / % obj . getDataBlock ( ) . maxEnergy ;
% p = new ( % data . projectileType ) ( ) {
dataBlock = % data . projectile ;
initialDirection = % obj . getMuzzleVector ( % slot ) ;
initialPosition = % obj . getMuzzlePoint ( % slot ) ;
sourceObject = % obj ;
damageFactor = % pct * % pct ;
sourceSlot = % slot ;
} ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
clientShotsFired ( % data . projectile , % obj , % p ) ;
2019-11-20 19:43:50 +00:00
% p . setEnergyPercentage ( % pct ) ;
% obj . lastProjectile = % p ;
MissionCleanup . add ( % p ) ;
serverPlay3D ( SniperRifleFireSound , % obj . getTransform ( ) ) ;
// AI hook
if ( % obj . client )
% obj . client . projectile = % p ;
2019-03-10 16:58:05 +00:00
2019-11-20 19:43:50 +00:00
% obj . setEnergyLevel ( 0 ) ;
if ( $ Host : : ClassicLoadSniperChanges )
% obj . decInventory ( % data . ammo , 1 ) ;
}
function ShockLanceImage : : onFire ( % this , % obj , % slot ) {
% p = parent : : onFire ( % this , % obj , % slot ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable )
2019-11-20 19:43:50 +00:00
clientShotsFired ( ShockLanceImage . projectile , % obj , % p ) ;
return % p ;
}
function Armor : : onMount ( % this , % obj , % vehicle , % node ) {
parent : : onMount ( % this , % obj , % vehicle , % node ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : Enable ) {
% obj . client . vehDBName = % vehicle . getDataBlock ( ) . getName ( ) ;
% obj . client . gt = % obj . client . at = 0 ; // resets fly/ground time
}
2019-11-20 19:43:50 +00:00
}
2020-03-17 22:27:09 +00:00
////////////////////////////////////////////////////////////////////////////////
function CTFGame : : playerDroppedFlag ( % game , % player ) {
if ( $ dtStats : : Enable ) {
% flag = % player . holdingFlag ;
% game . dtFlagTime [ % flag ] = 0 ;
}
parent : : playerDroppedFlag ( % game , % player ) ;
}
function CTFGame : : boundaryLoseFlag ( % game , % player ) {
if ( $ dtStats : : Enable ) {
% flag = % player . holdingFlag ;
% game . dtFlagTime [ % flag ] = 0 ;
}
parent : : boundaryLoseFlag ( % game , % player ) ;
}
function CTFGame : : playerTouchEnemyFlag ( % game , % player , % flag ) {
if ( $ dtStats : : Enable ) {
if ( % flag . isHome ) {
% game . dtFlagTime [ % flag ] = getSimTime ( ) ;
}
if ( ! % player . flagStatsWait ) {
% grabspeed = mFloor ( VectorLen ( setWord ( % player . getVelocity ( ) , 2 , 0 ) ) * 3.6 ) ;
if ( % grabSpeed > % player . client . grabSpeed ) {
% player . client . grabSpeed = % grabSpeed ;
}
}
}
parent : : playerTouchEnemyFlag ( % game , % player , % flag ) ;
}
function CTFGame : : flagCap ( % game , % player ) {
if ( $ dtStats : : Enable ) {
% flag = % player . holdingFlag ;
if ( % game . dtFlagTime [ % flag ] ) {
% heldTime = getSimTime ( ) - % game . dtFlagTime [ % flag ] ;
if ( % heldTime < % player . client . heldTime | | ! % player . client . heldTime ) {
% player . client . heldTime = % heldTime ;
}
}
}
parent : : flagCap ( % game , % player ) ;
}
2020-04-06 21:48:01 +00:00
function CTFGame : : staticShapeOnRepaired ( % game , % obj , % objName ) {
parent : : staticShapeOnRepaired ( % game , % obj , % objName ) ;
if ( $ dtStats : : Enable ) {
if ( % game . testValidRepair ( % obj ) & & isObject ( % repairman ) ) {
switch $ ( % dataName ) {
case "GeneratorLarge" :
% repairman . repairgenCount + + ;
case "SolarPanel" :
% repairman . repairsolarpanelCount + + ;
case "SensorLargePulse" or "SensorMediumPulse" :
% repairman . repairsensorlargeCount + + ;
case "StationInventory" or "StationAmmo" :
% repairman . repairstationinvCount + + ;
case "StationVehicle" :
% repairman . repairstationvehCount + + ;
case "TurretBaseLarge" :
% repairman . repairturretlargeCount + + ;
case "SentryTurret" :
% repairman . repairturretsentryCount + + ;
case "DeployedMotionSensor" or "DeployedPulseSensor" :
% repairman . repairdepmotsensorCount + + ;
case "TurretDeployedWallIndoor" or "TurretDeployedFloorIndoor" or "TurretDeployedCeilingIndoor" :
% repairman . repairturretspiderclampCount + + ;
case "TurretDeployedOutdoor" :
% repairman . repairturretlandspikeCount + + ;
case "DeployedStationInventory" :
% repairman . repairdepinvstationCount + + ;
case "MPBTeleporter" :
% repairman . repairmpbteleCount + + ;
default :
return ;
}
}
}
2020-04-07 19:53:33 +00:00
}
function DefaultGame : : leaveMissionArea ( % game , % playerData , % player ) {
parent : : leaveMissionArea ( % game , % playerData , % player ) ;
if ( $ dtStats : : Enable )
% player . leavemissionareaCount + + ;
}
function DefaultGame : : clientChangeTeam ( % game , % client , % team , % fromObs , % respawned ) { // z0dd - ZOD, 6/06/02. Don't send a message if player used respawn feature. Added %respawned
parent : : clientChangeTeam ( % game , % client , % team , % fromObs , % respawned ) ;
if ( $ dtStats : : Enable )
% client . switchteamCount + + ;
}
function FlipFlop : : playerTouch ( % data , % flipflop , % player ) {
parent : : playerTouch ( % data , % flipflop , % player ) ;
if ( $ dtStats : : Enable )
% player . flipflopCount + + ;
}
function Player : : pickup ( % this , % obj , % amount ) {
parent : : pickup ( % this , % obj , % amount ) ;
if ( $ dtStats : : Enable ) {
if ( % data . className $ = Pack )
% this . packpickupCount + + ;
else if ( % data . className $ = Weapon )
% this . weaponpickupCount + + ;
}
}
2019-11-20 19:43:50 +00:00
} ;
2020-02-28 21:37:29 +00:00
function chkGrounded ( % player ) {
if ( isObject ( % player ) ) {
% client = % player . client ;
if ( ! % client . ground ) {
if ( % client . at > 0 ) {
% client . airTime + = ( ( getSimTime ( ) - % client . at ) / 1000 ) / 60 ;
}
% client . gt = getSimTime ( ) ;
}
% client . ground = 1 ;
% player . jetTimeTest = 0 ;
}
// error(%client.airTime SPC %client.groundTime);
}
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Enable ) {
activatePackage ( dtStats ) ;
}
////////////////////////////////////////////////////////////////////////////////
// Game Type Commons //
////////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
function dtGameLink ( % game , % client , % arg1 , % arg2 , % arg3 , % arg4 , % arg5 ) {
2020-03-06 07:45:30 +00:00
if ( $ dtStats : : debugEchos ) { error ( % game SPC % client SPC % arg1 SPC % arg2 SPC % arg3 SPC % arg4 SPC % arg5 ) ; }
if ( % arg1 $ = "Stats" ) {
% client . viewClient = getCNameToCID ( % arg3 ) ;
if ( % client . viewClient ! = 0 ) {
% client . viewStats = 1 ; // lock out score hud from updateing untill they are done
% client . viewMenu = % arg2 ;
% client . GlArg4 = % arg4 ;
% client . GlArg5 = % arg5 ;
if ( $ dtStats : : debugEchos ) { error ( "dtGameLink GUID = " SPC % client . guid SPC % arg1 SPC % arg2 SPC % arg3 SPC % arg4 ) ; }
statsMenu ( % client , % game . class ) ;
if ( % arg2 ! $ = "Reset" ) {
return ;
}
else {
messageClient ( % client , ' ClearHud ' , "" , ' scoreScreen ' , 0 ) ;
% client . viewStats = 0 ;
Game . updateScoreHud ( % client , ' scoreScreen ' ) ;
}
2019-11-20 19:43:50 +00:00
}
}
if ( % game . class $ = "DuelGame" ) {
switch ( getSubStr ( % arg1 , 0 , 1 ) )
{
case 1 :
% targetClient = getSubStr ( % arg1 , 1 , strlen ( % arg1 ) - 1 ) ;
if ( ( % targetClient . team ! = 0 ) | | ( % client . team ! = 0 ) )
{
serverCmdHideHud ( % client , ' scoreScreen ' ) ;
commandToClient ( % client , ' setHudMode ' , ' Standard ' , "" , 0 ) ;
DefaultGame : : processGameLink ( % game , % client , % targetClient , % arg2 , % arg3 , % arg4 , % arg5 ) ;
}
else
% game . RequestDuel ( % client , % TargetClient ) ;
case 2 :
% game . CancelDuelOffer ( % client ) ;
serverCmdHideHud ( % client , ' scoreScreen ' ) ;
commandToClient ( % client , ' setHudMode ' , ' Standard ' , "" , 0 ) ;
case 3 :
% game . AcceptDuelOffer ( % client . clientDuelRequestedBy ) ;
serverCmdHideHud ( % client , ' scoreScreen ' ) ;
commandToClient ( % client , ' setHudMode ' , ' Standard ' , "" , 0 ) ;
case 4 :
% game . DeclineDuelOffer ( % client . clientDuelRequestedBy ) ;
serverCmdHideHud ( % client , ' scoreScreen ' ) ;
commandToClient ( % client , ' setHudMode ' , ' Standard ' , "" , 0 ) ;
default :
}
}
else {
2019-03-10 16:58:05 +00:00
% targetClient = % arg1 ;
if ( ( % client . team = = 0 ) & & isObject ( % targetClient ) & & ( % targetClient . team ! = 0 ) )
{
% prevObsClient = % client . observeClient ;
// update the observer list for this client
observerFollowUpdate ( % client , % targetClient , % prevObsClient ! $ = "" ) ;
serverCmdObserveClient ( % client , % targetClient ) ;
displayObserverHud ( % client , % targetClient ) ;
2019-03-16 19:19:20 +00:00
if ( % targetClient ! = % prevObsClient )
{
messageClient ( % targetClient , ' Observer ' , ' \ c1 % 1 is now observing you . ' , % client . name ) ;
messageClient ( % prevObsClient , ' ObserverEnd ' , ' \ c1 % 1 is no longer observing you . ' , % client . name ) ;
}
2019-03-10 16:58:05 +00:00
}
}
2019-11-20 19:43:50 +00:00
}
function tsPlayerCountTeam ( % teamindex )
{
% count = 0 ;
% lim = ClientGroup . getCount ( ) ;
for ( % i = 0 ; % i < % lim ; % i + + )
{
% client = ClientGroup . getObject ( % i ) ;
if ( % client . team = = % teamindex )
% count + + ;
}
return % count ;
}
function ArenaHud ( % game , % client , % tag ) {
if ( % client . viewStats & & $ dtStats : : enableRefresh ) {
statsMenu ( % client , % game . class ) ;
return ;
}
else if ( % client . viewStats & & ! $ dtStats : : enableRefresh ) {
return ;
}
% ShowScores = ( $ Host : : TournamentMode | | $ Host : : ShowIngamePlayerScores ) ;
2019-03-10 16:58:05 +00:00
2019-11-20 19:43:50 +00:00
// Clear the HUD
messageClient ( % client , ' ClearHud ' , "" , % tag , 0 ) ;
// Clear the header
messageClient ( % client , ' SetScoreHudHeader ' , "" , "" ) ;
// Send the subheader
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < tab : 15 , 205 , 310 , 390 , 500 > \ tTEAMS / PLAYERS \ tSCORE \ tKILLS \ tWIN / LOSS \ tBONUS ' ) ;
// Tracks the line of the score hud we're writing to
% index = - 1 ;
// For every team in the game..
for ( % iTeam = 1 ; % iTeam < = Game . numTeams ; % iTeam + + )
{
// Send team name
% teamPlayerCount = tsPlayerCountTeam ( % iTeam ) ;
% teamPlayerCountPlural = % teamPlayerCount = = 1 ? "" : "s" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < tab : 10 , 310 > < spush > < font : Univers Condensed : 28 > \ t % 1 ( % 2 ) < font : Univers Condensed : 16 > % 3 Player % 4 < spop > ' , % game . getTeamName ( % iTeam ) , $ TeamScore [ % iTeam ] , % teamPlayerCount , % teamPlayerCountPlural ) ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
// Send team player list
for ( % iPlayer = 0 ; % iPlayer < $ TeamRank [ % iTeam , count ] ; % iPlayer + + )
{
% cl = $ TeamRank [ % iTeam , % iPlayer ] ;
% clScore = % cl . score $ = "" ? 0 : % cl . score ;
% clKills = % cl . kills $ = "" ? 0 : % cl . kills ;
% clBonus = % cl . hatTricks $ = "" ? 0 : % cl . hatTricks ;
% clWins = % cl . roundsWon $ = "" ? 0 : % cl . roundsWon ;
% clLosses = % cl . roundsLost $ = "" ? 0 : % cl . roundsLost ;
% score = % cl . score $ = "" ? 0 : % cl . score ;
if ( % cl = = % client )
if ( % cl . isAlive )
% clStyle = "<color:dcdcdc>" ;
else
% clStyle = "<color:dd7a7a>" ;
else if ( % cl . isAlive )
% clStyle = "" ;
else
% clStyle = "<color:f90202>" ;
// For living players send a simple name
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
if ( % client . team ! = 0 & & % client . isAlive )
2019-03-13 00:10:12 +00:00
{
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' % 5 < tab : 20 , 450 > \ t < clip : 200 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 250 > < just : right > % 2 < rmargin : 340 > < just : right > % 3 < rmargin : 450 > < just : right > % 4 / % 6 < rmargin : 540 > < just : right > % 7 ' ,
% cl . name , % clScore , % clKills , % clWins , % clStyle , % clLosses , % clBonus ) ;
2019-03-13 00:10:12 +00:00
}
2019-11-20 19:43:50 +00:00
// For observers, create an anchor around the player name so they can be observed
else
2019-03-13 00:10:12 +00:00
{
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' % 5 < tab : 20 , 450 > \ t < clip : 200 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 6 > % 1 < / a > < / clip > < rmargin : 250 > < just : right > % 2 < rmargin : 340 > < just : right > % 3 < rmargin : 450 > < just : right > % 4 / % 8 < rmargin : 540 > < just : right > % 7 ' ,
% cl . name , % clScore , % clKills , % clWins , % clStyle , % cl , % clBonus , % clLosses ) ;
2019-03-10 16:58:05 +00:00
}
}
2019-11-20 19:43:50 +00:00
else {
if ( % cl = = % client ) {
if ( % client . team ! = 0 & & % client . isAlive )
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' % 5 < tab : 20 , 450 > \ t < clip : 200 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 250 > < just : right > % 2 < rmargin : 340 > < just : right > % 3 < rmargin : 450 > < just : right > % 4 / % 6 < rmargin : 540 > < just : right > % 7 ' ,
% cl . name , % clScore , % clKills , % clWins , % clStyle , % clLosses , % clBonus ) ;
}
// For observers, create an anchor around the player name so they can be observed
2019-03-13 00:10:12 +00:00
else
2019-11-20 19:43:50 +00:00
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' % 5 < tab : 20 , 450 > \ t < clip : 200 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 6 > % 1 < / a > < / clip > < rmargin : 250 > < just : right > % 2 < rmargin : 340 > < just : right > % 3 < rmargin : 450 > < just : right > % 4 / % 8 < rmargin : 540 > < just : right > % 7 ' ,
% cl . name , % clScore , % clKills , % clWins , % clStyle , % cl , % clBonus , % clLosses ) ;
}
2019-03-10 16:58:05 +00:00
}
2019-11-20 19:43:50 +00:00
else {
if ( % client . team ! = 0 & & % client . isAlive )
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' % 5 < tab : 20 , 450 > \ t < clip : 200 > % 1 < / clip > < rmargin : 250 > < just : right > % 2 < rmargin : 340 > < just : right > % 3 < rmargin : 450 > < just : right > % 4 / % 6 < rmargin : 540 > < just : right > % 7 ' ,
% cl . name , % clScore , % clKills , % clWins , % clStyle , % clLosses , % clBonus ) ;
}
// For observers, create an anchor around the player name so they can be observed
2019-03-13 00:10:12 +00:00
else
2019-11-20 19:43:50 +00:00
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' % 5 < tab : 20 , 450 > \ t < clip : 200 > < a : gamelink \ t % 6 > % 1 < / a > < / clip > < rmargin : 250 > < just : right > % 2 < rmargin : 340 > < just : right > % 3 < rmargin : 450 > < just : right > % 4 / % 8 < rmargin : 540 > < just : right > % 7 ' ,
% cl . name , % clScore , % clKills , % clWins , % clStyle , % cl , % clBonus , % clLosses ) ;
}
2019-03-10 16:58:05 +00:00
}
2019-11-20 19:43:50 +00:00
}
}
// Insert a blank line
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
}
// Tack on the list of observers:
% observerCount = 0 ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + )
{
% cl = ClientGroup . getObject ( % i ) ;
if ( % cl . team = = 0 )
% observerCount + + ;
}
if ( % observerCount > 0 )
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , "" ) ;
% index + + ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 , 310 > < spush > < font : Univers Condensed : 22 > \ tOBSERVERS ( % 1 ) < rmargin : 260 > < just : right > TIME < spop > ' , % observerCount ) ;
% index + + ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + )
{
% cl = ClientGroup . getObject ( % i ) ;
//if this is an observer
if ( % cl . team = = 0 )
{
% obsTime = getSimTime ( ) - % cl . observerStartTime ;
% obsTimeStr = % game . formatTime ( % obsTime , false ) ;
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 3 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' , % cl . name , % obsTimeStr , % cl ) ;
}
else if ( % cl = = % client ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 3 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' , % cl . name , % obsTimeStr , % cl ) ;
2019-03-10 16:58:05 +00:00
}
else {
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' , % cl . name , % obsTimeStr ) ;
2019-03-10 16:58:05 +00:00
}
2019-03-13 00:10:12 +00:00
% index + + ;
2019-03-10 16:58:05 +00:00
}
}
2019-11-20 19:43:50 +00:00
}
//clear the rest of Hud so we don't get old lines hanging around...
messageClient ( % client , ' ClearHud ' , "" , % tag , % index ) ;
}
2019-11-24 19:34:05 +00:00
2019-11-20 19:43:50 +00:00
function DuelHud ( % game , % client , % tag ) {
if ( % client . viewStats & & $ dtStats : : enableRefresh ) {
statsMenu ( % client , % game . class ) ;
return ;
}
else if ( % client . viewStats & & ! $ dtStats : : enableRefresh ) {
return ;
}
// Clear the header:
messageClient ( % client , ' SetScoreHudHeader ' , "" , "" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < lmargin : 10 > < just : left > PLAYER < lmargin : 185 > < just : left > ACCURACY < lmargin : 330 > < just : left > PLAYER < lmargin : 505 > < just : left > ACCURACY ' ) ;
for ( % index = 0 ; % index < ClientGroup . getCount ( ) ; % index + + )
ClientGroup . getObject ( % index ) . WasDisplayed = false ;
% index = 0 ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + )
{
% col1Client = ClientGroup . getObject ( % i ) ;
% col1ClientRank = "" ;
% col1Style = "<color:00dcdc>" ;
if ( ( % col1Client . clientDuelingWith = = 0 ) | | ( % col1Client . WasDisplayed ) | | ! isObject ( % col1Client . player ) )
continue ;
if ( % col1Client = = % client )
% col1Style = "<color:dcdcdc>" ;
% col2Client = % col1Client . clientDuelingWith ;
% col2Client . WasDisplayed = true ;
% col2ClientRank = "" ;
% col2Style = "<color:00dcdc>" ;
if ( % col2Client = = % client )
% col2Style = "<color:dcdcdc>" ;
//if the client is not an observer, send the message
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
if ( % client . team ! = 0 )
2019-03-13 00:10:12 +00:00
{
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < lmargin : 10 > < just : left > < clip : 180 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < lmargin : 200 > < just : left > % 2 < rmargin : 305 > < just : right > < color : ff0000 > versus < rmargin : 570 > % 6 < lmargin : 330 > < just : left > < clip : 180 > < a : gamelink \ tStats \ tView \ t % 3 > + < / a > % 3 < / clip > < just : right > % 4 ' ,
% col1Client . name , formatDuelScore ( % col1Client . score ) , % col2Client . name , formatDuelScore ( % col2Client . score ) ,
% col1Style , % col2Style ) ;
2019-03-13 00:10:12 +00:00
}
2019-11-20 19:43:50 +00:00
//else for observers, create an anchor around the player name so they can be observed
else
2019-03-13 00:10:12 +00:00
{
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < lmargin : 10 > < just : left > < clip : 180 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t1 % 7 > % 1 < / a > < / clip > < lmargin : 200 > < just : left > % 2 < rmargin : 305 > < just : right > < color : ff0000 > versus < rmargin : 570 > % 6 < lmargin : 330 > < just : left > < a : gamelink \ tStats \ tView \ t % 3 > + < / a > < a : gamelink \ t1 % 8 > < clip : 180 > % 3 < / clip > < / a > < lmargin : 515 > < just : left > % 4 ' ,
% col1Client . name , formatDuelScore ( % col1Client . score ) , % col2Client . name , formatDuelScore ( % col2Client . score ) ,
% col1Style , % col2Style , % col1Client , % col2Client ) ;
}
% index + + ;
}
else {
if ( % client = = % col1Client ) {
if ( % client . team ! = 0 )
2019-03-13 00:10:12 +00:00
{
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < lmargin : 10 > < just : left > < clip : 180 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < lmargin : 200 > < just : left > % 2 < rmargin : 305 > < just : right > < color : ff0000 > versus < rmargin : 570 > % 6 < lmargin : 330 > < just : left > < clip : 180 > % 3 < / clip > < lmargin : 515 > < just : left > % 4 ' ,
% col1Client . name , formatDuelScore ( % col1Client . score ) , % col2Client . name , formatDuelScore ( % col2Client . score ) ,
% col1Style , % col2Style ) ;
2019-03-10 16:58:05 +00:00
}
2019-11-20 19:43:50 +00:00
//else for observers, create an anchor around the player name so they can be observed
else
2019-03-13 00:10:12 +00:00
{
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < lmargin : 10 > < just : left > < clip : 180 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t1 % 7 > % 1 < / a > < / clip > < lmargin : 200 > < just : left > % 2 < rmargin : 305 > < just : right > < color : ff0000 > versus < rmargin : 570 > % 6 < lmargin : 330 > < just : left > < a : gamelink \ t1 % 8 > < clip : 180 > % 3 < / clip > < / a > < lmargin : 515 > < just : left > % 4 ' ,
% col1Client . name , formatDuelScore ( % col1Client . score ) , % col2Client . name , formatDuelScore ( % col2Client . score ) ,
% col1Style , % col2Style , % col1Client , % col2Client ) ;
2019-03-13 00:10:12 +00:00
}
2019-11-20 19:43:50 +00:00
% index + + ;
}
else if ( % client = = % col2Client ) {
if ( % client . team ! = 0 )
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < lmargin : 10 > < just : left > < clip : 180 > % 1 < / clip > < lmargin : 200 > < just : left > % 2 < rmargin : 305 > < just : right > < color : ff0000 > versus < rmargin : 570 > % 6 < lmargin : 330 > < just : left > < clip : 180 > < a : gamelink \ tStats \ tView \ t % 3 > + < / a > % 3 < / clip > < lmargin : 515 > < just : left > % 4 ' ,
% col1Client . name , formatDuelScore ( % col1Client . score ) , % col2Client . name , formatDuelScore ( % col2Client . score ) ,
% col1Style , % col2Style ) ;
}
//else for observers, create an anchor around the player name so they can be observed
else
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < lmargin : 10 > < just : left > < clip : 180 > < a : gamelink \ t1 % 7 > % 1 < / a > < / clip > < lmargin : 200 > < just : left > % 2 < rmargin : 305 > < just : right > < color : ff0000 > versus < rmargin : 570 > % 6 < lmargin : 330 > < just : left > < a : gamelink \ tStats \ tView \ t % 3 > + < / a > < a : gamelink \ t1 % 8 > < clip : 180 > % 3 < / clip > < / a > < lmargin : 515 > < just : left > % 4 ' ,
% col1Client . name , formatDuelScore ( % col1Client . score ) , % col2Client . name , formatDuelScore ( % col2Client . score ) ,
% col1Style , % col2Style , % col1Client , % col2Client ) ;
}
% index + + ;
2019-03-13 00:10:12 +00:00
2019-11-20 19:43:50 +00:00
}
else {
if ( % client . team ! = 0 )
2019-03-13 00:10:12 +00:00
{
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < lmargin : 10 > < just : left > < clip : 180 > % 1 < / clip > < lmargin : 200 > < just : left > % 2 < rmargin : 305 > < just : right > < color : ff0000 > versus < rmargin : 570 > % 6 < lmargin : 330 > < just : left > < clip : 180 > % 3 < / clip > < lmargin : 515 > < just : left > % 4 ' ,
% col1Client . name , formatDuelScore ( % col1Client . score ) , % col2Client . name , formatDuelScore ( % col2Client . score ) ,
% col1Style , % col2Style ) ;
2019-03-13 00:10:12 +00:00
}
//else for observers, create an anchor around the player name so they can be observed
else
{
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < lmargin : 10 > < just : left > < clip : 180 > < a : gamelink \ t1 % 7 > % 1 < / a > < / clip > < lmargin : 200 > < just : left > % 2 < rmargin : 305 > < just : right > < color : ff0000 > versus < rmargin : 570 > % 6 < lmargin : 330 > < just : left > < a : gamelink \ tStats \ tView \ t % 3 > + < / a > < a : gamelink \ t1 % 8 > < clip : 180 > % 3 < / clip > < / a > < lmargin : 515 > < just : left > % 4 ' ,
% col1Client . name , formatDuelScore ( % col1Client . score ) , % col2Client . name , formatDuelScore ( % col2Client . score ) ,
% col1Style , % col2Style , % col1Client , % col2Client ) ;
2019-03-10 16:58:05 +00:00
}
2019-11-20 19:43:50 +00:00
% index + + ;
2019-03-10 16:58:05 +00:00
}
}
2019-11-20 19:43:50 +00:00
}
if ( % index = = 0 )
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , "" ) ;
% index + + ;
}
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + )
ClientGroup . getObject ( % i ) . sorted = false ;
% clientSortCount = 0 ;
while ( true )
{
% maxScore = - 1 ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + )
2019-03-13 00:10:12 +00:00
{
% cl = ClientGroup . getObject ( % i ) ;
2019-11-20 19:43:50 +00:00
if ( ! % cl . sorted )
2019-03-13 00:10:12 +00:00
{
2019-11-20 19:43:50 +00:00
if ( % cl . score > % maxScore )
2019-03-13 00:10:12 +00:00
{
2019-11-20 19:43:50 +00:00
% clientSort [ % clientSortCount ] = % cl ;
% maxScore = % cl . score ;
2019-03-13 00:10:12 +00:00
}
}
}
2019-11-20 19:43:50 +00:00
if ( % maxScore = = - 1 )
break ;
else
{
% clientSort [ % clientSortCount ] . sorted = true ;
% clientSortCount + + ;
}
}
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , "<just:center>-----------------------------------------------------------------------------------------------------------------" ) ;
% index + + ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 , 310 > < font : Univers Condensed : 22 > \ tClick on a name to duel < rmargin : 315 > < just : right > KILLS < rmargin : 390 > DEATHS < rmargin : 440 > < just : right > ACC < rmargin : 510 > < just : right > RANK < rmargin : 570 > < just : right > TIME ' ) ;
% index + + ;
for ( % i = 0 ; % i < % clientSortCount ; % i + + )
{
% cl = % clientSort [ % i ] ;
% clientTimeStr = "" ;
if ( % cl . observerStartTime ! = 0 )
{
% clientTime = getSimTime ( ) - % cl . observerStartTime ;
% clientTimeStr = % game . formatTime ( % clientTime , false ) ;
}
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
if ( ( % cl ! = % client ) & & ( % cl . team = = 0 ) & & ( % client . team = = 0 ) & & % cl . Initialized )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t1 % 3 > % 1 < / a > < / clip > < just : right > < rmargin : 310 > < color : ffff00 > % 6 < rmargin : 370 > % 7 < rmargin : 450 > < color : ffffff > % 5 < color : 00d cdc > < rmargin : 510 > % 4 < rmargin : 570 > % 2 ' ,
% cl . name , % clientTimeStr , % cl , "none" , formatDuelScore ( % cl . score ) , % cl . kills , % cl . deaths ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < color : 0000d c > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / a > < / clip > < color : 00d cdc > < just : right > < rmargin : 310 > < color : ffff00 > % 6 < rmargin : 370 > % 7 < rmargin : 450 > < color : ffffff > % 5 < color : 00d cdc > < rmargin : 510 > % 4 < rmargin : 570 > % 2 ' ,
% cl . name , % clientTimeStr , % cl , "none" , formatDuelScore ( % cl . score ) , % cl . kills , % cl . deaths ) ;
% index + + ;
}
else {
if ( % client = = % cl ) {
if ( ( % cl ! = % client ) & & ( % cl . team = = 0 ) & & ( % client . team = = 0 ) & & % cl . Initialized )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t1 % 3 > % 1 < / a > < / clip > < just : right > < rmargin : 310 > < color : ffff00 > % 6 < rmargin : 370 > % 7 < rmargin : 450 > < color : ffffff > % 5 < color : 00d cdc > < rmargin : 510 > % 4 < rmargin : 570 > % 2 ' ,
% cl . name , % clientTimeStr , % cl , "none" , formatDuelScore ( % cl . score ) , % cl . kills , % cl . deaths ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < color : 0000d c > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / a > < / clip > < color : 00d cdc > < just : right > < rmargin : 310 > < color : ffff00 > % 6 < rmargin : 370 > % 7 < rmargin : 450 > < color : ffffff > % 5 < color : 00d cdc > < rmargin : 510 > % 4 < rmargin : 570 > % 2 ' ,
% cl . name , % clientTimeStr , % cl , "none" , formatDuelScore ( % cl . score ) , % cl . kills , % cl . deaths ) ;
% index + + ;
}
else {
if ( ( % cl ! = % client ) & & ( % cl . team = = 0 ) & & ( % client . team = = 0 ) & & % cl . Initialized )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < a : gamelink \ t1 % 3 > % 1 < / a > < / clip > < just : right > < rmargin : 310 > < color : ffff00 > % 6 < rmargin : 370 > % 7 < rmargin : 450 > < color : ffffff > % 5 < color : 00d cdc > < rmargin : 510 > % 4 < rmargin : 570 > % 2 ' ,
% cl . name , % clientTimeStr , % cl , "none" , formatDuelScore ( % cl . score ) , % cl . kills , % cl . deaths ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < color : 0000d c > % 1 < / a > < / clip > < color : 00d cdc > < just : right > < rmargin : 310 > < color : ffff00 > % 6 < rmargin : 370 > % 7 < rmargin : 450 > < color : ffffff > % 5 < color : 00d cdc > < rmargin : 510 > % 4 < rmargin : 570 > % 2 ' ,
% cl . name , % clientTimeStr , % cl , "none" , formatDuelScore ( % cl . score ) , % cl . kills , % cl . deaths ) ;
% index + + ;
}
}
}
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , "" ) ;
% index + + ;
if ( % client . clientRequestedDuelWith ! = 0 )
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' Your duel request with % 1 is pending ( < a : gamelink \ t2 > CANCEL < / a > ) . ' ,
% client . clientRequestedDuelWith . name ) ;
% index + + ;
}
if ( % client . clientDuelRequestedBy ! = 0 )
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' Player % 1 has requested a duel ( < a : gamelink \ t3 > ACCEPT < / a > , < a : gamelink \ t4 > DECLINE < / a > ) . ' ,
% client . clientDuelRequestedBy . name ) ;
% index + + ;
}
//clear the rest of Hud so we don't get old lines hanging around...
messageClient ( % client , ' ClearHud ' , "" , % tag , % index ) ;
}
function DMHud ( % game , % client , % tag ) { // note in this game type the score hud can only display 30 or so players
2019-03-13 00:10:12 +00:00
2019-11-20 19:43:50 +00:00
if ( % client . viewStats & & $ dtStats : : enableRefresh ) {
statsMenu ( % client , % game . class ) ;
return ;
}
else if ( % client . viewStats & & ! $ dtStats : : enableRefresh ) {
return ;
}
// Clear the header:
messageClient ( % client , ' SetScoreHudHeader ' , "" , "" ) ;
// Send the subheader:
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < tab : 15 , 200 , 280 , 360 , 465 > \ tPLAYER \ tRATING \ tKILLS \ tDEATHS \ tBONUS ' ) ;
for ( % index = 0 ; % index < $ TeamRank [ 0 , count ] ; % index + + )
{
//get the client info
% cl = $ TeamRank [ 0 , % index ] ;
//get the score
% clScore = % cl . score ;
% clKills = mFloatLength ( % cl . kills , 0 ) ;
% clDeaths = mFloatLength ( % cl . deaths + % cl . suicides , 0 ) ;
% clBonus = mFloor ( ( % cl . Bonus * % game . SCORE_PER_BONUS ) + ( % cl . MidAir * % game . SCORE_PER_MIDAIR ) + ( % cl . KillStreakBonus * % game . SCORE_PER_KILLSTREAKBONUS ) ) ;
% clStyle = % cl = = % client ? "<color:dcdcdc>" : "" ;
//%BonusValue = %client.Bonus * %game.SCORE_PER_BONUS;
//%MidAirValue = %client.MidAir * %game.SCORE_PER_MIDAIR;
//%KillStreakBonusValue = %client.KillStreakBonus * %game.SCORE_PER_KILLSTREAKBONUS;
//if the client is not an observer, send the message
if ( % client . team ! = 0 )
{
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) { // <tab:15,235,340,415,500>\%5\%1\%2\%3\tBG'
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < tab : 20 , 450 > \ t < clip : 115 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 225 > < just : right > % 2 < rmargin : 300 > < just : right > % 3 < rmargin : 390 > < just : right > % 4 < rmargin : 490 > % 6 ' ,
% cl . name , % clScore , % clKills , % clDeaths , % clStyle , % clBonus ) ;
}
else if ( % client . name $ = % cl . name ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < tab : 20 , 450 > \ t < clip : 115 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 225 > < just : right > % 2 < rmargin : 300 > < just : right > % 3 < rmargin : 390 > < just : right > % 4 < rmargin : 490 > % 6 ' ,
% cl . name , % clScore , % clKills , % clDeaths , % clStyle , % clBonus ) ;
}
else {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < tab : 20 , 450 > \ t < clip : 115 > % 1 < / clip > < rmargin : 225 > < just : right > % 2 < rmargin : 300 > < just : right > % 3 < rmargin : 390 > < just : right > % 4 < rmargin : 490 > % 6 ' ,
% cl . name , % clScore , % clKills , % clDeaths , % clStyle , % clBonus ) ;
}
}
//else for observers, create an anchor around the player name so they can be observed
else
{
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < tab : 20 , 450 > \ t < clip : 115 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 6 > % 1 < / a > < / clip > < rmargin : 225 > < just : right > % 2 < rmargin : 300 > < just : right > % 3 < rmargin : 390 > < just : right > % 4 < rmargin : 490 > % 7 ' ,
% cl . name , % clScore , % clKills , % clDeaths , % clStyle , % cl , % clBonus ) ;
}
else if ( % client . name $ = % cl . name ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < tab : 20 , 450 > \ t < clip : 115 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 6 > % 1 < / a > < / clip > < rmargin : 225 > < just : right > % 2 < rmargin : 300 > < just : right > % 3 < rmargin : 390 > < just : right > % 4 < rmargin : 490 > % 7 ' ,
% cl . name , % clScore , % clKills , % clDeaths , % clStyle , % cl , % clBonus ) ;
}
else {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' % 5 < tab : 20 , 450 > \ t < clip : 115 > < a : gamelink \ t % 6 > % 1 < / a > < / clip > < rmargin : 225 > < just : right > % 2 < rmargin : 300 > < just : right > % 3 < rmargin : 390 > < just : right > % 4 < rmargin : 490 > % 7 ' ,
% cl . name , % clScore , % clKills , % clDeaths , % clStyle , % cl , % clBonus ) ;
}
}
}
// Tack on the list of observers:
% observerCount = 0 ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + )
{
% cl = ClientGroup . getObject ( % i ) ;
if ( % cl . team = = 0 )
% observerCount + + ;
2019-03-10 16:58:05 +00:00
}
2019-11-20 19:43:50 +00:00
if ( % observerCount > 0 )
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , "" ) ;
% index + + ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 , 310 > < spush > < font : Univers Condensed : 22 > \ tOBSERVERS ( % 1 ) < rmargin : 260 > < just : right > TIME < spop > ' , % observerCount ) ;
% index + + ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + )
2019-03-10 16:58:05 +00:00
{
2019-11-20 19:43:50 +00:00
% cl = ClientGroup . getObject ( % i ) ;
//if this is an observer
if ( % cl . team = = 0 )
2019-03-16 19:19:20 +00:00
{
2019-11-20 19:43:50 +00:00
% obsTime = getSimTime ( ) - % cl . observerStartTime ;
% obsTimeStr = % game . formatTime ( % obsTime , false ) ;
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' ,
% cl . name , % obsTimeStr ) ;
}
else if ( % client . name $ = % cl . name ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' ,
% cl . name , % obsTimeStr ) ;
}
else {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' ,
% cl . name , % obsTimeStr ) ;
}
% index + + ;
2019-03-16 19:19:20 +00:00
}
2019-03-10 16:58:05 +00:00
}
}
2019-11-20 19:43:50 +00:00
//clear the rest of Hud so we don't get old lines hanging around...
messageClient ( % client , ' ClearHud ' , "" , % tag , % index ) ;
2019-11-24 19:34:05 +00:00
}
2019-11-20 19:43:50 +00:00
function LakRabbitHud ( % game , % client , % tag ) {
2019-03-13 00:10:12 +00:00
if ( % client . viewStats & & $ dtStats : : enableRefresh ) {
statsMenu ( % client , % game . class ) ;
return ;
}
else if ( % client . viewStats & & ! $ dtStats : : enableRefresh ) {
return ;
}
2019-03-10 16:58:05 +00:00
2019-03-13 00:10:12 +00:00
//tricky stuff here... use two columns if we have more than 15 clients...
% numClients = $ TeamRank [ 0 , count ] ;
if ( % numClients > $ ScoreHudMaxVisible )
% numColumns = 2 ;
// Clear the header:
messageClient ( % client , ' SetScoreHudHeader ' , "" , "" ) ;
// Send subheader:
if ( % numColumns = = 2 )
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < tab : 5 , 155 , 225 , 305 , 455 , 525 > \ tPLAYER \ tSCORE \ tTIME \ tPLAYER \ tSCORE \ tTIME ' ) ;
else
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < tab : 15 , 235 , 335 > \ tPLAYER \ tSCORE \ tTIME ' ) ;
//recalc the score for whoever is holding the flag
if ( isObject ( $ AIRabbitFlag . carrier ) )
% game . recalcScore ( $ AIRabbitFlag . carrier . client ) ;
% countMax = % numClients ;
if ( % countMax > ( 2 * $ ScoreHudMaxVisible ) )
2019-03-10 16:58:05 +00:00
{
2019-03-13 00:10:12 +00:00
if ( % countMax & 1 )
% countMax + + ;
% countMax = % countMax / 2 ;
}
else if ( % countMax > $ ScoreHudMaxVisible )
% countMax = $ ScoreHudMaxVisible ;
for ( % index = 0 ; % index < % countMax ; % index + + )
{
//get the client info
% col1Client = $ TeamRank [ 0 , % index ] ;
% col1ClientScore = % col1Client . score $ = "" ? 0 : % col1Client . score ;
% col1Style = "" ;
2019-03-10 16:58:05 +00:00
2019-03-13 00:10:12 +00:00
if ( isObject ( % col1Client . player . holdingFlag ) )
2019-03-10 16:58:05 +00:00
{
2019-03-13 00:10:12 +00:00
% col1ClientTimeMS = % col1Client . flagTimeMS + getSimTime ( ) - % col1Client . startTime ;
% col1Style = "<color:00dc00>" ;
}
else
{
% col1ClientTimeMS = % col1Client . flagTimeMS ;
if ( % col1Client = = % client )
% col1Style = "<color:dcdcdc>" ;
}
if ( % col1ClientTimeMS < = 0 )
% col1ClientTime = "" ;
else
{
% minutes = mFloor ( % col1ClientTimeMS / ( 60 * 1000 ) ) ;
if ( % minutes < = 0 )
% minutes = "0" ;
% seconds = mFloor ( % col1ClientTimeMS / 1000 ) % 60 ;
if ( % seconds < 10 )
% seconds = "0" @ % seconds ;
% col1ClientTime = % minutes @ ":" @ % seconds ;
}
//see if we have two columns
if ( % numColumns = = 2 )
{
% col2Client = "" ;
% col2ClientScore = "" ;
% col2ClientTime = "" ;
% col2Style = "" ;
//get the column 2 client info
% col2Index = % index + % countMax ;
if ( % col2Index < % numClients )
{
% col2Client = $ TeamRank [ 0 , % col2Index ] ;
% col2ClientScore = % col2Client . score $ = "" ? 0 : % col2Client . score ;
if ( isObject ( % col2Client . player . holdingFlag ) )
{
% col2ClientTimeMS = % col2Client . flagTimeMS + getSimTime ( ) - % col2Client . startTime ;
% col2Style = "<color:00dc00>" ;
}
else
{
% col2ClientTimeMS = % col2Client . flagTimeMS ;
if ( % col2Client = = % client )
% col2Style = "<color:dcdcdc>" ;
}
if ( % col2ClientTimeMS < = 0 )
% col2ClientTime = "" ;
else
{
% minutes = mFloor ( % col2ClientTimeMS / ( 60 * 1000 ) ) ;
if ( % minutes < = 0 )
% minutes = "0" ;
% seconds = mFloor ( % col2ClientTimeMS / 1000 ) % 60 ;
if ( % seconds < 10 )
% seconds = "0" @ % seconds ;
% col2ClientTime = % minutes @ ":" @ % seconds ;
}
}
}
//if the client is not an observer, send the message
if ( % client . team ! = 0 )
{
if ( % numColumns = = 2 ) {
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
if ( % col1Client . name ! $ = "" & & % col2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > % 8 < just : left > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > % 4 < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col2Client . name , % col2ClientScore , % col2ClientTime , % col1Style , % col2Style ) ;
2019-03-13 00:10:12 +00:00
else if ( % col1Client . name ! $ = "" & & % col2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > % 8 < just : left > % 4 < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col2Client . name , % col2ClientScore , % col2ClientTime , % col1Style , % col2Style ) ;
2019-03-13 00:10:12 +00:00
else if ( % col1Client . name $ = "" & & % col2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > % 1 < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > % 8 < just : left > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > % 4 < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col2Client . name , % col2ClientScore , % col2ClientTime , % col1Style , % col2Style ) ;
2019-03-13 00:10:12 +00:00
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > % 1 < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > % 8 < just : left > % 4 < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col2Client . name , % col2ClientScore , % col2ClientTime , % col1Style , % col2Style ) ;
2019-03-13 00:10:12 +00:00
}
else {
if ( % col1Client . name $ = % client . name & & % col2Client . name ! $ = "" ) //<a:gamelink\tStats\tView\t%4>+</a>
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > % 8 < just : left > % 4 < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col2Client . name , % col2ClientScore , % col2ClientTime , % col1Style , % col2Style ) ;
2019-03-13 00:10:12 +00:00
else if ( % col1Client . name ! $ = "" & & % col2Client . name $ = % client . name ) //<a:gamelink\tStats\tView\t%4>+</a>
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > % 1 < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > % 8 < just : left > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > % 4 < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col2Client . name , % col2ClientScore , % col2ClientTime , % col1Style , % col2Style ) ;
2019-03-13 00:10:12 +00:00
else if ( % col1Client . name $ = % client . name & & % col2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > % 8 < just : left > % 4 < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col2Client . name , % col2ClientScore , % col2ClientTime , % col1Style , % col2Style ) ;
2019-03-13 00:10:12 +00:00
else if ( % col1Client . name $ = "" & & % col2Client . name $ = % client . name )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > % 1 < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > % 8 < just : left > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > % 4 < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col2Client . name , % col2ClientScore , % col2ClientTime , % col1Style , % col2Style ) ;
2019-03-13 00:10:12 +00:00
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > % 1 < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > % 8 < just : left > % 4 < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col2Client . name , % col2ClientScore , % col2ClientTime , % col1Style , % col2Style ) ;
2019-03-13 00:10:12 +00:00
}
}
else {
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
if ( % col1Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 > % 4 \ t < clip : 200 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 280 > < just : right > % 2 < rmargin : 375 > < just : right > % 3 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col1Style ) ;
2019-03-13 00:10:12 +00:00
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 > % 4 \ t < clip : 200 > % 1 < / clip > < rmargin : 280 > < just : right > % 2 < rmargin : 375 > < just : right > % 3 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col1Style ) ;
2019-03-13 00:10:12 +00:00
}
else {
if ( % col1Client . name $ = % client . name )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 > % 4 \ t < clip : 200 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 280 > < just : right > % 2 < rmargin : 375 > < just : right > % 3 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col1Style ) ;
2019-03-13 00:10:12 +00:00
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 > % 4 \ t < clip : 200 > % 1 < / clip > < rmargin : 280 > < just : right > % 2 < rmargin : 375 > < just : right > % 3 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col1Style ) ;
2019-03-13 00:10:12 +00:00
}
}
}
//else for observers, create an anchor around the player name so they can be observed
else
{
if ( % numColumns = = 2 )
{
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
//this is really crappy, but I need to save 1 tag - can only pass in up to %9, %10 doesn't work...
if ( % col2Style $ = "<color:00dc00>" ) //<a:gamelink\tStats\tView\t%1>+</a>
{
if ( % col1Client . name ! $ = "" & & % col2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name ! $ = "" & & % col2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name $ = "" & & % col2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
}
else if ( % col2Style $ = "<color:dcdcdc>" )
{
if ( % col1Client . name ! $ = "" & & % col2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name ! $ = "" & & % col2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name $ = "" & & % col2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
}
else
{
if ( % col1Client . name ! $ = "" & & % col2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name ! $ = "" & & % col2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name $ = "" & & % col2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
}
}
else { /////////////////////////////////////////////////////////////////////
if ( % col2Style $ = "<color:00dc00>" ) //<a:gamelink\tStats\tView\t%1>+</a><a:gamelink\tStats\tView\t%4>+</a>
{
if ( % col1Client . name $ = % client . name & & % col2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name ! $ = "" & & % col2Client . name $ = % client . name )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name $ = % client . name & & % col2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name $ = "" & & % col2Client . name $ = % client . name )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
}
else if ( % col2Style $ = "<color:dcdcdc>" ) //<a:gamelink\tStats\tView\t%4>+</a>
{
if ( % col1Client . name $ = % client . name & & % col2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name ! $ = "" & & % col2Client . name $ = % client . name )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name $ = % client . name & & % col2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name $ = "" & & % col2Client . name $ = % client . name )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < color : 00d c00 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
}
else
{
if ( % col1Client . name $ = % client . name & & % col2Client . name ! $ = "" ) //<a:gamelink\tStats\tView\t%4>+</a>
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name ! $ = "" & & % col2Client . name $ = % client . name ) //<a:gamelink\tStats\tView\t%4>+</a>
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name $ = % client . name & & % col2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else if ( % col1Client . name $ = "" & & % col2Client . name $ = % client . name )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < just : left > < clip : 150 > < a : gamelink \ tStats \ tView \ t % 4 > + < / a > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 > < spush > % 7 \ t < clip : 150 > < a : gamelink \ t % 8 > % 1 < / a > < / clip > < rmargin : 205 > < just : right > % 2 < rmargin : 270 > < just : right > % 3 < spop > < rmargin : 505 > < lmargin : 310 > < just : left > < clip : 150 > < a : gamelink \ t % 9 > % 4 < / a > < / clip > < rmargin : 505 > < just : right > % 5 < rmargin : 570 > < just : right > % 6 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime ,
% col2Client . name , % col2ClientScore , % col2ClientTime ,
2019-03-13 00:10:12 +00:00
% col1Style , % col1Client , % col2Client ) ;
}
}
}
else {
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
if ( % col1Client . name ! $ = "" ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 > % 4 \ t < clip : 200 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 5 > % 1 < / a > < / clip > < rmargin : 280 > < just : right > % 2 < rmargin : 375 > < just : right > % 3 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col1Style , % col1Client ) ;
2019-03-13 00:10:12 +00:00
}
else {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 > % 4 \ t < clip : 200 > < a : gamelink \ t % 5 > % 1 < / a > < / clip > < rmargin : 280 > < just : right > % 2 < rmargin : 375 > < just : right > % 3 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col1Style , % col1Client ) ;
2019-03-13 00:10:12 +00:00
}
}
else {
if ( % col1Client . name $ = % client . name ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 > % 4 \ t < clip : 200 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > < a : gamelink \ t % 5 > % 1 < / a > < / clip > < rmargin : 280 > < just : right > % 2 < rmargin : 375 > < just : right > % 3 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col1Style , % col1Client ) ;
2019-03-13 00:10:12 +00:00
}
else {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 > % 4 \ t < clip : 200 > < a : gamelink \ t % 5 > % 1 < / a > < / clip > < rmargin : 280 > < just : right > % 2 < rmargin : 375 > < just : right > % 3 ' ,
2019-03-16 19:19:20 +00:00
% col1Client . name , % col1ClientScore , % col1ClientTime , % col1Style , % col1Client ) ;
2019-03-13 00:10:12 +00:00
}
}
}
}
}
// Tack on the list of observers:
% observerCount = 0 ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + )
{
% cl = ClientGroup . getObject ( % i ) ;
if ( % cl . team = = 0 )
% observerCount + + ;
}
2019-03-16 19:19:20 +00:00
if ( % observerCount > 0 )
2019-03-13 00:10:12 +00:00
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , "" ) ;
% index + + ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 , 310 > < spush > < font : Univers Condensed : 22 > \ tOBSERVERS ( % 1 ) < rmargin : 260 > < just : right > TIME < spop > ' , % observerCount ) ;
% index + + ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + )
{
% cl = ClientGroup . getObject ( % i ) ;
//if this is an observer
if ( % cl . team = = 0 )
{
% obsTime = getSimTime ( ) - % cl . observerStartTime ;
% obsTimeStr = % game . formatTime ( % obsTime , false ) ; //<a:gamelink\tStats\tView\t%3>+</a>
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
2019-03-16 19:19:20 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' ,
% cl . name , % obsTimeStr ) ;
2019-03-13 00:10:12 +00:00
}
else if ( % client . name $ = % cl . name ) {
2019-03-16 19:19:20 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 1 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' ,
% cl . name , % obsTimeStr ) ;
2019-03-13 00:10:12 +00:00
}
else {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' ,
2019-03-16 19:19:20 +00:00
% cl . name , % obsTimeStr ) ;
2019-03-13 00:10:12 +00:00
}
% index + + ;
}
}
}
//clear the rest of Hud so we don't get old lines hanging around...
messageClient ( % client , ' ClearHud ' , "" , % tag , % index ) ;
}
2019-11-20 19:43:50 +00:00
function CTFHud ( % game , % client , % tag ) { // defaultGame/evo
2019-04-01 20:02:48 +00:00
if ( % client . viewStats & & $ dtStats : : enableRefresh ) {
statsMenu ( % client , % game . class ) ;
return ;
2019-03-13 00:10:12 +00:00
}
2019-04-01 20:02:48 +00:00
else if ( % client . viewStats & & ! $ dtStats : : enableRefresh ) {
return ;
2019-03-13 00:10:12 +00:00
}
2019-04-01 20:02:48 +00:00
% ShowScores = ( $ Host : : TournamentMode | | $ Host : : ShowIngamePlayerScores ) ;
if ( Game . numTeams > 1 )
{
// Send header:
messageClient ( % client , ' SetScoreHudHeader ' , "" , ' < tab : 15 , 315 > \ t % 1 < rmargin : 260 > < just : right > % 2 < rmargin : 560 > < just : left > \ t % 3 < just : right > % 4 ' , % game . getTeamName ( 1 ) , $ TeamScore [ 1 ] , % game . getTeamName ( 2 ) , $ TeamScore [ 2 ] ) ;
if ( ! $ TeamRank [ 1 , count ] )
{
$ TeamRank [ 1 , count ] = 0 ;
2019-03-13 00:10:12 +00:00
}
2019-04-01 20:02:48 +00:00
if ( ! $ TeamRank [ 2 , count ] )
{
$ TeamRank [ 2 , count ] = 0 ;
2019-03-13 00:10:12 +00:00
}
2019-04-01 20:02:48 +00:00
2020-03-23 20:23:42 +00:00
if ( $ Host : : AveragePings )
2019-04-01 20:02:48 +00:00
{
for ( % count = 0 ; % count < = Game . numteams ; % count + + )
{
% Ping [ % count ] = 0 ;
% PingSq [ % count ] = 0 ;
% PingCount [ % count ] = 0 ;
2019-03-13 00:10:12 +00:00
}
2019-04-01 20:02:48 +00:00
for ( % ClientCount = ClientGroup . getCount ( ) - 1 ; % ClientCount > = 0 ;
% ClientCount - - )
{
% ThisClient = ClientGroup . getObject ( % ClientCount ) ;
% Team = % ThisClient . team ;
% PingVal = % ThisClient . getPing ( ) ;
% Ping [ % Team ] + = % PingVal ;
% PingSq [ % Team ] + = ( % PingVal * % PingVal ) ;
% PingCount [ % Team ] + + ;
2019-03-13 00:10:12 +00:00
}
2019-04-01 20:02:48 +00:00
for ( % count = 0 ; % count < = % game . numteams ; % count + + )
{
if ( % PingCount [ % count ] )
{
% Ping [ % count ] / = % PingCount [ % count ] ;
% PingSq [ % count ] / = % PingCount [ % count ] ;
% PingSq [ % count ] = msqrt ( % PingSq [ % count ] - ( % Ping [ % count ] * % Ping [ % count ] ) ) ;
% Ping [ % count ] = mfloor ( % Ping [ % count ] ) ;
% PingSq [ % count ] = mfloor ( % PingSq [ % count ] ) ;
% PingString [ % count ] = "<spush><font:Arial:14>P<font:Arial:12>ING: " @ % Ping [ % count ] @ " +/- " @ % PingSq [ % count ] @ "ms <spop>" ;
}
2019-03-13 00:10:12 +00:00
}
}
2019-04-01 20:02:48 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" ,
2020-03-15 19:34:27 +00:00
' < tab : 15 , 314 > \ tPLAYERS ( % 1 ) < rmargin : 265 > < clip : 100 > < just : right > % 4 < / clip > % 3 < rmargin : 565 > < just : left > \ tPLAYERS ( % 2 ) < clip : 100 > < just : right > % 5 < / clip > % 3 ' , $ TeamRank [ 1 , count ] , $ TeamRank [ 2 , count ] , ( % ShowScores ? ' SCORE ':' ' ) , % PingString [ 1 ] , % PingString [ 2 ] ) ;
2019-04-01 20:02:48 +00:00
% index = 0 ;
while ( true )
{
if ( % index > = $ TeamRank [ 1 , count ] + 2 & & % index > = $ TeamRank [ 2 , count ] + 2 )
break ;
//get the team1 client info
% team1Client = "" ;
% team1ClientScore = "" ;
% col1Style = "" ;
if ( % index < $ TeamRank [ 1 , count ] )
{
% team1Client = $ TeamRank [ 1 , % index ] ;
if ( ! $ Host : : TournamentMode & & ! $ Host : : ShowIngamePlayerScores & & % team1Client . score > = 0 )
% team1ClientScore = 0 ;
else
% team1ClientScore = % team1Client . score $ = "" ? 0 : % team1Client . score ;
% col1Style = % team1Client = = % client ? "<color:dcdcdc>" : "" ;
if ( ! $ Host : : TournamentMode & & ! $ Host : : ShowIngamePlayerScores )
% team1playersTotalScore = 0 ;
else
% team1playersTotalScore + = % team1Client . score ;
}
else if ( % index = = $ teamRank [ 1 , count ] & & $ teamRank [ 1 , count ] ! = 0 & & % game . class $ = "CTFGame" )
{
% team1ClientScore = "--------------" ;
}
else if ( % index = = $ teamRank [ 1 , count ] + 1 & & $ teamRank [ 1 , count ] ! = 0 & & % game . class $ = "CTFGame" )
{
if ( ! $ Host : : TournamentMode & & ! $ Host : : ShowIngamePlayerScores )
% team1ClientScore = 0 ;
else
% team1ClientScore = % team1playersTotalScore ! = 0 ? % team1playersTotalScore : 0 ;
}
//get the team2 client info
% team2Client = "" ;
% team2ClientScore = "" ;
% col2Style = "" ;
if ( % index < $ TeamRank [ 2 , count ] )
{
% team2Client = $ TeamRank [ 2 , % index ] ;
if ( ! $ Host : : TournamentMode & & ! $ Host : : ShowIngamePlayerScores & & % team2Client . score > = 0 )
% team2ClientScore = 0 ;
else
% team2ClientScore = % team2Client . score $ = "" ? 0 : % team2Client . score ;
% col2Style = % team2Client = = % client ? "<color:dcdcdc>" : "" ;
if ( ! $ Host : : TournamentMode & & ! $ Host : : ShowIngamePlayerScores )
% team2playersTotalScore = 0 ;
else
% team2playersTotalScore + = % team2Client . score ;
}
else if ( % index = = $ teamRank [ 2 , count ] & & $ teamRank [ 2 , count ] ! = 0 & & % game . class $ = "CTFGame" )
{
% team2ClientScore = "--------------" ;
}
else if ( % index = = $ teamRank [ 2 , count ] + 1 & & $ teamRank [ 2 , count ] ! = 0 & & % game . class $ = "CTFGame" )
{
if ( ! $ Host : : TournamentMode & & ! $ Host : : ShowIngamePlayerScores )
% team2ClientScore = 0 ;
else
% team2ClientScore = % team2playersTotalScore ! = 0 ? % team2playersTotalScore : 0 ;
}
if ( ! % ShowScores )
{
% team1ClientScore = ' ' ;
% team2ClientScore = ' ' ;
}
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
if ( % client . team ! = 0 ) { //if the client is not an observer, send the message
if ( % team1Client . name ! $ = "" & & % team2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 7 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 8 > + < / a > % 3 < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else if ( % team1Client . name ! $ = "" & & % team2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 7 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > % 3 < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else if ( % team1Client . name $ = "" & & % team2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > % 1 < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 8 > + < / a > % 3 < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > % 1 < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > % 3 < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style ) ;
}
else { //else for observers, create an anchor around the player name so they can be observed
//messageClient(%client, 'SetLineHud', "", %tag, %index, '<tab:0,300>\t<spush>%5<clip:200><a:gamelink\t%7> %1</a></clip><rmargin:260><just:right>%2<spop><rmargin:560><just:left>\t%6<clip:200><a:gamelink\t%8> %3</a></clip><just:right>%4', %team1Client.name, %team1ClientScore, %team2Client.name, %team2ClientScore, %col1Style, %col2Style, %team1Client, %team2Client);
if ( % team1Client . name ! $ = "" & & % team2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 7 > + < / a > < a : gamelink \ t % 7 > % 1 < / a > < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 8 > + < / a > < a : gamelink \ t % 8 > % 3 < / a > < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else if ( % team1Client . name ! $ = "" & & % team2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 7 > + < / a > < a : gamelink \ t % 7 > % 1 < / a > < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ t % 8 > % 3 < / a > < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else if ( % team1Client . name $ = "" & & % team2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ t % 7 > % 1 < / a > < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 8 > + < / a > < a : gamelink \ t % 8 > % 3 < / a > < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ t % 7 > % 1 < / a > < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ t % 8 > % 3 < / a > < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style ) ;
}
}
else {
if ( % client . team ! = 0 ) {
if ( % team1Client . name $ = % client . name & & % team2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 7 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > % 3 < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else if ( % team1Client . name ! $ = "" & & % team2Client . name $ = % client . name )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > % 1 < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 8 > + < / a > % 3 < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else if ( % team1Client . name $ = % client . name & & % team2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 7 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > % 3 < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else if ( % team1Client . name $ = "" & & % team2Client . name $ = % client . name )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > % 1 < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 8 > + < / a > % 3 < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > % 1 < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > % 3 < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style ) ;
}
else { //else for observers, create an anchor around the player name so they can be observed
//messageClient(%client, 'SetLineHud', "", %tag, %index, '<tab:0,300>\t<spush>%5<clip:200><a:gamelink\t%7> %1</a></clip><rmargin:260><just:right>%2<spop><rmargin:560><just:left>\t%6<clip:200><a:gamelink\t%8> %3</a></clip><just:right>%4', %team1Client.name, %team1ClientScore, %team2Client.name, %team2ClientScore, %col1Style, %col2Style, %team1Client, %team2Client);
if ( % team1Client . name $ = % client . name & & % team2Client . name ! $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 7 > + < / a > < a : gamelink \ t % 7 > % 1 < / a > < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ t % 8 > % 3 < / a > < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else if ( % team1Client . name ! $ = "" & & % team2Client . name $ = % client . name )
mssageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ t % 7 > % 1 < / a > < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 8 > + < / a > < a : gamelink \ t % 8 > % 3 < / a > < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else if ( % team1Client . name $ = % client . name & & % team2Client . name $ = "" )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 7 > + < / a > < a : gamelink \ t % 7 > % 1 < / a > < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ t % 8 > % 3 < / a > < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else if ( % team1Client . name $ = "" & & % team2Client . name $ = % client . name )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ t % 7 > % 1 < / a > < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ tStats \ tView \ t % 8 > + < / a > < a : gamelink \ t % 8 > % 3 < / a > < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style , % team1Client , % team2Client ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 0 , 300 > \ t < spush > % 5 < clip : 200 > < a : gamelink \ t % 7 > % 1 < / a > < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 200 > < a : gamelink \ t % 8 > % 3 < / a > < / clip > < just : right > % 4 ' , % team1Client . name , % team1ClientScore , % team2Client . name , % team2ClientScore , % col1Style , % col2Style ) ;
}
}
% index + + ;
2019-03-13 00:10:12 +00:00
}
2019-03-10 16:58:05 +00:00
}
2019-04-01 20:02:48 +00:00
else
{
//tricky stuff here... use two columns if we have more than 15 clients...
% numClients = $ TeamRank [ 0 , count ] ;
if ( % numClients > $ ScoreHudMaxVisible )
% numColumns = 2 ;
// Clear header:
messageClient ( % client , ' SetScoreHudHeader ' , "" , "" ) ;
// Send header:
if ( % numColumns = = 2 )
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < tab : 15 , 315 > \ tPLAYER < rmargin : 270 > < just : right > % 1 < rmargin : 570 > < just : left > \ tPLAYER < just : right > % 1 ' , ( % ShowScores ? ' SCORE ':' ' ) ) ;
else
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < tab : 15 > \ tPLAYER < rmargin : 270 > < just : right > % 1 ' , ( % ShowScores ? ' SCORE ':' ' ) ) ;
% countMax = % numClients ;
if ( % countMax > ( 2 * $ ScoreHudMaxVisible ) )
{
if ( % countMax & 1 )
% countMax + + ;
% countMax = % countMax / 2 ;
2019-03-10 16:58:05 +00:00
}
2019-04-01 20:02:48 +00:00
else if ( % countMax > $ ScoreHudMaxVisible )
% countMax = $ ScoreHudMaxVisible ;
for ( % index = 0 ; % index < % countMax ; % index + + )
{
//get the client info
% col1Client = $ TeamRank [ 0 , % index ] ;
% col1ClientScore = % col1Client . score $ = "" ? 0 : % col1Client . score ;
% col1Style = % col1Client = = % client ? "<color:dcdcdc>" : "" ;
//see if we have two columns
if ( % numColumns = = 2 )
{
% col2Client = "" ;
% col2ClientScore = "" ;
% col2Style = "" ;
//get the column 2 client info
% col2Index = % index + % countMax ;
if ( % col2Index < % numClients )
{
% col2Client = $ TeamRank [ 0 , % col2Index ] ;
% col2ClientScore = % col2Client . score $ = "" ? 0 : % col2Client . score ;
% col2Style = % col2Client = = % client ? "<color:dcdcdc>" : "" ;
}
}
if ( ! % ShowScores )
{
% col1ClientScore = "" ;
% col2ClientScore = "" ;
}
//if the client is not an observer, send the message
if ( % client . team ! = 0 )
{
if ( % numColumns = = 2 )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 25 , 325 > \ t < spush > % 5 < clip : 195 > % 1 < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 195 > % 3 < / clip > < just : right > % 4 ' , % col1Client . name , % col1ClientScore , % col2Client . name , % col2ClientScore , % col1Style , % col2Style ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 25 > \ t % 3 < clip : 195 > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' , % col1Client . name , % col1ClientScore , % col1Style ) ;
}
//else for observers, create an anchor around the player name so they can be observed
else
{
if ( % numColumns = = 2 )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 25 , 325 > \ t < spush > % 5 < clip : 195 > < a : gamelink \ t % 7 > % 1 < / a > < / clip > < rmargin : 260 > < just : right > % 2 < spop > < rmargin : 560 > < just : left > \ t % 6 < clip : 195 > < a : gamelink \ t % 8 > % 3 < / a > < / clip > < just : right > % 4 ' , % col1Client . name , % col1ClientScore , % col2Client . name , % col2ClientScore , % col1Style , % col2Style , % col1Client , % col2Client ) ;
else
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 25 > \ t % 3 < clip : 195 > < a : gamelink \ t % 4 > % 1 < / a > < / clip > < rmargin : 260 > < just : right > % 2 ' , % col1Client . name , % col1ClientScore , % col1Style , % col1Client ) ;
2019-03-10 16:58:05 +00:00
}
}
2019-04-01 20:02:48 +00:00
2019-03-10 16:58:05 +00:00
}
2019-04-01 20:02:48 +00:00
// Tack on the list of observers:
% observerCount = 0 ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + )
{
% cl = ClientGroup . getObject ( % i ) ;
if ( % cl . team = = 0 )
% observerCount + + ;
2019-03-10 16:58:05 +00:00
}
2019-04-01 20:02:48 +00:00
if ( % observerCount > 0 )
{
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , "" ) ;
% index + + ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 10 , 310 > < spush > < font : Univers Condensed : 22 > \ tOBSERVERS ( % 1 ) < rmargin : 260 > < just : right > TIME < spop > ' , % observerCount ) ;
% index + + ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + )
{
2019-11-20 19:43:50 +00:00
% cl = ClientGroup . getObject ( % i ) ;
//if this is an observer
if ( % cl . team = = 0 )
2019-04-01 20:02:48 +00:00
{
2019-11-20 19:43:50 +00:00
% obsTime = getSimTime ( ) - % cl . observerStartTime ;
% obsTimeStr = % game . formatTime ( % obsTime , false ) ;
if ( % client . isAdmin | | % client . isSuperAdmin | | ! $ dtStats : : viewSelf ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 3 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' , % cl . name , % obsTimeStr , % cl ) ;
2019-04-01 20:02:48 +00:00
}
2019-11-20 19:43:50 +00:00
else if ( % cl = = % client ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > < a : gamelink \ tStats \ tView \ t % 3 > + < / a > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' , % cl . name , % obsTimeStr , % cl ) ;
2019-04-01 20:02:48 +00:00
}
2019-11-20 19:43:50 +00:00
else {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index , ' < tab : 20 , 310 > \ t < clip : 150 > % 1 < / clip > < rmargin : 260 > < just : right > % 2 ' , % cl . name , % obsTimeStr ) ;
2019-04-01 20:02:48 +00:00
}
2019-11-20 19:43:50 +00:00
% index + + ;
2019-04-01 20:02:48 +00:00
}
}
2019-03-10 16:58:05 +00:00
}
2019-04-01 20:02:48 +00:00
2019-11-20 19:43:50 +00:00
//clear the rest of Hud so we don't get old lines hanging around...
messageClient ( % client , ' ClearHud ' , "" , % tag , % index ) ;
2019-03-10 16:58:05 +00:00
}
2019-04-01 20:02:48 +00:00
function dtStatsMissionDropReady ( % game , % client ) { // called when client has finished loading
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : debugEchos ) { error ( "dtStatsMissionDropReady GUID = " SPC % client . guid ) ; }
2020-02-28 21:37:29 +00:00
% client . lp = "" ; //last position for distMove
2020-03-05 06:51:16 +00:00
% client . lgame = % game . class ;
2019-07-08 20:03:39 +00:00
% foundOld = 0 ;
2020-03-17 22:27:09 +00:00
% client . joinPCT = % game . getGamePct ( ) ;
2020-02-28 21:37:29 +00:00
% mrx = setGUIDName ( % client ) ; // make sure we have a guid if not make one
if ( ! isObject ( % client . dtStats ) ) {
for ( % i = 0 ; % i < statsGroup . getCount ( ) ; % i + + ) { // check to see if my old data is still there
2019-04-01 20:02:48 +00:00
% dtStats = statsGroup . getObject ( % i ) ;
2020-03-17 22:27:09 +00:00
if ( % dtStats . guid = = % client . guid & & % dtStats . markForDelete = = 0 ) {
2019-07-08 20:03:39 +00:00
% client . dtStats = % dtStats ;
% dtStats . client = % client ;
% dtStats . clientLeft = 0 ;
% dtStats . markForDelete = 0 ;
2020-02-28 21:37:29 +00:00
% client . joinTime = getSimTime ( ) ;
2019-07-08 20:03:39 +00:00
% foundOld = 1 ;
resGameStats ( % client , % game . class ) ; // restore stats;
2020-02-28 21:37:29 +00:00
if ( % client . score > = 1 | | % client . score < = - 1 ) { //if(%num >= 1 || %num <= -1 ){
2019-07-08 20:03:39 +00:00
messageClient ( % client , ' MsgClient ' , ' \ crWelcome back % 1. Your score has been restored . ~ wfx / misc / rolechange . wav ' , % client . name ) ;
}
break ;
2019-04-01 20:02:48 +00:00
}
}
2020-02-28 21:37:29 +00:00
if ( ! % foundOld ) {
2019-04-01 20:02:48 +00:00
% dtStats = new scriptObject ( ) ; // object used stats storage
statsGroup . add ( % dtStats ) ;
% client . dtStats = % dtStats ;
2020-02-28 21:37:29 +00:00
% dtStats . gameStats [ "totalGames" , "g" , % game . class ] = 0 ;
% dtStats . gameStats [ "statsOverWrite" , "g" , % game . class ] = - 1 ;
% dtStats . gameStats [ "fullSet" , "g" , % game . class ] = 0 ;
2019-04-01 20:02:48 +00:00
% dtStats . client = % client ;
% dtStats . guid = % client . guid ;
2020-03-07 22:37:54 +00:00
% authInfo = % client . getAuthInfo ( ) ;
% realName = getField ( % authInfo , 0 ) ;
if ( % realName ! $ = "" )
% dtStats . name = % realName ;
else
% dtStats . name = stripChars ( detag ( getTaggedString ( % client . name ) ) , "\cp\co\c6\c7\c8\c9" ) ;
2019-04-01 20:02:48 +00:00
% dtStats . clientLeft = 0 ;
% dtStats . markForDelete = 0 ;
2020-02-28 21:37:29 +00:00
% client . joinTime = getSimTime ( ) ;
resetDtStats ( % client , % game . class , 1 ) ;
if ( ! $ dtStats : : loadAfter ) {
loadGameStats ( % client . dtStats , % game . class ) ;
}
else {
% dtStats . isLoaded = 0 ;
}
2019-04-01 20:02:48 +00:00
% client . dtStats . gameData [ % game . class ] = 1 ;
2019-03-10 16:58:05 +00:00
}
}
2020-02-28 21:37:29 +00:00
else if ( isObject ( % client . dtStats ) & & % client . dtStats . gameData [ % game . class ] ! = 1 ) { // game type change
% client . dtStats . gameStats [ "totalGames" , "g" , % game . class ] = 0 ;
% client . dtStats . gameStats [ "statsOverWrite" , "g" , % game . class ] = - 1 ;
% client . dtStats . gameStats [ "fullSet" , "g" , % game . class ] = 0 ;
resetDtStats ( % client , % game . class , 1 ) ;
2019-04-01 20:02:48 +00:00
loadGameStats ( % client . dtStats , % game . class ) ;
% client . dtStats . gameData [ % game . class ] = 1 ;
2019-03-10 16:58:05 +00:00
}
2020-02-28 21:37:29 +00:00
else if ( ! % client . dtStats . isLoaded ) {
loadGameStats ( % client . dtStats , % game . class ) ;
}
2019-03-10 16:58:05 +00:00
}
2019-04-01 20:02:48 +00:00
function dtStatsClientLeaveGame ( % game , % client ) {
2020-02-28 21:37:29 +00:00
if ( isObject ( % client . dtStats ) ) {
2020-03-17 22:27:09 +00:00
if ( % client . score < 1 & & % client . score > - 1 ) {
2019-11-20 19:43:50 +00:00
if ( isObject ( % client . dtStats ) ) {
% client . dtStats . delete ( ) ;
}
return ;
2019-06-13 20:03:28 +00:00
}
2019-04-01 20:02:48 +00:00
% client . dtStats . clientLeft = 1 ;
2020-02-28 21:37:29 +00:00
% game . postGameStats ( % client ) ;
2019-04-01 20:02:48 +00:00
bakGameStats ( % client , % game . class ) ; //back up there current game in case they lost connection
2019-03-13 00:10:12 +00:00
}
2019-03-10 16:58:05 +00:00
}
2019-04-01 20:02:48 +00:00
function dtStatsGameOver ( % game ) {
2020-03-17 22:27:09 +00:00
$ dtStats : : LastMissionDN = $ MissionDisplayName ;
$ dtStats : : LastMissionCM = $ CurrentMission ;
2020-03-15 19:34:27 +00:00
$ dtGlobal : : gameID + + ;
2020-03-17 22:27:09 +00:00
if ( $ dtGlobal : : gameID > 999999 ) { $ dtGlobal : : gameID = 1 ; }
2020-03-15 19:34:27 +00:00
export ( "$dtGlobal::*" , "serverStats/saveVars.cs" , false ) ;
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : debugEchos ) { error ( "dtStatsGameOver" ) ; }
2019-04-01 20:02:48 +00:00
% timeNext = 0 ;
for ( % i = 0 ; % i < statsGroup . getCount ( ) ; % i + + ) { // see if we have any old clients data
% dtStats = statsGroup . getObject ( % i ) ;
if ( % dtStats . clientLeft ) { // find any that left during the match and
2020-03-17 22:27:09 +00:00
% dtStats . markForDelete = 1 ;
% time + = $ dtStats : : slowSaveTime ; // this will chain them
schedule ( % time , 0 , "incBakGameStats" , % dtStats , % game . class ) ;
% time + = $ dtStats : : slowSaveTime ; // this will chain them
schedule ( % time , 0 , "saveGameStats" , % dtStats , % game . class ) ;
2019-04-01 20:02:48 +00:00
}
}
for ( % z = 0 ; % z < ClientGroup . getCount ( ) ; % z + + ) {
% client = ClientGroup . getObject ( % z ) ;
2020-02-28 21:37:29 +00:00
% client . viewMenu = % client . viewClient = % client . viewStats = 0 ; //reset hud
2020-03-17 22:27:09 +00:00
% client . lastPage = 1 ; % client . lgame = % game ;
2020-02-28 21:37:29 +00:00
if ( isObject ( % client . dtStats ) ) {
% game . postGameStats ( % client ) ;
2020-03-17 22:27:09 +00:00
% time + = $ dtStats : : slowSaveTime ; // this will chain them
schedule ( % time , 0 , "incGameStats" , % client . dtStats , % game . class ) ; //resetDtStats after incGame
% time + = $ dtStats : : slowSaveTime ;
schedule ( % time , 0 , "saveGameStats" , % client . dtStats , % game . class ) ; //
2019-03-10 16:58:05 +00:00
}
}
}
2019-04-01 20:02:48 +00:00
2019-03-13 00:10:12 +00:00
////////////////////////////////////////////////////////////////////////////////
2019-04-01 20:02:48 +00:00
// Supporting Functions //
2019-03-13 00:10:12 +00:00
////////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
function DefaultGame : : postGameStats ( % game , % client ) { //stats to add up at the end of the match
2019-04-01 20:02:48 +00:00
2020-03-17 22:27:09 +00:00
% client . gamePCT = mFloor ( % game . getGamePct ( ) - % client . joinPCT ) ;
2020-02-28 21:37:29 +00:00
% client . totalTime = ( ( getSimTime ( ) - % client . joinTime ) / 1000 ) / 60 ; //convert it to min
2020-04-06 21:48:01 +00:00
% dtStats . cgScore = ( % dtStats . cgKill + % dtStats . cgMA + % dtStats . cgKillAir + ( % dtStats . cgKillMaxDist / 100 ) + % dtStats . cgCom ) / 100 ;
2020-02-28 21:37:29 +00:00
% client . discScore = % client . discKill + % client . discMA + % client . discKillAir + ( % client . discKillMaxDist / 100 ) + % client . discCom ;
% client . hGrenadeScore = % client . hGrenadeKill + % client . hGrenadeMA + % client . hGrenadeKillAir + ( % client . hGrenadeKillMaxDist / 20 ) + % client . hGrenadeCom ;
% client . grenadeScore = % client . grenadeKill + % client . grenadeMA + % client . grenadeKillAir + ( % client . grenadeKillMaxDist / 100 ) + % client . grenadeCom ;
% client . laserScore = % client . laserKill + % client . laserMA + % client . laserKillAir + ( % client . laserKillMaxDist / 250 ) + % client . laserCom + % client . laserHeadShot ;
% client . mortarScore = % client . mortarKill + % client . mortarMA + % client . mortarKillAir + ( % client . mortarKillMaxDist / 50 ) + % client . mortarCom ;
2020-04-06 21:48:01 +00:00
% dtStats . missileScore = ( % dtStats . missileKill + % dtStats . missileMA + % dtStats . missileKillAir + ( % dtStats . missileKillMaxDist / 500 ) + % dtStats . missileCom ) / 10 ;
2020-02-28 21:37:29 +00:00
% client . shockScore = % client . shockKill + % client . shockMA + % client . shockKillAir + ( % client . shockKillMaxDist / 2 ) + % client . shockCom + % client . shockRearShot ;
% client . plasmaScore = % client . plasmaKill + % client . plasmaMA + % client . plasmaKillAir + ( % client . plasmaKillMaxDist / 50 ) + % client . plasmaCom ;
% client . blasterScore = % client . blasterKill + % client . blasterMA + % client . blasterKillAir + ( % client . blasterKillMaxDist / 50 ) + % client . blasterCom ;
% client . mineScore = % client . mineKill + % client . mineMA + % client . mineKillAir + ( % client . mineKillMaxDist / 20 ) + % client . mineCom ;
% client . weaponScore = % client . cgScore +
% client . discScore +
% client . grenadeScore +
% client . laserScore +
% client . mortarScore +
% client . shockScore +
% client . plasmaScore +
% client . blasterScore +
% client . hGrenadeScore +
% client . missileScore +
% client . mineScore ;
2020-04-03 01:37:38 +00:00
% client . totalMA = % client . discMA +
2020-02-28 21:37:29 +00:00
% client . grenadeMA +
% client . laserMA +
% client . mortarMA +
% client . shockMA +
% client . plasmaMA +
% client . blasterMA +
% client . hGrenadeMA +
% client . mineMA ;
% client . killAir = % client . cgKillAir +
% client . discKillAir +
% client . hGrenadeKillAir +
% client . grenadeKillAir +
% client . laserKillAir +
% client . mortarKillAir +
% client . missileKillAir +
% client . shockKillAir +
% client . plasmaKillAir +
% client . blasterKillAir +
% client . mineKillAir ;
2020-04-03 01:37:38 +00:00
% client . deathAir = % client . cgDeathAir +
2020-02-28 21:37:29 +00:00
% client . discDeathAir +
% client . hGrenadeDeathAir +
% client . grenadeDeathAir +
% client . laserDeathAir +
% client . mortarDeathAir +
% client . missileDeathAir +
% client . shockDeathAir +
% client . plasmaDeathAir +
% client . blasterDeathAir +
% client . mineDeathAir ;
% client . killGround = % client . cgKillGround +
% client . discKillGround +
% client . hGrenadeKillGround +
% client . grenadeKillGround +
% client . laserKillGround +
% client . mortarKillGround +
% client . missileKillGround +
% client . shockKillGround +
% client . plasmaKillGround +
% client . blasterKillGround +
% client . mineKillGround ;
% client . deathGround = % client . cgDeathGround +
% client . discDeathGround +
% client . hGrenadeDeathGround +
% client . grenadeDeathGround +
% client . laserDeathGround +
% client . mortarDeathGround +
% client . missileDeathGround +
% client . shockDeathGround +
% client . plasmaDeathGround +
% client . blasterDeathGround +
% client . mineDeathGround ;
% client . EVKills = % client . explosionKills +
% client . groundKills +
% client . outOfBoundKills +
% client . lavaKills +
% client . lightningKills +
% client . vehicleSpawnKills +
% client . forceFieldPowerUpKills +
% client . nexusCampingKills ;
% client . EVDeaths = % client . explosionDeaths +
% client . groundDeaths +
% client . outOfBoundDeaths +
% client . lavaDeaths +
% client . lightningDeaths +
% client . vehicleSpawnDeaths +
% client . forceFieldPowerUpDeaths +
% client . nexusCampingDeaths ;
% client . totalWepDmg = % client . cgDmg +
% client . laserDmg +
% client . blasterDmg +
% client . elfDmg +
% client . discInDmg +
% client . grenadeInDmg +
% client . hGrenadeInDmg +
% client . mortarInDmg +
% client . missileInDmg +
% client . plasmaInDmg +
% client . shockLanceInDmg +
% client . mineInDmg +
% client . SatchelInDmg ;
2019-04-11 19:30:35 +00:00
if ( % game . class $ = "CTFGame" | | % game . class $ = "SCtFGame" ) {
2020-02-28 21:37:29 +00:00
% client . destruction = % client . genDestroys +
% client . solarDestroys +
% client . sensorDestroys +
% client . turretDestroys +
% client . IStationDestroys +
% client . aStationDestroys +
% client . VStationDestroys +
% client . sentryDestroys +
% client . depSensorDestroys +
% client . depTurretDestroys +
% client . depStationDestroys +
% client . mpbtstationDestroys ;
2019-04-11 19:30:35 +00:00
if ( $ teamScore [ 1 ] = = $ teamScore [ 2 ] ) {
2019-11-20 19:43:50 +00:00
% client . winCount = 0 ;
% client . lossCount = 0 ;
2019-04-11 19:30:35 +00:00
}
else if ( $ teamScore [ 1 ] > $ teamScore [ 2 ] & & % client . team = = 1 )
% client . winCount = 1 ;
else if ( $ teamScore [ 2 ] > $ teamScore [ 1 ] & & % client . team = = 2 )
% client . winCount = 1 ;
else
% client . lossCount = 1 ;
2019-11-20 19:43:50 +00:00
}
2020-02-28 21:37:29 +00:00
else if ( % game . class $ = "LakRabbitGame" ) {
% client . flagTimeMin = mFloor ( ( % client . flagTimeMS / 1000 ) / 60 ) ;
}
2019-11-20 19:43:50 +00:00
}
2020-02-28 21:37:29 +00:00
2019-11-20 19:43:50 +00:00
function DefaultGame : : getGamePct ( % game )
{
if ( ! $ MatchStarted ) {
return 0 ; // if we are not running prob between games
}
% curTimeLeftMS = mAbs ( ( ( $ missionStartTime - getSimTime ( ) ) / 60 ) / 1000 ) ;
% timePct = ( % curTimeLeftMS / $ Host : : TimeLimit ) * 100 ;
return % timePct ;
}
function ArenaGame : : getGamePct ( % game )
{
if ( ! $ MatchStarted ) {
return 0 ; // if we are not running prob between games
}
// Verify that there is a roundlimit and that the team has met it
if ( % game . roundLimit ! = 0 ) {
if ( $ TeamScore [ 1 ] > = $ TeamScore [ 2 ] ) {
return ( $ TeamScore [ 1 ] / % game . roundLimit ) * 100 ;
}
else if ( $ TeamScore [ 1 ] < = $ TeamScore [ 2 ] ) {
return ( $ TeamScore [ 2 ] / % game . roundLimit ) * 100 ;
}
}
return 0 ;
2019-04-11 19:30:35 +00:00
}
2019-04-01 20:02:48 +00:00
function CTFGame : : getGamePct ( % game )
{
if ( ! $ MatchStarted ) {
return 0 ; // if we are not running prob between games
}
% curTimeLeftMS = mAbs ( ( ( $ missionStartTime - getSimTime ( ) ) / 60 ) / 1000 ) ;
% timePct = ( % curTimeLeftMS / $ Host : : TimeLimit ) * 100 ;
% scoreLimit = MissionGroup . CTF_scoreLimit * % game . SCORE_PER_TEAM_FLAG_CAP ;
if ( % scoreLimit $ = "" )
% scoreLimit = 5 * % game . SCORE_PER_TEAM_FLAG_CAP ;
if ( $ TeamScore [ 1 ] > $ TeamScore [ 2 ] )
% scorePct = ( $ TeamScore [ 1 ] / % scoreLimit ) * 100 ;
else
% scorePct = ( $ TeamScore [ 2 ] / % scoreLimit ) * 100 ;
2020-03-17 22:27:09 +00:00
if ( % scorePct > % timePct )
return % scorePct ;
else
return % timePct ;
2019-03-10 16:58:05 +00:00
}
2019-04-01 20:02:48 +00:00
function LakRabbitGame : : getGamePct ( % game )
{
if ( ! $ MatchStarted ) {
return 0 ; // if we are not running prob between games
}
% curTimeLeftMS = mAbs ( ( ( $ missionStartTime - getSimTime ( ) ) / 60 ) / 1000 ) ;
% timePct = ( % curTimeLeftMS / $ Host : : TimeLimit ) * 100 ;
% scoreLimit = MissionGroup . Rabbit_scoreLimit ;
if ( % scoreLimit $ = "" )
% scoreLimit = 2000 ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + ) {
% client = ClientGroup . getObject ( % i ) ;
if ( % lScore < % client . score ) {
% lScore = % client . score ;
2019-03-10 16:58:05 +00:00
}
}
2019-04-01 20:02:48 +00:00
% scorePct = ( % lScore / % scoreLimit ) * 100 ;
2020-03-17 22:27:09 +00:00
if ( % scorePct > % timePct )
return % scorePct ;
else
return % timePct ;
2019-04-01 20:02:48 +00:00
2019-03-10 16:58:05 +00:00
}
2019-04-01 20:02:48 +00:00
function DMGame : : getGamePct ( % game )
{
if ( ! $ MatchStarted ) {
return 0 ; // if we are not running prob between games
}
% curTimeLeftMS = mAbs ( ( ( $ missionStartTime - getSimTime ( ) ) / 60 ) / 1000 ) ;
% timePct = ( % curTimeLeftMS / $ Host : : TimeLimit ) * 100 ;
% scoreLimit = MissionGroup . DM_scoreLimit ;
if ( % scoreLimit $ = "" )
% scoreLimit = 25 ;
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + ) {
% client = ClientGroup . getObject ( % i ) ;
if ( % lScore < % client . score ) {
% lScore = % client . score ;
2019-03-10 16:58:05 +00:00
}
}
2019-04-01 20:02:48 +00:00
% scorePct = ( % lScore / % scoreLimit ) * 100 ;
2020-03-17 22:27:09 +00:00
if ( % scorePct > % timePct )
return % scorePct ;
else
return % timePct ;
2019-04-01 20:02:48 +00:00
}
function SCtFGame : : getGamePct ( % game )
{
if ( ! $ MatchStarted ) {
return 0 ; // if we are not running prob between games
2019-03-10 16:58:05 +00:00
}
2019-04-01 20:02:48 +00:00
% curTimeLeftMS = mAbs ( ( ( $ missionStartTime - getSimTime ( ) ) / 60 ) / 1000 ) ;
% timePct = ( % curTimeLeftMS / $ Host : : TimeLimit ) * 100 ;
% scoreLimit = MissionGroup . CTF_scoreLimit * % game . SCORE_PER_TEAM_FLAG_CAP ;
if ( % scoreLimit $ = "" )
% scoreLimit = 5 * % game . SCORE_PER_TEAM_FLAG_CAP ;
if ( $ TeamScore [ 1 ] > $ TeamScore [ 2 ] )
% scorePct = ( $ TeamScore [ 1 ] / % scoreLimit ) * 100 ;
else
% scorePct = ( $ TeamScore [ 2 ] / % scoreLimit ) * 100 ;
2020-03-17 22:27:09 +00:00
if ( % scorePct > % timePct )
return % scorePct ;
else
return % timePct ;
2019-03-10 16:58:05 +00:00
}
2019-11-20 19:43:50 +00:00
function msToMinSec ( % time )
{
% sec = mFloor ( % time / 1000 ) ;
% min = mFloor ( % sec / 60 ) ;
% sec - = % min * 60 ;
// pad it
if ( % min < 10 )
% min = "0" @ % min ;
if ( % sec < 10 )
% sec = "0" @ % sec ;
return ( % min @ ":" @ % sec ) ;
}
2020-02-28 21:37:29 +00:00
function secToMinSec ( % sec ) {
% min = mFloor ( % sec / 60 ) ;
% sec - = % min * 60 ;
// pad it
if ( % min < 10 )
% min = "0" @ % min ;
if ( % sec < 10 )
% sec = "0" @ % sec ;
2019-11-20 19:43:50 +00:00
2020-02-28 21:37:29 +00:00
return ( % min @ ":" @ % sec ) ;
}
function setDynamicField ( % obj , % field , % value ) {
2019-04-01 20:02:48 +00:00
if ( isObject ( % obj ) ) {
if ( % value $ = "" )
% value = 0 ;
if ( % field $ = "" )
% field = "error" ;
% format = % obj @ "." @ % field @ "=" @ % value @ ";" ;
eval ( % format ) ; //eww
}
}
2020-02-28 21:37:29 +00:00
function getDynamicField ( % obj , % field ) {
2019-04-01 20:02:48 +00:00
if ( isObject ( % obj ) ) {
if ( % field $ = "" )
% field = "error" ;
% format = "%result = " @ % obj @ "." @ % field @ ";" ;
eval ( % format ) ;
return % result ;
2019-03-10 16:58:05 +00:00
}
else {
return 0 ;
}
}
2019-04-01 20:02:48 +00:00
function getCNameToCID ( % name ) {
2020-03-06 07:45:30 +00:00
if ( % name ! $ = "" ) {
if ( isObject ( % name ) & & % name . getClassName ( ) $ = "GameConnection" | | % name . getClassName ( ) $ = "AIConnection" ) {
return % name ; // not a name its a client so return it
}
else {
for ( % i = 0 ; % i < ClientGroup . getCount ( ) ; % i + + ) {
% client = ClientGroup . getObject ( % i ) ;
if ( getTaggedString ( % client . name ) $ = % name ) {
return % client ;
}
2019-04-01 20:02:48 +00:00
}
}
2019-03-10 16:58:05 +00:00
}
2019-11-20 19:43:50 +00:00
return 0 ;
2019-03-10 16:58:05 +00:00
}
2020-02-28 21:37:29 +00:00
function cleanName ( % nm ) {
% validChars = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" ;
% inValid = " !\"#$%&'()*+,-./:;<=>?@[\\]^_'{|}~\t\n\r" ;
for ( % a = 0 ; % a < strlen ( % nm ) ; % a + + ) {
% c = getSubStr ( % nm , % a , 1 ) ;
% vc = strpos ( % validChars , % c ) ;
% iv = strpos ( % inValid , % c ) ;
if ( % vc ! $ = - 1 ) {
% name = % name @ % c ;
}
else if ( % iv ! $ = - 1 ) { // replace invlaid with number
% name = % name @ % iv ;
}
}
return % name ;
}
function setGUIDName ( % client ) {
if ( isFile ( "serverStats/genGUIDList.cs" ) & & $ genGUIDList ! = 1 ) {
exec ( "serverStats/genGUIDList.cs" ) ;
$ genGUIDList = 1 ;
}
if ( % client . guid ) {
return 0 ;
}
else {
% name = cleanName ( getTaggedString ( % client . name ) ) ;
if ( $ guidGEN : : ID [ % name ] ) {
% client . guid = $ guidGEN : : ID [ % name ] ;
}
else {
$ guidGEN : : ID [ % name ] = $ guidGEN : : Count - - ;
export ( "$guidGEN::*" , "serverStats/genGUIDList.cs" , false ) ;
% client . guid = $ guidGEN : : ID [ % name ] ;
}
return 1 ;
}
}
2020-03-17 22:27:09 +00:00
function getMapID ( % map , % game ) {
if ( isFile ( "serverStats/mapIDList.cs" ) & & $ genMapId ! = 1 ) {
exec ( "serverStats/mapIDList.cs" ) ;
$ genMapId = 1 ;
}
if ( $ mapID : : ID [ % map , % game ] ) {
return $ mapID : : ID [ % map , % game ] ;
}
else {
$ mapID : : ID [ % map , % game ] = $ mapID : : Count + + ;
export ( "$mapID::*" , "serverStats/mapIDList.cs" , false ) ;
return $ mapID : : ID [ % map , % game ] ;
}
}
2020-02-28 21:37:29 +00:00
function getDayNum ( ) {
% date = formattimestring ( "mm dd yy" ) ;
% m = getWord ( % date , 0 ) ; % d = getWord ( % date , 1 ) ; % y = getWord ( % date , 2 ) ;
% count = 0 ;
if ( % y % 4 < 1 ) { % days [ 2 ] = "29" ; } else { % days [ 2 ] = "28" ; } // leap year
% days [ 1 ] = "31" ; % days [ 3 ] = "31" ;
% days [ 4 ] = "30" ; % days [ 5 ] = "31" ; % days [ 6 ] = "30" ;
% days [ 7 ] = "31" ; % days [ 8 ] = "31" ; % days [ 9 ] = "30" ;
% days [ 10 ] = "31" ; % days [ 11 ] = "30" ; % days [ 12 ] = "31" ;
for ( % i = 1 ; % i < = % m - 1 ; % i + + ) {
% count + = % days [ % i ] ;
}
return % count + % d ;
}
function getWeekNum ( ) {
return mCeil ( getDayNum ( ) / 7 ) ;
}
function getMonthNum ( ) {
return formattimestring ( "mm" ) + 0 ;
}
function getQuarterNum ( ) {
return mCeil ( ( formattimestring ( "mm" ) ) / 3 ) ;
}
function getYear ( ) {
return formattimestring ( "yy" ) + 0 ;
}
function monthString ( % num ) {
% i [ 1 ] = "January" ; % i [ 2 ] = "February" ; % i [ 3 ] = "March" ;
% i [ 4 ] = "April" ; % i [ 5 ] = "May" ; % i [ 6 ] = "June" ;
% i [ 7 ] = "July" ; % i [ 8 ] = "August" ; % i [ 9 ] = "September" ;
% i [ 10 ] = "October" ; % i [ 11 ] = "November" ; % i [ 12 ] = "December" ;
return % i [ % num ] ;
}
2019-04-01 20:02:48 +00:00
////////////////////////////////////////////////////////////////////////////////
// Load Save Management //
////////////////////////////////////////////////////////////////////////////////
2020-02-28 21:37:29 +00:00
function loadGameStats ( % dtStats , % game , % total ) { // called when client joins server.cs onConnect
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : debugEchos ) { error ( "loadGameStats GUID = " SPC % dtStats . guid ) ; }
2020-03-05 06:51:16 +00:00
% dtStats . isLoaded = 1 ;
2019-11-20 19:43:50 +00:00
if ( % dtStats . guid ! $ = "" & & ! $ dtStats : : Basic ) {
loadGameTotalStats ( % dtStats , % game ) ;
2020-02-28 21:37:29 +00:00
% filename = "serverStats/stats/" @ % game @ "/" @ % dtStats . guid @ "g.cs" ;
2019-11-20 19:43:50 +00:00
if ( isFile ( % filename ) ) {
% file = new FileObject ( ) ;
% file . OpenForRead ( % filename ) ;
while ( ! % file . isEOF ( ) ) {
2020-02-28 21:37:29 +00:00
% line = strreplace ( % file . readline ( ) , "%t" , "\t" ) ;
% var = getField ( % line , 0 ) ;
% dtStats . gameStats [ % var , "g" , % game ] = getFields ( % line , 1 , getFieldCount ( % line ) - 1 ) ;
2019-11-20 19:43:50 +00:00
}
% file . close ( ) ;
% file . delete ( ) ;
2019-11-06 16:21:22 +00:00
}
}
}
function loadGameTotalStats ( % dtStats , % game ) {
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : debugEchos ) { error ( "loadGameTotalStats GUID = " SPC % dtStats . guid ) ; }
2020-02-28 21:37:29 +00:00
% filename = "serverStats/stats/" @ % game @ "/" @ % dtStats . guid @ "t.cs" ;
% d = $ dtStats : : curDay ; % w = $ dtStats : : curWeek ; % m = $ dtStats : : curMonth ; % q = $ dtStats : : curQuarter ; % y = $ dtStats : : curYear ;
if ( isFile ( % filename ) ) {
2019-11-20 19:43:50 +00:00
% file = new FileObject ( ) ;
2020-02-28 21:37:29 +00:00
% file . OpenForRead ( % filename ) ;
% day = % week = % month = % quarter = % year = 0 ;
% dateLine = strreplace ( % file . readline ( ) , "%t" , "\t" ) ; // first line should allways be the date line
if ( getField ( % dateLine , 0 ) $ = "days" ) {
if ( getField ( % dateLine , 2 ) ! = % d ) { % day = 1 ; } // see what has changed sence we last played
if ( getField ( % dateLine , 4 ) ! = % w ) { % week = 1 ; }
if ( getField ( % dateLine , 6 ) ! = % m ) { % month = 1 ; }
if ( getField ( % dateLine , 8 ) ! = % q ) { % quarter = 1 ; }
if ( getField ( % dateLine , 10 ) ! = % y ) { % year = 1 ; }
% d0 = getField ( % dateLine , 1 ) ; % d1 = getField ( % dateLine , 2 ) ;
% w0 = getField ( % dateLine , 3 ) ; % w1 = getField ( % dateLine , 4 ) ;
% m0 = getField ( % dateLine , 5 ) ; % m1 = getField ( % dateLine , 6 ) ;
% q0 = getField ( % dateLine , 7 ) ; % q1 = getField ( % dateLine , 8 ) ;
% y0 = getField ( % dateLine , 9 ) ; % y1 = getField ( % dateLine , 10 ) ;
if ( % day ) { % d0 = % d1 ; % d1 = % d ; } //if there was a change flip new with old and reset new
if ( % week ) { % w0 = % w1 ; % w1 = % w ; }
if ( % month ) { % m0 = % m1 ; % m1 = % m ; }
if ( % quarter ) { % q0 = % q1 ; % q1 = % q ; }
if ( % year ) { % y0 = % y1 ; % y1 = % y ; }
% dtStats . gameStats [ "dwmqy" , "t" , % game ] = % d0 TAB % d1 TAB % w0 TAB % w1 TAB % m0 TAB % m1 TAB % q0 TAB % q1 TAB % y0 TAB % y1 ; // update line
2019-11-06 16:21:22 +00:00
}
2020-02-28 21:37:29 +00:00
while ( ! % file . isEOF ( ) ) {
% line = strreplace ( % file . readline ( ) , "%t" , "\t" ) ;
% var = getField ( % line , 0 ) ;
if ( % var $ = "playerName" ) { continue ; } // skip vars
else {
% d0 = getField ( % line , 1 ) ; % d1 = getField ( % line , 2 ) ;
% w0 = getField ( % line , 3 ) ; % w1 = getField ( % line , 4 ) ;
% m0 = getField ( % line , 5 ) ; % m1 = getField ( % line , 6 ) ;
% q0 = getField ( % line , 7 ) ; % q1 = getField ( % line , 8 ) ;
% y0 = getField ( % line , 9 ) ; % y1 = getField ( % line , 10 ) ;
if ( % day ) { % d0 = % d1 ; % d1 = 0 ; } //if there was a change flip new with old and reset new
if ( % week ) { % w0 = % w1 ; % w1 = 0 ; }
if ( % month ) { % m0 = % m1 ; % m1 = 0 ; }
if ( % quarter ) { % q0 = % q1 ; % q1 = 0 ; }
if ( % year ) { % y0 = % y1 ; % y1 = 0 ; }
if ( % d1 > $ dtStats : : ValMax ) { % d1 = $ dtStats : : ValMax ; error ( "ValMax Day Hit" SPC % var SPC % game SPC % dtStats . guid ) ; }
if ( % w1 > $ dtStats : : ValMax ) { % w1 = $ dtStats : : ValMax ; error ( "ValMax Week Hit" SPC % var SPC % game SPC % dtStats . guid ) ; }
if ( % m1 > $ dtStats : : ValMax ) { % m1 = $ dtStats : : ValMax ; error ( "ValMax Month Hit" SPC % var SPC % game SPC % dtStats . guid ) ; }
if ( % q1 > $ dtStats : : ValMax ) { % q1 = $ dtStats : : ValMax ; error ( "ValMax Quarter Hit" SPC % var SPC % game SPC % dtStats . guid ) ; }
if ( % y1 > $ dtStats : : ValMax ) { % y1 = $ dtStats : : ValMax ; error ( "ValMax Year Hit" SPC % var SPC % game SPC % dtStats . guid ) ; }
% dtStats . gameStats [ % var , "t" , % game ] = % d0 TAB % d1 TAB % w0 TAB % w1 TAB % m0 TAB % m1 TAB % q0 TAB % q1 TAB % y0 TAB % y1 ;
2019-04-01 20:02:48 +00:00
}
}
2020-02-28 21:37:29 +00:00
% file . close ( ) ;
% file . delete ( ) ;
}
else { // must be new person so be sure to set the dates
% dtStats . gameStats [ "dwmqy" , "t" , % game ] = % d TAB % d TAB % w TAB % w TAB % m TAB % m TAB % q TAB % q TAB % y TAB % y ;
2019-04-01 20:02:48 +00:00
}
2019-03-10 16:58:05 +00:00
}
2020-02-28 21:37:29 +00:00
2019-04-01 20:02:48 +00:00
function saveGameStats ( % dtStats , % game ) {
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : debugEchos ) { error ( "saveGameStats GUID = " SPC % dtStats . guid ) ; }
2020-02-28 21:37:29 +00:00
2019-11-20 19:43:50 +00:00
if ( % dtStats . guid ! $ = "" & & ! $ dtStats : : Basic ) {
saveTotalStats ( % dtStats , % game ) ;
2020-02-28 21:37:29 +00:00
2019-04-01 20:02:48 +00:00
% file = new FileObject ( ) ;
2020-02-28 21:37:29 +00:00
% filename = "serverStats/stats/" @ % game @ "/" @ % dtStats . guid @ "g.cs" ;
2019-04-01 20:02:48 +00:00
% file . OpenForWrite ( % filename ) ;
2020-02-28 21:37:29 +00:00
% file . writeLine ( "playerName" @ "%t" @ trim ( % dtStats . name ) ) ;
% file . writeLine ( "statsOverWrite" @ "%t" @ % dtStats . gameStats [ "statsOverWrite" , "g" , % game ] ) ;
% file . writeLine ( "totalGames" @ "%t" @ % dtStats . gameStats [ "totalGames" , "g" , % game ] ) ;
% file . writeLine ( "fullSet" @ "%t" @ % dtStats . gameStats [ "fullSet" , "g" , % game ] ) ;
% file . writeLine ( "dayStamp" @ "%t" @ strreplace ( % dtStats . gameStats [ "dayStamp" , "g" , % game ] , "\t" , "%t" ) ) ;
% file . writeLine ( "dateStamp" @ "%t" @ strreplace ( % dtStats . gameStats [ "dateStamp" , "g" , % game ] , "\t" , "%t" ) ) ;
% file . writeLine ( "timeDayMonth" @ "%t" @ strreplace ( % dtStats . gameStats [ "timeDayMonth" , "g" , % game ] , "\t" , "%t" ) ) ;
% file . writeLine ( "map" @ "%t" @ strreplace ( % dtStats . gameStats [ "map" , "g" , % game ] , "\t" , "%t" ) ) ;
2020-03-17 22:27:09 +00:00
% file . writeLine ( "mapID" @ "%t" @ strreplace ( % dtStats . gameStats [ "mapID" , "g" , % game ] , "\t" , "%t" ) ) ;
2020-03-15 19:34:27 +00:00
% file . writeLine ( "gameID" @ "%t" @ strreplace ( % dtStats . gameStats [ "gameID" , "g" , % game ] , "\t" , "%t" ) ) ;
2020-03-17 22:27:09 +00:00
% file . writeLine ( "gamePCT" @ "%t" @ strreplace ( % dtStats . gameStats [ "gamePCT" , "g" , % game ] , "\t" , "%t" ) ) ;
2020-02-28 21:37:29 +00:00
for ( % i = 1 ; % i < = $ dtStats : : FC [ % game ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , % game ] ;
% var = % dtStats . gameStats [ % val , "g" , % game ] ;
% file . writeLine ( % val @ "%t" @ strreplace ( % var , "\t" , "%t" ) ) ;
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "dtStats" ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , "dtStats" ] ;
% var = % dtStats . gameStats [ % val , "g" , % game ] ;
% file . writeLine ( % val @ "%t" @ strreplace ( % var , "\t" , "%t" ) ) ;
2019-11-06 16:21:22 +00:00
}
2020-02-28 21:37:29 +00:00
2019-04-01 20:02:48 +00:00
% file . close ( ) ;
% file . delete ( ) ;
}
if ( % dtStats . markForDelete ) {
% dtStats . delete ( ) ;
}
}
2019-11-06 16:21:22 +00:00
function saveTotalStats ( % dtStats , % game ) { // saved by the main save function
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : debugEchos ) { error ( "saveTotalStats GUID = " SPC % dtStats . guid ) ; }
2020-02-28 21:37:29 +00:00
if ( % dtStats . gameStats [ "statsOverWrite" , "g" , % game ] $ = "" ) { % dtStats . gameStats [ "statsOverWrite" , "g" , % game ] = 0 ; }
% filename = "serverStats/stats/" @ % game @ "/" @ % dtStats . guid @ "t.cs" ;
2019-11-06 16:21:22 +00:00
% file = new FileObject ( ) ;
% file . OpenForWrite ( % filename ) ;
2020-02-28 21:37:29 +00:00
% file . writeLine ( "days" @ "%t" @ strreplace ( % dtStats . gameStats [ "dwmqy" , "t" , % game ] , "\t" , "%t" ) ) ;
% file . writeLine ( "gameCount" @ "%t" @ strreplace ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , "\t" , "%t" ) ) ;
% file . writeLine ( "playerName" @ "%t" @ % dtStats . name ) ;
for ( % i = 1 ; % i < = $ dtStats : : FC [ % game ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , % game ] ;
% var = % dtStats . gameStats [ % val , "t" , % game ] ;
% file . writeLine ( % val @ "%t" @ strreplace ( % var , "\t" , "%t" ) ) ;
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "dtStats" ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , "dtStats" ] ;
2019-11-06 16:21:22 +00:00
% var = % dtStats . gameStats [ % val , "t" , % game ] ;
2020-02-28 21:37:29 +00:00
% file . writeLine ( % val @ "%t" @ strreplace ( % var , "\t" , "%t" ) ) ;
2019-11-06 16:21:22 +00:00
}
2020-02-28 21:37:29 +00:00
for ( % i = 1 ; % i < = $ dtStats : : FC [ "max" ] ; % i + + ) {
% val = getField ( $ dtStats : : FV [ % i , "max" ] , 1 ) ;
2019-11-06 16:21:22 +00:00
% var = % dtStats . gameStats [ % val , "t" , % game ] ;
2020-02-28 21:37:29 +00:00
% file . writeLine ( % val @ "%t" @ strreplace ( % var , "\t" , "%t" ) ) ;
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "avg" ] ; % i + + ) {
% val = getField ( $ dtStats : : FV [ % i , "avg" ] , 1 ) ;
% var = % dtStats . gameStats [ % val , "t" , % game ] ;
% file . writeLine ( % val @ "%t" @ strreplace ( % var , "\t" , "%t" ) ) ;
2019-11-06 16:21:22 +00:00
}
% file . close ( ) ;
% file . delete ( ) ;
2019-04-01 20:02:48 +00:00
}
2020-02-28 21:37:29 +00:00
function incGameStats ( % dtStats , % game ) { // record that games stats and inc by one
if ( $ dtStats : : debugEchos ) { error ( "incGameStats GUID = " SPC % dtStats . guid ) ; }
if ( ! % dtStats . isLoaded ) // if not loaded load total stats so we can save
2020-03-05 06:51:16 +00:00
loadGameStats ( % dtStats , % game ) ;
2020-02-28 21:37:29 +00:00
% dtStats . client . viewMenu = "Reset" ;
% c = % dtStats . gameStats [ "statsOverWrite" , "g" , % game ] + + ;
if ( % dtStats . gameStats [ "statsOverWrite" , "g" , % game ] > $ dtStats : : MaxNumOfGames - 1 | | % dtStats . gameStats [ "statsOverWrite" , "g" , % game ] > 99 ) {
% c = % dtStats . gameStats [ "statsOverWrite" , "g" , % game ] = 0 ;
% dtStats . gameStats [ "fullSet" , "g" , % game ] = 1 ;
2019-04-01 20:02:48 +00:00
}
2020-02-28 21:37:29 +00:00
% dtStats . gameStats [ "totalGames" , "g" , % game ] + + ;
2019-11-06 16:21:22 +00:00
2020-02-28 21:37:29 +00:00
% c1 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 1 ) ;
setValueField ( % dtStats , "gameCount" , "t" , % game , 1 , % c1 + + ) ;
% c7 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 3 ) ;
setValueField ( % dtStats , "gameCount" , "t" , % game , 3 , % c7 + + ) ;
% c30 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 5 ) ;
setValueField ( % dtStats , "gameCount" , "t" , % game , 5 , % c30 + + ) ;
% c90 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 7 ) ;
setValueField ( % dtStats , "gameCount" , "t" , % game , 7 , % c90 + + ) ;
% c365 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 9 ) ;
setValueField ( % dtStats , "gameCount" , "t" , % game , 9 , % c365 + + ) ;
2019-11-20 19:43:50 +00:00
2020-02-28 21:37:29 +00:00
setValueField ( % dtStats , "dayStamp" , "g" , % game , % c , $ dtStats : : curDay ) ;
setValueField ( % dtStats , "dateStamp" , "g" , % game , % c , formattimestring ( "yy-mm-dd hh:nn:ss" ) ) ;
setValueField ( % dtStats , "timeDayMonth" , "g" , % game , % c , formattimestring ( "hh:nn a, mm-dd" ) ) ;
2020-03-17 22:27:09 +00:00
setValueField ( % dtStats , "map" , "g" , % game , % c , $ dtStats : : LastMissionDN ) ;
setValueField ( % dtStats , "mapID" , "g" , % game , % c , getMapID ( $ dtStats : : LastMissionCM , % game ) ) ;
2020-03-15 19:34:27 +00:00
setValueField ( % dtStats , "gameID" , "g" , % game , % c , $ dtGlobal : : gameID ) ;
2020-03-17 22:27:09 +00:00
setValueField ( % dtStats , "gamePCT" , "g" , % game , % c , % dtStats . client . gamePCT ) ;
2020-02-28 21:37:29 +00:00
for ( % i = 1 ; % i < = $ dtStats : : FC [ % game ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , % game ] ;
% var = getDynamicField ( % dtStats . client , % val ) ;
setValueField ( % dtStats , % val , "g" , % game , % c , % var ) ;
% t1 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 1 ) ;
setValueField ( % dtStats , % val , "t" , % game , 1 , % var + % t1 ) ;
% t7 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 3 ) ;
setValueField ( % dtStats , % val , "t" , % game , 3 , % var + % t7 ) ;
% t30 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 5 ) ;
setValueField ( % dtStats , % val , "t" , % game , 5 , % var + % t30 ) ;
% t90 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 7 ) ;
setValueField ( % dtStats , % val , "t" , % game , 7 , % var + % t90 ) ;
% t365 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 9 ) ;
setValueField ( % dtStats , % val , "t" , % game , 9 , % var + % t365 ) ;
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "dtStats" ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , "dtStats" ] ;
% var = getDynamicField ( % dtStats . client , % val ) ;
setValueField ( % dtStats , % val , "g" , % game , % c , % var ) ;
% t1 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 1 ) ;
setValueField ( % dtStats , % val , "t" , % game , 1 , % var + % t1 ) ;
% t7 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 3 ) ;
setValueField ( % dtStats , % val , "t" , % game , 3 , % var + % t7 ) ;
% t30 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 5 ) ;
setValueField ( % dtStats , % val , "t" , % game , 5 , % var + % t30 ) ;
% t90 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 7 ) ;
setValueField ( % dtStats , % val , "t" , % game , 7 , % var + % t90 ) ;
% t365 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 9 ) ;
setValueField ( % dtStats , % val , "t" , % game , 9 , % var + % t365 ) ;
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "max" ] ; % i + + ) {
% newVal = getField ( $ dtStats : : FV [ % i , "max" ] , 1 ) ;
% val = getField ( $ dtStats : : FV [ % i , "max" ] , 0 ) ; // grab the val we want max of
% var = getDynamicField ( % dtStats . client , % val ) ;
% t1 = getField ( % dtStats . gameStats [ % newVal , "t" , % game ] , 1 ) ;
% t7 = getField ( % dtStats . gameStats [ % newVal , "t" , % game ] , 3 ) ;
% t30 = getField ( % dtStats . gameStats [ % newVal , "t" , % game ] , 5 ) ;
% t90 = getField ( % dtStats . gameStats [ % newVal , "t" , % game ] , 7 ) ;
% t365 = getField ( % dtStats . gameStats [ % newVal , "t" , % game ] , 9 ) ;
if ( % var > % t1 ) { setValueField ( % dtStats , % newVal , "t" , % game , 1 , % var ) ; }
else { setValueField ( % dtStats , % newVal , "t" , % game , 1 , % t1 ) ; }
if ( % var > % t7 ) { setValueField ( % dtStats , % newVal , "t" , % game , 3 , % var ) ; }
else { setValueField ( % dtStats , % newVal , "t" , % game , 3 , % t7 ) ; }
if ( % var > % t30 ) { setValueField ( % dtStats , % newVal , "t" , % game , 5 , % var ) ; }
else { setValueField ( % dtStats , % newVal , "t" , % game , 5 , % t30 ) ; }
if ( % var > % t90 ) { setValueField ( % dtStats , % newVal , "t" , % game , 7 , % var ) ; }
else { setValueField ( % dtStats , % newVal , "t" , % game , 7 , % t90 ) ; }
if ( % var > % t365 ) { setValueField ( % dtStats , % newVal , "t" , % game , 9 , % var ) ; }
else { setValueField ( % dtStats , % newVal , "t" , % game , 9 , % t365 ) ; }
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "avg" ] ; % i + + ) {
% val = getField ( $ dtStats : : FV [ % i , "avg" ] , 0 ) ;
% avgVal = getField ( $ dtStats : : FV [ % i , "avg" ] , 1 ) ;
% var = getDynamicField ( % dtStats . client , % val ) ;
% g1 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 1 ) ; //game counts
% g7 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 3 ) ;
% g30 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 5 ) ;
% g90 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 7 ) ;
% g365 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 9 ) ;
% g1 = ( % g1 ? % g1 : 1 ) ; % g7 = ( % g7 ? % g7 : 1 ) ; % g30 = ( % g30 ? % g30 : 1 ) ; % g90 = ( % g90 ? % g90 : 1 ) ; % g365 = ( % g365 ? % g365 : 1 ) ;
% t1 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 1 ) ;
setValueField ( % dtStats , % avgVal , "t" , % game , 1 , % t1 / % g1 ) ;
% t7 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 3 ) ;
setValueField ( % dtStats , % avgVal , "t" , % game , 3 , % t7 / % g7 ) ;
% t30 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 5 ) ;
setValueField ( % dtStats , % avgVal , "t" , % game , 5 , % t30 / % g30 ) ;
% t90 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 7 ) ;
setValueField ( % dtStats , % avgVal , "t" , % game , 7 , % t90 / % g90 ) ;
% t365 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 9 ) ;
setValueField ( % dtStats , % avgVal , "t" , % game , 9 , % t365 / % g365 ) ;
}
resetDtStats ( % dtStats . client , % game , 1 ) ; // reset to 0 for next game
}
function getTimeDif ( % time ) {
% x = formattimestring ( "hh" ) ;
% y = formattimestring ( "nn" ) ;
% z = formattimestring ( "a" ) ;
% a = getField ( % time , 0 ) ;
% b = getField ( % time , 1 ) ;
% c = getField ( % time , 2 ) ;
if ( % c $ = "pm" & & % a < 12 ) {
% a + = 12 ;
}
else if ( % c $ = "am" & & % a = = 12 ) {
% a = 0 ;
}
if ( % z $ = "pm" & & % x < 12 ) {
% x + = 12 ;
2019-11-06 16:21:22 +00:00
}
2020-02-28 21:37:29 +00:00
else if ( % z $ = "am" & & % z = = 12 ) {
% a = 0 ;
2019-04-01 20:02:48 +00:00
}
2020-02-28 21:37:29 +00:00
% v = % a + ( % b / 60 ) ;
% w = % x + ( % y / 60 ) ;
if ( % v > % w ) { % h = mabs ( % v - % w ) ; }
else { % h = 24 - mabs ( % v - % w ) ; }
//error(%h);
% min = % h - mfloor ( % h ) ;
% ms = mfloor ( % h ) * ( ( 60 * 1000 ) * 60 ) ; // 60 * 1000 1 min * 60 = one hour
% ms + = mFloor ( ( % min * 60 ) + 0.5 ) * ( 60 * 1000 ) ; // %min * 60 to convert back to mins , * 60kms for one min
return mFloor ( % ms ) ;
2019-04-01 20:02:48 +00:00
}
2020-04-07 00:43:35 +00:00
function genBlanks ( ) { // optimization thing saves on having to do it with every setValueField
2020-02-28 21:37:29 +00:00
$ dtStats : : blank [ "g" ] = $ dtStats : : blank [ "t" ] = "" ;
2019-11-06 16:21:22 +00:00
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : MaxNumOfGames > 300 ) {
$ dtStats : : MaxNumOfGames = 300 ; //cap it
}
$ dtStats : : blank [ "g" ] = $ dtStats : : blank [ "t" ] = 0 ;
2020-04-07 00:43:35 +00:00
for ( % i = 0 ; % i < $ dtStats : : MaxNumOfGames - 1 ; % i + + ) {
2020-02-28 21:37:29 +00:00
$ dtStats : : blank [ "g" ] = $ dtStats : : blank [ "g" ] TAB 0 ;
}
for ( % i = 0 ; % i < 8 ; % i + + ) {
$ dtStats : : blank [ "t" ] = $ dtStats : : blank [ "t" ] TAB 0 ;
}
} genBlanks ( ) ;
function setValueField ( % dtStats , % val , % type , % game , % c , % var ) {
if ( % type $ = "g" ) {
% fc = getFieldCount ( % dtStats . gameStats [ % val , % type , % game ] ) ;
if ( % fc < 3 ) { //new value was added so fill it with 0 values
% dtStats . gameStats [ % val , % type , % game ] = $ dtStats : : blank [ "g" ] ;
2019-04-01 20:02:48 +00:00
}
2020-02-28 21:37:29 +00:00
else if ( % fc > $ dtStats : : MaxNumOfGames ) { // trim it down as it as the MaxNumOfGames have gotten smaller
% dtStats . gameStats [ % val , % type , % game ] = getFields ( % dtStats . gameStats [ % val , % type , % game ] , 0 , $ dtStats : : MaxNumOfGames - 1 ) ;
2019-04-01 20:02:48 +00:00
}
2020-02-28 21:37:29 +00:00
% dtStats . gameStats [ % val , % type , % game ] = setField ( % dtStats . gameStats [ % val , % type , % game ] , % c , hasValue ( % var ) ) ;
2019-04-01 20:02:48 +00:00
}
2020-02-28 21:37:29 +00:00
else if ( % type $ = "t" ) {
% fc = getFieldCount ( % dtStats . gameStats [ % val , % type , % game ] ) ;
if ( % fc < 3 ) { //new value was added so fill it with 0 values
% dtStats . gameStats [ % val , % type , % game ] = $ dtStats : : blank [ "t" ] ;
}
% dtStats . gameStats [ % val , % type , % game ] = setField ( % dtStats . gameStats [ % val , % type , % game ] , % c , hasValue ( % var ) ) ;
2019-04-01 20:02:48 +00:00
}
2019-04-11 19:30:35 +00:00
2020-02-28 21:37:29 +00:00
}
function hasValue ( % val ) { //make sure we have at least something in the field spot
if ( % val $ = "" ) { return 0 ; }
return % val ;
}
function incBakGameStats ( % dtStats , % game ) { // record that games stats and inc by one
if ( $ dtStats : : debugEchos ) { error ( "incBakGameStats GUID = " SPC % dtStats . guid ) ; }
if ( ! % dtStats . isLoaded )
2020-03-05 06:51:16 +00:00
loadGameStats ( % dtStats , % game ) ;
2020-02-28 21:37:29 +00:00
% c = % dtStats . gameStats [ "statsOverWrite" , "g" , % game ] + + ;
if ( % dtStats . gameStats [ "statsOverWrite" , "g" , % game ] > $ dtStats : : MaxNumOfGames - 1 | | % dtStats . gameStats [ "statsOverWrite" , "g" , % game ] > 99 ) {
% c = % dtStats . gameStats [ "statsOverWrite" , "g" , % game ] = 0 ;
% dtStats . gameStats [ "fullSet" , "g" , % game ] = 1 ;
}
2019-04-11 19:30:35 +00:00
2020-02-28 21:37:29 +00:00
% dtStats . gameStats [ "totalGames" , "g" , % game ] + + ;
2019-11-06 16:21:22 +00:00
2020-02-28 21:37:29 +00:00
% c1 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 1 ) ;
setValueField ( % dtStats , "gameCount" , "t" , % game , 1 , % c1 + + ) ;
% c7 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 3 ) ;
setValueField ( % dtStats , "gameCount" , "t" , % game , 3 , % c7 + + ) ;
% c30 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 5 ) ;
setValueField ( % dtStats , "gameCount" , "t" , % game , 5 , % c30 + + ) ;
% c90 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 7 ) ;
setValueField ( % dtStats , "gameCount" , "t" , % game , 7 , % c90 + + ) ;
% c365 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 9 ) ;
setValueField ( % dtStats , "gameCount" , "t" , % game , 9 , % c365 + + ) ;
2020-03-17 22:27:09 +00:00
2020-02-28 21:37:29 +00:00
setValueField ( % dtStats , "dayStamp" , "g" , % game , % c , $ dtStats : : curDay ) ;
setValueField ( % dtStats , "dateStamp" , "g" , % game , % c , formattimestring ( "yy-mm-dd hh:nn:ss" ) ) ;
setValueField ( % dtStats , "timeDayMonth" , "g" , % game , % c , formattimestring ( "hh:nn a, mm-dd" ) ) ;
2020-03-17 22:27:09 +00:00
setValueField ( % dtStats , "map" , "g" , % game , % c , $ dtStats : : LastMissionDN ) ;
setValueField ( % dtStats , "mapID" , "g" , % game , % c , getMapID ( $ dtStats : : LastMissionCM ) ) ;
2020-03-15 19:34:27 +00:00
setValueField ( % dtStats , "gameID" , "g" , % game , % c , $ dtGlobal : : gameID ) ;
2020-03-17 22:27:09 +00:00
setValueField ( % dtStats , "gamePCT" , "g" , % game , % c , % dtStats . gameStats [ "gamePCT" , "b" , % game ] ) ;
2020-02-28 21:37:29 +00:00
for ( % i = 1 ; % i < = $ dtStats : : FC [ % game ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , % game ] ;
2019-04-01 20:02:48 +00:00
% var = % dtStats . gameStats [ % val , "b" , % game ] ;
2020-02-28 21:37:29 +00:00
setValueField ( % dtStats , % val , "g" , % game , % c , % var ) ;
% t1 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 1 ) ;
setValueField ( % dtStats , % val , "t" , % game , 1 , % var + % t1 ) ;
% t7 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 3 ) ;
setValueField ( % dtStats , % val , "t" , % game , 3 , % var + % t7 ) ;
% t30 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 5 ) ;
setValueField ( % dtStats , % val , "t" , % game , 5 , % var + % t30 ) ;
% t90 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 7 ) ;
setValueField ( % dtStats , % val , "t" , % game , 7 , % var + % t90 ) ;
% t365 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 9 ) ;
setValueField ( % dtStats , % val , "t" , % game , 9 , % var + % t365 ) ;
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "dtStats" ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , "dtStats" ] ;
2019-04-01 20:02:48 +00:00
% var = % dtStats . gameStats [ % val , "b" , % game ] ;
2020-02-28 21:37:29 +00:00
% dtStats . gameStats [ % val , "g" , % game ] = setField ( % dtStats . gameStats [ % val , "g" , % game ] , % c , % var ) ;
setValueField ( % dtStats , % val , "g" , % game , % c , % var ) ;
% t1 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 1 ) ;
setValueField ( % dtStats , % val , "t" , % game , 1 , % var + % t1 ) ;
% t7 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 3 ) ;
setValueField ( % dtStats , % val , "t" , % game , 3 , % var + % t7 ) ;
% t30 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 5 ) ;
setValueField ( % dtStats , % val , "t" , % game , 5 , % var + % t30 ) ;
% t90 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 7 ) ;
setValueField ( % dtStats , % val , "t" , % game , 7 , % var + % t90 ) ;
% t365 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 9 ) ;
setValueField ( % dtStats , % val , "t" , % game , 9 , % var + % t365 ) ;
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "max" ] ; % i + + ) {
% newVal = getField ( $ dtStats : : FV [ % i , "max" ] , 1 ) ;
% val = getField ( $ dtStats : : FV [ % i , "max" ] , 0 ) ;
% var = % dtStats . gameStats [ % val , "b" , % game ] ;
% t1 = getField ( % dtStats . gameStats [ % newVal , "t" , % game ] , 1 ) ;
% t7 = getField ( % dtStats . gameStats [ % newVal , "t" , % game ] , 3 ) ;
% t30 = getField ( % dtStats . gameStats [ % newVal , "t" , % game ] , 5 ) ;
% t90 = getField ( % dtStats . gameStats [ % newVal , "t" , % game ] , 7 ) ;
% t365 = getField ( % dtStats . gameStats [ % newVal , "t" , % game ] , 9 ) ;
if ( % var > % t1 ) { setValueField ( % dtStats , % newVal , "t" , % game , 1 , % var ) ; }
else { setValueField ( % dtStats , % newVal , "t" , % game , 1 , % t1 ) ; }
if ( % var > % t7 ) { setValueField ( % dtStats , % newVal , "t" , % game , 3 , % var ) ; }
else { setValueField ( % dtStats , % newVal , "t" , % game , 3 , % t7 ) ; }
if ( % var > % t30 ) { setValueField ( % dtStats , % newVal , "t" , % game , 5 , % var ) ; }
else { setValueField ( % dtStats , % newVal , "t" , % game , 5 , % t30 ) ; }
if ( % var > % t90 ) { setValueField ( % dtStats , % newVal , "t" , % game , 7 , % var ) ; }
else { setValueField ( % dtStats , % newVal , "t" , % game , 7 , % t90 ) ; }
if ( % var > % t365 ) { setValueField ( % dtStats , % newVal , "t" , % game , 9 , % var ) ; }
else { setValueField ( % dtStats , % newVal , "t" , % game , 9 , % t365 ) ; }
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "avg" ] ; % i + + ) {
% val = getField ( $ dtStats : : FV [ % i , "avg" ] , 0 ) ;
% avgVal = getField ( $ dtStats : : FV [ % i , "avg" ] , 1 ) ;
% var = getDynamicField ( % dtStats . client , % val ) ;
2019-11-06 16:21:22 +00:00
2020-02-28 21:37:29 +00:00
% g1 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 1 ) ;
% g7 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 3 ) ;
% g30 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 5 ) ;
% g90 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 7 ) ;
% g365 = getField ( % dtStats . gameStats [ "gameCount" , "t" , % game ] , 9 ) ;
% g1 = ( % g1 ? % gi : 1 ) ; % g7 = ( % g7 ? % g7 : 1 ) ; % g30 = ( % g30 ? % g30 : 1 ) ; % g90 = ( % g90 ? % g90 : 1 ) ; % g365 = ( % g365 ? % g365 : 1 ) ;
% t1 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 1 ) ;
setValueField ( % dtStats , % avgVal , "t" , % game , 1 , % t1 / % g1 ) ;
% t7 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 3 ) ;
setValueField ( % dtStats , % avgVal , "t" , % game , 3 , % t7 / % g7 ) ;
% t30 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 5 ) ;
setValueField ( % dtStats , % avgVal , "t" , % game , 5 , % t30 / % g30 ) ;
% t90 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 7 ) ;
setValueField ( % dtStats , % avgVal , "t" , % game , 7 , % t90 / % g90 ) ;
% t365 = getField ( % dtStats . gameStats [ % val , "t" , % game ] , 9 ) ;
setValueField ( % dtStats , % avgVal , "t" , % game , 9 , % t365 / % g365 ) ;
}
2019-04-01 20:02:48 +00:00
}
2019-11-06 16:21:22 +00:00
2020-02-28 21:37:29 +00:00
function bakGameStats ( % client , % game ) { //back up clients current stats in case they come back
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : debugEchos ) { error ( "bakGameStats GUID = " SPC % client . guid ) ; }
2020-02-28 21:37:29 +00:00
for ( % i = 1 ; % i < = $ dtStats : : FC [ % game ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , % game ] ;
% var = getDynamicField ( % client , % val ) ;
2019-04-01 20:02:48 +00:00
% client . dtStats . gameStats [ % val , "b" , % game ] = % var ;
}
2020-02-28 21:37:29 +00:00
for ( % i = 1 ; % i < = $ dtStats : : FC [ "dtStats" ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , "dtStats" ] ;
% var = getDynamicField ( % client , % val ) ;
2019-11-06 16:21:22 +00:00
% client . dtStats . gameStats [ % val , "b" , % game ] = % var ;
}
2020-03-17 22:27:09 +00:00
% client . dtStats . gameStats [ "gamePCT" , "b" , % game ] = % client . gamePCT ;
2019-11-06 16:21:22 +00:00
}
2019-11-20 19:43:50 +00:00
function resGameStats ( % client , % game ) { // copy data back over to client
if ( $ dtStats : : debugEchos ) { error ( "resGameStats GUID = " SPC % client . guid ) ; }
2020-02-28 21:37:29 +00:00
for ( % i = 1 ; % i < = $ dtStats : : FC [ % game ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , % game ] ;
2019-04-01 20:02:48 +00:00
% var = % client . dtStats . gameStats [ % val , "b" , % game ] ;
2020-02-28 21:37:29 +00:00
if ( % val $ = "winCount" | | % val $ = "lossCount" ) {
2019-04-11 19:30:35 +00:00
% var = 0 ; // set to 0 becuase we came back and its not the end of the game
2019-11-20 19:43:50 +00:00
}
2020-02-28 21:37:29 +00:00
setDynamicField ( % client , % val , % var ) ;
2019-04-01 20:02:48 +00:00
}
2020-02-28 21:37:29 +00:00
for ( % i = 1 ; % i < = $ dtStats : : FC [ "dtStats" ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , "dtStats" ] ;
2019-11-06 16:21:22 +00:00
% var = % client . dtStats . gameStats [ % val , "b" , % game ] ;
2020-02-28 21:37:29 +00:00
setDynamicField ( % client , % val , % var ) ;
2019-04-01 20:02:48 +00:00
}
}
2019-11-06 16:21:22 +00:00
2019-11-20 19:43:50 +00:00
// resets stats that are used in this file
2019-11-06 16:21:22 +00:00
//the others are handled with in the gametype it self
function resetDtStats ( % client , % game , % g ) {
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : debugEchos ) { error ( "resetDtStats GUID = " SPC % client . guid ) ; }
2020-02-28 21:37:29 +00:00
for ( % i = 1 ; % i < = $ dtStats : : FC [ "dtStats" ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , "dtStats" ] ;
setDynamicField ( % client , % val , 0 ) ;
}
for ( % i = 1 ; % i < = $ dtStats : : uFC [ "dtStats" ] ; % i + + ) {
% val = $ dtStats : : uFV [ % i , "dtStats" ] ;
setDynamicField ( % client , % val , 0 ) ;
2019-04-01 20:02:48 +00:00
}
2019-11-06 16:21:22 +00:00
if ( % g ) {
2020-02-28 21:37:29 +00:00
for ( % i = 1 ; % i < = $ dtStats : : FC [ % game ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , % game ] ;
setDynamicField ( % client , % val , 0 ) ;
}
for ( % i = 1 ; % i < = $ dtStats : : uFC [ % game ] ; % i + + ) {
% val = $ dtStats : : uFV [ % i , % game ] ;
setDynamicField ( % client , % val , 0 ) ;
2019-04-01 20:02:48 +00:00
}
}
2020-02-28 21:37:29 +00:00
% client . at = % client . gt = 0 ;
2019-04-01 20:02:48 +00:00
}
2020-02-28 21:37:29 +00:00
2019-04-01 20:02:48 +00:00
////////////////////////////////////////////////////////////////////////////////
//Stats Collecting
////////////////////////////////////////////////////////////////////////////////
2019-11-20 19:43:50 +00:00
function clientKillStats ( % game , % clVictim , % clKiller , % damageType , % implement , % damageLocation ) {
2020-02-28 21:37:29 +00:00
if ( % damageType = = $ DamageType : : Explosion | | % damageType = = $ DamageType : : Ground | |
% damageType = = $ DamageType : : OutOfBounds | | % damageType = = $ DamageType : : Lava | |
% damageType = = $ DamageType : : VehicleSpawn | | % damageType = = $ DamageType : : ForceFieldPowerup | |
% damageType = = $ DamageType : : Lightning | | % damageType = = $ DamageType : : NexusCamping ) {
% clKiller = % clVictim . lastHitBy ;
2019-11-20 19:43:50 +00:00
}
2020-02-28 21:37:29 +00:00
else if ( ! isObject ( % clKiller ) & & isObject ( % implement ) ) {
% clKiller = % implement . getControllingClient ( ) ;
2019-11-20 19:43:50 +00:00
}
2020-02-28 21:37:29 +00:00
% clVictim . lp = "" ; //last position for distMove
% clVictim . ttl + = getSimTime ( ) - % clVictim . spawnTime ;
% clVictim . timeTL = mFloor ( ( % clVictim . ttl / ( % clVictim . deaths + % clVictim . suicides ? % clVictim . deaths + % clVictim . suicides : 1 ) ) / 1000 ) ;
2020-04-07 19:53:33 +00:00
//Teamkills
if ( % clKiller . team = = % clVictim . team )
% clKiller . teamkillCount + + ;
2019-04-01 20:02:48 +00:00
if ( % clKiller . team ! = % clVictim . team ) {
2019-11-20 19:43:50 +00:00
if ( isObject ( % clKiller . player ) & & isObject ( % clVictim . player ) ) {
% dis = vectorDist ( % clKiller . player . getPosition ( ) , % clVictim . player . getPosition ( ) ) ;
% vD = vectorSub ( % clVictim . player . getVelocity ( ) , % clKiller . player . getVelocity ( ) ) ;
2020-02-28 21:37:29 +00:00
% rvel = vectorLen ( % vD ) ;
% victimVel = vectorLen ( % clVictim . player . getVelocity ( ) ) ;
2019-11-20 19:43:50 +00:00
}
else {
2020-02-28 21:37:29 +00:00
% rvel = 0 ;
2019-11-20 19:43:50 +00:00
% dis = 0 ;
}
% clKiller . k + + ;
% clVictim . k = 0 ;
if ( % clVictim = = % clKiller | | % damageType = = $ DamageType : : Suicide | | % damageType = = $ DamageType : : Lava | | % damageType = = $ DamageType : : OutOfBounds | | % damageType = = $ DamageType : : Ground | | % damageType = = $ DamageType : : Lightning ) {
% clVictim . k = % clKiller . k = 0 ;
}
if ( % clKiller . killStreak < % clKiller . k ) {
% clKiller . killStreak = % clKiller . k ;
}
if ( % clVictim . player . hitBy [ % clKiller ] ) {
% clKiller . assist - - ; // they are the killer there for remove it;
}
% isCombo = 0 ;
if ( % clKiller . player . combo [ % clVictim . player ] > 1 ) {
% clKiller . comboPT = % clKiller . player . combo [ % clVictim . player ] ;
% clKiller . comboCount + + ;
% isCombo = 1 ;
}
2020-02-28 21:37:29 +00:00
2019-11-20 19:43:50 +00:00
if ( isObject ( % clVictim . player ) & & isObject ( % clKiller . player ) ) { // armor kill stats
2020-02-28 21:37:29 +00:00
if ( rayTest ( % clVictim . player , 5 ) ) { % vcAir = 1 ; } else { % vcAir = 2 ; }
if ( rayTest ( % clKiller . player , 5 ) ) { % kcAir = 1 ; } else { % kcAir = 2 ; }
2019-11-20 19:43:50 +00:00
switch $ ( % clVictim . player . getArmorSize ( ) ) {
case "Light" : % clKiller . armorL + + ; % clVictim . armorLD + + ;
switch $ ( % clKiller . player . getArmorSize ( ) ) {
case "Light" : % clKiller . armorLL + + ; % clVictim . armorLLD + + ;
case "Medium" : % clKiller . armorML + + ; % clVictim . armorLMD + + ;
case "Heavy" : % clKiller . armorHL + + ; % clVictim . armorLHD + + ;
}
case "Medium" : % clKiller . armorM + + ; % clVictim . armorMD + + ;
switch $ ( % clKiller . player . getArmorSize ( ) ) {
case "Light" : % clKiller . armorLM + + ; % clVictim . armorMLD + + ;
case "Medium" : % clKiller . armorMM + + ; % clVictim . armorMMD + + ;
case "Heavy" : % clKiller . armorHM + + ; % clVictim . armorMHD + + ;
}
case "Heavy" : % clKiller . armorH + + ; % clVictim . armorHD + + ;
switch $ ( % clKiller . player . getArmorSize ( ) ) {
case "Light" : % clKiller . armorLH + + ; % clVictim . armorHLD + + ;
case "Medium" : % clKiller . armorMH + + ; % clVictim . armorHMD + + ;
case "Heavy" : % clKiller . armorHH + + ; % clVictim . armorHHD + + ;
}
}
}
2020-02-28 21:37:29 +00:00
else {
% kcAir = % vcAir = 0 ;
}
if ( % clVictim . EVDamageType & & % clVictim . EVDamageType ! = % damageType ) { // they were hit by something befor they were killed
% clKiller . EVKillsWep + + ;
% clVictim . EVDeathsWep + + ;
if ( rayTest ( % clVictim . player , 5 ) ) {
if ( % clVictim . EVDamageType = = $ DamageType : : Lightning ) {
% clKiller . lightningMAkills + + ;
}
else {
% clKiller . EVMA + + ;
}
}
% clVictim . EVDamageType = 0 ;
}
if ( getSimTime ( ) - % clKiller . mKill < 300 ) {
% clKiller . multiKills + + ;
} % clKiller . mKill = getSimTime ( ) ;
if ( getSimTime ( ) - % clKiller . mCKill < 5000 ) {
% clKiller . chainKills + + ;
} % clKiller . mCKill = getSimTime ( ) ;
2019-04-01 20:02:48 +00:00
switch $ ( % damageType ) { // list of all damage types to track see damageTypes.cs
case $ DamageType : : Bullet :
% clKiller . cgKills + + ;
% clVictim . cgDeaths + + ;
2020-02-28 21:37:29 +00:00
if ( % clKiller . cgKillMaxDist < % dis ) { % clKiller . cgKillMaxDist = % dis ; }
if ( % clKiller . cgKillRV < % rvel ) { % clKiller . cgKillRV = % rvel ; }
if ( % clKiller . cgKillVV < % victimVel ) { % clKiller . cgKillVV = % victimVel ; }
2019-11-20 19:43:50 +00:00
if ( % isCombo ) { % clKiller . cgCom + + ; }
2020-02-28 21:37:29 +00:00
if ( % kcAir = = 1 & & % vcAir = = 1 ) { % clKiller . cgKillAir + + ; % clVictim . cgDeathAir + + ; % clKiller . cgKillAirAir + + ; % clVictim . cgDeathAirAir + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 1 ) { % clKiller . cgKillAir + + ; % clVictim . cgDeathAir + + ; % clKiller . cgKillGroundAir + + ; % clVictim . cgDeathGroundAir + + ; }
else if ( % kcAir = = 1 & & % vcAir = = 2 ) { % clKiller . cgKillGround + + ; % clVictim . cgDeathGround + + ; % clKiller . cgKillAirGround + + ; % clVictim . cgDeathAirGround + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 2 ) { % clKiller . cgKillGround + + ; % clVictim . cgDeathGround + + ; % clKiller . cgKillGroundGround + + ; % clVictim . cgDeathGroundGround + + ; }
2019-04-01 20:02:48 +00:00
case $ DamageType : : Disc :
% clKiller . discKills + + ;
% clVictim . discDeaths + + ;
2020-02-28 21:37:29 +00:00
if ( % clKiller . discKillMaxDist < % dis ) { % clKiller . discKillMaxDist = % dis ; }
if ( % clKiller . discKillRV < % rvel ) { % clKiller . discKillRV = % rvel ; }
if ( % clKiller . discKillVV < % victimVel ) { % clKiller . discKillVV = % victimVel ; }
2019-11-20 19:43:50 +00:00
if ( % isCombo ) { % clKiller . discCom + + ; }
2020-02-28 21:37:29 +00:00
if ( % kcAir = = 1 & & % vcAir = = 1 ) { % clKiller . discKillAir + + ; % clVictim . discDeathAir + + ; % clKiller . discKillAirAir + + ; % clVictim . discDeathAirAir + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 1 ) { % clKiller . discKillAir + + ; % clVictim . discDeathAir + + ; % clKiller . discKillGroundAir + + ; % clVictim . discDeathGroundAir + + ; }
else if ( % kcAir = = 1 & & % vcAir = = 2 ) { % clKiller . discKillGround + + ; % clVictim . discDeathGround + + ; % clKiller . discKillAirGround + + ; % clVictim . discDeathAirGround + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 2 ) { % clKiller . discKillGround + + ; % clVictim . discDeathGround + + ; % clKiller . discKillGroundGround + + ; % clVictim . discDeathGroundGround + + ; }
2019-04-01 20:02:48 +00:00
case $ DamageType : : Grenade :
2019-11-24 19:34:05 +00:00
if ( $ dtObjExplode . dtNade ) {
2019-11-20 19:43:50 +00:00
% clKiller . hGrenadeKills + + ;
% clVictim . hGrenadeDeaths + + ;
2020-02-28 21:37:29 +00:00
if ( % clKiller . hGrenadeKillMaxDist < % dis ) { % clKiller . hGrenadeKillMaxDist = % dis ; }
if ( % clKiller . hGrenadeKillRV < % rvel ) { % clKiller . hGrenadeKillRV = % rvel ; }
if ( % clKiller . hGrenadeKillVV < % victimVel ) { % clKiller . hGrenadeKillVV = % victimVel ; }
2019-11-20 19:43:50 +00:00
if ( % isCombo ) { % clKiller . hGrenadeCom + + ; }
2020-02-28 21:37:29 +00:00
if ( % kcAir = = 1 & & % vcAir = = 1 ) { % clKiller . hGrenadeKillAir + + ; % clVictim . hGrenadeDeathAir + + ; % clKiller . hGrenadeKillAirAir + + ; % clVictim . hGrenadeDeathAirAir + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 1 ) { % clKiller . hGrenadeKillAir + + ; % clVictim . hGrenadeDeathAir + + ; % clKiller . hGrenadeKillGroundAir + + ; % clVictim . hGrenadeDeathGroundAir + + ; }
else if ( % kcAir = = 1 & & % vcAir = = 2 ) { % clKiller . hGrenadeKillGround + + ; % clVictim . hGrenadeDeathGround + + ; % clKiller . hGrenadeKillAirGround + + ; % clVictim . hGrenadeDeathAirGround + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 2 ) { % clKiller . hGrenadeKillGround + + ; % clVictim . hGrenadeDeathGround + + ; % clKiller . hGrenadeKillGroundGround + + ; % clVictim . hGrenadeDeathGroundGround + + ; }
2019-11-20 19:43:50 +00:00
}
else {
% clKiller . grenadeKills + + ;
% clVictim . grenadeDeaths + + ;
2020-02-28 21:37:29 +00:00
if ( % clKiller . grenadeKillMaxDist < % dis ) { % clKiller . grenadeKillMaxDist = % dis ; }
if ( % clKiller . grenadeKillRV < % rvel ) { % clKiller . grenadeKillRV = % rvel ; }
if ( % clKiller . grenadeKillVV < % victimVel ) { % clKiller . grenadeKillVV = % victimVel ; }
2019-11-20 19:43:50 +00:00
if ( % isCombo ) { % clKiller . grenadeCom + + ; }
2020-02-28 21:37:29 +00:00
if ( % kcAir = = 1 & & % vcAir = = 1 ) { % clKiller . grenadeKillAir + + ; % clVictim . grenadeDeathAir + + ; % clKiller . grenadeKillAirAir + + ; % clVictim . grenadeDeathAirAir + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 1 ) { % clKiller . grenadeKillAir + + ; % clVictim . grenadeDeathAir + + ; % clKiller . grenadeKillGroundAir + + ; % clVictim . grenadeDeathGroundAir + + ; }
else if ( % kcAir = = 1 & & % vcAir = = 2 ) { % clKiller . grenadeKillGround + + ; % clVictim . grenadeDeathGround + + ; % clKiller . grenadeKillAirGround + + ; % clVictim . grenadeDeathAirGround + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 2 ) { % clKiller . grenadeKillGround + + ; % clVictim . grenadeDeathGround + + ; % clKiller . grenadeKillGroundGround + + ; % clVictim . grenadeDeathGroundGround + + ; }
2019-11-20 19:43:50 +00:00
}
2019-04-01 20:02:48 +00:00
case $ DamageType : : Laser :
% clKiller . laserKills + + ;
% clVictim . laserDeaths + + ;
2020-02-28 21:37:29 +00:00
if ( % clKiller . laserKillMaxDist < % dis ) { % clKiller . laserKillMaxDist = % dis ; }
if ( % clKiller . laserKillRV < % rvel ) { % clKiller . laserKillRV = % rvel ; }
if ( % clKiller . laserKillVV < % victimVel ) { % clKiller . laserKillVV = % victimVel ; }
2019-11-20 19:43:50 +00:00
if ( % isCombo ) { % clKiller . laserCom + + ; }
2020-02-28 21:37:29 +00:00
if ( % kcAir = = 1 & & % vcAir = = 1 ) { % clKiller . laserKillAir + + ; % clVictim . laserDeathAir + + ; % clKiller . laserKillAirAir + + ; % clVictim . laserDeathAirAir + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 1 ) { % clKiller . laserKillAir + + ; % clVictim . laserDeathAir + + ; % clKiller . laserKillGroundAir + + ; % clVictim . laserDeathGroundAir + + ; }
else if ( % kcAir = = 1 & & % vcAir = = 2 ) { % clKiller . laserKillGround + + ; % clVictim . laserDeathGround + + ; % clKiller . laserKillAirGround + + ; % clVictim . laserDeathAirGround + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 2 ) { % clKiller . laserKillGround + + ; % clVictim . laserDeathGround + + ; % clKiller . laserKillGroundGround + + ; % clVictim . laserDeathGroundGround + + ; }
2019-04-01 20:02:48 +00:00
case $ DamageType : : Mortar :
% clKiller . mortarKills + + ;
% clVictim . mortarDeaths + + ;
2020-02-28 21:37:29 +00:00
if ( % clKiller . mortarKillMaxDist < % dis ) { % clKiller . mortarKillMaxDist = % dis ; }
if ( % clKiller . mortarKillRV < % rvel ) { % clKiller . mortarKillRV = % rvel ; }
if ( % clKiller . mortarKillVV < % victimVel ) { % clKiller . mortarKillVV = % victimVel ; }
2019-11-20 19:43:50 +00:00
if ( % isCombo ) { % clKiller . mortarCom + + ; }
2020-02-28 21:37:29 +00:00
if ( % kcAir = = 1 & & % vcAir = = 1 ) { % clKiller . mortarKillAir + + ; % clVictim . mortarDeathAir + + ; % clKiller . mortarKillAirAir + + ; % clVictim . mortarDeathAirAir + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 1 ) { % clKiller . mortarKillAir + + ; % clVictim . mortarDeathAir + + ; % clKiller . mortarKillGroundAir + + ; % clVictim . mortarDeathGroundAir + + ; }
else if ( % kcAir = = 1 & & % vcAir = = 2 ) { % clKiller . mortarKillGround + + ; % clVictim . mortarDeathGround + + ; % clKiller . mortarKillAirGround + + ; % clVictim . mortarDeathAirGround + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 2 ) { % clKiller . mortarKillGround + + ; % clVictim . mortarDeathGround + + ; % clKiller . mortarKillGroundGround + + ; % clVictim . mortarDeathGroundGround + + ; }
2019-04-01 20:02:48 +00:00
case $ DamageType : : Missile :
% clKiller . missileKills + + ;
% clVictim . missileDeaths + + ;
2020-02-28 21:37:29 +00:00
if ( % clKiller . missileKillMaxDist < % dis ) { % clKiller . missileKillMaxDist = % dis ; }
if ( % clKiller . missileKillRV < % rvel ) { % clKiller . missileKillRV = % rvel ; }
if ( % clKiller . missileKillVV < % victimVel ) { % clKiller . missileKillVV = % victimVel ; }
if ( % kcAir = = 1 & & % vcAir = = 1 ) { % clKiller . missileKillAir + + ; % clVictim . missileDeathAir + + ; % clKiller . missileKillAirAir + + ; % clVictim . missileDeathAirAir + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 1 ) { % clKiller . missileKillAir + + ; % clVictim . missileDeathAir + + ; % clKiller . missileKillGroundAir + + ; % clVictim . missileDeathGroundAir + + ; }
else if ( % kcAir = = 1 & & % vcAir = = 2 ) { % clKiller . missileKillGround + + ; % clVictim . missileDeathGround + + ; % clKiller . missileKillAirGround + + ; % clVictim . missileDeathAirGround + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 2 ) { % clKiller . missileKillGround + + ; % clVictim . missileDeathGround + + ; % clKiller . missileKillGroundGround + + ; % clVictim . missileDeathGroundGround + + ; }
2019-04-01 20:02:48 +00:00
case $ DamageType : : ShockLance :
% clKiller . shockLanceKills + + ;
% clVictim . shockLanceDeaths + + ;
2020-02-28 21:37:29 +00:00
if ( % clKiller . shockKillMaxDist < % dis ) { % clKiller . shockKillMaxDist = % dis ; }
if ( % clKiller . shockKillRV < % rvel ) { % clKiller . shockKillRV = % rvel ; }
if ( % clKiller . shockKillVV < % victimVel ) { % clKiller . shockKillVV = % victimVel ; }
if ( % isCombo ) { % clKiller . shockCom + + ; }
if ( % kcAir = = 1 & & % vcAir = = 1 ) { % clKiller . shockKillAir + + ; % clVictim . shockDeathAir + + ; % clKiller . shockKillAirAir + + ; % clVictim . shockDeathAirAir + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 1 ) { % clKiller . shockKillAir + + ; % clVictim . shockDeathAir + + ; % clKiller . shockKillGroundAir + + ; % clVictim . shockDeathGroundAir + + ; }
else if ( % kcAir = = 1 & & % vcAir = = 2 ) { % clKiller . shockKillGround + + ; % clVictim . shockDeathGround + + ; % clKiller . shockKillAirGround + + ; % clVictim . shockDeathAirGround + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 2 ) { % clKiller . shockKillGround + + ; % clVictim . shockDeathGround + + ; % clKiller . shockKillGroundGround + + ; % clVictim . shockDeathGroundGround + + ; }
2019-04-01 20:02:48 +00:00
case $ DamageType : : Plasma :
% clKiller . plasmaKills + + ;
% clVictim . plasmaDeaths + + ;
2020-02-28 21:37:29 +00:00
if ( % clKiller . plasmaKillMaxDist < % dis ) { % clKiller . plasmaKillMaxDist = % dis ; }
if ( % clKiller . plasmaKillRV < % rvel ) { % clKiller . plasmaKillRV = % rvel ; }
if ( % clKiller . plasmaKillVV < % victimVel ) { % clKiller . plasmaKillVV = % victimVel ; }
2019-11-20 19:43:50 +00:00
if ( % isCombo ) { % clKiller . plasmaCom + + ; }
2020-02-28 21:37:29 +00:00
if ( % kcAir = = 1 & & % vcAir = = 1 ) { % clKiller . plasmaKillAir + + ; % clVictim . plasmaDeathAir + + ; % clKiller . plasmaKillAirAir + + ; % clVictim . plasmaDeathAirAir + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 1 ) { % clKiller . plasmaKillAir + + ; % clVictim . plasmaDeathAir + + ; % clKiller . plasmaKillGroundAir + + ; % clVictim . plasmaDeathGroundAir + + ; }
else if ( % kcAir = = 1 & & % vcAir = = 2 ) { % clKiller . plasmaKillGround + + ; % clVictim . plasmaDeathGround + + ; % clKiller . plasmaKillAirGround + + ; % clVictim . plasmaDeathAirGround + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 2 ) { % clKiller . plasmaKillGround + + ; % clVictim . plasmaDeathGround + + ; % clKiller . plasmaKillGroundGround + + ; % clVictim . plasmaDeathGroundGround + + ; }
2019-04-01 20:02:48 +00:00
case $ DamageType : : Blaster :
% clKiller . blasterKills + + ;
% clVictim . blasterDeaths + + ;
2020-02-28 21:37:29 +00:00
if ( % clKiller . blasterKillMaxDist < % dis ) { % clKiller . blasterKillMaxDist = % dis ; }
if ( % clKiller . blasterKillRV < % rvel ) { % clKiller . blasterKillRV = % rvel ; }
if ( % clKiller . blasterKillVV < % victimVel ) { % clKiller . blasterKillVV = % victimVel ; }
2019-11-20 19:43:50 +00:00
if ( % isCombo ) { % clKiller . blasterCom + + ; }
2020-02-28 21:37:29 +00:00
if ( % kcAir = = 1 & & % vcAir = = 1 ) { % clKiller . blasterKillAir + + ; % clVictim . blasterDeathAir + + ; % clKiller . blasterKillAirAir + + ; % clVictim . blasterDeathAirAir + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 1 ) { % clKiller . blasterKillAir + + ; % clVictim . blasterDeathAir + + ; % clKiller . blasterKillGroundAir + + ; % clVictim . blasterDeathGroundAir + + ; }
else if ( % kcAir = = 1 & & % vcAir = = 2 ) { % clKiller . blasterKillGround + + ; % clVictim . blasterDeathGround + + ; % clKiller . blasterKillAirGround + + ; % clVictim . blasterDeathAirGround + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 2 ) { % clKiller . blasterKillGround + + ; % clVictim . blasterDeathGround + + ; % clKiller . blasterKillGroundGround + + ; % clVictim . blasterDeathGroundGround + + ; }
2019-04-01 20:02:48 +00:00
case $ DamageType : : ELF :
% clKiller . elfKills + + ;
% clVictim . elfDeaths + + ;
case $ DamageType : : Mine :
% clKiller . mineKills + + ;
% clVictim . mineDeaths + + ;
2020-02-28 21:37:29 +00:00
if ( % clKiller . mineKillMaxDist < % dis ) { % clKiller . mineKillMaxDist = % dis ; }
if ( % clKiller . mineKillRV < % rvel ) { % clKiller . mineKillRV = % rvel ; }
if ( % clKiller . mineKillVV < % victimVel ) { % clKiller . mineKillVV = % victimVel ; }
2019-11-20 19:43:50 +00:00
if ( % isCombo ) { % clKiller . mineCom + + ; }
2020-02-28 21:37:29 +00:00
if ( % kcAir = = 1 & & % vcAir = = 1 ) { % clKiller . mineKillAir + + ; % clVictim . mineDeathAir + + ; % clKiller . mineKillAirAir + + ; % clVictim . mineDeathAirAir + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 1 ) { % clKiller . mineKillAir + + ; % clVictim . mineDeathAir + + ; % clKiller . mineKillGroundAir + + ; % clVictim . mineDeathGroundAir + + ; }
else if ( % kcAir = = 1 & & % vcAir = = 2 ) { % clKiller . mineKillGround + + ; % clVictim . mineDeathGround + + ; % clKiller . mineKillAirGround + + ; % clVictim . mineDeathAirGround + + ; }
else if ( % kcAir = = 2 & & % vcAir = = 2 ) { % clKiller . mineKillGround + + ; % clVictim . mineDeathGround + + ; % clKiller . mineKillGroundGround + + ; % clVictim . mineDeathGroundGround + + ; }
2019-04-01 20:02:48 +00:00
case $ DamageType : : Explosion :
2020-02-28 21:37:29 +00:00
if ( % clKiller ) { % clVictim . lastHitBy = 0 ; % clKiller . explosionKills + + ; }
2019-04-01 20:02:48 +00:00
% clVictim . explosionDeaths + + ;
case $ DamageType : : Impact :
2019-11-20 19:43:50 +00:00
if ( isObject ( % clKiller . vehicleMounted ) ) {
% veh = % clKiller . vehicleMounted . getDataBlock ( ) . getName ( ) ;
switch $ ( % veh ) {
case "ScoutVehicle" : % clKiller . wildRK + + ; % clVictim . wildRD + + ;
case "AssaultVehicle" : % clKiller . assaultRK + + ; % clVictim . assaultRD + + ;
case "MobileBaseVehicle" : % clKiller . mobileBaseRK + + ; % clVictim . mobileBaseRD + + ;
case "ScoutFlyer" : % clKiller . scoutFlyerRK + + ; % clVictim . scoutFlyerRD + + ;
case "BomberFlyer" : % clKiller . bomberFlyerRK + + ; % clVictim . bomberFlyerRD + + ;
case "HAPCFlyer" : % clKiller . hapcFlyerRK + + ; % clVictim . hapcFlyerRD + + ;
}
}
else {
if ( isObject ( % implement ) )
% veh = % implement . getDataBlock ( ) . getName ( ) ;
switch $ ( % veh ) {
case "ScoutVehicle" : % clVictim . wildEK + + ;
case "AssaultVehicle" : % clVictim . assaultEK + + ;
case "MobileBaseVehicle" : % clVictim . mobileBaseEK + + ;
case "ScoutFlyer" : % clVictim . scoutFlyerEK + + ;
case "BomberFlyer" : % clVictim . bomberFlyerEK + + ;
case "HAPCFlyer" : % clVictim . hapcFlyerEK + + ;
}
}
2019-04-01 20:02:48 +00:00
% clKiller . impactKills + + ;
% clVictim . impactDeaths + + ;
case $ DamageType : : Ground :
2020-02-28 21:37:29 +00:00
if ( % clKiller ) { % clVictim . lastHitBy = 0 ; % clKiller . groundKills + + ; }
2019-04-01 20:02:48 +00:00
% clVictim . groundDeaths + + ;
case $ DamageType : : Turret :
% clKiller . turretKills + + ;
% clVictim . turretDeaths + + ;
case $ DamageType : : PlasmaTurret :
% clKiller . plasmaTurretKills + + ;
% clVictim . plasmaTurretDeaths + + ;
case $ DamageType : : AATurret :
% clKiller . aaTurretKills + + ;
% clVictim . aaTurretDeaths + + ;
case $ DamageType : : ElfTurret :
% clKiller . elfTurretKills + + ;
% clVictim . elfTurretDeaths + + ;
case $ DamageType : : MortarTurret :
% clKiller . mortarTurretKills + + ;
% clVictim . mortarTurretDeaths + + ;
case $ DamageType : : MissileTurret :
% clKiller . missileTurretKills + + ;
% clVictim . missileTurretDeaths + + ;
case $ DamageType : : IndoorDepTurret :
% clKiller . indoorDepTurretKills + + ;
% clVictim . indoorDepTurretDeaths + + ;
case $ DamageType : : OutdoorDepTurret :
% clKiller . outdoorDepTurretKills + + ;
% clVictim . outdoorDepTurretDeaths + + ;
case $ DamageType : : SentryTurret :
% clKiller . sentryTurretKills + + ;
% clVictim . sentryTurretDeaths + + ;
case $ DamageType : : OutOfBounds :
2020-02-28 21:37:29 +00:00
if ( % clKiller ) { % clVictim . lastHitBy = 0 ; % clKiller . outOfBoundKills + + ; }
2019-04-01 20:02:48 +00:00
% clVictim . outOfBoundDeaths + + ;
case $ DamageType : : Lava :
2020-02-28 21:37:29 +00:00
if ( % clKiller ) { % clVictim . lastHitBy = 0 ; % clKiller . lavaKills + + ; }
2019-04-01 20:02:48 +00:00
% clVictim . lavaDeaths + + ;
case $ DamageType : : ShrikeBlaster :
% clKiller . shrikeBlasterKills + + ;
% clVictim . shrikeBlasterDeaths + + ;
case $ DamageType : : BellyTurret :
% clKiller . bellyTurretKills + + ;
% clVictim . bellyTurretDeaths + + ;
case $ DamageType : : BomberBombs :
% clKiller . bomberBombsKills + + ;
% clVictim . bomberBombsDeaths + + ;
case $ DamageType : : TankChaingun :
% clKiller . tankChaingunKills + + ;
% clVictim . tankChaingunDeaths + + ;
case $ DamageType : : TankMortar :
% clKiller . tankMortarKills + + ;
% clVictim . tankMortarDeaths + + ;
case $ DamageType : : SatchelCharge :
% clKiller . satchelChargeKills + + ;
% clVictim . satchelChargeDeaths + + ;
case $ DamageType : : Lightning :
2020-02-28 21:37:29 +00:00
if ( % clKiller ) { % clVictim . lastHitBy = 0 ; % clKiller . lightningKills + + ; }
2019-04-01 20:02:48 +00:00
% clVictim . lightningDeaths + + ;
case $ DamageType : : VehicleSpawn :
2020-02-28 21:37:29 +00:00
if ( % clKiller ) { % clVictim . lastHitBy = 0 ; % clKiller . vehicleSpawnKills + + ; }
2019-04-01 20:02:48 +00:00
% clVictim . vehicleSpawnDeaths + + ;
case $ DamageType : : ForceFieldPowerup :
2020-02-28 21:37:29 +00:00
if ( % clKiller ) { % clVictim . lastHitBy = 0 ; % clKiller . forceFieldPowerUpKills + + ; }
2019-04-01 20:02:48 +00:00
% clVictim . forceFieldPowerUpDeaths + + ;
case $ DamageType : : Crash :
2019-11-20 19:43:50 +00:00
% veh = % clVictim . vehDBName ;
switch $ ( % veh ) {
case "ScoutVehicle" : % clVictim . wildCrash + + ;
case "AssaultVehicle" : % clVictim . assaultCrash + + ;
case "MobileBaseVehicle" : % clVictim . mobileBaseCrash + + ;
case "ScoutFlyer" : % clVictim . scoutFlyerCrash + + ;
case "BomberFlyer" : % clVictim . bomberFlyerCrash + + ;
case "HAPCFlyer" : % clVictim . hapcFlyerCrash + + ;
}
2019-04-01 20:02:48 +00:00
% clKiller . crashKills + + ;
% clVictim . crashDeaths + + ;
case $ DamageType : : Water :
% clKiller . waterKills + + ;
% clVictim . waterDeaths + + ;
case $ DamageType : : NexusCamping :
2020-02-28 21:37:29 +00:00
if ( % clKiller ) { % clVictim . lastHitBy = 0 ; % clKiller . nexusCampingKills + + ; }
2019-04-01 20:02:48 +00:00
% clVictim . nexusCampingDeaths + + ;
2019-11-20 19:43:50 +00:00
}
2019-04-01 20:02:48 +00:00
}
}
2019-11-20 19:43:50 +00:00
function mdReset ( % client ) {
% client . md = 0 ;
2019-04-01 20:02:48 +00:00
}
2020-02-28 21:37:29 +00:00
function evReset ( % client ) {
% client . EVDamageType = 0 ;
}
function hitByReset ( % client ) {
% client . lastHitBy = 0 ;
}
2019-11-20 19:43:50 +00:00
function rayTest ( % targetObject , % dis ) {
2020-02-28 21:37:29 +00:00
% client = % targetObject . client ;
2019-11-20 19:43:50 +00:00
% mask = $ TypeMasks : : StaticShapeObjectType | $ TypeMasks : : InteriorObjectType | $ TypeMasks : : TerrainObjectType ;
% rayStart = % targetObject . getWorldBoxCenter ( ) ;
% rayEnd = VectorAdd ( % rayStart , "0 0" SPC ( % dis * - 1 ) ) ;
% ground = ! ContainerRayCast ( % rayStart , % rayEnd , % mask , % targetObject ) ;
return % ground ;
}
2020-02-28 21:37:29 +00:00
function clientDmgStats ( % data , % position , % sourceObject , % targetObject , % damageType , % amount ) {
if ( % damageType = = $ DamageType : : Explosion | | % damageType = = $ DamageType : : Ground | |
% damageType = = $ DamageType : : OutOfBounds | | % damageType = = $ DamageType : : Lava | |
% damageType = = $ DamageType : : VehicleSpawn | | % damageType = = $ DamageType : : ForceFieldPowerup | |
% damageType = = $ DamageType : : Lightning | | % damageType = = $ DamageType : : NexusCamping ) {
if ( ! % targetObject . client . EVDamageType ) {
schedule ( 5000 , 0 , "evReset" , % targetObject . client ) ;
}
% targetObject . client . EVDamageType = % damageType ;
% targetObject . client . EVDamageCount + + ;
return ;
}
2019-11-20 19:43:50 +00:00
% t = % s = 0 ;
if ( isObject ( % sourceObject ) ) {
if ( % sourceObject . getClassName ( ) ! $ = "Player" ) {
2020-01-05 18:55:26 +00:00
% client = % sourceObject . getControllingClient ( ) ;
2019-11-20 19:43:50 +00:00
% s = 1 ;
2019-04-01 20:02:48 +00:00
}
else {
2019-11-20 19:43:50 +00:00
% client = % sourceObject . client ;
% s = 1 ;
}
}
else {
return ;
}
if ( isObject ( % targetObject ) ) {
if ( % targetObject . getClassName ( ) ! $ = "Player" ) {
% targetClient = % targetObject . getControllingClient ( ) ;
% t = 1 ;
}
else {
% targetClient = % targetObject . client ;
% t = 1 ;
}
}
if ( % damageType > 0 & & % sourceObject ! = % targetObject ) {
if ( % t & & % s ) {
if ( % targetClient ! = % client & & % targetClient . team ! = % client . team ) {
2020-02-28 21:37:29 +00:00
% targetClient . lastHitBy = % client ;
schedule ( 3000 , 0 , "hitByReset" , % targetClient ) ;
2019-11-20 19:43:50 +00:00
if ( ! % targetObject . hitBy [ % client ] ) {
% client . assist + + ;
% targetObject . hitBy [ % client ] = 1 ;
}
if ( ! % targetObject . combo [ % client , % damageType ] ) {
% targetObject . combo [ % client , % damageType ] = 1 ;
% client . player . combo [ % targetObject ] + + ;
}
}
if ( isObject ( % client . player ) ) {
2020-02-28 21:37:29 +00:00
% rvel = vectorLen ( vectorSub ( % targetObject . getVelocity ( ) , % client . player . getVelocity ( ) ) ) ;
% dis = vectorDist ( % targetObject . getPosition ( ) , % client . player . getPosition ( ) ) ;
if ( % client . maxRV < % rvel ) { % client . maxRV = % rvel ; }
2019-11-20 19:43:50 +00:00
}
}
2020-02-28 21:37:29 +00:00
% client . overallACC = ( % client . inDirectHits + + / ( % client . shotsFired ? % client . shotsFired : 1 ) ) * 100 ;
2019-04-01 20:02:48 +00:00
switch $ ( % damageType ) { // list of all damage types to track see damageTypes.cs
case $ DamageType : : Blaster :
% client . blasterDmg + = % amount ;
% client . blasterDirectHits + + ;
2020-02-28 21:37:29 +00:00
% client . blasterACC = ( % client . blasterDirectHits / ( % client . blasterShotsFired ? % client . blasterShotsFired : 1 ) ) * 100 ;
if ( % client . blasterHitMaxDist < % dis ) { % client . blasterHitMaxDist = % dis ; }
if ( % client . weaponHitMaxDist < % dis ) { % client . weaponHitMaxDist = % dis ; }
2019-11-20 19:43:50 +00:00
if ( % t ) {
% targetClient . blasterDmgTaken + = % amount ;
if ( % targetClient ! = % client & & rayTest ( % targetObject , 5 ) ) { % client . blasterMA + + ; }
}
2020-02-28 21:37:29 +00:00
2019-11-20 19:43:50 +00:00
case $ DamageType : : Plasma :
% client . plasmaInDmg + = % amount ;
% client . plasmaIndirectHits + + ;
2020-02-28 21:37:29 +00:00
% client . plasmaACC = ( % client . plasmaIndirectHits / ( % client . plasmaShotsFired ? % client . plasmaShotsFired : 1 ) ) * 100 ;
if ( % client . plasmaHitMaxDist < % dis ) { % client . plasmaHitMaxDist = % dis ; }
if ( % client . weaponHitMaxDist < % dis ) { % client . weaponHitMaxDist = % dis ; }
2019-11-20 19:43:50 +00:00
if ( % t ) {
% targetClient . plasmaInDmgTaken + = % amount ;
if ( % targetClient ! = % client & & rayTest ( % targetObject , PlasmaBolt . damageRadius + 1 ) ) { % client . plasmaMA + + ; }
}
2019-04-01 20:02:48 +00:00
case $ DamageType : : Bullet :
2019-11-20 19:43:50 +00:00
% client . cgDmg + = % amount ;
% client . cgDirectHits + + ;
2020-02-28 21:37:29 +00:00
% client . cgACC = ( % client . cgDirectHits / ( % client . cgShotsFired ? % client . cgShotsFired : 1 ) ) * 100 ;
if ( % client . cgHitMaxDist < % dis ) { % client . cgHitMaxDist = % dis ; }
if ( % client . weaponHitMaxDist < % dis ) { % client . weaponHitMaxDist = % dis ; }
2019-11-20 19:43:50 +00:00
if ( % t ) {
% targetClient . cgDmgTaken + = % amount ;
if ( % targetClient ! = % client & & rayTest ( % targetObject , 5 ) ) { % client . cgMA + + ; }
}
2019-04-01 20:02:48 +00:00
case $ DamageType : : Disc :
% client . discInDmg + = % amount ;
% client . discIndirectHits + + ;
2020-02-28 21:37:29 +00:00
% client . discACC = ( % client . discIndirectHits / ( % client . discShotsFired ? % client . discShotsFired : 1 ) ) * 100 ;
if ( % client . discHitMaxDist < % dis ) { % client . discHitMaxDist = % dis ; }
if ( % client . weaponHitMaxDist < % dis ) { % client . weaponHitMaxDist = % dis ; }
2019-11-20 19:43:50 +00:00
if ( % t ) {
% targetClient . discInDmgTaken + = % amount ;
if ( % targetClient . md = = 1 ) { % client . minePlusDisc + + ; }
% targetClient . md = 2 ;
2020-02-28 21:37:29 +00:00
schedule ( 300 , 0 , "mdReset" , % targetClient ) ; //mineDisc
2019-11-20 19:43:50 +00:00
if ( % targetClient ! = % client & & rayTest ( % targetObject , DiscProjectile . damageRadius + 1 ) ) { % client . discMA + + ; }
2019-04-01 20:02:48 +00:00
}
case $ DamageType : : Grenade :
2019-11-24 19:34:05 +00:00
if ( $ dtObjExplode . dtNade ) {
2019-11-20 19:43:50 +00:00
% client . hGrenadeInDmg + = % amount ;
% client . hGrenadeInHits + + ;
2020-02-28 21:37:29 +00:00
% client . hGrenadeACC = ( % client . hGrenadeInHits / ( % client . hGrenadeShotsFired ? % client . hGrenadeShotsFired : 1 ) ) * 100 ;
if ( % client . hGrenadeHitMaxDist < % dis ) { % client . hGrenadeHitMaxDist = % dis ; }
if ( % client . weaponHitMaxDist < % dis ) { % client . weaponHitMaxDist = % dis ; }
2019-11-20 19:43:50 +00:00
if ( % t ) {
% targetClient . hGrenadeInDmgTaken + = % amount ;
if ( % targetClient ! = % client & & rayTest ( % targetObject , GrenadeThrown . damageRadius + 1 ) ) { % client . hGrenadeMA + + ; }
}
}
else {
% client . grenadeInDmg + = % amount ;
% client . grenadeIndirectHits + + ;
2020-02-28 21:37:29 +00:00
% client . grenadeACC = ( % client . grenadeIndirectHits / ( % client . grenadeShotsFired ? % client . grenadeShotsFired : 1 ) ) * 100 ;
if ( % client . grenadeHitMaxDist < % dis ) { % client . grenadeHitMaxDist = % dis ; }
2019-11-20 19:43:50 +00:00
if ( % t ) {
% targetClient . grenadeInDmgTaken + = % amount ;
if ( % targetClient ! = % client & & rayTest ( % targetObject , BasicGrenade . damageRadius + 1 ) ) { % client . grenadeMA + + ; }
}
}
2019-04-01 20:02:48 +00:00
case $ DamageType : : Laser :
2020-02-28 21:37:29 +00:00
if ( % targetObject . getClassName ( ) $ = "Player" ) {
% damLoc = % targetObject . getDamageLocation ( % position ) ;
if ( getWord ( % damLoc , 0 ) $ = "head" ) { % client . laserHeadShot + + ; }
}
2019-11-20 19:43:50 +00:00
% client . laserDmg + = % amount ;
% client . laserDirectHits + + ;
2020-02-28 21:37:29 +00:00
% client . laserACC = ( % client . laserDirectHits / ( % client . laserShotsFired ? % client . laserShotsFired : 1 ) ) * 100 ;
if ( % client . laserHitMaxDist < % dis ) { % client . laserHitMaxDist = % dis ; }
if ( % client . weaponHitMaxDist < % dis ) { % client . weaponHitMaxDist = % dis ; }
2019-11-20 19:43:50 +00:00
if ( % t ) {
% targetClient . laserDmgTaken + = % amount ;
if ( % targetClient ! = % client & & rayTest ( % targetObject , 5 ) ) { % client . laserMA + + ; }
2020-02-28 21:37:29 +00:00
}
2019-04-01 20:02:48 +00:00
case $ DamageType : : Mortar :
% client . mortarInDmg + = % amount ;
% client . mortarIndirectHits + + ;
2020-02-28 21:37:29 +00:00
% client . mortarACC = ( % client . mortarIndirectHits / ( % client . mortarShotsFired ? % client . mortarShotsFired : 1 ) ) * 100 ;
if ( % client . mortarHitMaxDist < % dis ) { % client . mortarHitMaxDist = % dis ; }
if ( % client . weaponHitMaxDist < % dis ) { % client . weaponHitMaxDist = % dis ; }
2019-11-20 19:43:50 +00:00
if ( % t ) {
% targetClient . mortarInDmgTaken + = % amount ;
2020-03-05 06:51:16 +00:00
if ( % targetClient ! = % client & & rayTest ( % targetObject , MortarShot . damageRadius + 2 ) ) { % client . mortarMA + + ; }
2019-11-20 19:43:50 +00:00
}
2019-04-01 20:02:48 +00:00
case $ DamageType : : Missile :
% client . missileInDmg + = % amount ;
% client . missileIndirectHits + + ;
2020-02-28 21:37:29 +00:00
% client . missileACC = ( % client . missileIndirectHits / ( % client . missileShotsFired ? % client . missileShotsFired : 1 ) ) * 100 ;
if ( % client . missileHitMaxDist < % dis ) { % client . missileHitMaxDist = % dis ; }
if ( % client . weaponHitMaxDist < % dis ) { % client . weaponHitMaxDist = % dis ; }
2019-11-20 19:43:50 +00:00
if ( % t ) {
% targetClient . missileInDmgTaken + = % amount ;
if ( % targetClient ! = % client & & rayTest ( % targetObject , ShoulderMissile . damageRadius + 1 ) ) { % client . missileMA + + ; }
}
2019-04-01 20:02:48 +00:00
case $ DamageType : : ShockLance :
2020-02-28 21:37:29 +00:00
if ( % targetClient . rearshot ) { % client . shockRearShot + + ; }
2019-04-01 20:02:48 +00:00
% client . shockLanceInDmg + = % amount ;
% client . shockLanceIndirectHits + + ;
2020-02-28 21:37:29 +00:00
% client . shockACC = ( % client . shockLanceIndirectHits / ( % client . shockLanceShotsFired ? % client . shockLanceShotsFired : 1 ) ) * 100 ;
if ( % client . shockHitMaxDist < % dis ) { % client . shockHitMaxDist = % dis ; }
if ( % client . weaponHitMaxDist < % dis ) { % client . weaponHitMaxDist = % dis ; }
2019-11-20 19:43:50 +00:00
if ( % t ) {
% targetClient . shockLanceInDmgTaken + = % amount ;
2020-01-05 18:55:26 +00:00
if ( % targetClient ! = % client & & rayTest ( % targetObject , 5 ) ) { % client . shockMA + + ; }
2019-11-20 19:43:50 +00:00
}
case $ DamageType : : Mine :
% client . mineInDmg + = % amount ;
% client . mineIndirectHits + + ;
2020-02-28 21:37:29 +00:00
% client . mineACC = ( % client . mineIndirectHits / ( % client . mineShotsFired ? % client . mineShotsFired : 1 ) ) * 100 ;
if ( % client . mineHitMaxDist < % dis ) { % client . mineHitMaxDist = % dis ; }
2019-11-20 19:43:50 +00:00
if ( % t ) {
% targetClient . mineInDmgTaken + = % amount ;
if ( % targetClient . md = = 2 ) {
2020-02-28 21:37:29 +00:00
% client . minePlusDisc + + ; //discMine
2019-11-20 19:43:50 +00:00
}
% targetClient . md = 1 ;
2020-02-28 21:37:29 +00:00
schedule ( 300 , 0 , "mdReset" , % targetClient ) ;
2019-11-20 19:43:50 +00:00
if ( % targetClient ! = % client & & rayTest ( % targetObject , MineDeployed . damageRadius + 1 ) ) { % client . mineMA + + ; }
}
case $ DamageType : : SatchelCharge :
% client . SatchelInDmg + = % amount ;
% client . SatchelInHits + + ;
if ( % t )
% targetClient . SatchelInDmgTaken + = % amount ;
2020-03-15 19:34:27 +00:00
//case $DamageType::BomberBombs:
//%client.BomberBombsInDmg += %amount;
//%client.BomberBombsInHits++;
//if(%t)
//%targetClient.BomberBombsInDmgTaken += %amount;
//case $DamageType::TankMortar:
//%client.TankMortarInDmg += %amount;
//%client.TankMortarInHits++;
//if(%t)
//%targetClient.TankMortarInDmgTaken += %amount;
//case $DamageType::MPBMissile:
//%client.MPBMissileInDmg += %amount;
//%client.MPBMissileInHits++;
//if(%t)
//%targetClient.MPBMissileInDmgTaken += %amount;
//case $DamageType::ShrikeBlaster:
//%client.ShrikeBlasterDmg += %amount;
//%client.ShrikeBlasterDirectHits++;
//if(%t)
//%targetClient.ShrikeBlasterDmgTaken += %amount;
//case $DamageType::BellyTurret:
//%client.BellyTurretDmg += %amount;
//%client.BellyTurretDirectHits++;
//if(%t)
//%targetClient.BellyTurretDmgTaken += %amount;
//case $DamageType::TankChaingun:
//%client.TankChaingunDmg += %amount;
//%client.TankChaingunDirectHits++;
//if(%t)
//%targetClient.TankChaingunDmgTaken += %amount;
2019-04-01 20:02:48 +00:00
}
}
2020-02-28 21:37:29 +00:00
2019-04-01 20:02:48 +00:00
}
2020-02-28 21:37:29 +00:00
function clientShotsFired ( % data , % sourceObject , % projectile ) { // could do a fov check to see if we are trying to aim at a player
2019-11-20 19:43:50 +00:00
if ( isObject ( % projectile ) & & % projectile . sourceObject . getClassName ( ) ! $ = "Player" ) {
% client = % projectile . sourceObject . getControllingClient ( ) ;
2019-04-01 20:02:48 +00:00
}
else {
2019-11-20 19:43:50 +00:00
% client = % sourceObject . client ;
2019-04-01 20:02:48 +00:00
}
2020-02-28 21:37:29 +00:00
if ( ! isObject ( % client ) ) { return ; }
2019-11-20 19:43:50 +00:00
if ( % data . directDamageType ! $ = "" ) { % damageType = % data . directDamageType ; }
else { % damageType = % data . radiusDamageType ; }
% client . shotsFired + + ;
2020-02-28 21:37:29 +00:00
% client . overallACC = ( % client . inDirectHits / ( % client . shotsFired ? % client . shotsFired : 1 ) ) * 100 ;
2019-04-01 20:02:48 +00:00
switch $ ( % damageType ) { // list of all damage types to track see damageTypes.cs
case $ DamageType : : Bullet :
% client . cgShotsFired + + ;
2020-02-28 21:37:29 +00:00
% client . cgACC = ( % client . cgDirectHits / ( % client . cgShotsFired ? % client . cgShotsFired : 1 ) ) * 100 ;
2019-04-01 20:02:48 +00:00
case $ DamageType : : Disc :
% client . discShotsFired + + ;
2020-02-28 21:37:29 +00:00
% client . discACC = ( % client . discIndirectHits / ( % client . discShotsFired ? % client . discShotsFired : 1 ) ) * 100 ;
2019-04-01 20:02:48 +00:00
case $ DamageType : : Grenade :
% client . grenadeShotsFired + + ;
2020-02-28 21:37:29 +00:00
% client . grenadeACC = ( % client . grenadeIndirectHits / ( % client . grenadeShotsFired ? % client . grenadeShotsFired : 1 ) ) * 100 ;
2019-04-01 20:02:48 +00:00
case $ DamageType : : Laser :
% client . laserShotsFired + + ;
2020-02-28 21:37:29 +00:00
% client . laserACC = ( % client . laserDirectHits / ( % client . laserShotsFired ? % client . laserShotsFired : 1 ) ) * 100 ;
2019-04-01 20:02:48 +00:00
case $ DamageType : : Mortar :
% client . mortarShotsFired + + ;
2020-02-28 21:37:29 +00:00
% client . mortarACC = ( % client . mortarIndirectHits / ( % client . mortarShotsFired ? % client . mortarShotsFired : 1 ) ) * 100 ;
2019-04-01 20:02:48 +00:00
case $ DamageType : : Missile :
% client . missileShotsFired + + ;
2020-02-28 21:37:29 +00:00
% client . missileACC = ( % client . missileIndirectHits / ( % client . missileShotsFired ? % client . missileShotsFired : 1 ) ) * 100 ;
2019-04-01 20:02:48 +00:00
case $ DamageType : : ShockLance :
% client . shockLanceShotsFired + + ;
2020-02-28 21:37:29 +00:00
% client . shockACC = ( % client . shockLanceIndirectHits / ( % client . shockLanceShotsFired ? % client . shockLanceShotsFired : 1 ) ) * 100 ;
2019-04-01 20:02:48 +00:00
case $ DamageType : : Plasma :
% client . plasmaShotsFired + + ;
2020-02-28 21:37:29 +00:00
% client . plasmaACC = ( % client . plasmaIndirectHits / ( % client . plasmaShotsFired ? % client . plasmaShotsFired : 1 ) ) * 100 ;
2019-04-01 20:02:48 +00:00
case $ DamageType : : Blaster :
% client . blasterShotsFired + + ;
2020-02-28 21:37:29 +00:00
% client . blasterACC = ( % client . blasterDirectHits / ( % client . blasterShotsFired ? % client . blasterShotsFired : 1 ) ) * 100 ;
2019-04-01 20:02:48 +00:00
case $ DamageType : : ELF :
% client . elfShotsFired + + ;
2020-03-15 19:34:27 +00:00
//case $DamageType::ShrikeBlaster:
//%client.ShrikeBlasterFired++;
//case $DamageType::BellyTurret:
//%client.BellyTurretFired++;
//case $DamageType::BomberBombs:
//%client.BomberBombsFired++;
//case $DamageType::TankChaingun:
//%client.TankChaingunFired++;
//case $DamageType::TankMortar:
//%client.TankMortarFired++;
//case $DamageType::MPBMissile:
//%client.MPBMissileFired++;
2019-04-01 20:02:48 +00:00
}
}
////////////////////////////////////////////////////////////////////////////////
// Menu Stuff //
////////////////////////////////////////////////////////////////////////////////
2019-11-20 19:43:50 +00:00
function getGameData ( % client , % value , % game , % inc ) {
if ( % inc ! = - 1 & & % inc ! $ = "" ) {
2020-02-28 21:37:29 +00:00
% total = getField ( % client . dtStats . gameStats [ % value , "g" , % game ] , % inc ) ;
2019-11-20 19:43:50 +00:00
if ( % total ! $ = "" ) {
return mFloatLength ( % total , 2 ) + 0 ;
}
else {
return 0 ;
}
}
2019-04-01 20:02:48 +00:00
% c = 0 ;
2020-02-28 21:37:29 +00:00
if ( % client . dtStats . gameStats [ "totalGames" , "g" , % game ] ! = 0 ) {
for ( % i = 0 ; % i < $ dtStats : : MaxNumOfGames ; % i + + ) {
% num = getField ( % client . dtStats . gameStats [ % value , "g" , % game ] , % i ) ;
if ( % num > 0 | | % num < 0 ) {
% val + = % num ;
2019-04-01 20:02:48 +00:00
% c + + ;
}
}
2020-02-28 21:37:29 +00:00
if ( % c > 0 )
2019-11-20 19:43:50 +00:00
return mCeil ( % val / % c ) ;
2019-04-01 20:02:48 +00:00
else
return 0 ;
}
else {
return 0 ;
}
}
2019-04-11 19:30:35 +00:00
function getGameRunWinLossAvg ( % client , % game ) {
2020-02-28 21:37:29 +00:00
% winCount = getField ( % vClient . dtStats . gameStats [ "winCount" , "t" , % game ] , 9 ) ;
% lossCount = getField ( % vClient . dtStats . gameStats [ "lossCount" , "t" , % game ] , 9 ) ;
% total = % winCount + % lossCount ;
2019-04-11 19:30:35 +00:00
return ( % winCount / % total ) * 100 SPC ( % lossCount / % total ) * 100 ;
}
2020-02-28 21:37:29 +00:00
2019-04-01 20:02:48 +00:00
function getGameTotalAvg ( % vClient , % value , % game ) {
2020-02-28 21:37:29 +00:00
if ( getField ( % vClient . dtStats . gameStats [ % value , "t" , % game ] , 9 ) ! $ = "" & & getField ( % vClient . dtStats . gameStats [ "gameCount" , "t" , % game ] , 9 ) > 0 )
% totalAvg = getField ( % vClient . dtStats . gameStats [ % value , "t" , % game ] , 9 ) / getField ( % vClient . dtStats . gameStats [ "gameCount" , "t" , % game ] , 9 ) ;
2019-04-01 20:02:48 +00:00
else
% totalAvg = 0 ;
2019-11-20 19:43:50 +00:00
return mCeil ( % totalAvg ) ;
}
function numReduce ( % num , % des ) {
if ( % num ! $ = "" ) {
if ( % num > 1000 ) {
2020-02-28 21:37:29 +00:00
% num = % num / 1000 ;
% affix = "K" ;
2019-11-20 19:43:50 +00:00
if ( % num > 1000 ) {
2020-02-28 21:37:29 +00:00
% num = % num / 1000 ;
% affix = "M" ;
2019-11-20 19:43:50 +00:00
if ( % num > 1000 ) {
2020-02-28 21:37:29 +00:00
% num = % num / 1000 ;
% affix = "G" ;
2019-11-20 19:43:50 +00:00
}
}
}
2020-02-28 21:37:29 +00:00
return mFloatLength ( % num , % des ) + 0 @ % affix ;
2019-11-20 19:43:50 +00:00
}
return 0 ;
2019-04-01 20:02:48 +00:00
}
function getGameTotal ( % vClient , % value , % game ) {
2020-02-28 21:37:29 +00:00
% total = getField ( % vClient . dtStats . gameStats [ % value , "t" , % game ] , 9 ) ;
2019-04-01 20:02:48 +00:00
if ( % total ! $ = "" ) {
2020-02-28 21:37:29 +00:00
return numReduce ( % total , 1 ) ;
2019-04-01 20:02:48 +00:00
}
else {
return 0 ;
}
}
2020-02-28 21:37:29 +00:00
2019-11-20 19:43:50 +00:00
function kdr ( % x , % y )
{
if ( % x = = 0 )
2019-11-24 19:34:05 +00:00
return 0 ;
2019-11-20 19:43:50 +00:00
else if ( % y = = 0 )
return 100 ;
if ( % x > = % y )
return 100 - mFloatLength ( ( % y / % x ) * 100 , 1 ) + 0 ;
else
return mFloatLength ( ( % x / % y ) * 100 , 1 ) - 100 + 0 ;
2019-04-01 20:02:48 +00:00
}
function menuReset ( % client ) {
% client . viewMenu = 0 ;
% client . viewClient = 0 ;
% client . viewStats = 0 ;
2020-02-28 21:37:29 +00:00
% client . lastPage = 0 ;
2019-04-01 20:02:48 +00:00
}
function statsMenu ( % client , % game ) {
2019-11-20 19:43:50 +00:00
//if($dtStats::debugEchos){error("statsMenu GUID = " SPC %client.guid);}
2019-04-01 20:02:48 +00:00
% menu = % client . viewMenu ;
2019-11-20 19:43:50 +00:00
if ( % client . GlArg4 $ = "pin" ) {
cancel ( % client . rtmt ) ;
}
else {
cancel ( % client . rtmt ) ;
% client . rtmt = schedule ( $ dtStats : : returnToMenuTimer , 0 , "menuReset" , % client ) ;
}
2019-04-01 20:02:48 +00:00
% vClient = % client . viewClient ;
% tag = ' scoreScreen ' ;
2020-02-28 21:37:29 +00:00
% index = - 1 ;
2019-04-01 20:02:48 +00:00
% isTargetSelf = ( % client = = % vClient ) ;
% isAdmin = ( % client . isAdmin | | % client . isSuperAdmin ) ;
messageClient ( % client , ' ClearHud ' , "" , ' scoreScreen ' , 0 ) ;
2020-02-28 21:37:29 +00:00
2019-11-20 19:43:50 +00:00
if ( ! isObject ( % vClient ) ) { // fail safe
% menu = "Reset" ;
}
switch $ ( % menu ) {
2019-04-01 20:02:48 +00:00
case "View" :
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getTaggedString ( % vClient . name ) @ "'s Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tReset \ t % 1 > Back < / a > ' , % vClient ) ;
2019-04-01 20:02:48 +00:00
//messageClient( %client, 'SetLineHud', "", %tag, %index++, "<just:center> Main Options Menu");
switch $ ( % game ) {
case "CTFGame" :
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Live )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLIVE \ t % 1 > + CTF Live Stats < / a > ' , % vClient ) ;
2019-11-24 19:34:05 +00:00
if ( $ dtStats : : Match )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tCTFGame \ t % 1 \ t - 1 > + CTF Match Stats < / a > ' , % vClient ) ;
2019-04-01 20:02:48 +00:00
if ( % isTargetSelf | | % isAdmin ) {
2019-11-24 19:34:05 +00:00
if ( $ dtStats : : Weapon )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > + CTF Weapon Stats < / a > ' , % vClient ) ;
2020-03-15 19:34:27 +00:00
//if($dtStats::Vehicle)
// messageClient( %client, 'SetLineHud', "", %tag, %index++, '<a:gamelink\tStats\tVehicles\t%1> + CTF Vehicle Stats</a>',%vClient);
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Armor )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tARMOR \ t % 1 > + CTF Armor Stats < / a > ' , % vClient ) ;
if ( $ dtStats : : KD )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tKDA \ t % 1 > + CTF Kills / Deaths < / a > ' , % vClient ) ;
2019-04-01 20:02:48 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Hist )
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t1 > + Previous CTF Games < / a > ' , % vClient ) ;
if ( $ dtStats : : day > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tday - % 2 \ t0 > + CTF Daily Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : week > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tweek - % 2 \ t0 > + CTF Weekly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : month > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tmonth - % 2 \ t0 > + CTF Monthly Leaderboards * Beta ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : quarter > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tquarter - % 2 \ t0 > + CTF Quarterly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : year > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tyear - % 2 \ t0 > + CTF Yearly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2019-04-01 20:02:48 +00:00
}
case "LakRabbitGame" :
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Live )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLIVE \ t % 1 > + Lak Live Stats < / a > ' , % vClient ) ;
2019-11-24 19:34:05 +00:00
if ( $ dtStats : : Match )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLakRabbitGame \ t % 1 \ t - 1 > + Lak Match Stats < / a > ' , % vClient ) ;
2019-04-01 20:02:48 +00:00
if ( % isTargetSelf | | % isAdmin ) {
2019-11-24 19:34:05 +00:00
if ( $ dtStats : : Weapon )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 > + Lak Weapon Stats < / a > ' , % vClient ) ;
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Armor )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tARMOR \ t % 1 > + Arena Armor Stats < / a > ' , % vClient ) ;
2019-04-01 20:02:48 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Hist )
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t1 > + Previous Lak Games < / a > ' , % vClient ) ;
if ( $ dtStats : : day > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tday - % 2 \ t0 > + LakRabbit Daily Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : week > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tweek - % 2 \ t0 > + LakRabbit Weekly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : month > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tmonth - % 2 \ t0 > + LakRabbit Monthly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : quarter > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tquarter - % 2 \ t0 > + LakRabbit Quarterly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : year > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tyear - % 2 \ t0 > + LakRabbit Yearly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2019-04-01 20:02:48 +00:00
}
case "DMGame" :
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Live )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLIVE \ t % 1 > + Deathmatch Live Stats < / a > ' , % vClient ) ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tDMGame \ t % 1 \ t - 1 > + Deathmatch Stats < / a > ' , % vClient ) ;
2019-04-01 20:02:48 +00:00
if ( % isTargetSelf | | % isAdmin ) {
2019-11-24 19:34:05 +00:00
if ( $ dtStats : : Weapon )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > + Deathmatch Weapon Stats < / a > ' , % vClient ) ;
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Armor )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tARMOR \ t % 1 > + Deathmatch Armor Stats < / a > ' , % vClient ) ;
2019-04-01 20:02:48 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Hist )
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t1 > + Previous Deathmatch Games < / a > ' , % vClient ) ;
if ( $ dtStats : : day > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tday - % 2 \ t0 > + Deathmatch Daily Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : week > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tweek - % 2 \ t0 > + Deathmatch Weekly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : month > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tmonth - % 2 \ t0 > + Deathmatch Monthly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : quarter > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tquarter - % 2 \ t0 > + Deathmatch Quarterly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : year > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tyear - % 2 \ t0 > + Deathmatch Yearly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2019-11-20 19:43:50 +00:00
}
case "DuelGame" :
if ( $ dtStats : : Live )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLIVE \ t % 1 > + Duel Mod Live Stats < / a > ' , % vClient ) ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tDuelGame \ t % 1 \ t - 1 > + Duel Mod Stats < / a > ' , % vClient ) ;
if ( % isTargetSelf | | % isAdmin ) {
2019-11-24 19:34:05 +00:00
if ( $ dtStats : : Weapon )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > + Duel Mod Weapon Stats < / a > ' , % vClient ) ;
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Armor )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tARMOR \ t % 1 > + Duel Mod Armor Stats < / a > ' , % vClient ) ;
2019-04-01 20:02:48 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Hist )
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t1 > + Previous Duel Mod Games < / a > ' , % vClient ) ;
if ( $ dtStats : : day > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tday - % 2 \ t0 > + Duel Mod Daily Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : week > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tweek - % 2 \ t0 > + Duel Mod Weekly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : month > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tmonth - % 2 \ t0 > + Duel Mod Monthly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : quarter > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tquarter - % 2 \ t0 > + Duel Mod Quarterly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : year > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tyear - % 2 \ t0 > + Duel Mod Yearly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2019-11-20 19:43:50 +00:00
}
2019-04-01 20:02:48 +00:00
case "SCtFGame" : // LCTF
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Live )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLIVE \ t % 1 > + LCTF Live Stats < / a > ' , % vClient ) ;
2019-11-24 19:34:05 +00:00
//messageClient( %client, 'SetLineHud', "", %tag, %index++, '<a:gamelink\tStats\tSCtFGame\t%1\t-1> + LCTF Match Stats</a>',%vClient);
2019-04-01 20:02:48 +00:00
if ( % isTargetSelf | | % isAdmin ) {
2019-11-24 19:34:05 +00:00
if ( $ dtStats : : Weapon )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > + LCTF Weapon Stats < / a > ' , % vClient ) ;
2020-03-15 19:34:27 +00:00
//if($dtStats::Vehicle)
// messageClient( %client, 'SetLineHud', "", %tag, %index++, '<a:gamelink\tStats\tVehicles\t%1> + CTF Vehicle Stats</a>',%vClient);
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : KD )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tKDA \ t % 1 > + LCTF Kills / Deaths < / a > ' , % vClient ) ;
2019-04-01 20:02:48 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Hist )
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t1 > + Previous LCTF Games < / a > ' , % vClient ) ;
if ( $ dtStats : : day > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tday - % 2 \ t0 > + LCTF Daily Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : week > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tweek - % 2 \ t0 > + LCTF Weekly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : month > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tmonth - % 2 \ t0 > + LCTF Monthly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : quarter > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tquarter - % 2 \ t0 > + LCTF Quarterly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : year > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tyear - % 2 \ t0 > + LCTF Yearly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2019-04-01 20:02:48 +00:00
}
2019-11-20 19:43:50 +00:00
case "ArenaGame" :
if ( $ dtStats : : Live )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLIVE \ t % 1 > + Arena Live Stats < / a > ' , % vClient ) ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tArenaGame \ t % 1 \ t - 1 > + Arena Stats < / a > ' , % vClient ) ;
if ( % isTargetSelf | | % isAdmin ) {
2019-11-24 19:34:05 +00:00
if ( $ dtStats : : Weapon )
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > + Arena Weapon Stats < / a > ' , % vClient ) ;
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Armor )
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tARMOR \ t % 1 > + Arena Armor Stats < / a > ' , % vClient ) ;
2019-04-01 20:02:48 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
2019-11-20 19:43:50 +00:00
if ( $ dtStats : : Hist )
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t1 > + Previous Arena Games < / a > ' , % vClient ) ;
if ( $ dtStats : : day > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tday - % 2 \ t0 > + Arena Daily Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : week > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tweek - % 2 \ t0 > + Arena Weekly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : month > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tmonth - % 2 \ t0 > + Arena Monthly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : quarter > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tquarter - % 2 \ t0 > + Arena Quarterly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2020-02-28 21:37:29 +00:00
if ( $ dtStats : : year > 1 )
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ tyear - % 2 \ t0 > + Arena Yearly Leaderboards * Beta < / a > ' , % vClient , % game ) ;
2019-04-01 20:02:48 +00:00
}
}
2020-02-28 21:37:29 +00:00
% m = 13 - % index ;
2019-11-20 19:43:50 +00:00
for ( % v = 0 ; % v < % m ; % v + + ) { messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ; }
2020-02-28 21:37:29 +00:00
if ( % vClient . dtStats . gameStats [ "totalGames" , "g" , % game . class ] = = 0 )
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < just : center > Stats update at the end of every map . ' ) ;
//messageClient( %client, 'SetLineHud', "", %tag, %index++, "<just:center>Based on the last" SPC %3 SPC "games.");
//%line = '<just:center>Games Played = %3 Running Average = %1/%2 Overwrite Counter = %4';
2020-02-28 21:37:29 +00:00
if ( % vClient . dtStats . gameStats [ "totalGames" , "g" , % game . class ] > 1 ) {
2019-11-20 19:43:50 +00:00
% line = ' < just : center > Based on the last % 1 games played . ' ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient . dtStats . gameStats [ "totalGames" , "g" , % game . class ] ) ;
2019-11-20 19:43:50 +00:00
}
2020-02-28 21:37:29 +00:00
else {
2019-11-06 16:21:22 +00:00
% line = ' < just : center > Based on the last game played . ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line ) ;
}
case "LakRabbitGame" :
2019-04-01 20:02:48 +00:00
% inc = % client . GlArg4 ;
2019-11-20 19:43:50 +00:00
if ( % inc ! = - 1 ) { //History
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getField ( % vClient . dtStats . gameStats [ "map" , "g" , % game ] , % inc ) SPC getField ( % vClient . dtStats . gameStats [ "timeDayMonth" , "g" , % game ] , % inc ) ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t0 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
2019-11-20 19:43:50 +00:00
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getTaggedString ( % vClient . name ) @ "'s Match Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "score" , % game , % inc ) , getGameTotal ( % vClient , "score" , % game ) , getGameTotalAvg ( % vClient , "score" , % game ) , % vClient . score ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "kills" , % game , % inc ) , getGameTotal ( % vClient , "kills" , % game ) , getGameTotalAvg ( % vClient , "kills" , % game ) , % vClient . kills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "deaths" , % game , % inc ) , getGameTotal ( % vClient , "deaths" , % game ) , getGameTotalAvg ( % vClient , "deaths" , % game ) , % vClient . deaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Suicides < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Suicides < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "suicides" , % game , % inc ) , getGameTotal ( % vClient , "suicides" , % game ) , getGameTotalAvg ( % vClient , "suicides" , % game ) , % vClient . suicides ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mas" , % game , % inc ) , getGameTotal ( % vClient , "mas" , % game ) , getGameTotalAvg ( % vClient , "mas" , % game ) , % vClient . mas ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Flag Grabs < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Flag Grabs < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "flagGrabs" , % game , % inc ) , getGameTotal ( % vClient , "flagGrabs" , % game ) , getGameTotalAvg ( % vClient , "flagGrabs" , % game ) , % vClient . flagGrabs ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midair Flag Grabs < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midair Flag Grabs < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "MidairflagGrabs" , % inc , % game , % inc ) , getGameTotal ( % vClient , "MidairflagGrabs" , % game ) , getGameTotalAvg ( % vClient , "MidairflagGrabs" , % game ) , % vClient . MidairflagGrabs ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midair Flag Grab Points < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midair Flag Grab Points < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "MidairflagGrabPoints" , % inc , % game , % inc ) , getGameTotal ( % vClient , "MidairflagGrabPoints" , % game ) , getGameTotalAvg ( % vClient , "MidairflagGrabPoints" , % game ) , % vClient . MidairflagGrabPoints ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Flag Time Minutes < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Flag Time Minutes < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "flagTimeMin" , % game , % inc ) , getGameTotal ( % vClient , "flagTimeMin" , % game ) , getGameTotalAvg ( % vClient , "flagTimeMin" , % game ) , % vClient . flagTimeMin ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Bonus Points < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Bonus Points < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "morepoints" , % game , % inc ) , getGameTotal ( % vClient , "morepoints" , % game ) , getGameTotalAvg ( % vClient , "morepoints" , % game ) , % vClient . morepoints ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Mine + Disc < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Mine + Disc < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "minedisc" , % game , % inc ) , getGameTotal ( % vClient , "minePlusDisc" , % game ) , getGameTotalAvg ( % vClient , "minePlusDisc" , % game ) , % vClient . minePlusDisc ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Total Distance < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Total Distance < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "totalDistance" , % game , % inc ) , getGameTotal ( % vClient , "totalDistance" , % game ) , getGameTotalAvg ( % vClient , "totalDistance" , % game ) , % vClient . totalDistance ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Total Shock Hits < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Total Shock Hits < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "totalShockHits" , % game , % inc ) , getGameTotal ( % vClient , "totalShockHits" , % game ) , getGameTotalAvg ( % vClient , "totalShockHits" , % game ) , % vClient . totalShockHits ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Total Shocks < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Total Shocks < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "totalShocks" , % game , % inc ) , getGameTotal ( % vClient , "totalShocks" , % game ) , getGameTotalAvg ( % vClient , "totalShocks" , % game ) , % vClient . totalShocks ) ;
case "DMGame" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getField ( % vClient . dtStats . gameStats [ "map" , "g" , % game ] , % inc ) SPC getField ( % vClient . dtStats . gameStats [ "timeDayMonth" , "g" , % game ] , % inc ) ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t0 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
2019-11-20 19:43:50 +00:00
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getTaggedString ( % vClient . name ) @ "'s Match Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "kills" , % game , % inc ) , getGameTotal ( % vClient , "kills" , % game ) , getGameTotalAvg ( % vClient , "kills" , % game ) , % vClient . kills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "deaths" , % game , % inc ) , getGameTotal ( % vClient , "deaths" , % game ) , getGameTotalAvg ( % vClient , "deaths" , % game ) , % vClient . deaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Suicides < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Suicides < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "suicides" , % game , % inc ) , getGameTotal ( % vClient , "suicides" , % game ) , getGameTotalAvg ( % vClient , "suicides" , % game ) , % vClient . suicides ) ;
2019-04-01 20:02:48 +00:00
2019-11-20 19:43:50 +00:00
case "ArenaGame" :
2019-04-01 20:02:48 +00:00
% inc = % client . GlArg4 ;
2019-11-20 19:43:50 +00:00
if ( % inc ! = - 1 ) { //History
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getField ( % vClient . dtStats . gameStats [ "map" , "g" , % game ] , % inc ) SPC getField ( % vClient . dtStats . gameStats [ "timeDayMonth" , "g" , % game ] , % inc ) ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t0 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
2019-11-20 19:43:50 +00:00
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getTaggedString ( % vClient . name ) @ "'s Match Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "score" , % game , % inc ) , getGameTotal ( % vClient , "score" , % game ) , getGameTotalAvg ( % vClient , "score" , % game ) , % vClient . score ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "kills" , % game , % inc ) , getGameTotal ( % vClient , "kills" , % game ) , getGameTotalAvg ( % vClient , "kills" , % game ) , % vClient . kills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "deaths" , % game , % inc ) , getGameTotal ( % vClient , "deaths" , % game ) , getGameTotalAvg ( % vClient , "deaths" , % game ) , % vClient . deaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Suicides < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Suicides < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "suicides" , % game , % inc ) , getGameTotal ( % vClient , "suicides" , % game ) , getGameTotalAvg ( % vClient , "suicides" , % game ) , % vClient . suicides ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Team Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Team Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "teamKills" , % game , % inc ) , getGameTotal ( % vClient , "teamKills" , % game ) , getGameTotalAvg ( % vClient , "teamKills" , % game ) , % vClient . teamKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Snipe Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Snipe Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "snipeKills" , % game , % inc ) , getGameTotal ( % vClient , "snipeKills" , % game ) , getGameTotalAvg ( % vClient , "roundsWon" , % game ) , % vClient . roundsWon ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Rounds Won < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Rounds Won < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "roundsWon" , % game , % inc ) , getGameTotal ( % vClient , "roundsWon" , % game ) , getGameTotalAvg ( % vClient , "suicides" , % game ) , % vClient . suicides ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Rounds Lost < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Rounds Lost < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "roundsLost" , % game , % inc ) , getGameTotal ( % vClient , "roundsLost" , % game ) , getGameTotalAvg ( % vClient , "roundsLost" , % game ) , % vClient . roundsLost ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Assists < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Assists < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "assists" , % game , % inc ) , getGameTotal ( % vClient , "assists" , % game ) , getGameTotalAvg ( % vClient , "assists" , % game ) , % vClient . assists ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Round Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Round Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "roundKills" , % game , % inc ) , getGameTotal ( % vClient , "roundKills" , % game ) , getGameTotalAvg ( % vClient , "roundKills" , % game ) , % vClient . roundKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hat Tricks < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hat Tricks < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hatTricks" , % game , % inc ) , getGameTotal ( % vClient , "hatTricks" , % game ) , getGameTotalAvg ( % vClient , "hatTricks" , % game ) , % vClient . hatTricks ) ;
2019-04-11 19:30:35 +00:00
2019-11-20 19:43:50 +00:00
case "DuelGame" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getField ( % vClient . dtStats . gameStats [ "map" , "g" , % game ] , % inc ) SPC getField ( % vClient . dtStats . gameStats [ "timeDayMonth" , "g" , % game ] , % inc ) ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t0 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
2019-11-20 19:43:50 +00:00
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getTaggedString ( % vClient . name ) @ "'s Match Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Score < < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "score" , % game , % inc ) , getGameTotal ( % vClient , "score" , % game ) , getGameTotalAvg ( % vClient , "score" , % game ) , % vClient . score ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "kills" , % game , % inc ) , getGameTotal ( % vClient , "kills" , % game ) , getGameTotalAvg ( % vClient , "kills" , % game ) , % vClient . kills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "deaths" , % game , % inc ) , getGameTotal ( % vClient , "deaths" , % game ) , getGameTotalAvg ( % vClient , "deaths" , % game ) , % vClient . deaths ) ;
case "CTFGame" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getField ( % vClient . dtStats . gameStats [ "map" , "g" , % game ] , % inc ) SPC getField ( % vClient . dtStats . gameStats [ "timeDayMonth" , "g" , % game ] , % inc ) ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t0 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
2019-11-20 19:43:50 +00:00
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getTaggedString ( % vClient . name ) @ "'s Match Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Win % 6 < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Win % 6 < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2019-04-11 19:30:35 +00:00
% wlPCT = getGameRunWinLossAvg ( % client , % game ) ;
2019-11-20 19:43:50 +00:00
% runAvg = mFloor ( getWord ( % wlPCT , 0 ) ) @ "%" ;
2019-04-11 19:30:35 +00:00
% winTotal = getGameTotal ( % vClient , "winCount" , % game ) ;
% lossTotal = getGameTotal ( % vClient , "lossCount" , % game ) ;
2019-11-20 19:43:50 +00:00
% total = % winTotal SPC "W /" SPC % lossTotal SPC "L" ;
2019-04-11 19:30:35 +00:00
% totalWinLoss = % winTotal + % lossTotal ;
2019-11-20 19:43:50 +00:00
% totalAvg = mFloor ( ( % winTotal / % totalWinLoss ) * 100 ) @ "%" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % runAvg , % total , % totalAvg , % vClient . winCount , "%" ) ;
2019-04-11 19:30:35 +00:00
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "kills" , % game , % inc ) , getGameTotal ( % vClient , "kills" , % game ) , getGameTotalAvg ( % vClient , "kills" , % game ) , % vClient . kills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "deaths" , % game , % inc ) , getGameTotal ( % vClient , "deaths" , % game ) , getGameTotalAvg ( % vClient , "deaths" , % game ) , % vClient . deaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Mid - Air < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Mid - Air < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "scoreMidAir" , % game , % inc ) , getGameTotal ( % vClient , "scoreMidAir" , % game ) , getGameTotalAvg ( % vClient , "scoreMidAir" , % game ) , % vClient . scoreMidAir ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Mine + Disc < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Mine + Disc < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "minePlusDisc" , % game , % inc ) , getGameTotal ( % vClient , "minePlusDisc" , % game ) , getGameTotalAvg ( % vClient , "minePlusDisc" , % game ) , % vClient . minePlusDisc ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Flag Caps < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Flag Caps < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "flagCaps" , % game , % inc ) , getGameTotal ( % vClient , "flagCaps" , % game ) , getGameTotalAvg ( % vClient , "flagCaps" , % game ) , % vClient . flagCaps ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Flag Grabs < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Flag Grabs < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "flagGrabs" , % game , % inc ) , getGameTotal ( % vClient , "flagGrabs" , % game ) , getGameTotalAvg ( % vClient , "flagGrabs" , % game ) , % vClient . flagGrabs ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Carrier Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Carrier Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "carrierKills" , % game , % inc ) , getGameTotal ( % vClient , "carrierKills" , % game ) , getGameTotalAvg ( % vClient , "carrierKills" , % game ) , % vClient . carrierKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Flag Returns < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Flag Returns < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "flagReturns" , % game , % inc ) , getGameTotal ( % vClient , "flagReturns" , % game ) , getGameTotalAvg ( % vClient , "flagReturns" , % game ) , % vClient . flagReturns ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Flag Defends < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Flag Defends < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "flagDefends" , % game , % inc ) , getGameTotal ( % vClient , "flagDefends" , % game ) , getGameTotalAvg ( % vClient , "flagDefends" , % game ) , % vClient . flagDefends ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Offense Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Offense Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "offenseScore" , % game , % inc ) , getGameTotal ( % vClient , "offenseScore" , % game ) , getGameTotalAvg ( % vClient , "offenseScore" , % game ) , % vClient . offenseScore ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Defense Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Defense Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "defenseScore" , % game , % inc ) , getGameTotal ( % vClient , "defenseScore" , % game ) , getGameTotalAvg ( % vClient , "defenseScore" , % game ) , % vClient . defenseScore ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "score" , % game , % inc ) , getGameTotal ( % vClient , "score" , % game ) , getGameTotalAvg ( % vClient , "score" , % game ) , % vClient . score ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Backshots < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Backshots < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "scoreRearshot" , % game , % inc ) , getGameTotal ( % vClient , "scoreRearshot" , % game ) , getGameTotalAvg ( % vClient , "scoreRearshot" , % game ) , % vClient . scoreRearshot ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Headshots < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Headshots < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "scoreHeadshot" , % game , % inc ) , getGameTotal ( % vClient , "scoreHeadshot" , % game ) , getGameTotalAvg ( % vClient , "scoreHeadshot" , % game ) , % vClient . scoreHeadshot ) ;
case "SCtFGame" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getField ( % vClient . dtStats . gameStats [ "map" , "g" , % game ] , % inc ) SPC getField ( % vClient . dtStats . gameStats [ "timeDayMonth" , "g" , % game ] , % inc ) ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t0 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
2019-11-20 19:43:50 +00:00
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getTaggedString ( % vClient . name ) @ "'s Match Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
% line1 = ' < color : 0 befe7 > Win % 6 < color : 00d cd4 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Win % 6 < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2019-04-11 19:30:35 +00:00
2019-11-06 16:21:22 +00:00
% wlPCT = getGameRunWinLossAvg ( % client , % game ) ;
2019-11-20 19:43:50 +00:00
% runAvg = mFloor ( getWord ( % wlPCT , 0 ) ) @ "%" ;
2019-03-13 00:10:12 +00:00
2019-11-06 16:21:22 +00:00
% winTotal = getGameTotal ( % vClient , "winCount" , % game ) ;
% lossTotal = getGameTotal ( % vClient , "lossCount" , % game ) ;
2019-11-20 19:43:50 +00:00
% total = % winTotal SPC "W /" SPC % lossTotal SPC "L" ;
2019-03-13 00:10:12 +00:00
2019-11-06 16:21:22 +00:00
% totalWinLoss = % winTotal + % lossTotal ;
2019-11-20 19:43:50 +00:00
% totalAvg = mFloor ( ( % winTotal / % totalWinLoss ) * 100 ) @ "%" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % runAvg , % total , % totalAvg , % vClient . winCount , "%" ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "kills" , % game , % inc ) , getGameTotal ( % vClient , "kills" , % game ) , getGameTotalAvg ( % vClient , "kills" , % game ) , % vClient . kills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "deaths" , % game , % inc ) , getGameTotal ( % vClient , "deaths" , % game ) , getGameTotalAvg ( % vClient , "deaths" , % game ) , % vClient . deaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Mid - Air < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Mid - Air < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "scoreMidAir" , % game , % inc ) , getGameTotal ( % vClient , "scoreMidAir" , % game ) , getGameTotalAvg ( % vClient , "scoreMidAir" , % game ) , % vClient . scoreMidAir ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Mine + Disc < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Mine + Disc < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "minePlusDisc" , % game , % inc ) , getGameTotal ( % vClient , "minePlusDisc" , % game ) , getGameTotalAvg ( % vClient , "minePlusDisc" , % game ) , % vClient . minePlusDisc ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Flag Caps < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Flag Caps < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "flagCaps" , % game , % inc ) , getGameTotal ( % vClient , "flagCaps" , % game ) , getGameTotalAvg ( % vClient , "flagCaps" , % game ) , % vClient . flagCaps ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Flag Grabs < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Flag Grabs < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "flagGrabs" , % game , % inc ) , getGameTotal ( % vClient , "flagGrabs" , % game ) , getGameTotalAvg ( % vClient , "flagGrabs" , % game ) , % vClient . flagGrabs ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Carrier Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Carrier Kills < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "carrierKills" , % game , % inc ) , getGameTotal ( % vClient , "carrierKills" , % game ) , getGameTotalAvg ( % vClient , "carrierKills" , % game ) , % vClient . carrierKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Flag Returns < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Flag Returns < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "flagReturns" , % game , % inc ) , getGameTotal ( % vClient , "flagReturns" , % game ) , getGameTotalAvg ( % vClient , "flagReturns" , % game ) , % vClient . flagReturns ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Flag Defends < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Flag Defends < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "flagDefends" , % game , % inc ) , getGameTotal ( % vClient , "flagDefends" , % game ) , getGameTotalAvg ( % vClient , "flagDefends" , % game ) , % vClient . flagDefends ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Offense Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Offense Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "offenseScore" , % game , % inc ) , getGameTotal ( % vClient , "offenseScore" , % game ) , getGameTotalAvg ( % vClient , "offenseScore" , % game ) , % vClient . offenseScore ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Defense < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Defense < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "defenseScore" , % game , % inc ) , getGameTotal ( % vClient , "defenseScore" , % game ) , getGameTotalAvg ( % vClient , "defenseScore" , % game ) , % vClient . defenseScore ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Score < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "score" , % game , % inc ) , getGameTotal ( % vClient , "score" , % game ) , getGameTotalAvg ( % vClient , "score" , % game ) , % vClient . wildCrash ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Backshots < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Backshots < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "scoreRearshot" , % game , % inc ) , getGameTotal ( % vClient , "scoreRearshot" , % game ) , getGameTotalAvg ( % vClient , "scoreRearshot" , % game ) , % vClient . scoreRearshot ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Headshots < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Headshots < font : univers condensed : 18 > < color : 33 CCCC > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "scoreHeadshot" , % game , % inc ) , getGameTotal ( % vClient , "scoreHeadshot" , % game ) , getGameTotalAvg ( % vClient , "scoreHeadshot" , % game ) , % vClient . scoreHeadshot ) ;
2019-11-06 16:21:22 +00:00
case "HISTORY" : // Past Games
2020-02-28 21:37:29 +00:00
% page = % client . GlArg4 ;
if ( % page = = 0 ) { // back button was hit
% page = % client . lastPage ; // set it to the last one we were on
}
if ( % page $ = "" ) {
% page = 1 ;
}
% client . lastPage = % page ; // update with current page
% perPage = 12 ; // num of games listed per page
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getTaggedString ( % vClient . name ) @ "'s " @ $ MissionTypeDisplayName @ " History" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "<just:center>Game history is set to" SPC $ dtStats : : MaxNumOfGames SPC "games." ) ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "<just:center>The oldest game will be overwritten." ) ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
2020-02-28 21:37:29 +00:00
if ( % vClient . dtStats . gameStats [ "fullSet" , "g" , % game ] ) {
% x = ( $ dtStats : : MaxNumOfGames - 1 ) - % vClient . dtStats . gameStats [ "statsOverWrite" , "g" , % game ] ; //offset
for ( % i = ( $ dtStats : : MaxNumOfGames - 1 ) - ( ( % page - 1 ) * % perPage ) ; % i > ( $ dtStats : : MaxNumOfGames - 1 ) - ( % page * % perPage ) & & % i > = 0 ; % i - - ) {
% v = % i - % x ; //3 2 1 0
if ( % v < 0 ) { // invert
% v = $ dtStats : : MaxNumOfGames + % v ; //6 5 4
}
//echo(%v SPC ($dtStats::MaxNumOfGames-1)-((%page - 1) * %perPage));
if ( % i = = 0 ) {
% timeDate = getField ( % vClient . dtStats . gameStats [ "timeDayMonth" , "g" , % game ] , % v ) ;
% map = getField ( % vClient . dtStats . gameStats [ "map" , "g" , % game ] , % v ) ;
2020-02-29 20:45:58 +00:00
% line = ' < lmargin : 10 > < color : 0 befe7 > % 4 - % 2 < color : 02d 404 > - Overwritten < color : 0 befe7 > < lmargin : 350 > < a : gamelink \ tStats \ t % 5 \ t % 1 \ t % 3 > + Match < / a > < lmargin : 400 > < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 3 > + Weapon < / a > ' ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % timeDate , % v , % map , % game ) ;
2019-11-06 16:21:22 +00:00
}
else {
2020-02-28 21:37:29 +00:00
% timeDate = getField ( % vClient . dtStats . gameStats [ "timeDayMonth" , "g" , % game ] , % v ) ;
% map = getField ( % vClient . dtStats . gameStats [ "map" , "g" , % game ] , % v ) ;
2020-02-29 20:45:58 +00:00
% line = ' < lmargin : 10 > < color : 0 befe7 > % 4 - % 2 < lmargin : 350 > < a : gamelink \ tStats \ t % 5 \ t % 1 \ t % 3 > + Match < / a > < lmargin : 400 > < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 3 > + Weapon < / a > ' ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % timeDate , % v , % map , % game ) ;
2019-11-06 16:21:22 +00:00
}
2020-02-29 20:45:58 +00:00
}
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
if ( % page = = 1 ) {
% line = ' < color : 0 befe7 > < / a > < lmargin : 200 > < just : right > < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t % 2 > Next < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % page + 1 ) ;
}
else if ( % page * % perPage > $ dtStats : : MaxNumOfGames ) {
% line = ' < color : 0 befe7 > < / a > < lmargin : 200 > < just : right > < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t % 2 > Previous < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % page - 1 ) ;
}
else if ( % page > 1 ) {
% line = ' < color : 0 befe7 > < lmargin : 200 > < just : right > < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t % 2 > Previous < / a > | < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t % 3 > Next < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % page - 1 , % page + 1 ) ;
2019-11-06 16:21:22 +00:00
}
}
else {
2020-02-28 21:37:29 +00:00
if ( % vClient . dtStats . gameStats [ "statsOverWrite" , "g" , % game ] > 9 ) {
if ( % page = = 1 ) {
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > < / a > < lmargin : 300 > < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t % 2 > Next < / a > ' ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % page + 1 ) ;
}
else if ( % page * % perPage > % vClient . dtStats . gameStats [ "statsOverWrite" , "g" , % game ] ) {
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > < / a > < lmargin : 300 > < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t % 2 > Previous < / a > ' ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % page - 1 ) ;
}
else if ( % page > 1 ) {
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > < lmargin : 250 > < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t % 2 > Previous < / a > | < lmargin : 300 > < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t % 3 > Next < / a > ' ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % page - 1 , % page + 1 ) ;
}
% gc = % vClient . dtStats . gameStats [ "statsOverWrite" , "g" , % game ] ;
for ( % z = ( % page - 1 ) * % perPage ; % z < % page * % perPage & & % z < = % gc ; % z + + ) {
% v = % gc - % z ; //temp fix just inverts it becuase.... im lazy
% timeDate = getField ( % vClient . dtStats . gameStats [ "timeDayMonth" , "g" , % game ] , % v ) ;
% map = getField ( % vClient . dtStats . gameStats [ "map" , "g" , % game ] , % v ) ;
2020-02-29 20:45:58 +00:00
% line = ' < lmargin : 10 > < color : 0 befe7 > % 4 - % 2 < lmargin : 350 > < a : gamelink \ tStats \ t % 5 \ t % 1 \ t % 3 > + Match < / a > < lmargin : 400 > < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 3 > + Weapon < / a > ' ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % timeDate , % v , % map , % game ) ;
}
}
else {
for ( % z = % vClient . dtStats . gameStats [ "statsOverWrite" , "g" , % game ] ; % z > = 0 ; % z - - ) {
% timeDate = getField ( % vClient . dtStats . gameStats [ "timeDayMonth" , "g" , % game ] , % z ) ;
% map = getField ( % vClient . dtStats . gameStats [ "map" , "g" , % game ] , % z ) ;
2020-02-29 20:45:58 +00:00
% line = ' < lmargin : 10 > < color : 0 befe7 > % 4 - % 2 < lmargin : 350 > < a : gamelink \ tStats \ t % 5 \ t % 1 \ t % 3 > + Match < / a > < lmargin : 400 > < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 3 > + Weapon < / a > ' ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % timeDate , % z , % map , % game ) ;
}
2019-11-06 16:21:22 +00:00
}
}
case "KDA" :
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ getTaggedString ( % vClient . name ) @ "'s Kills/Deaths" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
2019-11-06 16:21:22 +00:00
% a1 = getGameTotal ( % vClient , "cgKills" , % game ) ; % b2 = getGameTotal ( % vClient , "cgDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "discKills" , % game ) ;
% d4 = getGameTotal ( % vClient , "discDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "grenadeKills" , % game ) ; % f6 = getGameTotal ( % vClient , "grenadeDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > Chaingun : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > Spinfusor : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > Grenade Launcher : < color : 33 CCCC > % 5 : % 6 < color : 0 befe7 > ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
% a1 = getGameTotal ( % vClient , "laserKills" , % game ) ; % b2 = getGameTotal ( % vClient , "laserDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "mortarKills" , % game ) ;
% d4 = getGameTotal ( % vClient , "mortarDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "shockLanceKills" , % game ) ; % f6 = getGameTotal ( % vClient , "shockLanceDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > Laser Rifle : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > Fusion Mortar : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > Shocklance : < color : 33 CCCC > % 5 : % 6 < color : 0 befe7 > ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
% a1 = getGameTotal ( % vClient , "plasmaKills" , % game ) ; % b2 = getGameTotal ( % vClient , "plasmaDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "blasterKills" , % game ) ;
% d4 = getGameTotal ( % vClient , "blasterDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "elfKills" , % game ) ; % f6 = getGameTotal ( % vClient , "elfDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > Plasma Rifle : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > Blaster : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > ELF Projector : < color : 33 CCCC > % 5 : % 6 < color : 0 befe7 > ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
2019-03-13 00:10:12 +00:00
2019-11-06 16:21:22 +00:00
//messageClient( %client, 'SetLineHud', "", %tag, %index++, " -----------------------------------------------------------------------------------------------------------------");
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
2019-11-06 16:21:22 +00:00
% a1 = getGameTotal ( % vClient , "mineKills" , % game ) ; % b2 = getGameTotal ( % vClient , "mineDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "explosionKills" , % game ) ;
% d4 = getGameTotal ( % vClient , "explosionDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "impactKills" , % game ) ; % f6 = getGameTotal ( % vClient , "impactDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > Mines : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > Explosion : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > Impact : < color : 33 CCCC > % 5 : % 6 < color : 0 befe7 > ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
2020-02-28 21:37:29 +00:00
% a1 = getGameTotal ( % vClient , "groundKills" , % game ) ; % b2 = getGameTotal ( % vClient , "groundDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "turretKills" , % game ) ;
2019-11-06 16:21:22 +00:00
% d4 = getGameTotal ( % vClient , "turretDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "plasmaTurretKills" , % game ) ; % f6 = getGameTotal ( % vClient , "plasmaTurretDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > Ground : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > Turret : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > Plasma Turret : < color : 33 CCCC > % 5 : % 6 < color : 0 befe7 > ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
2020-02-28 21:37:29 +00:00
% a1 = getGameTotal ( % vClient , "aaTurretKills" , % game ) ; % b2 = getGameTotal ( % vClient , "aaTurretDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "elfTurretKills" , % game ) ;
2019-11-06 16:21:22 +00:00
% d4 = getGameTotal ( % vClient , "elfTurretDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "mortarTurretKills" , % game ) ; % f6 = getGameTotal ( % vClient , "mortarTurretDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > AA Turret : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > ELF Turret : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > Mortar Turret : < color : 33 CCCC > % 5 : % 6 < color : 0 befe7 > ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
% a1 = getGameTotal ( % vClient , "missileTurretKills" , % game ) ; % b2 = getGameTotal ( % vClient , "missileTurretDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "indoorDepTurretKills" , % game ) ;
% d4 = getGameTotal ( % vClient , "indoorDepTurretDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "outdoorDepTurretKills" , % game ) ; % f6 = getGameTotal ( % vClient , "outdoorDepTurretDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > Missile Turret : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > Spider Camp Turret : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > Land Spike Turret : < color : 33 CCCC > % 5 : % 6 ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
2019-03-13 00:10:12 +00:00
2019-11-06 16:21:22 +00:00
% a1 = getGameTotal ( % vClient , "sentryTurretKills" , % game ) ; % b2 = getGameTotal ( % vClient , "sentryTurretDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "outOfBoundKills" , % game ) ;
% d4 = getGameTotal ( % vClient , "outOfBoundDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "lavaKills" , % game ) ; % f6 = getGameTotal ( % vClient , "lavaDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > Sentry Turret : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > Out Of Bounds : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > Lava : < color : 33 CCCC > % 5 : % 6 < color : 0 befe7 > ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
% a1 = getGameTotal ( % vClient , "shrikeBlasterKills" , % game ) ; % b2 = getGameTotal ( % vClient , "shrikeBlasterDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "bellyTurretKills" , % game ) ;
% d4 = getGameTotal ( % vClient , "bellyTurretDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "bomberBombsKills" , % game ) ; % f6 = getGameTotal ( % vClient , "bomberBombsDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > Shrike Blaster : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > Bomber Turret : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > Bomber Bombs : < color : 33 CCCC > % 5 : % 6 < color : 0 befe7 > ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
% a1 = getGameTotal ( % vClient , "tankChaingunKills" , % game ) ; % b2 = getGameTotal ( % vClient , "tankChaingunDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "tankMortarKills" , % game ) ;
2019-11-20 19:43:50 +00:00
% d4 = getGameTotal ( % vClient , "tankMortarDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "nexusCampingKills" , % game ) ; % f6 = getGameTotal ( % vClient , "nexusCampingDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > Tank Chaingun : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > Tank Mortar : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > Nexus Camping : < color : 33 CCCC > % 5 : % 6 < color : 0 befe7 > ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
2019-03-13 00:10:12 +00:00
2019-11-06 16:21:22 +00:00
% a1 = getGameTotal ( % vClient , "satchelChargeKills" , % game ) ; % b2 = getGameTotal ( % vClient , "satchelChargeDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "lightningKills" , % game ) ;
% d4 = getGameTotal ( % vClient , "lightningDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "vehicleSpawnKills" , % game ) ; % f6 = getGameTotal ( % vClient , "vehicleSpawnDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > Satchel Charge : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > Lightning : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > Vehicle Spawn : < color : 33 CCCC > % 5 : % 6 < color : 0 befe7 > ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
% a1 = getGameTotal ( % vClient , "forceFieldPowerUpKills" , % game ) ; % b2 = getGameTotal ( % vClient , "forceFieldPowerUpDeaths" , % game ) ; % c3 = getGameTotal ( % vClient , "crashKills" , % game ) ;
% d4 = getGameTotal ( % vClient , "crashDeaths" , % game ) ; % e5 = getGameTotal ( % vClient , "waterKills" , % game ) ; % f6 = getGameTotal ( % vClient , "waterDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
% line = ' < font : univers condensed : 18 > < color : 0 befe7 > Forcefield Power : < color : 33 CCCC > % 1 : % 2 < color : 0 befe7 > < lmargin : 200 > Crash : < color : 33 CCCC > % 3 : % 4 < color : 0 befe7 > < lmargin : 395 > Water : < color : 33 CCCC > % 5 : % 6 < color : 0 befe7 > ' ;
2019-11-06 16:21:22 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % a1 , % b2 , % c3 , % d4 , % e5 , % f6 ) ;
2019-11-20 19:43:50 +00:00
% a1 = getGameTotal ( % vClient , "nexusCampingKills" , % game ) ; % b2 = getGameTotal ( % vClient , "nexusCampingDeaths" , % game ) ;
2019-11-24 19:34:05 +00:00
//%line = '<font:univers condensed:18><color:0befe7> Nexus Camping: <color:33CCCC>%1:%2';
2019-11-20 19:43:50 +00:00
// messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%a1,%b2);
2019-03-13 00:10:12 +00:00
2019-11-06 16:21:22 +00:00
case "WEAPON" : // Weapons
2019-11-20 19:43:50 +00:00
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Weapon Stats" ) ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tHISTORY \ t % 1 \ t0 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
2019-03-13 00:10:12 +00:00
2019-11-20 19:43:50 +00:00
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Weapon Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
2019-03-13 00:10:12 +00:00
2019-11-20 19:43:50 +00:00
}
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tBlaster \ t % 1 \ t % 2 > + Blaster Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tPlasmaRifle \ t % 1 \ t % 2 > + Plasma Rifle Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tChaingun \ t % 1 \ t % 2 > + Chaingun Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tSpinfusor \ t % 1 \ t % 2 > + Spinfusor Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tGrenadeLauncher \ t % 1 \ t % 2 > + Grenade Launcher Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
2019-03-13 00:10:12 +00:00
2019-11-06 16:21:22 +00:00
if ( % game ! $ = "LakRabbitGame" ) {
2019-11-20 19:43:50 +00:00
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tLaserRifle \ t % 1 \ t % 2 > + Laser Rifle Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tELF \ t % 1 \ t % 2 > + ELF Projector Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
2019-11-06 16:21:22 +00:00
}
2019-03-13 00:10:12 +00:00
2019-11-20 19:43:50 +00:00
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tFusionMortar \ t % 1 \ t % 2 > + Fusion Mortar Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
if ( % game ! $ = "LakRabbitGame" & & % game ! $ = "ArenaGame" ) {
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tMissileLauncher \ t % 1 \ t % 2 > + Missile Launcher Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
}
2019-11-06 16:21:22 +00:00
2019-11-20 19:43:50 +00:00
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tShocklance \ t % 1 \ t % 2 > + Shocklance Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tMine \ t % 1 \ t % 2 > + Mine Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tHandGrenade \ t % 1 \ t % 2 > + Hand Grenade Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
if ( % game ! $ = "LakRabbitGame" & & % game ! $ = "ArenaGame" ) {
% line = ' < color : 00d cd4 > < a : gamelink \ tStats \ tSatchelCharge \ t % 1 \ t % 2 > + Satchel Charge Stats < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % inc ) ;
2019-11-06 16:21:22 +00:00
}
2019-11-20 19:43:50 +00:00
case "ARMOR" :
//%inc = %client.GlArg4; // leave this here in case we want history later
% inc = - 1 ;
//if(%inc != -1){//History
2020-02-28 21:37:29 +00:00
//messageClient( %client, 'SetScoreHudHeader', "", "<just:center>Plasma Rifle Stats" @ getField(%vClient.dtStats.gameStats["map","g",%game],%inc) SPC getField(%vClient.dtStats.gameStats["timeDayMonth","g",%game],%inc));
2019-11-20 19:43:50 +00:00
//messageClient( %client, 'SetScoreHudSubheader', "", '<a:gamelink\tStats\tWEAPON\t%1\t%2> Back</a> - <a:gamelink\tStats\tReset\t%1>Return To Score Screen</a>',%vClient,%inc);
//%header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg";
//messageClient( %client, 'SetLineHud', "", %tag, %index++, %header);
//}
//else{//Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Armor Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 250 > Live < lmargin : 320 > Run Avg < lmargin : 390 > Totals < lmargin : 460 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
//}
% line1 = ' < color : 0 befe7 > Scout Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Scout Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorL" , % game , % inc ) , getGameTotal ( % vClient , "armorL" , % game ) , getGameTotalAvg ( % vClient , "armorL" , % game ) , % vClient . armorL ) ;
% line1 = ' < color : 0 befe7 > Scout Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Scout Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorLD" , % game , % inc ) , getGameTotal ( % vClient , "armorLD" , % game ) , getGameTotalAvg ( % vClient , "armorLD" , % game ) , % vClient . armorLD ) ;
% line1 = ' < color : 0 befe7 > Scout Vs Scout Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Scout Vs Scout Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorLL" , % game , % inc ) , getGameTotal ( % vClient , "armorLL" , % game ) , getGameTotalAvg ( % vClient , "armorLL" , % game ) , % vClient . armorLL ) ;
% line1 = ' < color : 0 befe7 > Scout Vs Scout Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Scout Vs Scout Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorLLD" , % game , % inc ) , getGameTotal ( % vClient , "armorLLD" , % game ) , getGameTotalAvg ( % vClient , "armorLLD" , % game ) , % vClient . armorLLD ) ;
% line1 = ' < color : 0 befe7 > Scout Vs Assault Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Scout Vs Assault Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorLM" , % game , % inc ) , getGameTotal ( % vClient , "armorLM" , % game ) , getGameTotalAvg ( % vClient , "armorLM" , % game ) , % vClient . armorLM ) ;
% line1 = ' < color : 0 befe7 > Scout Vs Assault Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Scout Vs Assault Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorLMD" , % game , % inc ) , getGameTotal ( % vClient , "armorLMD" , % game ) , getGameTotalAvg ( % vClient , "armorLMD" , % game ) , % vClient . armorLMD ) ;
% line1 = ' < color : 0 befe7 > Scout Vs Juggernaut Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Scout Vs Juggernaut Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorLH" , % game , % inc ) , getGameTotal ( % vClient , "armorLH" , % game ) , getGameTotalAvg ( % vClient , "armorLH" , % game ) , % vClient . armorLH ) ;
% line1 = ' < color : 0 befe7 > Scout Vs Juggernaut Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Scout Vs Juggernaut Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorLHD" , % game , % inc ) , getGameTotal ( % vClient , "armorLHD" , % game ) , getGameTotalAvg ( % vClient , "armorLHD" , % game ) , % vClient . armorLHD ) ;
2019-11-06 16:21:22 +00:00
2019-11-20 19:43:50 +00:00
% line1 = ' < color : 0 befe7 > Assault Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Assault Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorM" , % game , % inc ) , getGameTotal ( % vClient , "armorM" , % game ) , getGameTotalAvg ( % vClient , "armorM" , % game ) , % vClient . armorM ) ;
% line1 = ' < color : 0 befe7 > Assault Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Assault Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorMD" , % game , % inc ) , getGameTotal ( % vClient , "armorMD" , % game ) , getGameTotalAvg ( % vClient , "armorMD" , % game ) , % vClient . armorMD ) ;
% line1 = ' < color : 0 befe7 > Assault Vs Scout Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Assault Vs Scout Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorML" , % game , % inc ) , getGameTotal ( % vClient , "armorML" , % game ) , getGameTotalAvg ( % vClient , "armorML" , % game ) , % vClient . armorML ) ;
% line1 = ' < color : 0 befe7 > Assault Vs Scout Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Assault Vs Scout Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorMLD" , % game , % inc ) , getGameTotal ( % vClient , "armorMLD" , % game ) , getGameTotalAvg ( % vClient , "armorMLD" , % game ) , % vClient . armorMLD ) ;
% line1 = ' < color : 0 befe7 > Assault Vs Assault Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Assault Vs Assault Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorMM" , % game , % inc ) , getGameTotal ( % vClient , "armorMM" , % game ) , getGameTotalAvg ( % vClient , "armorMM" , % game ) , % vClient . armorMM ) ;
% line1 = ' < color : 0 befe7 > Assault Vs Assault Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Assault Vs Assault Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorMMD" , % game , % inc ) , getGameTotal ( % vClient , "armorMMD" , % game ) , getGameTotalAvg ( % vClient , "armorMMD" , % game ) , % vClient . armorMMD ) ;
% line1 = ' < color : 0 befe7 > Assault Vs Juggernaut Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Assault Vs Juggernaut Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorMH" , % game , % inc ) , getGameTotal ( % vClient , "armorMH" , % game ) , getGameTotalAvg ( % vClient , "armorMH" , % game ) , % vClient . armorMH ) ;
% line1 = ' < color : 0 befe7 > Assault Vs Juggernaut Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Assault Vs Juggernaut Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorMHD" , % game , % inc ) , getGameTotal ( % vClient , "armorMHD" , % game ) , getGameTotalAvg ( % vClient , "armorMHD" , % game ) , % vClient . armorMHD ) ;
2019-11-06 16:21:22 +00:00
2019-11-20 19:43:50 +00:00
% line1 = ' < color : 0 befe7 > Juggernaut Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Juggernaut Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorH" , % game , % inc ) , getGameTotal ( % vClient , "armorH" , % game ) , getGameTotalAvg ( % vClient , "armorH" , % game ) , % vClient . armorH ) ;
% line1 = ' < color : 0 befe7 > Juggernaut Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Juggernaut Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorHD" , % game , % inc ) , getGameTotal ( % vClient , "armorHD" , % game ) , getGameTotalAvg ( % vClient , "armorHD" , % game ) , % vClient . armorHD ) ;
% line1 = ' < color : 0 befe7 > Juggernaut Vs Scout Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Juggernaut Vs Scout Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorHL" , % game , % inc ) , getGameTotal ( % vClient , "armorHL" , % game ) , getGameTotalAvg ( % vClient , "armorHL" , % game ) , % vClient . armorHL ) ;
% line1 = ' < color : 0 befe7 > Juggernaut Vs Scout Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Juggernaut Vs Scout Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorHLD" , % game , % inc ) , getGameTotal ( % vClient , "armorHLD" , % game ) , getGameTotalAvg ( % vClient , "armorHLD" , % game ) , % vClient . armorHLD ) ;
% line1 = ' < color : 0 befe7 > Juggernaut Vs Assault Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Juggernaut Vs Assault Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorHM" , % game , % inc ) , getGameTotal ( % vClient , "armorHM" , % game ) , getGameTotalAvg ( % vClient , "armorHM" , % game ) , % vClient . armorHM ) ;
% line1 = ' < color : 0 befe7 > Juggernaut Vs Assault Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Juggernaut Vs Assault Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorHMD" , % game , % inc ) , getGameTotal ( % vClient , "armorHMD" , % game ) , getGameTotalAvg ( % vClient , "armorHMD" , % game ) , % vClient . armorHMD ) ;
% line1 = ' < color : 0 befe7 > Juggernaut Vs Juggernaut Kills < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Juggernaut Vs Juggernaut Kills < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorHH" , % game , % inc ) , getGameTotal ( % vClient , "armorHH" , % game ) , getGameTotalAvg ( % vClient , "armorHH" , % game ) , % vClient . armorHH ) ;
% line1 = ' < color : 0 befe7 > Juggernaut Vs Juggernaut Deaths < color : 00d cd4 > < lmargin : 250 > % 5 < lmargin : 320 > % 2 < lmargin : 390 > % 3 < lmargin : 460 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Juggernaut Vs Juggernaut Deaths < color : 00d cd4 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "armorHHD" , % game , % inc ) , getGameTotal ( % vClient , "armorHHD" , % game ) , getGameTotalAvg ( % vClient , "armorHHD" , % game ) , % vClient . armorHHD ) ;
case "LIVE" :
% inc = % client . GlArg4 ;
2020-01-05 18:55:26 +00:00
% cycle = % client . GlArg5 ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Live Stats" ) ;
if ( % inc $ = "pin" ) {
2020-01-05 18:55:26 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > - < a : gamelink \ tStats \ tLIVE \ t % 1 \ t - 1 > Unpin Screen < / a > - Games Played : % 2 ' , % vClient , % vClient . dtStats . gameStats [ "totalGames" , "g" , % game ] ) ;
2019-11-06 16:21:22 +00:00
}
2019-11-20 19:43:50 +00:00
else {
2020-01-05 18:55:26 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > - < a : gamelink \ tStats \ tLIVE \ t % 1 \ tpin > Pin Screen < / a > - Games Played : % 2 ' , % vClient , % vClient . dtStats . gameStats [ "totalGames" , "g" , % game ] ) ;
2019-11-20 19:43:50 +00:00
}
//%i1=%i2=%i3=%i4=%i5=%i6=%i7=%i8=%i9=0;
//%line = '<color:0befe7> PastGames<lmargin:100>%1<lmargin:150>%2<lmargin:200>%3<lmargin:250>%4<lmargin:300>%5<lmargin:350>%6<lmargin:400>%7<lmargin:450>%8<lmargin:500>%9';
//messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%i1,%i2,%i3,%i4,%i5,%i6,%i7,%i8,%i9);
2019-03-13 00:10:12 +00:00
2020-02-29 20:45:58 +00:00
% i1 = "<color:0befe7><font:univers condensed:18>Score:<color:03d597>" SPC % vClient . score ;
% i2 = "<color:0befe7><font:univers condensed:18>Kills:<color:03d597>" SPC % vClient . kills ;
% i3 = "<color:0befe7><font:univers condensed:18>Deaths:<color:03d597>" SPC % vClient . deaths ;
% i4 = "<color:0befe7><font:univers condensed:18>Assists:<color:03d597>" SPC % vClient . assist ;
% line = ' < lmargin : 0 > % 1 < lmargin : 145 > % 2 < lmargin : 290 > % 3 < lmargin : 435 > % 4 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 ) ;
2019-03-13 00:10:12 +00:00
2020-02-29 20:45:58 +00:00
% i1 = "<color:0befe7><font:univers condensed:18>KDR:<color:03d597>" SPC kdr ( % vClient . kills , % vClient . deaths ) @ "%" ;
% i2 = "<color:0befe7><font:univers condensed:18>KillStreak:<color:03d597>" SPC % vClient . killStreak ;
% i3 = "<color:0befe7><font:univers condensed:18>MineDisc:<color:03d597>" SPC % vClient . minePlusDisc ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . plasmaMA + % vClient . discMA + % vClient . mineMA + % vClient . grenadeMA + % vClient . hGrenadeMA + % vClient . mortarMA + % vClient . shockMA + % vClient . laserMA +
2019-11-20 19:43:50 +00:00
% vClient . laserHeadShot + % vClient . shockRearShot + % vClient . comboPT + % vClient . assist +
2020-02-28 21:37:29 +00:00
( % vClient . plasmaKillMaxDist / 500 ) + ( % vClient . discKillMaxDist / 500 ) + ( % vClient . mineKillMaxDist / 200 ) + ( % vClient . grenadeKillMaxDist / 300 ) + ( % vClient . hGrenadeKillMaxDist / 200 ) + ( % vClient . mortarKillMaxDist / 200 ) +
( % vClient . plasmaKillRV / 100 ) + ( % vClient . discKillRV / 100 ) + ( % vClient . mineKillRV / 100 ) + ( % vClient . grenadeKillRV / 100 ) + ( % vClient . hGrenadeKillRV / 100 ) + ( % vClient . mortarKillRV / 100 ) + ( % vClient . shockKillRV / 50 ) + ( % vClient . laserKillRV / 100 ) ;
2020-02-29 20:45:58 +00:00
% i4 = "<color:0befe7><font:univers condensed:18>Shot Rating:<color:03d597>" SPC mFloatLength ( % i4 / 26 , 2 ) + 0 ; //
% line = ' < lmargin : 0 > % 1 < lmargin : 145 > % 2 < lmargin : 290 > % 3 < lmargin : 435 > % 4 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 ) ;
% dmg = % vClient . blasterDmg + % vClient . plasmaInDmg + % vClient . grenadeInDmg + % vClient . hGrenadeInDmg + % vClient . cgDmg +
% vClient . discInDmg + % vClient . laserDmg + % vClient . mortarInDmg + % vClient . missileInDmg + % vClient . shockLanceInDmg + % vClient . mineInDmg ;
2020-02-29 20:45:58 +00:00
% i1 = "<color:0befe7><font:univers condensed:18>Damage:<color:03d597>" SPC numReduce ( % dmg , 1 ) ;
% i2 = "<color:0befe7><font:univers condensed:18>Speed:<color:03d597>" SPC mFloatLength ( % vClient . avgSpeed , 1 ) + 0 ;
% i3 = "<color:0befe7><font:univers condensed:18>Shots Fired:<color:03d597>" SPC numReduce ( % vClient . shotsFired , 2 ) ; //"RelSpeed:" SPC mFloatLength(%vClient.maxRV,1)+0;
% i4 = "<color:0befe7><font:univers condensed:18>Dist Moved:<color:03d597>" SPC numReduce ( % vClient . distMov , 1 ) ; // %vClient.dtStats.gameStats["totalGames","g",%game];
% line = ' < lmargin : 0 > % 1 < lmargin : 145 > % 2 < lmargin : 290 > % 3 < lmargin : 435 > % 4 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 ) ;
2019-03-13 00:10:12 +00:00
2020-02-29 20:45:58 +00:00
% i1 = "<color:0befe7><font:univers condensed:18>Lt Kills:<color:03d597>" SPC % vClient . armorL ;
% i2 = "<color:0befe7><font:univers condensed:18>Med Kills:<color:03d597>" SPC % vClient . armorM ;
% i3 = "<color:0befe7><font:univers condensed:18>Hvy Kills:<color:03d597>" SPC % vClient . armorH ;
% i4 = "<color:0befe7><font:univers condensed:18>Survival:<color:03d597>" SPC secToMinSec ( % vClient . timeTL ) ;
% line = ' < lmargin : 0 > % 1 < lmargin : 145 > % 2 < lmargin : 290 > % 3 < lmargin : 435 > % 4 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 ) ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
2020-01-05 18:55:26 +00:00
% header = ' < color : 0 befe7 > Weapon < lmargin : 140 > K : D < lmargin : 212 > MidAirs < lmargin : 284 > Accuracy < lmargin : 356 > Combos < lmargin : 428 > Speed < lmargin : 500 > MaxDis ' ;
2019-03-13 00:10:12 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
2019-11-20 19:43:50 +00:00
% i1 = % i2 = % i3 = % i4 = % i5 = % i6 = % i7 = 0 ;
% i1 = % vClient . blasterKills @ ":" @ % vClient . blasterDeaths ;
% i2 = % vClient . blasterMA ;
% i3 = mFloatLength ( % vClient . blasterACC , 1 ) + 0 @ "%" ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . blasterCom ;
2020-02-28 21:37:29 +00:00
% i5 = mFloatLength ( % vClient . blasterKillRV , 1 ) + 0 ;
% i6 = mCeil ( % vClient . blasterKillMaxDist ) @ "m" ;
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > Blaster < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 140 > % 1 < lmargin : 212 > % 2 < lmargin : 284 > % 3 < lmargin : 356 > % 4 < lmargin : 428 > % 5 < lmargin : 500 > % 6 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 , % i5 , % i6 , % i7 ) ;
% i1 = % vClient . plasmaKills @ ":" @ % vClient . plasmaDeaths ;
% i2 = % vClient . plasmaMA ;
% i3 = mFloatLength ( % vClient . plasmaACC , 1 ) + 0 @ "%" ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . plasmaCom ;
2020-02-28 21:37:29 +00:00
% i5 = mFloatLength ( % vClient . plasmaKillRV , 1 ) + 0 ;
% i6 = mCeil ( % vClient . plasmaKillMaxDist ) @ "m" ;
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > Plasma Rifle < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 140 > % 1 < lmargin : 212 > % 2 < lmargin : 284 > % 3 < lmargin : 356 > % 4 < lmargin : 428 > % 5 < lmargin : 500 > % 6 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 , % i5 , % i6 , % i7 ) ;
% i1 = % vClient . cgKills @ ":" @ % vClient . cgDeaths ;
% i2 = % vClient . cgMA ;
% i3 = mFloatLength ( % vClient . cgACC , 1 ) + 0 @ "%" ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . cgCom ;
2020-02-28 21:37:29 +00:00
% i5 = mFloatLength ( % vClient . cgKillRV , 1 ) + 0 ;
% i6 = mCeil ( % vClient . cgKillMaxDist ) @ "m" ;
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > Chaingun < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 140 > % 1 < lmargin : 212 > % 2 < lmargin : 284 > % 3 < lmargin : 356 > % 4 < lmargin : 428 > % 5 < lmargin : 500 > % 6 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 , % i5 , % i6 , % i7 ) ;
% i1 = % vClient . discKills @ ":" @ % vClient . discDeaths ;
% i2 = % vClient . discMA ;
% i3 = mFloatLength ( % vClient . discACC , 1 ) + 0 @ "%" ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . discCom ;
2020-02-28 21:37:29 +00:00
% i5 = mFloatLength ( % vClient . discKillRV , 1 ) + 0 ;
% i6 = mCeil ( % vClient . discKillMaxDist ) @ "m" ;
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > Spinfusor < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 140 > % 1 < lmargin : 212 > % 2 < lmargin : 284 > % 3 < lmargin : 356 > % 4 < lmargin : 428 > % 5 < lmargin : 500 > % 6 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 , % i5 , % i6 , % i7 ) ;
% i1 = % vClient . grenadeKills @ ":" @ % vClient . grenadeDeaths ;
% i2 = % vClient . grenadeMA ;
% i3 = mFloatLength ( % vClient . grenadeACC , 1 ) + 0 @ "%" ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . grenadeCom ;
2020-02-28 21:37:29 +00:00
% i5 = mFloatLength ( % vClient . grenadeKillRV , 1 ) + 0 ;
% i6 = mCeil ( % vClient . grenadeKillMaxDist ) @ "m" ;
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > Grenade Launcher < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 140 > % 1 < lmargin : 212 > % 2 < lmargin : 284 > % 3 < lmargin : 356 > % 4 < lmargin : 428 > % 5 < lmargin : 500 > % 6 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 , % i5 , % i6 , % i7 ) ;
% i1 = % vClient . laserKills @ ":" @ % vClient . laserDeaths ;
% i2 = % vClient . laserMA ;
% i3 = mFloatLength ( % vClient . laserACC , 1 ) + 0 @ "%" ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . laserCom ;
2020-02-28 21:37:29 +00:00
% i5 = mFloatLength ( % vClient . laserKillRV , 1 ) + 0 ;
% i6 = mCeil ( % vClient . laserKillMaxDist ) @ "m" ;
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > Laser Rifle < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 140 > % 1 < lmargin : 212 > % 2 < lmargin : 284 > % 3 < lmargin : 356 > % 4 < lmargin : 428 > % 5 < lmargin : 500 > % 6 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 , % i5 , % i6 , % i7 ) ;
% i1 = % vClient . mortarKills @ ":" @ % vClient . mortarDeaths ;
% i2 = % vClient . mortarMA ;
% i3 = mFloatLength ( % vClient . mortarACC , 1 ) + 0 @ "%" ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . mortarCom ;
2020-02-28 21:37:29 +00:00
% i5 = mFloatLength ( % vClient . mortarKillRV , 1 ) + 0 ;
% i6 = mCeil ( % vClient . mortarKillMaxDist ) @ "m" ;
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > Fusion Mortar < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 140 > % 1 < lmargin : 212 > % 2 < lmargin : 284 > % 3 < lmargin : 356 > % 4 < lmargin : 428 > % 5 < lmargin : 500 > % 6 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 , % i5 , % i6 , % i7 ) ;
% i1 = % vClient . missileKills @ ":" @ % vClient . missileDeaths ;
% i2 = % vClient . missileMA ;
% i3 = mFloatLength ( % vClient . missileACC , 1 ) + 0 @ "%" ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . missileCom ;
2019-11-20 19:43:50 +00:00
% i5 = mFloatLength ( % vClient . missileShotsFired , 1 ) + 0 ;
2020-02-28 21:37:29 +00:00
% i6 = mCeil ( % vClient . missileKillMaxDist ) @ "m" ;
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > Missile Launcher < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 140 > % 1 < lmargin : 212 > % 2 < lmargin : 284 > % 3 < lmargin : 356 > % 4 < lmargin : 428 > % 5 < lmargin : 500 > % 6 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 , % i5 , % i6 , % i7 ) ;
% i1 = % vClient . shockLanceKills @ ":" @ % vClient . shockLanceDeaths ;
2020-01-05 18:55:26 +00:00
% i2 = % vClient . shockMA ;
2019-11-20 19:43:50 +00:00
% i3 = mFloatLength ( % vClient . shockACC , 1 ) + 0 @ "%" ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . shockCom ;
2020-02-28 21:37:29 +00:00
% i5 = mFloatLength ( % vClient . shockKillRV , 1 ) + 0 ;
% i6 = mCeil ( % vClient . shockKillMaxDist ) @ "m" ;
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > Shocklance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 140 > % 1 < lmargin : 212 > % 2 < lmargin : 284 > % 3 < lmargin : 356 > % 4 < lmargin : 428 > % 5 < lmargin : 500 > % 6 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 , % i5 , % i6 , % i7 ) ;
% i1 = % vClient . mineKills @ ":" @ % vClient . mineDeaths ;
% i2 = % vClient . mineMA ;
% i3 = mFloatLength ( % vClient . mineACC , 1 ) + 0 @ "%" ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . mineCom ;
2020-02-28 21:37:29 +00:00
% i5 = mFloatLength ( % vClient . mineKillRV , 1 ) + 0 ;
% i6 = mCeil ( % vClient . mineKillMaxDist ) @ "m" ;
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > Mine < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 140 > % 1 < lmargin : 212 > % 2 < lmargin : 284 > % 3 < lmargin : 356 > % 4 < lmargin : 428 > % 5 < lmargin : 500 > % 6 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 , % i5 , % i6 , % i7 ) ;
% i1 = % vClient . hGrenadeKills @ ":" @ % vClient . hGrenadeDeaths ;
% i2 = % vClient . hGrenadeMA ;
% i3 = mFloatLength ( % vClient . hGrenadeACC , 1 ) + 0 @ "%" ;
2020-01-05 18:55:26 +00:00
% i4 = % vClient . hGrenadeCom ;
2020-02-28 21:37:29 +00:00
% i5 = mFloatLength ( % vClient . hGrenadeKillRV , 1 ) + 0 ;
% i6 = mCeil ( % vClient . hGrenadeKillMaxDist ) @ "m" ;
2020-02-29 20:45:58 +00:00
% line = ' < color : 0 befe7 > Hand Grenade < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 140 > % 1 < lmargin : 212 > % 2 < lmargin : 284 > % 3 < lmargin : 356 > % 4 < lmargin : 428 > % 5 < lmargin : 500 > % 6 ' ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , % i4 , % i5 , % i6 , % i7 ) ;
2020-03-15 19:34:27 +00:00
2019-11-20 19:43:50 +00:00
case "Blaster" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Blaster Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Blaster Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "blasterKills" , % game , % inc ) , getGameTotal ( % vClient , "blasterKills" , % game ) , getGameTotalAvg ( % vClient , "blasterKills" , % game ) , % vClient . blasterKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "blasterDeaths" , % game , % inc ) , getGameTotal ( % vClient , "blasterDeaths" , % game ) , getGameTotalAvg ( % vClient , "blasterDeaths" , % game ) , % vClient . blasterDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Direct Damage < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Direct Damage < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "blasterDmg" , % game , % inc ) , getGameTotal ( % vClient , "blasterDmg" , % game ) , getGameTotalAvg ( % vClient , "blasterDmg" , % game ) , mFloatLength ( % vClient . blasterDmg , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Direct Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Direct Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "blasterDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "blasterDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "blasterDmgTaken" , % game ) , mFloatLength ( % vClient . blasterDmgTaken , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "blasterDirectHits" , % game , % inc ) , getGameTotal ( % vClient , "blasterDirectHits" , % game ) , getGameTotalAvg ( % vClient , "blasterDirectHits" , % game ) , % vClient . blasterDirectHits ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "blasterShotsFired" , % game , % inc ) , getGameTotal ( % vClient , "blasterShotsFired" , % game ) , getGameTotalAvg ( % vClient , "blasterShotsFired" , % game ) , % vClient . blasterShotsFired ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "blasterKillMaxDist" , % game , % inc ) , getGameTotal ( % vClient , "blasterKillMaxDist" , % game ) , getGameTotalAvg ( % vClient , "blasterKillMaxDist" , % game ) , mFloatLength ( % vClient . blasterKillMaxDist , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "blasterKillRV" , % game , % inc ) , getGameTotal ( % vClient , "blasterKillRV" , % game ) , getGameTotalAvg ( % vClient , "blasterKillRV" , % game ) , mFloatLength ( % vClient . blasterKillRV , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "blasterCom" , % game , % inc ) , getGameTotal ( % vClient , "blasterCom" , % game ) , getGameTotalAvg ( % vClient , "blasterCom" , % game ) , % vClient . blasterCom ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "blasterMA" , % game , % inc ) , getGameTotal ( % vClient , "blasterMA" , % game ) , getGameTotalAvg ( % vClient , "blasterMA" , % game ) , % vClient . blasterMA ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "blasterACC" , % game , % inc ) , getGameTotal ( % vClient , "blasterACC" , % game ) , getGameTotalAvg ( % vClient , "blasterACC" , % game ) , mFloatLength ( % vClient . blasterACC , 2 ) + 0 ) ;
case "Spinfusor" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Spinfusor Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Spinfusor Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "discKills" , % game , % inc ) , getGameTotal ( % vClient , "discKills" , % game ) , getGameTotalAvg ( % vClient , "discKills" , % game ) , % vClient . discKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "discDeaths" , % game , % inc ) , getGameTotal ( % vClient , "discDeaths" , % game ) , getGameTotalAvg ( % vClient , "discDeaths" , % game ) , % vClient . discDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "discInDmg" , % game , % inc ) , getGameTotal ( % vClient , "discInDmg" , % game ) , getGameTotalAvg ( % vClient , "discInDmg" , % game ) , mFloatLength ( % vClient . discInDmg , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "discInDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "discInDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "discInDmgTaken" , % game ) , mFloatLength ( % vClient . discInDmgTaken , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "discIndirectHits" , % game , % inc ) , getGameTotal ( % vClient , "discIndirectHits" , % game ) , getGameTotalAvg ( % vClient , "discIndirectHits" , % game ) , % vClient . discIndirectHits ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "discShotsFired" , % game , % inc ) , getGameTotal ( % vClient , "discShotsFired" , % game ) , getGameTotalAvg ( % vClient , "discShotsFired" , % game ) , % vClient . discShotsFired ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Mine + Disc < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Mine + Disc < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "minePlusDisc" , % game , % inc ) , getGameTotal ( % vClient , "minePlusDisc" , % game ) , getGameTotalAvg ( % vClient , "minePlusDisc" , % game ) , % vClient . minePlusDisc ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "discKillMaxDist" , % game , % inc ) , getGameTotal ( % vClient , "discKillMaxDist" , % game ) , getGameTotalAvg ( % vClient , "discKillMaxDist" , % game ) , mFloatLength ( % vClient . discKillMaxDist , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "discKillRV" , % game , % inc ) , getGameTotal ( % vClient , "discKillRV" , % game ) , getGameTotalAvg ( % vClient , "discKillRV" , % game ) , mFloatLength ( % vClient . discKillRV , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "discCom" , % game , % inc ) , getGameTotal ( % vClient , "discCom" , % game ) , getGameTotalAvg ( % vClient , "discCom" , % game ) , % vClient . discCom ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "discMA" , % game , % inc ) , getGameTotal ( % vClient , "discMA" , % game ) , getGameTotalAvg ( % vClient , "discMA" , % game ) , % vClient . discMA ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "discACC" , % game , % inc ) , getGameTotal ( % vClient , "discACC" , % game ) , getGameTotalAvg ( % vClient , "discACC" , % game ) , mFloatLength ( % vClient . discACC , 2 ) + 0 ) ;
case "Chaingun" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Chaingun Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Chaingun Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "cgKills" , % game , % inc ) , getGameTotal ( % vClient , "cgKills" , % game ) , getGameTotalAvg ( % vClient , "cgKills" , % game ) , % vClient . cgKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "cgDeaths" , % game , % inc ) , getGameTotal ( % vClient , "cgDeaths" , % game ) , getGameTotalAvg ( % vClient , "cgDeaths" , % game ) , % vClient . cgDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Direct Damage < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Direct Damage < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "cgDmg" , % game , % inc ) , getGameTotal ( % vClient , "cgDmg" , % game ) , getGameTotalAvg ( % vClient , "cgDmg" , % game ) , mFloatLength ( % vClient . cgDmg , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Direct Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Direct Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "cgDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "cgDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "cgDmgTaken" , % game ) , mFloatLength ( % vClient . cgDmgTaken , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "cgDirectHits" , % game , % inc ) , getGameTotal ( % vClient , "cgDirectHits" , % game ) , getGameTotalAvg ( % vClient , "cgDirectHits" , % game ) , % vClient . cgDirectHits ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "cgShotsFired" , % game , % inc ) , getGameTotal ( % vClient , "cgShotsFired" , % game ) , getGameTotalAvg ( % vClient , "cgShotsFired" , % game ) , % vClient . cgShotsFired ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "cgKillMaxDist" , % game , % inc ) , getGameTotal ( % vClient , "cgKillMaxDist" , % game ) , getGameTotalAvg ( % vClient , "cgKillMaxDist" , % game ) , mFloatLength ( % vClient . cgKillMaxDist , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "cgKillRV" , % game , % inc ) , getGameTotal ( % vClient , "cgKillRV" , % game ) , getGameTotalAvg ( % vClient , "cgKillRV" , % game ) , mFloatLength ( % vClient . cgKillRV , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "cgCom" , % game , % inc ) , getGameTotal ( % vClient , "cgCom" , % game ) , getGameTotalAvg ( % vClient , "cgCom" , % game ) , % vClient . cgCom ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "cgMA" , % game , % inc ) , getGameTotal ( % vClient , "cgMA" , % game ) , getGameTotalAvg ( % vClient , "cgMA" , % game ) , % vClient . cgMA ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "cgACC" , % game , % inc ) , getGameTotal ( % vClient , "cgACC" , % game ) , getGameTotalAvg ( % vClient , "cgACC" , % game ) , mFloatLength ( % vClient . cgACC , 2 ) + 0 ) ;
case "GrenadeLauncher" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Grenade Launcher Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Grenade Launcher Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "grenadeKills" , % game , % inc ) , getGameTotal ( % vClient , "grenadeKills" , % game ) , getGameTotalAvg ( % vClient , "grenadeKills" , % game ) , % vClient . grenadeKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "grenadeDeaths" , % game , % inc ) , getGameTotal ( % vClient , "grenadeDeaths" , % game ) , getGameTotalAvg ( % vClient , "grenadeDeaths" , % game ) , % vClient . grenadeDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "grenadeInDmg" , % game , % inc ) , getGameTotal ( % vClient , "grenadeInDmg" , % game ) , getGameTotalAvg ( % vClient , "grenadeInDmg" , % game ) , mFloatLength ( % vClient . grenadeInDmg , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "grenadeInDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "grenadeInDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "grenadeInDmgTaken" , % game ) , mFloatLength ( % vClient . grenadeInDmgTaken , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "grenadeIndirectHits" , % game , % inc ) , getGameTotal ( % vClient , "grenadeIndirectHits" , % game ) , getGameTotalAvg ( % vClient , "grenadeIndirectHits" , % game ) , % vClient . grenadeIndirectHits ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "grenadeShotsFired" , % game , % inc ) , getGameTotal ( % vClient , "grenadeShotsFired" , % game ) , getGameTotalAvg ( % vClient , "grenadeShotsFired" , % game ) , % vClient . grenadeShotsFired ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "grenadeKillMaxDist" , % game , % inc ) , getGameTotal ( % vClient , "grenadeKillMaxDist" , % game ) , getGameTotalAvg ( % vClient , "grenadeKillMaxDist" , % game ) , mFloatLength ( % vClient . grenadeKillMaxDist , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "grenadeKillRV" , % game , % inc ) , getGameTotal ( % vClient , "grenadeKillRV" , % game ) , getGameTotalAvg ( % vClient , "grenadeKillRV" , % game ) , mFloatLength ( % vClient . grenadeKillRV , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "grenadeCom" , % game , % inc ) , getGameTotal ( % vClient , "grenadeCom" , % game ) , getGameTotalAvg ( % vClient , "grenadeCom" , % game ) , % vClient . grenadeCom ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "grenadeMA" , % game , % inc ) , getGameTotal ( % vClient , "grenadeMA" , % game ) , getGameTotalAvg ( % vClient , "grenadeMA" , % game ) , % vClient . grenadeMA ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "grenadeACC" , % game , % inc ) , getGameTotal ( % vClient , "grenadeACC" , % game ) , getGameTotalAvg ( % vClient , "grenadeACC" , % game ) , mFloatLength ( % vClient . grenadeACC , 2 ) + 0 ) ;
case "LaserRifle" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Laser Rifle Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Laser Rifle Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserKills" , % game , % inc ) , getGameTotal ( % vClient , "laserKills" , % game ) , getGameTotalAvg ( % vClient , "laserKills" , % game ) , % vClient . laserKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserDeaths" , % game , % inc ) , getGameTotal ( % vClient , "laserDeaths" , % game ) , getGameTotalAvg ( % vClient , "laserDeaths" , % game ) , % vClient . laserDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Direct Damage < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Direct Damage < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserDmg" , % game , % inc ) , getGameTotal ( % vClient , "laserDmg" , % game ) , getGameTotalAvg ( % vClient , "laserDmg" , % game ) , mFloatLength ( % vClient . laserDmg , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Direct Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Direct Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "laserDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "laserDmgTaken" , % game ) , mFloatLength ( % vClient . laserDmgTaken , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserDirectHits" , % game , % inc ) , getGameTotal ( % vClient , "laserDirectHits" , % game ) , getGameTotalAvg ( % vClient , "laserDirectHits" , % game ) , % vClient . laserDirectHits ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserShotsFired" , % game , % inc ) , getGameTotal ( % vClient , "laserShotsFired" , % game ) , getGameTotalAvg ( % vClient , "laserShotsFired" , % game ) , % vClient . laserShotsFired ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Headshots < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Headshots < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserHeadShot" , % game , % inc ) , getGameTotal ( % vClient , "laserHeadShot" , % game ) , getGameTotalAvg ( % vClient , "laserHeadShot" , % game ) , % vClient . laserHeadShot ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserKillMaxDist" , % game , % inc ) , getGameTotal ( % vClient , "laserKillMaxDist" , % game ) , getGameTotalAvg ( % vClient , "laserKillMaxDist" , % game ) , mFloatLength ( % vClient . laserKillMaxDist , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserKillRV" , % game , % inc ) , getGameTotal ( % vClient , "laserKillRV" , % game ) , getGameTotalAvg ( % vClient , "laserKillRV" , % game ) , mFloatLength ( % vClient . laserKillRV , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserCom" , % game , % inc ) , getGameTotal ( % vClient , "laserCom" , % game ) , getGameTotalAvg ( % vClient , "laserCom" , % game ) , % vClient . laserCom ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserMA" , % game , % inc ) , getGameTotal ( % vClient , "laserMA" , % game ) , getGameTotalAvg ( % vClient , "laserMA" , % game ) , % vClient . laserMA ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "laserACC" , % game , % inc ) , getGameTotal ( % vClient , "laserACC" , % game ) , getGameTotalAvg ( % vClient , "laserACC" , % game ) , mFloatLength ( % vClient . laserACC , 2 ) + 0 ) ;
case "FusionMortar" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Fusion Mortar Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Fusion Mortar Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mortarKills" , % game , % inc ) , getGameTotal ( % vClient , "mortarKills" , % game ) , getGameTotalAvg ( % vClient , "mortarKills" , % game ) , % vClient . mortarKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mortarDeaths" , % game , % inc ) , getGameTotal ( % vClient , "mortarDeaths" , % game ) , getGameTotalAvg ( % vClient , "mortarDeaths" , % game ) , % vClient . mortarDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mortarInDmg" , % game , % inc ) , getGameTotal ( % vClient , "mortarInDmg" , % game ) , getGameTotalAvg ( % vClient , "mortarInDmg" , % game ) , mFloatLength ( % vClient . mortarInDmg , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mortarInDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "mortarInDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "mortarInDmgTaken" , % game ) , mFloatLength ( % vClient . mortarInDmgTaken , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mortarIndirectHits" , % game , % inc ) , getGameTotal ( % vClient , "mortarIndirectHits" , % game ) , getGameTotalAvg ( % vClient , "mortarIndirectHits" , % game ) , % vClient . mortarIndirectHits ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mortarShotsFired" , % game , % inc ) , getGameTotal ( % vClient , "mortarShotsFired" , % game ) , getGameTotalAvg ( % vClient , "mortarShotsFired" , % game ) , % vClient . mortarShotsFired ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mortarKillMaxDist" , % game , % inc ) , getGameTotal ( % vClient , "mortarKillMaxDist" , % game ) , getGameTotalAvg ( % vClient , "mortarKillMaxDist" , % game ) , mFloatLength ( % vClient . mortarKillMaxDist , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mortarKillRV" , % game , % inc ) , getGameTotal ( % vClient , "mortarKillRV" , % game ) , getGameTotalAvg ( % vClient , "mortarKillRV" , % game ) , mFloatLength ( % vClient . mortarKillRV , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mortarCom" , % game , % inc ) , getGameTotal ( % vClient , "mortarCom" , % game ) , getGameTotalAvg ( % vClient , "mortarCom" , % game ) , % vClient . mortarCom ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mortarMA" , % game , % inc ) , getGameTotal ( % vClient , "mortarMA" , % game ) , getGameTotalAvg ( % vClient , "mortarMA" , % game ) , % vClient . mortarMA ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mortarACC" , % game , % inc ) , getGameTotal ( % vClient , "mortarACC" , % game ) , getGameTotalAvg ( % vClient , "mortarACC" , % game ) , mFloatLength ( % vClient . mortarACC , 2 ) + 0 ) ;
case "MissileLauncher" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Missile Launcher Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Missile Launcher Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "missileKills" , % game , % inc ) , getGameTotal ( % vClient , "missileKills" , % game ) , getGameTotalAvg ( % vClient , "missileKills" , % game ) , % vClient . missileKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "missileDeaths" , % game , % inc ) , getGameTotal ( % vClient , "missileDeaths" , % game ) , getGameTotalAvg ( % vClient , "missileDeaths" , % game ) , % vClient . missileDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "missileInDmg" , % game , % inc ) , getGameTotal ( % vClient , "missileInDmg" , % game ) , getGameTotalAvg ( % vClient , "missileInDmg" , % game ) , mFloatLength ( % vClient . missileInDmg , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "missileInDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "missileInDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "missileInDmgTaken" , % game ) , mFloatLength ( % vClient . missileInDmgTaken , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "missileIndirectHits" , % game , % inc ) , getGameTotal ( % vClient , "missileIndirectHits" , % game ) , getGameTotalAvg ( % vClient , "missileIndirectHits" , % game ) , mFloatLength ( % vClient . missileIndirectHits , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "missileShotsFired" , % game , % inc ) , getGameTotal ( % vClient , "missileShotsFired" , % game ) , getGameTotalAvg ( % vClient , "missileShotsFired" , % game ) , % vClient . missileShotsFired ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "missileKillMaxDist" , % game , % inc ) , getGameTotal ( % vClient , "missileKillMaxDist" , % game ) , getGameTotalAvg ( % vClient , "missileKillMaxDist" , % game ) , mFloatLength ( % vClient . missileKillMaxDist , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "missileKillRV" , % game , % inc ) , getGameTotal ( % vClient , "missileKillRV" , % game ) , getGameTotalAvg ( % vClient , "missileKillRV" , % game ) , mFloatLength ( % vClient . missileKillRV , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "missileCom" , % game , % inc ) , getGameTotal ( % vClient , "missileCom" , % game ) , getGameTotalAvg ( % vClient , "missileCom" , % game ) , % vClient . missileCom ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "missileMA" , % game , % inc ) , getGameTotal ( % vClient , "missileMA" , % game ) , getGameTotalAvg ( % vClient , "missileMA" , % game ) , % vClient . missileMA ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "missileACC" , % game , % inc ) , getGameTotal ( % vClient , "missileACC" , % game ) , getGameTotalAvg ( % vClient , "missileACC" , % game ) , mFloatLength ( % vClient . missileACC , 2 ) + 0 ) ;
case "Shocklance" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Shocklance Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Shocklance Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockLanceKills" , % game , % inc ) , getGameTotal ( % vClient , "shockLanceKills" , % game ) , getGameTotalAvg ( % vClient , "shockLanceKills" , % game ) , % vClient . shockLanceKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockLanceDeaths" , % game , % inc ) , getGameTotal ( % vClient , "shockLanceDeaths" , % game ) , getGameTotalAvg ( % vClient , "shockLanceDeaths" , % game ) , % vClient . shockLanceDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockLanceInDmg" , % game , % inc ) , getGameTotal ( % vClient , "shockLanceInDmg" , % game ) , getGameTotalAvg ( % vClient , "shockLanceInDmg" , % game ) , mFloatLength ( % vClient . shockLanceInDmg , 20 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockLanceInDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "shockLanceInDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "shockLanceInDmgTaken" , % game ) , mFloatLength ( % vClient . shockLanceInDmgTaken , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Direct Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Direct Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockLanceIndirectHits" , % game , % inc ) , getGameTotal ( % vClient , "shockLanceIndirectHits" , % game ) , getGameTotalAvg ( % vClient , "shockLanceIndirectHits" , % game ) , % vClient . shockLanceIndirectHits ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockLanceShotsFired" , % game , % inc ) , getGameTotal ( % vClient , "shockLanceShotsFired" , % game ) , getGameTotalAvg ( % vClient , "shockLanceShotsFired" , % game ) , % vClient . shockLanceShotsFired ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Backshots < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Backshots < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockRearShot" , % game , % inc ) , getGameTotal ( % vClient , "shockRearShot" , % game ) , getGameTotalAvg ( % vClient , "shockRearShot" , % game ) , % vClient . shockRearShot ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockKillMaxDist" , % game , % inc ) , getGameTotal ( % vClient , "shockKillMaxDist" , % game ) , getGameTotalAvg ( % vClient , "shockKillMaxDist" , % game ) , mFloatLength ( % vClient . shockKillMaxDist , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockKillRV" , % game , % inc ) , getGameTotal ( % vClient , "shockKillRV" , % game ) , getGameTotalAvg ( % vClient , "shockKillRV" , % game ) , mFloatLength ( % vClient . shockKillRV , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockCom" , % game , % inc ) , getGameTotal ( % vClient , "shockCom" , % game ) , getGameTotalAvg ( % vClient , "shockCom" , % game ) , % vClient . shockCom ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockMA" , % game , % inc ) , getGameTotal ( % vClient , "shockMA" , % game ) , getGameTotalAvg ( % vClient , "shockMA" , % game ) , % vClient . shockMA ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "shockACC" , % game , % inc ) , getGameTotal ( % vClient , "shockACC" , % game ) , getGameTotalAvg ( % vClient , "shockACC" , % game ) , mFloatLength ( % vClient . shockACC , 2 ) + 0 ) ;
case "PlasmaRifle" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Plasma Rifle Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Plasma Rifle Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "plasmaKills" , % game , % inc ) , getGameTotal ( % vClient , "plasmaKills" , % game ) , getGameTotalAvg ( % vClient , "plasmaKills" , % game ) , % vClient . plasmaKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "plasmaDeaths" , % game , % inc ) , getGameTotal ( % vClient , "plasmaDeaths" , % game ) , getGameTotalAvg ( % vClient , "plasmaDeaths" , % game ) , % vClient . plasmaDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "plasmaInDmg" , % game , % inc ) , getGameTotal ( % vClient , "plasmaInDmg" , % game ) , getGameTotalAvg ( % vClient , "plasmaInDmg" , % game ) , mFloatLength ( % vClient . plasmaInDmg , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "plasmaInDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "plasmaInDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "plasmaInDmgTaken" , % game ) , mFloatLength ( % vClient . plasmaInDmgTaken , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "plasmaIndirectHits" , % game , % inc ) , getGameTotal ( % vClient , "plasmaIndirectHits" , % game ) , getGameTotalAvg ( % vClient , "plasmaIndirectHits" , % game ) , mFloatLength ( % vClient . plasmaIndirectHits , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "plasmaShotsFired" ) , getGameTotal ( % vClient , "plasmaShotsFired" , % game ) , getGameTotalAvg ( % vClient , "plasmaShotsFired" , % game ) , % vClient . plasmaShotsFired ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "plasmaKillMaxDist" , % game , % inc ) , getGameTotal ( % vClient , "plasmaKillMaxDist" , % game ) , getGameTotalAvg ( % vClient , "plasmaKillMaxDist" , % game ) , mFloatLength ( % vClient . plasmaKillMaxDist , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "plasmaKillRV" , % game , % inc ) , getGameTotal ( % vClient , "plasmaKillRV" , % game ) , getGameTotalAvg ( % vClient , "plasmaKillRV" , % game ) , mFloatLength ( % vClient . plasmaKillRV , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "plasmaCom" , % game , % inc ) , getGameTotal ( % vClient , "plasmaCom" , % game ) , getGameTotalAvg ( % vClient , "plasmaCom" , % game ) , % vClient . plasmaCom ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "plasmaMA" , % game , % inc ) , getGameTotal ( % vClient , "plasmaMA" , % game ) , getGameTotalAvg ( % vClient , "plasmaMA" , % game ) , % vClient . plasmaMA ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "plasmaACC" , % game , % inc ) , getGameTotal ( % vClient , "plasmaACC" , % game ) , getGameTotalAvg ( % vClient , "plasmaACC" , % game ) , mFloatLength ( % vClient . plasmaACC , 2 ) + 0 ) ;
case "ELF" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>ELF Projector Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>ELF Projector Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Shots Fired < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "elfShotsFired" , % game , % inc ) , getGameTotal ( % vClient , "elfShotsFired" , % game ) , getGameTotalAvg ( % vClient , "elfShotsFired" , % game ) , % vClient . elfShotsFired ) ;
case "Mine" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Mine Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Mine Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mineKills" , % game , % inc ) , getGameTotal ( % vClient , "mineKills" , % game ) , getGameTotalAvg ( % vClient , "mineKills" , % game ) , % vClient . mineKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mineDeaths" , % game , % inc ) , getGameTotal ( % vClient , "mineDeaths" , % game ) , getGameTotalAvg ( % vClient , "mineDeaths" , % game ) , % vClient . mineDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mineInDmg" , % game , % inc ) , getGameTotal ( % vClient , "mineInDmg" , % game ) , getGameTotalAvg ( % vClient , "mineInDmg" , % game ) , mFloatLength ( % vClient . mineInDmg , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mineIndirectHits" , % game , % inc ) , getGameTotal ( % vClient , "mineIndirectHits" , % game ) , getGameTotalAvg ( % vClient , "mineIndirectHits" , % game ) , % vClient . mineIndirectHits ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Mines Thrown < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Mines Thrown < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mineShotsFired" , % game , % inc ) , getGameTotal ( % vClient , "mineShotsFired" , % game ) , getGameTotalAvg ( % vClient , "mineShotsFired" , % game ) , % vClient . mineShotsFired ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mineInDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "mineInDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "mineInDmgTaken" , % game ) , mFloatLength ( % vClient . mineInDmgTaken , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mineKillMaxDist" , % game , % inc ) , getGameTotal ( % vClient , "mineKillMaxDist" , % game ) , getGameTotalAvg ( % vClient , "mineKillMaxDist" , % game ) , mFloatLength ( % vClient . mineKillMaxDist , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mineKillRV" , % game , % inc ) , getGameTotal ( % vClient , "mineKillRV" , % game ) , getGameTotalAvg ( % vClient , "mineKillRV" , % game ) , mFloatLength ( % vClient . mineKillRV , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mineCom" , % game , % inc ) , getGameTotal ( % vClient , "mineCom" , % game ) , getGameTotalAvg ( % vClient , "mineCom" , % game ) , % vClient . mineCom ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mineMA" , % game , % inc ) , getGameTotal ( % vClient , "mineMA" , % game ) , getGameTotalAvg ( % vClient , "mineMA" , % game ) , % vClient . mineMA ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "mineACC" , % game , % inc ) , getGameTotal ( % vClient , "mineACC" , % game ) , getGameTotalAvg ( % vClient , "mineACC" , % game ) , mFloatLength ( % vClient . mineACC , 2 ) + 0 ) ;
case "HandGrenade" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Hand Grenade Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Hand Grenade Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hGrenadeKills" , % game , % inc ) , getGameTotal ( % vClient , "hGrenadeKills" , % game ) , getGameTotalAvg ( % vClient , "hGrenadeKills" , % game ) , % vClient . hGrenadeKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hGrenadeDeaths" , % game , % inc ) , getGameTotal ( % vClient , "hGrenadeDeaths" , % game ) , getGameTotalAvg ( % vClient , "hGrenadeDeaths" , % game ) , % vClient . hGrenadeDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Dealt < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hGrenadeInDmg" , % game , % inc ) , getGameTotal ( % vClient , "hGrenadeInDmg" , % game ) , getGameTotalAvg ( % vClient , "hGrenadeInDmg" , % game ) , mFloatLength ( % vClient . hGrenadeInDmg , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hGrenadeInHits" , % game , % inc ) , getGameTotal ( % vClient , "hGrenadeInHits" , % game ) , getGameTotalAvg ( % vClient , "hGrenadeInHits" , % game ) , % vClient . hGrenadeInHits ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Grenades Thrown < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Grenades Thrown < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hGrenadeShotsFired" , % game , % inc ) , getGameTotal ( % vClient , "hGrenadeShotsFired" , % game ) , getGameTotalAvg ( % vClient , "hGrenadeShotsFired" , % game ) , % vClient . hGrenadeShotsFired ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hGrenadeInDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "hGrenadeInDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "hGrenadeInDmgTaken" , % game ) , mFloatLength ( % vClient . hGrenadeInDmgTaken , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Max Distance < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hGrenadeKillMaxDist" , % game , % inc ) , getGameTotal ( % vClient , "hGrenadeKillMaxDist" , % game ) , getGameTotalAvg ( % vClient , "hGrenadeKillMaxDist" , % game ) , mFloatLength ( % vClient . hGrenadeKillMaxDist , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Relative Velocity < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hGrenadeKillRV" , % game , % inc ) , getGameTotal ( % vClient , "hGrenadeKillRV" , % game ) , getGameTotalAvg ( % vClient , "hGrenadeKillRV" , % game ) , mFloatLength ( % vClient . hGrenadeKillRV , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Weapon Combos < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hGrenadeCom" , % game , % inc ) , getGameTotal ( % vClient , "hGrenadeCom" , % game ) , getGameTotalAvg ( % vClient , "hGrenadeCom" , % game ) , % vClient . hGrenadeCom ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Midairs < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hGrenadeMA" , % game , % inc ) , getGameTotal ( % vClient , "hGrenadeMA" , % game ) , getGameTotalAvg ( % vClient , "hGrenadeMA" , % game ) , % vClient . hGrenadeMA ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Accuracy < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "hGrenadeACC" , % game , % inc ) , getGameTotal ( % vClient , "hGrenadeACC" , % game ) , getGameTotalAvg ( % vClient , "hGrenadeACC" , % game ) , mFloatLength ( % vClient . hGrenadeACC , 2 ) + 0 ) ;
case "SatchelCharge" :
% inc = % client . GlArg4 ;
if ( % inc ! = - 1 ) { //History
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Satchel Charge Stats" ) ;
2019-11-20 19:43:50 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % inc ) ;
% header = "<color:0befe7><lmargin:180>Stats<lmargin:310>Totals<lmargin:440>Total Avg" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
else { //Default
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Satchel Charge Stats" ) ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tWEAPON \ t % 1 \ t - 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient ) ;
% header = ' < color : 0 befe7 > < lmargin : 180 > Live < lmargin : 270 > Moving Avg < lmargin : 370 > Totals < lmargin : 470 > Total Avg ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
}
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Kills < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "satchelChargeKills" , % game , % inc ) , getGameTotal ( % vClient , "satchelChargeKills" , % game ) , getGameTotalAvg ( % vClient , "satchelChargeKills" , % game ) , % vClient . satchelChargeKills ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Deaths < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "satchelChargeDeaths" , % game , % inc ) , getGameTotal ( % vClient , "satchelChargeDeaths" , % game ) , getGameTotalAvg ( % vClient , "satchelChargeDeaths" , % game ) , % vClient . satchelChargeDeaths ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Splash Damage < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Splash Damage < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "SatchelInDmg" , % game , % inc ) , getGameTotal ( % vClient , "SatchelInDmg" , % game ) , getGameTotalAvg ( % vClient , "SatchelInDmg" , % game ) , mFloatLength ( % vClient . SatchelInDmg , 2 ) + 0 ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Hits < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "SatchelInHits" , % game , % inc ) , getGameTotal ( % vClient , "SatchelInHits" , % game ) , getGameTotalAvg ( % vClient , "SatchelInHits" , % game ) , % vClient . SatchelInHits ) ;
2020-02-29 20:45:58 +00:00
% line1 = ' < color : 0 befe7 > Splash Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 5 < lmargin : 270 > % 2 < lmargin : 370 > % 3 < lmargin : 470 > % 4 ' ;
% line2 = ' < color : 0 befe7 > Splash Damage Taken < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 180 > % 2 < lmargin : 310 > % 3 < lmargin : 440 > % 4 ' ;
2019-11-20 19:43:50 +00:00
% line = ( % inc ! = - 1 ) ? % line2 : % line1 ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , getGameData ( % vClient , "SatchelInDmgTaken" , % game , % inc ) , getGameTotal ( % vClient , "SatchelInDmgTaken" , % game ) , getGameTotalAvg ( % vClient , "SatchelInDmgTaken" , % game ) , mFloatLength ( % vClient . SatchelInDmgTaken , 2 ) + 0 ) ;
2020-02-28 21:37:29 +00:00
case "LBOARDS" :
2020-03-05 06:51:16 +00:00
% lType = getField ( strreplace ( % client . GlArg4 , "-" , "\t" ) , 0 ) ;
% client . lgame = getField ( strreplace ( % client . GlArg4 , "-" , "\t" ) , 1 ) ;
2020-02-28 21:37:29 +00:00
% page = % client . GlArg5 ;
2020-03-05 06:51:16 +00:00
if ( % client . lgame $ = "" ) {
% client . lgame = % game ;
}
if ( ! % page ) {
% page = 1 ;
}
if ( $ lData : : hasData [ % lType , % client . lgame ] ) { // see if have data
% mon = getField ( $ lData : : mon [ % lType , % client . lgame , % page ] , 0 ) ;
% year = getField ( $ lData : : mon [ % lType , % client . lgame , % page ] , 1 ) ;
2020-02-28 21:37:29 +00:00
% client . curMon = % mon ;
% client . curYear = % year ;
% client . curLType = % lType ;
% client . curPage = % page ;
switch $ ( % lType ) {
case "day" :
% lTypeName = "Daily" ;
messageClient ( % client , ' SetScoreHudHeader ' , "" , ' < just : center > % 1 Leaderboards For % 2 ' , % lTypeName , "Day:" @ % mon ) ;
case "week" :
% lTypeName = "Weekly" ;
messageClient ( % client , ' SetScoreHudHeader ' , "" , ' < just : center > % 1 Leaderboards For % 2 ' , % lTypeName , "Week:" @ % mon ) ;
case "month" :
% lTypeName = "Monthly" ;
messageClient ( % client , ' SetScoreHudHeader ' , "" , ' < just : center > % 1 Leaderboards For % 2 ' , % lTypeName , monthString ( % mon ) ) ;
case "quarter" :
% lTypeName = "Quarterly" ;
messageClient ( % client , ' SetScoreHudHeader ' , "" , ' < just : center > % 1 Leaderboards For % 2 ' , % lTypeName , "Q:" @ % mon ) ;
case "year" :
% lTypeName = "Yearly" ;
messageClient ( % client , ' SetScoreHudHeader ' , "" , ' < just : center > % 1 Leaderboards For % 2 ' , % lTypeName , % year ) ;
}
if ( % client . isSuperAdmin ) {
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > < just : right > < a : gamelink \ tStats \ tVARLIST \ t % 1 \ t1 > VarList < / a > ' , % vClient , % lType ) ;
}
else {
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tView \ t % 1 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % lType ) ;
}
% header = ' < color : 0 befe7 > < lmargin : 50 > # < lmargin : 65 > % 2 < lmargin : 200 > Score < lmargin : 320 > Weapons < lmargin : 460 > Score ' ;
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header , % vClient , $ dtStats : : gtNameLong [ % client . lgame ] ) ;
2020-02-28 21:37:29 +00:00
for ( % i = 0 ; % i < 10 ; % i + + ) {
2020-03-05 06:51:16 +00:00
% scoreName = getField ( $ lData : : name [ "score" , % client . lgame , % lType , % mon , % year ] , % i ) ;
% gameScore = getField ( $ lData : : data [ "score" , % client . lgame , % lType , % mon , % year ] , % i ) ;
% wepName = getField ( $ lData : : name [ "weaponScore" , % client . lgame , % lType , % mon , % year ] , % i ) ;
% wepScore = getField ( $ lData : : data [ "weaponScore" , % client . lgame , % lType , % mon , % year ] , % i ) ;
if ( % gameScore ) {
% line = ' < font : univers condensed : 18 > < lmargin : 50 > % 3. < lmargin : 65 > < color : 0 befe7 > < clip : 138 > % 1 < / clip > < color : 03d 597 > < lmargin : 200 > % 4 < lmargin : 320 > < color : 0 befe7 > < clip : 138 > % 2 < / clip > < color : 03d 597 > < lmargin : 460 > % 5 ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % scoreName , % wepName , % i + 1 , % gameScore , mFloor ( % wepScore + 0.5 ) ) ;
}
else {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
}
2020-02-28 21:37:29 +00:00
}
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
% line = ' < just : center > < color : 0 befe7 > < a : gamelink \ tStats \ tGLBOARDS \ t % 1 > View More % 2 Categories < / a > ' ;
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , $ dtStats : : gtNameLong [ % client . lgame ] ) ;
2020-02-28 21:37:29 +00:00
% line = ' < just : center > < color : 0 befe7 > < a : gamelink \ tStats \ tWLBOARDS \ t % 1 > View More Weapons Categories < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient ) ;
2020-03-05 06:51:16 +00:00
% hasCount = 0 ; % line = "" ;
for ( % i = 0 ; % i < $ dtStats : : gameTypeCount ; % i + + ) {
if ( $ lData : : hasData [ % lType , $ dtStats : : gameType [ % i ] ] & & $ dtStats : : gameType [ % i ] ! $ = % client . lgame ) {
% hasCount + + ;
% line = % line @ "<a:gamelink\tStats\tLBOARDS\t" @ % vClient @ "\t" @ % lType @ "-" @ $ dtStats : : gameType [ % i ] @ "\t0>[" @ $ dtStats : : gtNameShort [ $ dtStats : : gameType [ % i ] ] @ "] </a>" ;
}
}
//error(%client.lgame SPC %game SPC %hasCount );
if ( % hasCount > 0 ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "<just:center>Switch Game Type" SPC % line ) ;
}
else {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
}
2020-02-28 21:37:29 +00:00
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
//error(%mon SPC %page SPC $lData::monCount[%client.lgame,%lType]);
if ( $ lData : : monCount [ % client . lgame , % lType ] > 1 ) {
2020-02-28 21:37:29 +00:00
if ( % page = = 1 ) {
2020-03-05 06:51:16 +00:00
% line = ' < just : center > Click on category to view more < just : right > < color : 0 befe7 > < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ t % 2 - % 4 \ t % 3 > Previous < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % lType , % page + 1 , % client . lgame ) ;
2020-02-28 21:37:29 +00:00
}
2020-03-05 06:51:16 +00:00
else if ( % page > = $ lData : : monCount [ % client . lgame , % lType ] ) {
% line = ' < just : center > Click on top category to view more < just : right > < color : 0 befe7 > < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ t % 2 - % 4 \ t % 3 > Next < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % lType , % page - 1 , % client . lgame ) ;
2020-02-28 21:37:29 +00:00
}
else {
2020-03-05 06:51:16 +00:00
% line = ' < just : center > Click on category to view more < just : right > < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ t % 2 - % 5 \ t % 3 > Next < / a > | < color : 0 befe7 > < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ t % 2 - % 5 \ t % 4 > Previous < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % lType , % page - 1 , % page + 1 , % client . lgame ) ;
2020-02-28 21:37:29 +00:00
}
}
else {
% line = ' < just : center > Click on category to view more ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line ) ;
}
}
2020-03-05 06:51:16 +00:00
else { //no data for selected game type
2020-02-28 21:37:29 +00:00
% header = ' < color : 0 befe7 > < just : center > No data at this time , check in 24 hours ' ;
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header , % i1 , % i2 , % i3 , % i4 + + , % i5 , % i6 , % i7 ) ;
% hasCount = 0 ; % line = "" ;
for ( % i = 0 ; % i < $ dtStats : : gameTypeCount ; % i + + ) {
if ( $ lData : : hasData [ % lType , $ dtStats : : gameType [ % i ] ] & & $ dtStats : : gameType [ % i ] ! $ = % client . lgame ) {
% hasCount + + ;
% line = % line @ "<a:gamelink\tStats\tLBOARDS\t" @ % vClient @ "\t" @ % lType @ "-" @ $ dtStats : : gameType [ % i ] @ "\t0>" @ $ dtStats : : gtNameShort [ $ dtStats : : gameType [ % i ] ] @ " </a>" ;
}
}
if ( % hasCount > 0 ) {
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "" ) ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < just : center > View other gametypes ' ) ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , "<just:center>" @ % line ) ;
}
2020-02-28 21:37:29 +00:00
}
case "GLBOARDS" :
% lType = % client . curLType ;
% page = % client . curPage ;
2020-03-05 06:51:16 +00:00
% mon = getField ( $ lData : : mon [ % lType , % client . lgame , % page ] , 0 ) ;
% year = getField ( $ lData : : mon [ % lType , % client . lgame , % page ] , 1 ) ;
2020-02-28 21:37:29 +00:00
% client . backPage = "GLBOARDS" ;
% NA = "N/A" ;
2020-03-05 06:51:16 +00:00
switch $ ( % client . lgame )
2020-02-29 20:45:58 +00:00
{
case "CTFGame" :
% gametype = "CTF" ;
case "SCtfGame" :
% gametype = "LCTF" ;
case "LakRabbitGame" :
% gametype = "Lak" ;
case "DMGame" :
% gametype = "DM" ;
case "ArenaGame" :
% gametype = "Arena" ;
case "DuelGame" :
% gametype = "Duel" ;
}
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>" @ % gametype SPC "Greatest Hits" ) ;
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ t % 3 - % 5 \ t % 4 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , $ dtStats : : topAmount , % lType , % page , % client . lgame ) ;
2020-02-28 21:37:29 +00:00
//exec("scripts/autoexec/zDarktigerStats.cs");
2020-03-05 06:51:16 +00:00
if ( % client . lgame $ = "CTFGame" | | % client . lgame $ = "SCtFGame" ) {
2020-02-28 21:37:29 +00:00
% line = "<color:0befe7><just:center>" @ % gametype SPC "Specific" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "winCount" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "winCount" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "destruction" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "destruction" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Win Count : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Destruction Count : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "winCount-Win Count-Total" , "destruction-Destruction Count-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "offenseScore" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "offenseScore" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "defenseScore" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "defenseScore" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Offense Score : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Defense Score : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "offenseScore-Offense Score-Total" , "defenseScore-Defense Score-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "flagDefends" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "flagDefends" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "flagReturns" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "flagReturns" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Flag Defends : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Flag Returns : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "flagDefends-Flag Defends-Total" , "flagReturns-Flag Returns-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "flagCaps" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "flagCaps" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "flagGrabs" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "flagGrabs" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Flags Caps : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Flag Grabs : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "flagCaps-Flag Caps-Total" , "flagGrabs-Flag Grabs-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "carrierKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "carrierKills" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "escortAssists" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "escortAssists" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Carrier Kills : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Escort Assists : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "carrierKills-Carrier Kills-Total" , "escortAssists-Escort Assists-Total" , % vClient ) ;
}
2020-03-05 06:51:16 +00:00
else if ( % client . lgame $ = "LakRabbitGame" ) {
2020-02-28 21:37:29 +00:00
% line = "<color:0befe7><just:center>" @ % gametype SPC "Specific" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "flagGrabs" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "flagGrabs" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "flagTimeMin" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "flagTimeMin" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Flag Grabs : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Flag Time : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "flagGrabs-Flag Grabs-Total" , "flagTimeMin-Flag Time-Total Minutes" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "MidairflagGrabs" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "MidairflagGrabs" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "mas" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "mas" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Midair Flag Grabs : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Midairs Hits : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "MidairflagGrabs-Midair Flag Grabs-Total" , "mas-Midairs Hits-Total" , % vClient ) ;
}
% line = "<color:0befe7><just:center>" @ % gametype SPC "Misc" ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "Kills" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "Kills" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "killStreakMax" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "killStreakMax" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Total Kills : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Kill Streak : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "kills-Total Kills-Total" , "killStreakMax-Kill Streak-Amount" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "scoreAVG" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "scoreAVG" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "scoreMax" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "scoreMax" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-03-29 07:11:30 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Score Average : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Highest Score : < color : 03d 597 > % 2 < / a > ' ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "scoreAVG-Score Average-Amount" , "scoreMax-Highest Score-Amount" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "EVKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "EVKills" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "overallACCAVG" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "overallACCAVG" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Environmental Kills : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Overall Accuracy : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "EVKills-Enviro Assisted Kills-Total" , "overallACCAVG-Overall Accuracy-Percentage" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "timeTLAVG" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "timeTLAVG" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "distMov" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "distMov" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Avg Survival Time : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Distance Traveled : < color : 03d 597 > % 2 < / a > ' ;
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "timeTLAVG-Average Survival Time-Seconds" , "distMov-Distance Traveled-Amount In Meters" , % vClient ) ;
2020-02-28 21:37:29 +00:00
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "airTime" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "airTime" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "groundTime" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "groundTime" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Air Time : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Ground Time : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "airTime-Air Time-EST Minutes " , "groundTime-Ground Time-EST Minutes" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "killAir" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "killAir" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "killGround" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "killGround" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Midair Kills : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Ground Kills : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "killAir-Midair Kills-Total" , "killGround-Ground Kills-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "totalMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "totalMA" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "inDirectHits" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "inDirectHits" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Total Midairs : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Total Hits : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "totalMA-Total Midairs-Total" , "inDirectHits-Total Indirect/Direct Hits-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "totalTime" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "totalTime" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "multiKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "multiKills" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Time Played : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Multi Kills : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "totalTime-Time Played-Total Minutes" , "multiKills-Multi Kills-Total" , % vClient ) ;
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' ' ) ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < just : center > Click on player name to view the top % 1 players ' , $ dtStats : : topAmount ) ;
case "WLBOARDS" :
% lType = % client . curLType ;
% page = % client . curPage ;
2020-03-05 06:51:16 +00:00
% mon = getField ( $ lData : : mon [ % lType , % client . lgame , % page ] , 0 ) ;
% year = getField ( $ lData : : mon [ % lType , % client . lgame , % page ] , 1 ) ;
2020-02-28 21:37:29 +00:00
% client . backPage = "WLBOARDS" ;
% NA = "N/A" ;
messageClient ( % client , ' SetScoreHudHeader ' , "" , ' < just : center > Weapons Greatest Hits ' ) ;
2020-03-05 06:51:16 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ t % 3 - % 5 \ t % 4 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , $ dtStats : : topAmount , % lType , % page , % client . lgame ) ;
2020-02-28 21:37:29 +00:00
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "minePlusDisc" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "minePlusDisc" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "discACC" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "discACC" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Mine Disc : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Disc Accuracy : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "minePlusDisc-Mine + Disc-Amount" , "discACCAVG-Spinfusor Accuracy-Percentage" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "weaponHitMaxDistMax" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "weaponHitMaxDistMax" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "maxSpeedMax" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "maxSpeedMax" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Longest Shot : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Highest Speed : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "weaponHitMaxDistMax-Longest Shot-Max Distance" , "maxSpeedMax-Highest Speed-Speed km/h" , % vClient ) ;
2020-04-06 21:48:01 +00:00
% i1 = getField ( $ lData : : data [ "totalWepDmg" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "totalWepDmg" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "shotsFired" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "shotsFired" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Most Damage : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Rounds Fired : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "totalWepDmg-Most Damage-Total" , "shotsFired-Most Rounds Fired-Total" , % vClient ) ;
2020-02-28 21:37:29 +00:00
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : data [ "shockRearShot" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "shockRearShot" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
% i2 = getField ( $ lData : : data [ "laserHeadShot" , % client . lgame , % lType , % mon , % year ] , 0 ) ? getField ( $ lData : : name [ "laserHeadShot" , % client . lgame , % lType , % mon , % year ] , 0 ) : % NA ;
2020-02-28 21:37:29 +00:00
% line = ' < font : univers condensed : 18 > < lmargin : 75 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 3 > < color : 0 befe7 > Rearshots : < color : 03d 597 > % 1 < / a > < lmargin : 350 > < a : gamelink \ tStats \ tLB \ t % 5 \ t % 4 > < color : 0 befe7 > Headshots : < color : 03d 597 > % 2 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , "shockRearShot-Rear Shocklance-Total" , "laserHeadShot-Laser Rifle Head Shots-Total" , % vClient ) ;
% header = ' < color : 0 befe7 > Weapon < lmargin : 140 > Kills < lmargin : 290 > MidAirs < lmargin : 440 > Combos ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : name [ "blasterKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i2 = getField ( $ lData : : name [ "blasterMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i3 = getField ( $ lData : : name [ "blasterCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d1 = getField ( $ lData : : data [ "blasterKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d2 = getField ( $ lData : : data [ "blasterMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d3 = getField ( $ lData : : data [ "blasterCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% i1 = % d1 ? % i1 : % NA ; % i2 = % d2 ? % i2 : % NA ; % i3 = % d3 ? % i3 : % NA ;
% line = ' < color : 0 befe7 > Blaster < lmargin : 140 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 4 > < color : 33 CCCC > < font : univers condensed : 18 > % 1 < / a > < lmargin : 290 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 5 > % 2 < / a > < lmargin : 440 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 6 > % 3 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , "blasterKills-Blaster Kills-Total" , "blasterMA-Blaster MidAirs-Total" , "blasterCom-Blaster Combos-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : name [ "plasmaKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i2 = getField ( $ lData : : name [ "plasmaMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i3 = getField ( $ lData : : name [ "plasmaCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d1 = getField ( $ lData : : data [ "plasmaKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d2 = getField ( $ lData : : data [ "plasmaMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d3 = getField ( $ lData : : data [ "plasmaCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% i1 = % d1 ? % i1 : % NA ; % i2 = % d2 ? % i2 : % NA ; % i3 = % d3 ? % i3 : % NA ;
% line = ' < color : 0 befe7 > Plasma Rifle < lmargin : 140 > < font : univers condensed : 18 > < color : 33 CCCC > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 4 > % 1 < / a > < lmargin : 290 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 5 > % 2 < / a > < lmargin : 440 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 6 > % 3 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , "plasmaKills-Plasma Rifle Kills-Total" , "plasmaMA-Plasma Rifle MidAirs-Total" , "plasmaCom-Plasma Rifle Combos-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : name [ "cgKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i2 = getField ( $ lData : : name [ "cgMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i3 = getField ( $ lData : : name [ "cgCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d1 = getField ( $ lData : : data [ "cgKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d2 = getField ( $ lData : : data [ "cgMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d3 = getField ( $ lData : : data [ "cgCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% i1 = % d1 ? % i1 : % NA ; % i2 = % d2 ? % i2 : % NA ; % i3 = % d3 ? % i3 : % NA ;
% line = ' < color : 0 befe7 > Chaingun < lmargin : 140 > < font : univers condensed : 18 > < color : 33 CCCC > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 4 > % 1 < / a > < lmargin : 290 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 5 > % 2 < / a > < lmargin : 440 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 6 > % 3 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , "cgKills-Chaingun Kills-Total" , "cgMA-Chaingun MidAirsTotal" , "cgCom-Chaingun Combos-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : name [ "discKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i2 = getField ( $ lData : : name [ "discMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i3 = getField ( $ lData : : name [ "discCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d1 = getField ( $ lData : : data [ "discKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d2 = getField ( $ lData : : data [ "discMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d3 = getField ( $ lData : : data [ "discCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% i1 = % d1 ? % i1 : % NA ; % i2 = % d2 ? % i2 : % NA ; % i3 = % d3 ? % i3 : % NA ;
% line = ' < color : 0 befe7 > Spinfusor < lmargin : 140 > < font : univers condensed : 18 > < color : 33 CCCC > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 4 > % 1 < / a > < lmargin : 290 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 5 > % 2 < / a > < lmargin : 440 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 6 > % 3 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , "discKills-Spinfusor Kills-Total" , "discMA-Spinfusor MidAirs-Total" , "discCom-Spinfusor Combos-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : name [ "grenadeKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i2 = getField ( $ lData : : name [ "grenadeMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i3 = getField ( $ lData : : name [ "grenadeCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d1 = getField ( $ lData : : data [ "grenadeKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d2 = getField ( $ lData : : data [ "grenadeMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d3 = getField ( $ lData : : data [ "grenadeCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% i1 = % d1 ? % i1 : % NA ; % i2 = % d2 ? % i2 : % NA ; % i3 = % d3 ? % i3 : % NA ;
% line = ' < color : 0 befe7 > Grenade Launcher < lmargin : 140 > < font : univers condensed : 18 > < color : 33 CCCC > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 4 > % 1 < / a > < lmargin : 290 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 5 > % 2 < / a > < lmargin : 440 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 6 > % 3 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , "grenadeKills-Grenade Launcher Kills-Total" , "grenadeMA-Grenade Launcher MidAirs-Total" , "grenadeCom-Grenade Launcher Combos-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : name [ "laserKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i2 = getField ( $ lData : : name [ "laserMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i3 = getField ( $ lData : : name [ "laserCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d1 = getField ( $ lData : : data [ "laserKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d2 = getField ( $ lData : : data [ "laserMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d3 = getField ( $ lData : : data [ "laserCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% i1 = % d1 ? % i1 : % NA ; % i2 = % d2 ? % i2 : % NA ; % i3 = % d3 ? % i3 : % NA ;
% line = ' < color : 0 befe7 > Laser Rifle < lmargin : 140 > < font : univers condensed : 18 > < color : 33 CCCC > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 4 > % 1 < / a > < lmargin : 290 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 5 > % 2 < / a > < lmargin : 440 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 6 > % 3 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , "laserKills-Laser Rifle Kills-Total" , "laserMA-Laser Rifle MidAirs-Total" , "laserCom-Laser Rifle Combos-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : name [ "mortarKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i2 = getField ( $ lData : : name [ "mortarMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i3 = getField ( $ lData : : name [ "mortarCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d1 = getField ( $ lData : : data [ "mortarKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d2 = getField ( $ lData : : data [ "mortarMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d3 = getField ( $ lData : : data [ "mortarCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% i1 = % d1 ? % i1 : % NA ; % i2 = % d2 ? % i2 : % NA ; % i3 = % d3 ? % i3 : % NA ;
% line = ' < color : 0 befe7 > Fusion Mortar < lmargin : 140 > < font : univers condensed : 18 > < color : 33 CCCC > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 4 > % 1 < / a > < lmargin : 290 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 5 > % 2 < / a > < lmargin : 440 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 6 > % 3 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , "mortarKills-Fusion Mortar Kills-Total" , "mortarMA-Fusion Mortar MidAirs-Total" , "mortarCom-Fusion Mortar Combos-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : name [ "missileKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i2 = getField ( $ lData : : name [ "missileMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i3 = getField ( $ lData : : name [ "missileCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d1 = getField ( $ lData : : data [ "missileKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d2 = getField ( $ lData : : data [ "missileMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d3 = getField ( $ lData : : data [ "missileCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% i1 = % d1 ? % i1 : % NA ; % i2 = % d2 ? % i2 : % NA ; % i3 = % d3 ? % i3 : % NA ;
% line = ' < color : 0 befe7 > Missile Launcher < lmargin : 140 > < font : univers condensed : 18 > < color : 33 CCCC > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 4 > % 1 < / a > < lmargin : 290 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 5 > % 2 < / a > < lmargin : 440 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 6 > % 3 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , "missileKills-Missile Launcher Kills-Total" , "missileMA-Missile Launcher MidAirs-Total" , "missileCom-Missile Launcher Combos-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : name [ "shockLanceKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i2 = getField ( $ lData : : name [ "shockMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i3 = getField ( $ lData : : name [ "shockCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d1 = getField ( $ lData : : data [ "shockLanceKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d2 = getField ( $ lData : : data [ "shockMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d3 = getField ( $ lData : : data [ "shockCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% i1 = % d1 ? % i1 : % NA ; % i2 = % d2 ? % i2 : % NA ; % i3 = % d3 ? % i3 : % NA ;
% line = ' < color : 0 befe7 > Shocklance < lmargin : 140 > < font : univers condensed : 18 > < color : 33 CCCC > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 4 > % 1 < / a > < lmargin : 290 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 5 > % 2 < / a > < lmargin : 440 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 6 > % 3 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , "shockLanceKills-Shocklance Kills-Total" , "shockMA-Shocklance MidAirs-Total" , "shockCom-Shocklance Combos-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : name [ "mineKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i2 = getField ( $ lData : : name [ "mineMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i3 = getField ( $ lData : : name [ "mineCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d1 = getField ( $ lData : : data [ "mineKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d2 = getField ( $ lData : : data [ "mineMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d3 = getField ( $ lData : : data [ "mineCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% i1 = % d1 ? % i1 : % NA ; % i2 = % d2 ? % i2 : % NA ; % i3 = % d3 ? % i3 : % NA ;
% line = ' < color : 0 befe7 > Mine < lmargin : 140 > < font : univers condensed : 18 > < color : 33 CCCC > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 4 > % 1 < / a > < lmargin : 290 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 5 > % 2 < / a > < lmargin : 440 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 6 > % 3 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , "mineKills-Mine Kills-Total" , "mineMA-Mine MidAirs-Total" , "mineCom-Mine Combos-Total" , % vClient ) ;
2020-03-05 06:51:16 +00:00
% i1 = getField ( $ lData : : name [ "hGrenadeKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i2 = getField ( $ lData : : name [ "hGrenadeMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% i3 = getField ( $ lData : : name [ "hGrenadeCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d1 = getField ( $ lData : : data [ "hGrenadeKills" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d2 = getField ( $ lData : : data [ "hGrenadeMA" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
% d3 = getField ( $ lData : : data [ "hGrenadeCom" , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% i1 = % d1 ? % i1 : % NA ; % i2 = % d2 ? % i2 : % NA ; % i3 = % d3 ? % i3 : % NA ;
% line = ' < color : 0 befe7 > Hand Grenade < lmargin : 140 > < font : univers condensed : 18 > < color : 33 CCCC > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 4 > % 1 < / a > < lmargin : 290 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 5 > % 2 < / a > < lmargin : 440 > < a : gamelink \ tStats \ tLB \ t % 7 \ t % 6 > % 3 < / a > ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i1 , % i2 , % i3 , "hGrenadeKills-Hand Grenade Kills-Total" , "hGrenadeMA-Hand Grenade MidAirs-Total" , "hGrenadeCom-Hand Grenade Combos-Total" , % vClient ) ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , ' < just : center > Click on player name to view the top % 1 players ' , $ dtStats : : topAmount ) ;
case "LB" : //listBoards
% lType = % client . curLType ;
% page = % client . curPage ;
2020-03-05 06:51:16 +00:00
% mon = getField ( $ lData : : mon [ % lType , % client . lgame , % page ] , 0 ) ;
% year = getField ( $ lData : : mon [ % lType , % client . lgame , % page ] , 1 ) ;
2020-02-28 21:37:29 +00:00
% GlArg4 = strreplace ( % client . GlArg4 , "-" , "\t" ) ;
% field = getField ( % GlArg4 , 0 ) ;
% name = getField ( % GlArg4 , 1 ) ;
% fieldName = getField ( % GlArg4 , 2 ) ;
2020-02-29 20:45:58 +00:00
messageClient ( % client , ' SetScoreHudHeader ' , "" , ' < just : center > % 2 ( Top % 1 Players ) ' , $ dtStats : : topAmount , % name ) ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetScoreHudSubheader ' , "" , ' < a : gamelink \ tStats \ t % 3 \ t % 1 \ t % 2 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > ' , % vClient , % lType , % client . backPage ) ;
% header = ' < color : 0 befe7 > < lmargin : 50 > # . < lmargin : 75 > % 1 < lmargin : 250 > % 2 ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % header , % name , % fieldName ) ;
for ( % i = 0 ; % i < $ dtStats : : topAmount ; % i + + ) {
2020-03-05 06:51:16 +00:00
% scoreName = getField ( $ lData : : name [ % field , % client . lgame , % lType , % mon , % year ] , % i ) ;
% gameScore = getField ( $ lData : : data [ % field , % client . lgame , % lType , % mon , % year ] , % i ) ;
2020-02-28 21:37:29 +00:00
if ( % gameScore ) {
2020-02-29 20:45:58 +00:00
% line = ' < color : 33 CCCC > < font : univers condensed : 18 > < lmargin : 50 > % 1. < lmargin : 75 > < clip : 138 > % 2 < / clip > < lmargin : 250 > < color : 03d 597 > % 3 ' ;
2020-02-28 21:37:29 +00:00
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % i + 1 , % scoreName , mFloor ( % gameScore + 0.5 ) ) ;
}
}
case "VARLIST" :
% vLPage = % client . GlArg4 ;
% lType = % client . curLType ;
% pagex = % client . curPage ;
2020-03-05 06:51:16 +00:00
% mon = getField ( $ lData : : mon [ % lType , % client . lgame , % pagex ] , 0 ) ;
% year = getField ( $ lData : : mon [ % lType , % client . lgame , % pagex ] , 1 ) ;
2020-02-28 21:37:29 +00:00
% client . backPage = "VARLIST" ;
% mon = % client . curMon ;
if ( % vLPage = = 0 ) { // back button was hit
% vLPage = % client . GlArg4 = % client . varListPage ; // set it to the last one we were on
}
if ( % vLPage $ = "" | | ! % client . varListPage ) {
% vLPage = 1 ;
}
% client . varListPage = % vLPage ; // update with current page
% perPage = 15 ; // num of games listed per page
2020-03-05 06:51:16 +00:00
if ( ! $ dtStats : : varCount [ % client . lgame ] ) {
$ dtStats : : varCount [ % client . lgame ] = - 1 ;
for ( % i = 1 ; % i < = $ dtStats : : FC [ % client . lgame ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , % client . lgame ] ;
$ dtStats : : varList [ % client . lgame , $ dtStats : : varCount [ % client . lgame ] + + ] = % val ;
2020-02-28 21:37:29 +00:00
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "dtStats" ] ; % i + + ) {
% val = $ dtStats : : FV [ % i , "dtStats" ] ;
2020-03-05 06:51:16 +00:00
$ dtStats : : varList [ % client . lgame , $ dtStats : : varCount [ % client . lgame ] + + ] = % val ;
2020-02-28 21:37:29 +00:00
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "max" ] ; % i + + ) {
% val = getField ( $ dtStats : : FV [ % i , "max" ] , 1 ) ;
2020-03-05 06:51:16 +00:00
$ dtStats : : varList [ % client . lgame , $ dtStats : : varCount [ % client . lgame ] + + ] = % val ;
2020-02-28 21:37:29 +00:00
}
for ( % i = 1 ; % i < = $ dtStats : : FC [ "avg" ] ; % i + + ) {
% val = getField ( $ dtStats : : FV [ % i , "avg" ] , 1 ) ;
2020-03-05 06:51:16 +00:00
$ dtStats : : varList [ % client . lgame , $ dtStats : : varCount [ % client . lgame ] + + ] = % val ;
2020-02-28 21:37:29 +00:00
}
}
messageClient ( % client , ' SetScoreHudHeader ' , "" , "<just:center>Variable List" ) ;
// messageClient( %client, 'SetScoreHudSubheader', "", '<a:gamelink\tStats\tLBOARDS\t%1\t%3> Back</a> - <a:gamelink\tStats\tReset\t%1>Return To Score Screen</a>',%vClient,$dtStats::topAmount,%lType);
if ( % vLPage = = 1 ) {
2020-03-05 06:51:16 +00:00
% line = ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ t % 3 - % 5 \ t % 4 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > - < a : gamelink \ tStats \ tVARLIST \ t % 1 \ t % 2 > Next Page > < / a > ' ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , % line , % vClient , % vLPage + 1 , % lType , % pagex , % client . lgame ) ;
2020-02-28 21:37:29 +00:00
}
2020-03-05 06:51:16 +00:00
else if ( % vLPage * % perPage > $ dtStats : : varCount [ % client . lgame ] ) {
% line = ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ t % 3 - % 5 \ t % 4 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > - < a : gamelink \ tStats \ tVARLIST \ t % 1 \ t % 2 > < Back Page < / a > < a : gamelink \ tStats \ tVARLIST \ t % 1 \ t1 > < Reset > < / a > ' ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , % line , % vClient , % vLPage - 1 , % lType , % pagex , % client . lgame ) ;
2020-02-28 21:37:29 +00:00
}
else if ( % vLPage > 1 ) {
2020-03-05 06:51:16 +00:00
% line = ' < a : gamelink \ tStats \ tLBOARDS \ t % 1 \ t % 4 - % 6 \ t % 5 > Back < / a > - < a : gamelink \ tStats \ tReset \ t % 1 > Return To Score Screen < / a > - < a : gamelink \ tStats \ tVARLIST \ t % 1 \ t % 2 \ > < Back Page < / a > | < a : gamelink \ tStats \ tVARLIST \ t % 1 \ t % 3 > Next Page > < / a > < a : gamelink \ tStats \ tVARLIST \ t % 1 \ t1 > < Reset > < / a > ' ;
messageClient ( % client , ' SetScoreHudSubheader ' , "" , % line , % vClient , % vLPage - 1 , % vLPage + 1 , % lType , % pagex , % client . lgame ) ;
2020-02-28 21:37:29 +00:00
}
2020-03-05 06:51:16 +00:00
% gc = $ dtStats : : varCount [ % client . lgame ] ;
2020-02-28 21:37:29 +00:00
error ( % vLPage ) ;
for ( % z = ( % vLPage - 1 ) * % perPage ; % z < % vLPage * % perPage & & % z < = % gc ; % z + + ) {
2020-03-05 06:51:16 +00:00
% var = $ dtStats : : varList [ % client . lgame , % z ] ;
% name = getField ( $ lData : : name [ % var , % client . lgame , % lType , % mon , % year ] , 0 ) ;
2020-02-28 21:37:29 +00:00
% line = ' < color : 0 befe7 > < lmargin : 50 > < a : gamelink \ tStats \ tLB \ t % 1 \ t % 3 \ t0 > % 2 < / a > < lmargin : 250 > % 4 ' ;
messageClient ( % client , ' SetLineHud ' , "" , % tag , % index + + , % line , % vClient , % var , % var @"-" @ % var @ "-Value" , % name ) ;
}
2019-11-06 16:21:22 +00:00
default : //fail safe / reset
2020-02-28 21:37:29 +00:00
% client . viewMenu = 0 ;
2019-03-13 00:10:12 +00:00
% client . viewClient = 0 ;
2020-02-28 21:37:29 +00:00
% client . viewStats = 0 ;
% client . lastPage = 1 ;
2020-03-05 06:51:16 +00:00
% client . lgame = % game ;
2020-02-28 21:37:29 +00:00
}
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// LeaderBoards
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
function lStatsCycle ( % build ) { // starts and manages the build/sort cycle
if ( $ dtStats : : debugEchos ) { error ( "lStatsCycle" SPC $ dtStats : : build [ "day" ] SPC $ dtStats : : week & & ! $ dtStats : : build [ "week" ] SPC
$ dtStats : : build [ "month" ] SPC $ dtStats : : build [ "quarter" ] SPC $ dtStats : : build [ "year" ] SPC $ dtStats : : lCount ) ; }
if ( % build ) { //reset
$ dtStats : : build [ "day" ] = 0 ;
$ dtStats : : build [ "week" ] = 0 ;
$ dtStats : : build [ "month" ] = 0 ;
$ dtStats : : build [ "quarter" ] = 0 ;
$ dtStats : : build [ "year" ] = 0 ;
$ dtStats : : lCount = 0 ;
}
if ( $ dtStats : : day > 0 & & ! $ dtStats : : build [ "day" ] ) {
% game = $ dtStats : : gameType [ $ dtStats : : lCount ] ;
if ( $ dtStats : : lCount + + > = $ dtStats : : gameTypeCount ) {
$ dtStats : : build [ "day" ] = 1 ; // mark as done
$ dtStats : : lCount = 0 ; // reset
}
preLoadStats ( % game , "day" ) ;
}
else if ( $ dtStats : : week > 0 & & ! $ dtStats : : build [ "week" ] ) {
% game = $ dtStats : : gameType [ $ dtStats : : lCount ] ;
if ( $ dtStats : : lCount + + > = $ dtStats : : gameTypeCount ) {
$ dtStats : : build [ "week" ] = 1 ; // mark as done
$ dtStats : : lCount = 0 ; // reset
}
preLoadStats ( % game , "week" ) ;
}
else if ( $ dtStats : : month > 0 & & ! $ dtStats : : build [ "month" ] ) {
% game = $ dtStats : : gameType [ $ dtStats : : lCount ] ;
if ( $ dtStats : : lCount + + > = $ dtStats : : gameTypeCount ) {
$ dtStats : : build [ "month" ] = 1 ; // mark as done
$ dtStats : : lCount = 0 ; // reset
}
preLoadStats ( % game , "month" ) ;
}
else if ( $ dtStats : : quarter > 0 & & ! $ dtStats : : build [ "quarter" ] ) {
% game = $ dtStats : : gameType [ $ dtStats : : lCount ] ;
if ( $ dtStats : : lCount + + > = $ dtStats : : gameTypeCount ) {
$ dtStats : : build [ "quarter" ] = 1 ; // mark as done
$ dtStats : : lCount = 0 ; // reset
}
preLoadStats ( % game , "quarter" ) ;
}
else if ( $ dtStats : : year > 0 & & ! $ dtStats : : build [ "year" ] ) {
% game = $ dtStats : : gameType [ $ dtStats : : lCount ] ;
if ( $ dtStats : : lCount + + > = $ dtStats : : gameTypeCount ) {
$ dtStats : : build [ "year" ] = 1 ; // mark as done
$ dtStats : : lCount = 0 ; // reset
}
preLoadStats ( % game , "year" ) ;
}
else {
if ( $ dtStats : : debugEchos ) { error ( "leaderBoards finished building" ) ; }
schedule ( 5000 , 0 , "loadLeaderboards" , 1 ) ; // reset and reload leaderboards
}
}
// only load one gameType/leaderboard at at time to reduce memory allocation
function preLoadStats ( % game , % lType ) { //queue up files for processing
if ( $ dtStats : : debugEchos ) { error ( "preLoadStats queuing up files for" SPC % game SPC % lType ) ; }
% folderPath = "serverStats/stats/" @ % game @ "/*t.cs" ;
% count = getFileCount ( % folderPath ) ;
if ( ! % count ) {
lStatsCycle ( 0 ) ;
}
if ( ! isObject ( serverStats ) ) { new SimGroup ( serverStats ) ; }
else { serverStats . delete ( ) ; new SimGroup ( serverStats ) ; }
for ( % i = 0 ; % i < % count ; % i + + ) {
% file = findNextfile ( % folderPath ) ;
schedule ( % i * 32 , 0 , "loadStatsData" , % file , % game , % lType , % i , % count ) ;
}
}
function markNewDay ( ) { // updates are dates when the server is ready to cycle over to a new day
$ dtStats : : curDay = getDayNum ( ) ;
$ dtStats : : curWeek = getWeekNum ( ) ;
$ dtStats : : curMonth = getMonthNum ( ) ;
$ dtStats : : curQuarter = getQuarterNum ( ) ;
$ dtStats : : curYear = getYear ( ) ;
if ( $ dtStats : : debugEchos ) { error ( "MarkNewDay =" SPC $ dtStats : : curDay SPC $ dtStats : : curWeek SPC $ dtStats : : curMonth SPC $ dtStats : : curQuarter SPC $ dtStats : : curYear ) ; }
}
// var old new old new old new old new old new
// var day day week week month month quarter quarter year year
// 0 1 2 3 4 5 6 7 8 9 10
function loadStatsData ( % filepath , % game , % lType , % fileNum , % total ) {
if ( $ dtStats : : debugEchos ) { error ( "loadStatsData" SPC % filePath SPC % fileNum SPC % total ) ; }
switch $ ( % lType ) {
case "day" : % mon = $ dtStats : : curDay ; % fieldOld = 1 ; % fieldNew = 2 ;
case "week" : % mon = $ dtStats : : curWeek ; % fieldOld = 3 ; % fieldNew = 4 ;
case "month" : % mon = $ dtStats : : curMonth ; % fieldOld = 5 ; % fieldNew = 6 ;
case "quarter" : % mon = $ dtStats : : curQuarter ; % fieldOld = 7 ; % fieldNew = 8 ;
case "year" : % mon = $ dtStats : : curYear ; % fieldOld = 9 ; % fieldNew = 10 ;
default : % mon = getMonthNum ( ) ; % fieldOld = 5 ; % fieldNew = 6 ;
}
% file = new FileObject ( ) ;
% file . OpenForRead ( % filepath ) ;
% day = strreplace ( % file . readline ( ) , "%t" , "\t" ) ; // read the first 3 lines to get are main data
if ( getFieldCount ( % day ) > = 9 ) {
% guid = getField ( strreplace ( getField ( strreplace ( % filepath , "/" , "\t" ) , 3 ) , "t" , "\t" ) , 0 ) ;
% gameCount = strreplace ( % file . readline ( ) , "%t" , "\t" ) ;
% name = getField ( strreplace ( % file . readline ( ) , "%t" , "\t" ) , 1 ) ;
% monOld = getField ( % day , % fieldOld ) ;
% monNew = getField ( % day , % fieldNew ) ; // should allways be this one
% found = - 1 ;
if ( % monNew = = % mon ) { % found = % fieldNew ; }
else if ( % monold = = % mon ) { % found = % fieldOld ; }
if ( % found > - 1 ) {
% obj = new scriptObject ( ) ;
serverStats . add ( % obj ) ;
% obj . name = % name ;
% obj . gameCount = getField ( % gameCount , % found ) ;
% obj . guid = % guid ;
while ( ! % file . isEOF ( ) ) {
% line = strreplace ( % file . readline ( ) , "%t" , "\t" ) ;
% var = getField ( % line , 0 ) ;
% obj . LStats [ % var , % game ] = getField ( % line , % found ) ;
}
}
}
% file . close ( ) ;
% file . delete ( ) ;
if ( % fileNum > = % total - 1 ) {
if ( serverStats . getCount ( ) ) { // make sure we have data to sort
sortLStats ( 1 , % game , % game , % lType ) ;
}
else {
if ( $ dtStats : : debugEchos ) { error ( "No Valid Data For" SPC % lType SPC % mon ) ; }
lStatsCycle ( 0 ) ;
}
}
}
function sortLStats ( % c , % cat , % game , % lType ) {
if ( $ dtStats : : debugEchos ) { error ( "sortLStats" SPC % c SPC % cat SPC % game SPC % lType ) ; }
if ( % cat $ = "max" | | % cat $ = "avg" ) { % var = getField ( $ dtStats : : FV [ % c , % cat ] , 1 ) ; }
else { % var = $ dtStats : : FV [ % c , % cat ] ; }
% sortCount = 0 ;
if ( ! isObject ( LFData ) ) {
switch $ ( % lType ) {
case "day" : % mon = $ dtStats : : curDay ;
case "week" : % mon = $ dtStats : : curWeek ;
case "month" : % mon = $ dtStats : : curMonth ;
case "quarter" : % mon = $ dtStats : : curQuarter ;
case "year" : % mon = $ dtStats : : curYear ;
default : error ( "ltype is not set" ) ; return ;
}
//%fc = getFileCount("serverStats/LData/-CTFGame*.cs");
new FileObject ( LFData ) ;
LFData . openForWrite ( "serverStats/lData/" @ "-" @ % game @ "-" @ % mon @ "-" @ $ dtStats : : curYear @ "-" @ % lType @"-.cs" ) ;
}
% n = % var @ "%tname" ; // name list
% s = % var @ "%tdata" ; // data list
% g = % var @ "%tguid" ; // data list
% statsCount = serverStats . getCount ( ) ;
for ( % i = 0 ; % i < % statsCount & & % i < $ dtStats : : topAmount ; % i + + ) { //selection sort
% maxCount = % i ;
for ( % j = % i + 1 ; % j < % statsCount ; % j + + ) {
if ( serverStats . getObject ( % j ) . LStats [ % var , % game ] > serverStats . getObject ( % maxCount ) . LStats [ % var , % game ] )
% maxCount = % j ;
}
% obj = serverStats . getObject ( % maxCount ) ;
serverStats . bringToFront ( % obj ) ; // push the ones we have sorted to the front so we dont pass over them again
% n = % n @ "%t" @ % obj . name ;
% s = % s @ "%t" @ % obj . LStats [ % var , % game ] ;
% g = % g @ "%t" @ % obj . guid ;
}
LFData . writeLine ( % n ) ;
LFData . writeLine ( % s ) ;
LFData . writeLine ( % g ) ;
if ( % cat ! $ = "dtStats" & & % cat ! $ = "max" & & % cat ! $ = "avg" & & % c > = $ dtStats : : FC [ % cat ] ) { // switch over to non game type stats
% c = 0 ;
% cat = "dtStats" ;
}
else if ( % cat $ = "dtStats" & & % c > = $ dtStats : : FC [ % cat ] ) {
% c = 0 ;
% cat = "max" ;
}
else if ( % cat $ = "max" & & % c > = $ dtStats : : FC [ % cat ] ) {
% c = 0 ;
% cat = "avg" ;
}
if ( % cat $ = "avg" & & % c > = $ dtStats : : FC [ % cat ] ) {
LFData . close ( ) ;
LFData . delete ( ) ;
lStatsCycle ( 0 ) ; // kick off the next one
}
else {
schedule ( 100 , 0 , "sortLStats" , % c + + , % cat , % game , % lType ) ; //keep at 100ms
}
}
function loadLeaderboards ( % reset ) { // loads up leaderboards
if ( $ dtStats : : debugEchos ) { error ( "loadLeaderboards reset =" SPC % reset ) ; }
if ( % reset ) { deleteVariables ( "$lData::*" ) ; }
if ( ! $ lData : : load ) { $ lData : : load = 1 ; }
else { return ; } // exit if we have all ready loaded
if ( $ dtStats : : sm ) {
dtCleanUp ( 0 ) ;
}
if ( ! isEventPending ( $ dtStats : : buildEvent ) ) {
$ dtStats : : buildEvent = schedule ( getTimeDif ( $ dtStats : : buildSetTime ) , 0 , "lStatsCycle" , 1 ) ;
}
markNewDay ( ) ; //called when server starts and when build completes
2020-03-15 19:34:27 +00:00
if ( isFile ( "serverStats/saveVars.cs" ) )
exec ( "serverStats/saveVars.cs" ) ;
2020-02-28 21:37:29 +00:00
% oldFileCount = 0 ;
% file = new FileObject ( ) ;
% folderPath = "serverStats/LData/*.cs" ;
% count = getFileCount ( % folderPath ) ;
for ( % i = 0 ; % i < % count ; % i + + ) {
% filepath = findNextfile ( % folderPath ) ;
% fieldPath = strreplace ( % filePath , "-" , "\t" ) ;
% game = getField ( % fieldPath , 1 ) ;
% mon = getField ( % fieldPath , 2 ) ; // 0 path / 1 game / 2 mon / 3 year / 4 type / 5 .cs
% year = getField ( % fieldPath , 3 ) ;
% lType = getField ( % fieldPath , 4 ) ;
//echo(isFileExpired(%lType,%mon,%year) SPC %lType SPC %mon SPC %year);
if ( ! isFileExpired ( % lType , % mon , % year ) ) {
$ lData : : mon [ % lType , % game , $ lData : : monCount [ % game , % lType ] + + ] = % mon TAB % year ;
if ( ! $ lData : : hasData [ % lType , % game ] ) {
% sortArray [ % sortCount + + ] = % lType TAB % game ;
}
$ lData : : hasData [ % lType , % game ] = 1 ;
% file . OpenForRead ( % filepath ) ;
while ( ! % file . isEOF ( ) ) {
% line = strreplace ( % file . readline ( ) , "%t" , "\t" ) ;
% var = getField ( % line , 0 ) ;
% stack = getField ( % line , 1 ) ;
if ( % stack $ = "data" ) {
% data = getFields ( % line , 2 , getFieldCount ( % line ) - 1 ) ;
$ lData : : data [ % var , % game , % lType , % mon , % year ] = % data ;
}
else if ( % stack $ = "guid" ) {
% guid = getFields ( % line , 2 , getFieldCount ( % line ) - 1 ) ;
$ lData : : guid [ % var , % game , % lType , % mon , % year ] = % guid ;
}
else if ( % stack $ = "name" ) {
% name = getFields ( % line , 2 , getFieldCount ( % line ) - 1 ) ;
$ lData : : name [ % var , % game , % lType , % mon , % year ] = % name ;
}
}
% file . close ( ) ;
}
else { // not valid any more delete;
if ( $ dtStats : : lsm ) {
if ( $ dtStats : : debugEchos ) { error ( "Deleting old file" SPC % filepath ) ; }
schedule ( ( % i + 1 ) * 1000 , 0 , "deleteFile" , % filepath ) ;
}
else {
% oldFileCount + + ;
}
}
}
% file . close ( ) ;
% file . delete ( ) ;
error ( "Found" SPC % oldFileCount SPC "Expired Leaderboard Files" ) ;
if ( % sortCount > 1 ) { // sorts what the data we loaded by date as windows vs linux will return diffrent file orders
for ( % i = 1 ; % i < = % sortCount ; % i + + ) {
sortMon ( getField ( % sortArray [ % i ] , 0 ) , getField ( % sortArray [ % i ] , 1 ) ) ;
}
}
} schedule ( 5000 , 0 , "loadLeaderboards" , 0 ) ; // delay this so supporting functions are exec first
2020-03-15 19:34:27 +00:00
function sortMon ( % lType , % game ) {
2020-02-28 21:37:29 +00:00
% n = $ lData : : monCount [ % game , % lType ] ;
if ( % n > 1 ) { //make sure we have enough elments worth sorting
for ( % i = 1 ; % i < = % n - 1 ; % i + + ) { //sort by %ltype first
% m = % i ;
for ( % j = % i + 1 ; % j < = % n ; % j + + )
if ( getField ( $ lData : : mon [ % lType , % game , % j ] , 0 ) > getField ( $ lData : : mon [ % lType , % game , % m ] , 0 ) )
% m = % j ;
% low = $ lData : : mon [ % lType , % game , % m ] ;
% high = $ lData : : mon [ % lType , % game , % i ] ;
$ lData : : mon [ % lType , % game , % m ] = % high ;
$ lData : : mon [ % lType , % game , % i ] = % low ;
}
for ( % i = 1 ; % i < = % n - 1 ; % i + + ) { // sort by year
% m = % i ;
for ( % j = % i + 1 ; % j < = % n ; % j + + )
if ( getField ( $ lData : : mon [ % lType , % game , % j ] , 1 ) > getField ( $ lData : : mon [ % lType , % game , % m ] , 1 ) )
% m = % j ;
% low = $ lData : : mon [ % lType , % game , % m ] ;
% high = $ lData : : mon [ % lType , % game , % i ] ;
$ lData : : mon [ % lType , % game , % m ] = % high ;
$ lData : : mon [ % lType , % game , % i ] = % low ;
}
}
//debug
//for (%i = 1; %i <= %n; %i++){echo($lData::mon[%lType, %game,%i] SPC %game);}
}
function dtCleanUp ( % force ) {
% filename = "serverStats/stats/*t.cs" ;
% count = getFileCount ( % filename ) ;
% file = new FileObject ( ) ;
% oldFileCount = 0 ;
for ( % i = 0 ; % i < % count ; % i + + ) {
% filepath = findNextfile ( % filename ) ;
% file . OpenForRead ( % filepath ) ;
% dateLine = strreplace ( % file . readline ( ) , "%t" , "\t" ) ;
% day = getField ( % dateLine , 2 ) ;
// %month = getField(%dateLine,6);
% year = getField ( % dateLine , 10 ) ;
% file . close ( ) ;
//%d0 TAB %d1 TAB %w0 TAB %w1 TAB %m0 TAB %m1 TAB %q0 TAB %q1 TAB %y0 TAB %y1;
//echo(isFileExpired("expire",%day,%year) SPC %day SPC %year);
if ( isFileExpired ( "expire" , % day , % year ) ) {
if ( $ dtStats : : sm | | % force ) {
if ( $ dtStats : : debugEchos ) { error ( "Deleting old file" SPC % filepath ) ; }
if ( isFile ( % filepath ) ) {
schedule ( % v + + * 500 , 0 , "deleteFile" , % filepath ) ;
}
% gPath = strreplace ( % filepath , "t.cs" , "g.cs" ) ;
if ( isFile ( % gPath ) ) {
schedule ( % v + + * 500 , 0 , "deleteFile" , % gPath ) ;
}
}
else {
% oldFileCount + + ;
}
}
}
if ( $ dtStats : : sm | | % force ) {
error ( "Found" SPC % oldFileCount SPC "Expired Player Files" ) ;
2019-03-10 16:58:05 +00:00
}
2020-02-28 21:37:29 +00:00
else {
error ( "Found" SPC % oldFileCount SPC "Expired Player Files, Type dtCleanUp(1) to force clean and delete" ) ;
}
% file . delete ( ) ;
2019-03-10 16:58:05 +00:00
}
2020-02-28 21:37:29 +00:00
function isFileExpired ( % lType , % d , % year ) {
switch $ ( % lType ) {
case "expire" :
if ( $ dtStats : : expire > 1 ) {
% dif = $ dtStats : : curYear - % year ;
% days + = 365 * ( % dif - 1 ) ;
% days + = 366 - % d ;
% days + = $ dtStats : : curDay ;
if ( % days > $ dtStats : : expire ) {
return 1 ;
}
else {
return 0 ;
}
}
else {
return 1 ;
}
case "day" :
if ( $ dtStats : : day > 1 ) {
% dif = $ dtStats : : curYear - % year ;
% days + = 365 * ( % dif - 1 ) ;
% days + = 366 - % d ;
% days + = $ dtStats : : curDay ;
if ( % days > $ dtStats : : day ) {
return 1 ;
}
else {
return 0 ;
}
}
else {
return 1 ;
}
case "week" :
if ( $ dtStats : : week > 1 ) {
% dif = $ dtStats : : curYear - % year ;
% days + = 53 * ( % dif - 1 ) ;
% days + = 54 - % d ;
% days + = $ dtStats : : curWeek ;
if ( % days > $ dtStats : : week ) {
return 1 ;
}
else {
return 0 ;
}
}
else {
return 1 ;
}
case "month" :
if ( $ dtStats : : month > 1 ) {
% dif = $ dtStats : : curYear - % year ;
% days + = 12 * ( % dif - 1 ) ;
% days + = 13 - % d ;
% days + = $ dtStats : : curMonth ;
//error(%days);
if ( % days > $ dtStats : : month ) {
return 1 ;
}
else {
return 0 ;
}
}
else {
return 1 ;
}
case "quarter" :
if ( $ dtStats : : quarter > 1 ) {
% dif = $ dtStats : : curYear - % year ;
% days + = 4 * ( % dif - 1 ) ;
% days + = 5 - % d ;
% days + = $ dtStats : : curQuarter ;
if ( % days > $ dtStats : : quarter ) {
return 1 ;
}
else {
return 0 ;
}
}
else {
return 1 ;
}
case "year" :
% mon = $ dtStats : : curYear - % val ;
if ( % mon < = $ dtStats : : year ) {
return 0 ;
}
}
return 1 ;
}