From 87ceb403047e69c86d005c570de6cdbfa8f4b27f Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Tue, 21 Jan 2025 19:59:53 -0500 Subject: [PATCH 01/60] Take out --- Classic/scripts/SCtFGame.cs | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/Classic/scripts/SCtFGame.cs b/Classic/scripts/SCtFGame.cs index 0428d5f..4964406 100644 --- a/Classic/scripts/SCtFGame.cs +++ b/Classic/scripts/SCtFGame.cs @@ -262,35 +262,6 @@ package SCtFGame if(isEventPending(%obj.lavaEnterThread)) cancel(%obj.lavaEnterThread); } - - function ProjectileData::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal) - { - if(!isObject(%targetObject) && !isObject(%projectile.sourceObject)) - return; - if(!(%targetObject.getType() & ($TypeMasks::StaticTSObjectType | $TypeMasks::InteriorObjectType | - $TypeMasks::TerrainObjectType | $TypeMasks::WaterObjectType))) - { - if(%projectile.sourceObject.team !$= %targetObject.team) - { - if(%targetObject.getDataBlock().getClassName() $= "PlayerData" && %data.getName() $= "DiscProjectile") - { - %mask = $TypeMasks::StaticShapeObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::TerrainObjectType; - %start = %targetObject.getWorldBoxCenter(); - %distance = mFloor(VectorDist(%start, %projectile.initialPosition)); - %end = getWord(%start, 0) SPC getWord(%start, 1) SPC getWord(%start, 2) - 15; - %grounded = ContainerRayCast(%start, %end, %mask, 0); - if(!%grounded) - { - %projectile.sourceObject.client.scoreMidAir++; - messageClient(%projectile.sourceObject.client, 'MsgMidAir', '\c0You received a %1 point bonus for a successful mid air shot.', Game.SCORE_PER_MIDAIR, %data.radiusDamageType, %distance); - messageTeamExcept(%projectile.sourceObject.client, 'MsgMidAir', '\c5%1 hit a mid air shot.', %projectile.sourceObject.client.name, %data.radiusDamageType, %distance); - Game.recalcScore(%projectile.sourceObject.client); - } - } - } - Parent::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal); - } - } }; ///////////////////////////////////////////////////////////////////////////////////////// From 09c8f36e5927f3841be5b609da94b95835294896 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Tue, 21 Jan 2025 20:00:28 -0500 Subject: [PATCH 02/60] Flag Transform Back to 100 --- Classic/scripts/CTFGame.cs | 2 +- Classic/scripts/LakRabbitGame.cs | 2 +- Classic/scripts/SCtFGame.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Classic/scripts/CTFGame.cs b/Classic/scripts/CTFGame.cs index 5bd2c35..95373d2 100755 --- a/Classic/scripts/CTFGame.cs +++ b/Classic/scripts/CTFGame.cs @@ -528,7 +528,7 @@ function CTFGame::playerLostFlagTarget(%game, %player) function CTFGame::updateFlagTransform(%game, %flag) { %flag.setTransform(%flag.getTransform()); - %game.updateFlagThread[%flag] = %game.schedule(256, "updateFlagTransform", %flag); + %game.updateFlagThread[%flag] = %game.schedule(100, "updateFlagTransform", %flag); } //---------------------------------------------------------------------------------------- diff --git a/Classic/scripts/LakRabbitGame.cs b/Classic/scripts/LakRabbitGame.cs index 897f929..c7c9e5c 100644 --- a/Classic/scripts/LakRabbitGame.cs +++ b/Classic/scripts/LakRabbitGame.cs @@ -1731,7 +1731,7 @@ function LakRabbitGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, function LakRabbitGame::updateFlagTransform(%game, %flag) { %flag.setTransform(%flag.getTransform()); - %game.updateFlagThread[%flag] = %game.schedule(256, "updateFlagTransform", %flag); + %game.updateFlagThread[%flag] = %game.schedule(100, "updateFlagTransform", %flag); } function LakRabbitGame::playerDroppedFlag(%game, %player) diff --git a/Classic/scripts/SCtFGame.cs b/Classic/scripts/SCtFGame.cs index 4964406..4a3a74e 100644 --- a/Classic/scripts/SCtFGame.cs +++ b/Classic/scripts/SCtFGame.cs @@ -577,7 +577,7 @@ function SCtFGame::playerLostFlagTarget(%game, %player) function SCtFGame::updateFlagTransform(%game, %flag) { %flag.setTransform(%flag.getTransform()); - %game.updateFlagThread[%flag] = %game.schedule(256, "updateFlagTransform", %flag); + %game.updateFlagThread[%flag] = %game.schedule(100, "updateFlagTransform", %flag); } function SCtFGame::playerDroppedFlag(%game, %player) From fddf75eb067f348b1517e30262c412d7490690d9 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 25 Jan 2025 14:58:19 -0500 Subject: [PATCH 03/60] Tank explosion Changed to give more time --- Classic/scripts/autoexec/TacoOverrides.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classic/scripts/autoexec/TacoOverrides.cs b/Classic/scripts/autoexec/TacoOverrides.cs index 5b995b1..640ee4b 100644 --- a/Classic/scripts/autoexec/TacoOverrides.cs +++ b/Classic/scripts/autoexec/TacoOverrides.cs @@ -77,7 +77,7 @@ function VehicleData::onDestroyed(%data, %obj, %prevState) //%data.schedule(500, 'onAvoidCollisions', %obj); //Transfer the vehicle far away - %obj.schedule(1, "setPosition", vectorAdd(%obj.getPosition(), "40 -27 10000")); //Lowered: was 500 + %obj.schedule(128, "setPosition", vectorAdd(%obj.getPosition(), "40 -27 10000")); //Lowered: was 500 } else if(%data.getName() $="BomberFlyer" || %data.getName() $="MobileBaseVehicle") { @@ -86,7 +86,7 @@ function VehicleData::onDestroyed(%data, %obj, %prevState) //%data.schedule(500, 'onAvoidCollisions', %obj); //Transfer the vehicle far away - %obj.schedule(100, "setPosition", vectorAdd(%obj.getPosition(), "40 -27 10000")); //Lowered: was 500 + %obj.schedule(128, "setPosition", vectorAdd(%obj.getPosition(), "40 -27 10000")); //Lowered: was 500 } else { From 50cdb905bb306342b651de4b2d99ca3e24b9ee36 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 8 Feb 2025 14:33:47 -0500 Subject: [PATCH 04/60] Update z_dtStats.cs --- Classic/scripts/autoexec/z_dtStats.cs | 6854 +++++++++++++++---------- 1 file changed, 4217 insertions(+), 2637 deletions(-) diff --git a/Classic/scripts/autoexec/z_dtStats.cs b/Classic/scripts/autoexec/z_dtStats.cs index 3799ddf..e7770ce 100644 --- a/Classic/scripts/autoexec/z_dtStats.cs +++ b/Classic/scripts/autoexec/z_dtStats.cs @@ -1,3 +1,4 @@ + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Stats system for classic and base // Script BY: DarkTiger @@ -9,14 +10,15 @@ // Version 6.0 - Lan & Bot Support / Leaderboard / Stats Storage Overhaul / Optimization / Fixes // Version 7.0 - Code refactor / Heavy Optimization / Map Stats / Server Stats / Fixes / Misc other features // Version 8.0 - More Stats / Fixes / Server Event Log -// Version 9.0 - Misc Fixes / Map Stats Removed -// Version 10.0 - Final Code refactor / Optimizing / New Features +// Version 9.0 - Misc Fixes / Map Stats Removed +// Version 10.0 - Final Code refactor / Optimizing / New Features // Note See bottom of file for full log ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //-----------Settings----------- -$dtStats::version = 10.3; +$dtStats::version = 10.47; //disable stats system $dtStats::Enable = $Host::dtStatsEnable $= "" ? ($Host::dtStatsEnable = 1) : $Host::dtStatsEnable; +if(!$dtStats::Enable){ return;}// so it disables with a restart //set max number of individual game to record //Note only tested to 100 games, hard cap at 300 $dtStats::MaxNumOfGames = 100; @@ -24,20 +26,23 @@ $dtStats::MaxNumOfGames = 100; //how high the player has to be off the ground before it will count $dtStats::midAirHeight = 10; -//only enable if evo system is not available +//only enable if evo system is not available $dtStats::midAirMessage = $Host::dtStatsMidAirMessage $= "" ? ($Host::dtStatsMidAirMessage = 1) : $Host::dtStatsMidAirMessage; //capture best cap times restart required if changed -//only enable if evo system is not available +//only enable if evo system is not available $dtStats::ctfTimes = $Host::dtStatsCTFTimes $= "" ? ($Host::dtStatsCTFTimes = 1) : $Host::dtStatsCTFTimes; //number of players before it starts counting captimes $dtStats::ctfTimesPlayerLimit = $Host::dtStatsCTFTimesPlayerLimit $= "" ? ($Host::dtStatsCTFTimesPlayerLimit = 8) : $Host::dtStatsCTFTimesPlayerLimit; //converts the debrief into easer to read teams for ctf and lctf $dtStats::teamDebrief = $Host::dtStatsTeamDebrief $= "" ? ($Host::dtStatsTeamDebrief = 1) : $Host::dtStatsTeamDebrief; -//extends the debrief with extra stats done in the evo style +//extends the debrief with extra stats done in the evo style $dtStats::evoStyleDebrief = $Host::dtStatsEvoStyleDebrief $= "" ? ($Host::dtStatsEvoStyleDebrief = 1) : $Host::dtStatsEvoStyleDebrief ; +//extends the debrief with extra stats done in the evo style +$dtStats::arenaKDRStats = $Host::dtStatsArenaKDRStats $= "" ? ($Host::dtStatsArenaKDRStats = 1) : $Host::dtStatsArenaKDRStats ; + // 30 sec min after not making an action reset $dtStats::returnToMenuTimer = (60*1000); @@ -45,15 +50,15 @@ $dtStats::returnToMenuTimer = (60*1000); $dtStats::saveTime = 64; //auto compiles tournament stats with main stats' -//Note atm tournament stats is hard coded and setup only for CTF -//outputs a ppm image in serverStats/statsImg this can be open/converted with most editors +//Note atm tournament stats is hard coded and setup only for CTF +//outputs a ppm image in serverStats/statsImg this can be open/converted with most editors $dtStats::tmModeCompile = 1; - +$dtStats::tmMode = 0; //minimum number avg data to consider for leaderboards $dtStats::minAvg = 8; //minimum number of games for leaderboards -$dtStats::minGame = 2; +$dtStats::minGame = 1; //sorting speed $dtStats::sortSpeed = 64; @@ -66,25 +71,24 @@ $dtStats::buildSetTime = $Host::dtStatsBuildSetTime $= "" ? ($Host::dtStatsBuild // top 15 players per cat, best not to change $dtStats::topAmount = 15; -$dtStats::joinHist = 144;//51 per page +$dtStats::joinHist = 144;//51 per page $dtStats::BanListFile = $Host::dtStatsBanListFile $= "" ? ($Host::dtStatsBanListFile = "prefs/dtBanlist.cs") : $Host::dtStatsBanListFile; $dtStats::IPBanListFile = $Host::dtStatsIPBanListFile $= "" ? ($Host::dtStatsIPBanListFile = "prefs/ipList.txt") : $Host::dtStatsIPBanListFile; $dtStats::WhtListFile = $Host::dtStatsWhtListFile $= "" ? ($Host::dtStatsWhtListFile = "prefs/whtList.cs") : $Host::dtStatsWhtListFile; - //File maintainers to deletes old files $dtStats::fm = 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 +$dtStats::day = 0;//not used +$dtStats::week = 12;//~53 +$dtStats::month = 4; //-12 +$dtStats::quarter = 0;//not used +$dtStats::year = 0;//not used // you gain extra days based on time played extra days = gameCount * expireFactor; // example being 100 games * factor of 0.596 = will gain you 60 extra days but if its over the 90 day max it will be deleted $dtStats::expireMax = 90; -$dtStats::expireMin = 15; +$dtStats::expireMin = 15; $dtStats::expireFactor["CTFGame"] = 0.596; $dtStats::expireFactor["LakRabbitGame"] = 2; $dtStats::expireFactor["DMGame"] = 6; @@ -94,15 +98,11 @@ $dtStats::expireFactor["ArenaGame"] = 2; $dtStats::expireFactor["SiegeGame"] = 10; //debug stuff +$dtStats::dev = isFile("scripts/autoexec/dev.cs"); $Host::ShowIngamePlayerScores = 1; $dtStats::enableRefresh = 0;// keep off unless testing, auto updates the score hud when open -$dtStats::debugEchos = 0;// echos function calls -//$dtStats::returnToMenuTimer = (60*1000); -$pref::NoClearConsole = 1; -//setLogMode(1); -//$AIDisableChat = 1; -//dbgSetParameters(6060,"password"); - +$dtStats::debugEchos = $dtStats::dev;// echos function calls +$dtStats::returnToMenuTimer = ($dtStats::dev == 1) ? ((60*1000) * 30) : ((60*1000)* 2); //--------------------------------- // Torque Markup Language - TML @@ -153,25 +153,29 @@ $dtStats::gameType[0] = "CTFGame"; $dtStats::gameType[1] = "LakRabbitGame"; $dtStats::gameType[2] = "DMGame"; $dtStats::gameType[3] = "LCTFGame"; -$dtStats::gameType[4] = "ArenaGame"; -$dtStats::gameType[5] = "SCtFGame"; +$dtStats::gameType[4] = "SCtFGame"; +$dtStats::gameType[5] = "ArenaGame"; //$dtStats::gameType[5] = "SiegeGame"; -$dtStats::gameTypeCount = 5; +$dtStats::gameTypeCount = 6; //short hand name $dtStats::gtNameShort["CTFGame"] = "CTF"; $dtStats::gtNameShort["LakRabbitGame"] = "LakRabbit"; $dtStats::gtNameShort["DMGame"] = "DM"; $dtStats::gtNameShort["LCTFGame"] = "LCTF"; -$dtStats::gtNameShort["ArenaGame"] = "Arena"; $dtStats::gtNameShort["SCtFGame"] = "LCTF"; +$dtStats::gtNameShort["ArenaGame"] = "Arena"; //$dtStats::gtNameShort["SiegeGame"] = "Siege"; + +$dtStats::gtNameType["CTF"] = "CTFGame"; +$dtStats::gtNameType["LCTF"] = "SCtFGame"; +$dtStats::gtNameType["Arena"] = "ArenaGame"; //Display name $dtStats::gtNameLong["CTFGame"] = "Capture the Flag"; $dtStats::gtNameLong["LakRabbitGame"] = "LakRabbit"; $dtStats::gtNameLong["DMGame"] = "Deathmatch"; $dtStats::gtNameLong["LCTFGame"] = "Light CTF"; -$dtStats::gtNameLong["ArenaGame"] = "Arena"; $dtStats::gtNameLong["SCtFGame"] = "Light CTF"; +$dtStats::gtNameLong["ArenaGame"] = "Arena"; //$dtStats::gtNameLong["SiegeGame"] = "Siege"; //varTypes @@ -184,7 +188,7 @@ $dtStats::varType[5] = "Avg"; //Average value $dtStats::varType[6] = "AvgI";//Average value sorted inverse $dtStats::varTypeCount = 7; -function dtStatsResetGobals(){ +function dtStatsResetGobals(){ for(%v = 0; %v < $dtStats::varTypeCount; %v++){ %varType = $dtStats::varType[%v]; $dtStats::FC[%varType] = 0; @@ -531,7 +535,7 @@ $dtStats::FV[$dtStats::FC["SCtFGame","TG"]++,"SCtFGame","TG"] = "flagTimeMin"; /////////////////////////////////////////////////////////////////////////////// // LakRabbit /////////////////////////////////////////////////////////////////////////////// -//Game type values - out of LakRabbitGame.cs +//Game type values - out of LakRabbitGame.cs %client.dtStats.stat["score"] = %client.score; $dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "score"; $dtStats::FVG[$dtStats::FCG["LakRabbitGame","Avg"]++,"LakRabbitGame","Avg"] = "score"; $dtStats::FVG[$dtStats::FCG["LakRabbitGame","Max"]++,"LakRabbitGame","Max"] = "score"; @@ -543,18 +547,17 @@ $dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "mor $dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "mas"; $dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "MidairflagGrabs"; $dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "MidairflagGrabPoints"; +$dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "flagTimeMS"; +$dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "totalChainAccuracy"; +$dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "totalChainHits"; +$dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "totalSnipeHits"; +$dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "totalSnipes"; +$dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "totalSpeed"; +$dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "totalDistance"; +$dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "totalShockHits"; +$dtStats::FVG[$dtStats::FCG["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "totalShocks"; $dtStats::FV[$dtStats::FC["LakRabbitGame","TG"]++,"LakRabbitGame","TG"] = "flagTimeMin"; - -$dtStats::uGFV[$dtStats::uGFC["LakRabbitGame"]++,"LakRabbitGame"] = "flagTimeMS"; -$dtStats::uGFV[$dtStats::uGFC["LakRabbitGame"]++,"LakRabbitGame"] = "totalChainAccuracy"; -$dtStats::uGFV[$dtStats::uGFC["LakRabbitGame"]++,"LakRabbitGame"] = "totalChainHits"; -$dtStats::uGFV[$dtStats::uGFC["LakRabbitGame"]++,"LakRabbitGame"] = "totalSnipeHits"; -$dtStats::uGFV[$dtStats::uGFC["LakRabbitGame"]++,"LakRabbitGame"] = "totalSnipes"; -$dtStats::uGFV[$dtStats::uGFC["LakRabbitGame"]++,"LakRabbitGame"] = "totalSpeed"; -$dtStats::uGFV[$dtStats::uGFC["LakRabbitGame"]++,"LakRabbitGame"] = "totalDistance"; -$dtStats::uGFV[$dtStats::uGFC["LakRabbitGame"]++,"LakRabbitGame"] = "totalShockHits"; -$dtStats::uGFV[$dtStats::uGFC["LakRabbitGame"]++,"LakRabbitGame"] = "totalShocks"; /////////////////////////////////////////////////////////////////////////////// // DMGame /////////////////////////////////////////////////////////////////////////////// @@ -592,6 +595,14 @@ $dtStats::FV[$dtStats::FC["ArenaGame","TG"]++,"ArenaGame","TG"] = "timeOnTeamZer $dtStats::FV[$dtStats::FC["ArenaGame","TG"]++,"ArenaGame","TG"] = "timeOnTeamOne"; $dtStats::FV[$dtStats::FC["ArenaGame","TG"]++,"ArenaGame","TG"] = "timeOnTeamTwo"; $dtStats::FV[$dtStats::FC["ArenaGame","TG"]++,"ArenaGame","TG"] = "matchRunTime"; +$dtStats::FV[$dtStats::FC["ArenaGame","AVG"]++,"ArenaGame","AVG"] = "WLR"; +$dtStats::FV[$dtStats::FC["ArenaGame","AVG"]++,"ArenaGame","AVG"] = "discMARatio"; +$dtStats::FV[$dtStats::FC["ArenaGame","AVG"]++,"ArenaGame","AVG"] = "plasmaMARatio"; +$dtStats::FV[$dtStats::FC["ArenaGame","AVG"]++,"ArenaGame","AVG"] = "laserMARatio"; +$dtStats::FV[$dtStats::FC["ArenaGame","AVG"]++,"ArenaGame","AVG"] = "grenadeMARatio"; +$dtStats::FV[$dtStats::FC["ArenaGame","AVG"]++,"ArenaGame","AVG"] = "shockMARatio"; +$dtStats::FV[$dtStats::FC["ArenaGame","AVG"]++,"ArenaGame","AVG"] = "blasterMARatio"; + /////////////////////////////////////////////////////////////////////////////// // SiegeGame /////////////////////////////////////////////////////////////////////////////// @@ -655,9 +666,6 @@ $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "nexusCampingKills"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "inventoryKills"; - - - $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "cgDeaths"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "discDeaths"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "grenadeDeaths"; @@ -809,7 +817,7 @@ $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "deadDist"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "missileTK"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "inventoryDeaths"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "repairEnemy"; - +$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "revenge"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "shieldPackDmg"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "cloakerKills"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "cloakersKilled"; @@ -823,6 +831,7 @@ $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "flareKill"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "flareHit"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "discJump"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "killerDiscJump"; +$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "discKillGround"; // nongame $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "leavemissionareaCount"; @@ -914,17 +923,7 @@ $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "mineCom"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "shockCom"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "satchelCom"; - //source kill velocity - note no mine -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "cgKillSV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "discKillSV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "grenadeKillSV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "laserKillSV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "mortarKillSV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "shockKillSV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "plasmaKillSV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "blasterKillSV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "hGrenadeKillSV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "missileKillSV"; + //source hit velocity - note no mine $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "cgHitSV"; @@ -938,19 +937,8 @@ $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "blasterHitSV"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "hGrenadeHitSV"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "missileHitSV"; - //victim velocity -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "cgKillVV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "discKillVV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "grenadeKillVV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "laserKillVV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "mortarKillVV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "shockKillVV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "plasmaKillVV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "blasterKillVV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "hGrenadeKillVV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "mineKillVV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "missileKillVV"; -$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "satchelKillVV"; +$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "mineHitVV"; +$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "satchelHitVV"; //midairs @@ -1031,7 +1019,7 @@ $dtStats::FV[$dtStats::FC["Avg"]++,"Avg"] = "mortarDmgACC"; -$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "null";//rng number for testing +$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "null";//rng number for testing //////////////////////////////////////////////////////////////////////////////// //Unused vars that are not tracked but used for other things and need to be reset every round @@ -1043,7 +1031,7 @@ $dtStats::unused[$dtStats::unusedCount++] = "ksCounter"; -// varable name = Full Name TAB Var Type +// varable name = Full Name TAB Var Type $statsName["scoreAvg"] = "Score Avg" TAB "Avg"; $statsName["scoreMax"] = "Max Score" TAB "Max"; $statsName["masTG"] = "Total MidAirs" TAB "Total"; @@ -1139,7 +1127,7 @@ $statsName["discKillsTG"] = "Spinfusor Kills" TAB "Total"; $statsName["discDeathsTG"] = "Spinfusor Deaths" TAB "Total"; $statsName["grenadeKillsTG"] = "Grenade L Kills" TAB "Total"; $statsName["grenadeDeathsTG"] = "Grenade L Deaths" TAB "Total"; -$statsName["hGrenadeKillsTG"] = "HGrenade Kills" TAB "Total"; +$statsName["hGrenadeKillsTG"] = "Hand Grenade Kills" TAB "Total"; $statsName["hGrenadeDeathsTG"] = "HGrenade Deaths" TAB "Total"; $statsName["laserKillsTG"] = "Laser Rifle Kills" TAB "Total"; $statsName["laserDeathsTG"] = "Laser Rifle Deaths" TAB "Total"; @@ -1403,30 +1391,6 @@ $statsName["maHitVVMax"] = "Rabbit Hunter" TAB "Kmh"; $statsName["killStreakMax"] = "Highest Kill Streak" TAB "Max"; $statsName["maxSpeedMax"] = "Highest Speed" TAB "Total Kmh"; $statsName["deadDistMax"] = "Dead Distance" TAB "Total Meters"; -$statsName["cgKillSVMax"] = "Chaingun Kill Speed Max" TAB "Kmh"; -$statsName["discKillSVMax"] = "Disc Kill Speed Max" TAB "Kmh"; -$statsName["grenadeKillSVMax"] = "Grenade Kill Speed Max" TAB "Kmh"; -$statsName["laserKillSVMax"] = "Laser Kill Speed Max" TAB "Kmh"; -$statsName["mortarKillSVMax"] = "Mortar Kill Speed Max" TAB "Kmh"; -$statsName["shockKillSVMax"] = "Shocklance Kill Speed Max" TAB "Kmh"; -$statsName["plasmaKillSVMax"] = "Plasma Kill Speed Max" TAB "Kmh"; -$statsName["blasterKillSVMax"] = "Blaster Kill Speed Max" TAB "Kmh"; -$statsName["hGrenadeKillSVMax"] = "Hand Grenade Kill Speed Max" TAB "Kmh"; -$statsName["missileKillSVMax"] = "Missile Kill Speed Max" TAB "Kmh"; - -$statsName["cgKillVVMax"] = "Chaingun Kill Vertical Velocity Max" TAB "Kmh"; -$statsName["discKillVVMax"] = "Disc Kill Vertical Velocity Max" TAB "Kmh"; -$statsName["grenadeKillVVMax"] = "Grenade Kill Vertical Velocity Max" TAB "Kmh"; -$statsName["laserKillVVMax"] = "Laser Kill Vertical Velocity Max" TAB "Kmh"; -$statsName["mortarKillVVMax"] = "Mortar Kill Vertical Velocity Max" TAB "Kmh"; -$statsName["shockKillVVMax"] = "Shocklance Kill Vertical Velocity Max" TAB "Kmh"; -$statsName["plasmaKillVVMax"] = "Plasma Kill Vertical Velocity Max" TAB "Kmh"; -$statsName["blasterKillVVMax"] = "Blaster Kill Vertical Velocity Max" TAB "Kmh"; -$statsName["hGrenadeKillVVMax"] = "Hand Grenade Kill Vertical Velocity Max" TAB "Kmh"; -$statsName["mineKillVVMax"] = "Mine Kill Vertical Velocity Max" TAB "Kmh"; -$statsName["missileKillVVMax"] = "Missile Kill Vertical Velocity Max" TAB "Kmh"; -$statsName["satchelKillVVMax"] = "Satchel Kill Vertical Velocity Max" TAB "Kmh"; - $statsName["cgMAHitDistMax"] = "Chaingun MA Dist Max" TAB "Meters"; $statsName["discMAHitDistMax"] = "Spinfusor MA Dist" TAB "Meters"; @@ -1503,33 +1467,36 @@ $statsName["MPBDesTG"] = "MPB Destroyed" TAB "Total"; $statsName["turbogravDesTG"] = "Shrikes Destroyed" TAB "Total"; $statsName["bomberDesTG"] = "Bombers Destroyed" TAB "Total"; $statsName["heavyTransportDesTG"] = "HAVOCs Destroyed" TAB "Total"; - +$statsName["discKillGroundTG"] = "Ground Disc Kills" TAB "Total"; +$statsName["WLRAvg"] = "Win Loss Ratio" TAB "Average"; +$statsName["roundsWonTG"] = "Rounds Won" TAB "Total"; +$statsName["hatTricksTG"] = "Hat Tricks" TAB "Total"; $panelCount = 0; $upperWepPanel[$panelCount, "CTFGame"] = "discMAHitDistMax"; $upperWepPanel[$panelCount++, "CTFGame"] = "plasmaMAHitDistMax";$upperWepPanel[$panelCount++, "CTFGame"] = "blasterMAHitDistMax"; -$upperWepPanel[$panelCount++, "CTFGame"] = "grenadeMAHitDistMax";$upperWepPanel[$panelCount++, "CTFGame"] = "elfShotsFiredTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "totalWepDmgTG"; -$upperWepPanel[$panelCount++, "CTFGame"] = "maxSpeedMax"; $upperWepPanel[$panelCount++, "CTFGame"] = "shotsFiredTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "concussHitTG"; +$upperWepPanel[$panelCount++, "CTFGame"] = "grenadeMAHitDistMax";$upperWepPanel[$panelCount++, "CTFGame"] = "elfShotsFiredTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "totalWepDmgTG"; +$upperWepPanel[$panelCount++, "CTFGame"] = "maxSpeedMax"; $upperWepPanel[$panelCount++, "CTFGame"] = "shotsFiredTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "concussHitTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "comboCountTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "doubleKillTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "tripleKillTG"; -$panelCount++; +$upperWepPanelCount["CTFGame"] = $panelCount++; $panelCount = 0; -$wepGrid[$panelCount, "CTFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "CTFGame"] = "blasterHitDistMax"; -$wepGrid[$panelCount++, "CTFGame"] = "blasterDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaMATG"; -$wepGrid[$panelCount++, "CTFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "cgKillsTG"; +$wepGrid[$panelCount, "CTFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "CTFGame"] = "blasterHitDistMax"; +$wepGrid[$panelCount++, "CTFGame"] = "blasterDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaMATG"; +$wepGrid[$panelCount++, "CTFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "cgKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "cgMATG"; $wepGrid[$panelCount++, "CTFGame"] = "cgHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "cgDmgTG"; -$wepGrid[$panelCount++, "CTFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "discMATG"; $wepGrid[$panelCount++, "CTFGame"] = "discHitDistMax"; -$wepGrid[$panelCount++, "CTFGame"] = "discDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeMATG"; -$wepGrid[$panelCount++, "CTFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "laserKillsTG"; +$wepGrid[$panelCount++, "CTFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "discMATG"; $wepGrid[$panelCount++, "CTFGame"] = "discHitDistMax"; +$wepGrid[$panelCount++, "CTFGame"] = "discDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeMATG"; +$wepGrid[$panelCount++, "CTFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "laserKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "laserMATG"; $wepGrid[$panelCount++, "CTFGame"] = "laserHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "laserDmgTG"; -$wepGrid[$panelCount++, "CTFGame"] = "mortarKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "mortarMATG"; $wepGrid[$panelCount++, "CTFGame"] = "mortarHitDistMax"; -$wepGrid[$panelCount++, "CTFGame"] = "mortarDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "missileKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "missileMATG"; -$wepGrid[$panelCount++, "CTFGame"] = "missileHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "missileDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "shockKillsTG"; +$wepGrid[$panelCount++, "CTFGame"] = "mortarKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "mortarMATG"; $wepGrid[$panelCount++, "CTFGame"] = "mortarHitDistMax"; +$wepGrid[$panelCount++, "CTFGame"] = "mortarDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "missileKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "missileMATG"; +$wepGrid[$panelCount++, "CTFGame"] = "missileHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "missileDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "shockMATG"; $wepGrid[$panelCount++, "CTFGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "shockDmgTG"; -$wepGrid[$panelCount++, "CTFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "mineMATG"; $wepGrid[$panelCount++, "CTFGame"] = "mineHitDistMax"; -$wepGrid[$panelCount++, "CTFGame"] = "mineDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeMATG"; -$wepGrid[$panelCount++, "CTFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "satchelKillsTG"; +$wepGrid[$panelCount++, "CTFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "mineMATG"; $wepGrid[$panelCount++, "CTFGame"] = "mineHitDistMax"; +$wepGrid[$panelCount++, "CTFGame"] = "mineDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeMATG"; +$wepGrid[$panelCount++, "CTFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "satchelKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "satchelMATG"; $wepGrid[$panelCount++, "CTFGame"] = "satchelHitDistMax";$wepGrid[$panelCount++, "CTFGame"] = "satchelDmgTG"; -$panelCount++; +$wepGridCount["CTFGame"] = $panelCount++; $panelCount = 0; $panelThree[$panelCount, "CTFGame"] = "ctrlKKillsTG"; $panelThree[$panelCount++, "CTFGame"] = "flareKillTG"; $panelThree[$panelCount++, "CTFGame"] = "deathKillsTG"; @@ -1548,19 +1515,19 @@ $panelThree[$panelCount++, "CTFGame"] = "genDefendsTG"; $panelThree[$pane $panelThree[$panelCount++, "CTFGame"] = "flagCatchTG"; $panelThree[$panelCount++, "CTFGame"] = "flagCatchSpeedMax"; $panelThree[$panelCount++, "CTFGame"] = "flagTossTG"; $panelThree[$panelCount++, "CTFGame"] = "maFlagCatchTG"; $panelThree[$panelCount++, "CTFGame"] = "maFlagCatchSpeedMax"; $panelThree[$panelCount++, "CTFGame"] = "flagTossCatchTG"; $panelThree[$panelCount++, "CTFGame"] = "interceptedFlagTG"; $panelThree[$panelCount++, "CTFGame"] = "maInterceptedFlagTG"; $panelThree[$panelCount++, "CTFGame"] = "interceptSpeedMax"; -$panelCount++; +$panelThreeCount["CTFGame"] = $panelCount++; $panelCount = 0; -$smallPanel[$panelCount, "CTFGame"] = "flagCapsTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagGrabsTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagReturnsTG"; -$smallPanel[$panelCount++, "CTFGame"] = "carrierKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "grabSpeedAvg"; $smallPanel[$panelCount++, "CTFGame"] = "lagSpikesTG"; -$smallPanel[$panelCount++, "CTFGame"] = "escortAssistsTG"; $smallPanel[$panelCount++, "CTFGame"] = "distMovTG"; $smallPanel[$panelCount++, "CTFGame"] = "roadKillsTG"; +$smallPanel[$panelCount, "CTFGame"] = "flagCapsTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagGrabsTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagReturnsTG"; +$smallPanel[$panelCount++, "CTFGame"] = "carrierKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "grabSpeedAvg"; $smallPanel[$panelCount++, "CTFGame"] = "lagSpikesTG"; +$smallPanel[$panelCount++, "CTFGame"] = "escortAssistsTG"; $smallPanel[$panelCount++, "CTFGame"] = "distMovTG"; $smallPanel[$panelCount++, "CTFGame"] = "roadKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "shrikeBlasterKillsTG";$smallPanel[$panelCount++, "CTFGame"] = "defenseScoreTG"; $smallPanel[$panelCount++, "CTFGame"] = "repairsTG"; -$smallPanel[$panelCount++, "CTFGame"] = "discMATG"; $smallPanel[$panelCount++, "CTFGame"] = "discKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "offenseScoreTG"; -$smallPanel[$panelCount++, "CTFGame"] = "shockKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "shockRearShotTG"; $smallPanel[$panelCount++, "CTFGame"] = "cgKillsTG"; -$smallPanel[$panelCount++, "CTFGame"] = "totalTimeTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagDefendsTG"; $smallPanel[$panelCount++, "CTFGame"] = "laserKillsTG"; +$smallPanel[$panelCount++, "CTFGame"] = "discMATG"; $smallPanel[$panelCount++, "CTFGame"] = "discKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "offenseScoreTG"; +$smallPanel[$panelCount++, "CTFGame"] = "shockKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "shockRearShotTG"; $smallPanel[$panelCount++, "CTFGame"] = "cgKillsTG"; +$smallPanel[$panelCount++, "CTFGame"] = "totalTimeTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagDefendsTG"; $smallPanel[$panelCount++, "CTFGame"] = "laserKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "laserHeadShotTG"; $smallPanel[$panelCount++, "CTFGame"] = "minePlusDiscTG"; $smallPanel[$panelCount++, "CTFGame"] = "mortarKillsTG"; -$panelCount++; +$smallPanelCount["CTFGame"] = $panelCount++; $panelCount = 0; @@ -1572,18 +1539,18 @@ $upperWepPanel[$panelCount++,"LCTFGame"] = "mineShotsFiredTG"; $upperWepPane $upperWepPanel[$panelCount++,"LCTFGame"] = "hGrenadeDeathsTG"; $upperWepPanel[$panelCount++,"LCTFGame"] = "doubleChainKillTG"; $upperWepPanel[$panelCount++,"LCTFGame"] = "tripleChainKillTG"; $upperWepPanel[$panelCount++,"LCTFGame"] = "quadrupleChainKillTG"; $upperWepPanel[$panelCount++,"LCTFGame"] = "quintupleChainKillTG"; $upperWepPanel[$panelCount++,"LCTFGame"] = "sextupleChainKillTG"; $upperWepPanel[$panelCount++,"LCTFGame"] = "septupleChainKillTG"; $upperWepPanel[$panelCount++,"LCTFGame"] = "octupleChainKillTG"; $upperWepPanel[$panelCount++,"LCTFGame"] = "nonupleChainKillTG"; -$panelCount++; +$upperWepPanelCount["LCTFGame"] = $panelCount++; $panelCount = 0; -$wepGrid[$panelCount, "LCTFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaDmgTG"; +$wepGrid[$panelCount, "LCTFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterDmgTG"; +$wepGrid[$panelCount++, "LCTFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "LCTFGame"] = "cgKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "cgMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "cgHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "cgDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "discMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "discHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "discDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "shockMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "shockDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "mineMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "mineHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "mineDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeDmgTG"; -$panelCount++; +$wepGrid[$panelCount++, "LCTFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "discMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "discHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "discDmgTG"; +$wepGrid[$panelCount++, "LCTFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeDmgTG"; +$wepGrid[$panelCount++, "LCTFGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "shockMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "shockDmgTG"; +$wepGrid[$panelCount++, "LCTFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "mineMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "mineHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "mineDmgTG"; +$wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeDmgTG"; +$wepGridCount["LCTFGame"] = $panelCount++; $panelCount = 0; $panelThree[$panelCount,"LCTFGame"] = "winLostPctAvg"; $panelThree[$panelCount++,"LCTFGame"] = "scoreAvg"; $panelThree[$panelCount++,"LCTFGame"] = "scoreMax"; $panelThree[$panelCount++,"LCTFGame"] = "capEfficiencyAvg"; @@ -1598,7 +1565,7 @@ $panelThree[$panelCount++,"LCTFGame"] = "tripleKillTG"; $panelThree[$panel $panelThree[$panelCount++,"LCTFGame"] = "maHitDistMax"; $panelThree[$panelCount++,"LCTFGame"] = "groundDeathsTG"; $panelThree[$panelCount++,"LCTFGame"] = "deadDistMax"; $panelThree[$panelCount++,"LCTFGame"] = "minePlusDiscTG"; $panelThree[$panelCount++,"LCTFGame"] = "minePlusDiscKillTG"; $panelThree[$panelCount++,"LCTFGame"] = "maHitHeightMax"; $panelThree[$panelCount++,"LCTFGame"] = "discReflectHitTG"; $panelThree[$panelCount++,"LCTFGame"] = "discReflectKillTG"; $panelThree[$panelCount++,"LCTFGame"] = "killerDiscJumpTG"; $panelThree[$panelCount++,"LCTFGame"] = "firstKillTG"; $panelThree[$panelCount++,"LCTFGame"] = "lastKillTG"; $panelThree[$panelCount++,"LCTFGame"] = "deathKillsTG"; -$panelCount++; +$panelThreeCount["LCTFGame"] = $panelCount++; $panelCount = 0; $smallPanel[$panelCount,"LCTFGame"] = "offenseScoreTG"; $smallPanel[$panelCount++,"LCTFGame"] = "defenseScoreTG"; $smallPanel[$panelCount++,"LCTFGame"] = "flagCapsTG"; $smallPanel[$panelCount++,"LCTFGame"] = "flagGrabsTG"; @@ -1607,7 +1574,7 @@ $smallPanel[$panelCount++,"LCTFGame"] = "grabSpeedAvg"; $smallPanel[$panelCoun $smallPanel[$panelCount++,"LCTFGame"] = "maFlagCatchTG"; $smallPanel[$panelCount++,"LCTFGame"] = "flagTossCatchTG";$smallPanel[$panelCount++,"LCTFGame"] = "interceptedFlagTG"; $smallPanel[$panelCount++,"LCTFGame"] = "maInterceptedFlagTG"; $smallPanel[$panelCount++,"LCTFGame"] = "totalTimeTG"; $smallPanel[$panelCount++,"LCTFGame"] = "plasmaKillsTG"; $smallPanel[$panelCount++,"LCTFGame"] = "cgKillsTG"; $smallPanel[$panelCount++,"LCTFGame"] = "discKillsTG"; $smallPanel[$panelCount++,"LCTFGame"] = "grenadeKillsTG"; $smallPanel[$panelCount++,"LCTFGame"] = "shockKillsTG"; $smallPanel[$panelCount++,"LCTFGame"] = "mineKillsTG"; $smallPanel[$panelCount++,"LCTFGame"] = "hGrenadeKillsTG"; -$panelCount++; +$smallPanelCount["LCTFGame"] = $panelCount++; @@ -1620,18 +1587,18 @@ $upperWepPanel[$panelCount++,"SCtFGame"] = "mineShotsFiredTG"; $upperWepPane $upperWepPanel[$panelCount++,"SCtFGame"] = "hGrenadeDeathsTG"; $upperWepPanel[$panelCount++,"SCtFGame"] = "doubleChainKillTG"; $upperWepPanel[$panelCount++,"SCtFGame"] = "tripleChainKillTG"; $upperWepPanel[$panelCount++,"SCtFGame"] = "quadrupleChainKillTG"; $upperWepPanel[$panelCount++,"SCtFGame"] = "quintupleChainKillTG"; $upperWepPanel[$panelCount++,"SCtFGame"] = "sextupleChainKillTG"; $upperWepPanel[$panelCount++,"SCtFGame"] = "septupleChainKillTG"; $upperWepPanel[$panelCount++,"SCtFGame"] = "octupleChainKillTG"; $upperWepPanel[$panelCount++,"SCtFGame"] = "nonupleChainKillTG"; -$panelCount++; +$upperWepPanelCount["SCtFGame"] = $panelCount++; $panelCount = 0; -$wepGrid[$panelCount, "SCtFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaDmgTG"; +$wepGrid[$panelCount, "SCtFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterDmgTG"; +$wepGrid[$panelCount++, "SCtFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "SCtFGame"] = "cgKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "cgMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "cgHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "cgDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "discMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "discHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "discDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "shockMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "shockDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "mineMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "mineHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "mineDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeDmgTG"; -$panelCount++; +$wepGrid[$panelCount++, "SCtFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "discMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "discHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "discDmgTG"; +$wepGrid[$panelCount++, "SCtFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeDmgTG"; +$wepGrid[$panelCount++, "SCtFGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "shockMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "shockDmgTG"; +$wepGrid[$panelCount++, "SCtFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "mineMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "mineHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "mineDmgTG"; +$wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeDmgTG"; +$wepGridCount["SCtFGame"] = $panelCount++; $panelCount = 0; $panelThree[$panelCount,"SCtFGame"] = "winLostPctAvg"; $panelThree[$panelCount++,"SCtFGame"] = "scoreAvg"; $panelThree[$panelCount++,"SCtFGame"] = "scoreMax"; $panelThree[$panelCount++,"SCtFGame"] = "capEfficiencyAvg"; @@ -1646,7 +1613,7 @@ $panelThree[$panelCount++,"SCtFGame"] = "tripleKillTG"; $panelThree[$panel $panelThree[$panelCount++,"SCtFGame"] = "maHitDistMax"; $panelThree[$panelCount++,"SCtFGame"] = "groundDeathsTG"; $panelThree[$panelCount++,"SCtFGame"] = "deadDistMax"; $panelThree[$panelCount++,"SCtFGame"] = "minePlusDiscTG"; $panelThree[$panelCount++,"SCtFGame"] = "minePlusDiscKillTG"; $panelThree[$panelCount++,"SCtFGame"] = "maHitHeightMax"; $panelThree[$panelCount++,"SCtFGame"] = "discReflectHitTG"; $panelThree[$panelCount++,"SCtFGame"] = "discReflectKillTG"; $panelThree[$panelCount++,"SCtFGame"] = "killerDiscJumpTG"; $panelThree[$panelCount++,"SCtFGame"] = "firstKillTG"; $panelThree[$panelCount++,"SCtFGame"] = "lastKillTG"; $panelThree[$panelCount++,"SCtFGame"] = "deathKillsTG"; -$panelCount++; +$panelThreeCount["SCtFGame"] = $panelCount++; $panelCount = 0; $smallPanel[$panelCount,"SCtFGame"] = "offenseScoreTG"; $smallPanel[$panelCount++,"SCtFGame"] = "defenseScoreTG"; $smallPanel[$panelCount++,"SCtFGame"] = "flagCapsTG"; $smallPanel[$panelCount++,"SCtFGame"] = "flagGrabsTG"; @@ -1655,7 +1622,7 @@ $smallPanel[$panelCount++,"SCtFGame"] = "grabSpeedAvg"; $smallPanel[$panelCoun $smallPanel[$panelCount++,"SCtFGame"] = "maFlagCatchTG"; $smallPanel[$panelCount++,"SCtFGame"] = "flagTossCatchTG";$smallPanel[$panelCount++,"SCtFGame"] = "interceptedFlagTG"; $smallPanel[$panelCount++,"SCtFGame"] = "maInterceptedFlagTG"; $smallPanel[$panelCount++,"SCtFGame"] = "totalTimeTG"; $smallPanel[$panelCount++,"SCtFGame"] = "plasmaKillsTG"; $smallPanel[$panelCount++,"SCtFGame"] = "cgKillsTG"; $smallPanel[$panelCount++,"SCtFGame"] = "discKillsTG"; $smallPanel[$panelCount++,"SCtFGame"] = "grenadeKillsTG"; $smallPanel[$panelCount++,"SCtFGame"] = "shockKillsTG"; $smallPanel[$panelCount++,"SCtFGame"] = "mineKillsTG"; $smallPanel[$panelCount++,"SCtFGame"] = "hGrenadeKillsTG"; -$panelCount++; +$smallPanelCount["SCtFGame"] = $panelCount++; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $panelCount = 0; @@ -1671,18 +1638,18 @@ $upperWepPanel[$panelCount++,"LakRabbitGame"] = "doubleChainKillTG"; $upperW $upperWepPanel[$panelCount++,"LakRabbitGame"] = "quadrupleChainKillTG"; $upperWepPanel[$panelCount++,"LakRabbitGame"] = "quintupleChainKillTG"; $upperWepPanel[$panelCount++,"LakRabbitGame"] = "sextupleChainKillTG"; $upperWepPanel[$panelCount++,"LakRabbitGame"] = "septupleChainKillTG"; $upperWepPanel[$panelCount++,"LakRabbitGame"] = "octupleChainKillTG"; $upperWepPanel[$panelCount++,"LakRabbitGame"] = "nonupleChainKillTG"; -$panelCount++; +$upperWepPanelCount["LakRabbitGame"] = $panelCount++; $panelCount = 0; -$wepGrid[$panelCount,"LakRabbitGame"] = "blasterACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "blasterComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "blasterHitVVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "blasterDmgTG"; -$wepGrid[$panelCount++,"LakRabbitGame"] = "plasmaACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "plasmaComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "plasmaHitVVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "plasmaDmgTG"; -$wepGrid[$panelCount++,"LakRabbitGame"] = "discACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "discComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "discHitVVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "discDmgTG"; -$wepGrid[$panelCount++,"LakRabbitGame"] = "grenadeACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "grenadeComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "grenadeHitVVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "grenadeDmgTG"; -$wepGrid[$panelCount++,"LakRabbitGame"] = "mortarACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mortarComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mortarHitVVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mortarDmgTG"; -$wepGrid[$panelCount++,"LakRabbitGame"] = "shockACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "shockComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "shockHitVVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "shockDmgTG"; -$wepGrid[$panelCount++,"LakRabbitGame"] = "mineACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mineComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mineHitVVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mineDmgTG"; -$wepGrid[$panelCount++,"LakRabbitGame"] = "hGrenadeACCAvg";$wepGrid[$panelCount++,"LakRabbitGame"] = "hGrenadeComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "hGrenadeHitVVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "hGrenadeDmgTG"; -$panelCount++; +$wepGrid[$panelCount,"LakRabbitGame"] = "blasterACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "blasterComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "blasterHitSVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "blasterDmgTG"; +$wepGrid[$panelCount++,"LakRabbitGame"] = "plasmaACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "plasmaComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "plasmaHitSVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "plasmaDmgTG"; +$wepGrid[$panelCount++,"LakRabbitGame"] = "discACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "discComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "discHitSVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "discDmgTG"; +$wepGrid[$panelCount++,"LakRabbitGame"] = "grenadeACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "grenadeComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "grenadeHitSVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "grenadeDmgTG"; +$wepGrid[$panelCount++,"LakRabbitGame"] = "mortarACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mortarComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mortarHitSVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mortarDmgTG"; +$wepGrid[$panelCount++,"LakRabbitGame"] = "shockACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "shockComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "shockHitSVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "shockDmgTG"; +$wepGrid[$panelCount++,"LakRabbitGame"] = "mineACCAvg"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mineComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mineHitSVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "mineDmgTG"; +$wepGrid[$panelCount++,"LakRabbitGame"] = "hGrenadeACCAvg";$wepGrid[$panelCount++,"LakRabbitGame"] = "hGrenadeComTG"; $wepGrid[$panelCount++,"LakRabbitGame"] = "hGrenadeHitSVMax"; $wepGrid[$panelCount++,"LakRabbitGame"] = "hGrenadeDmgTG"; +$wepGridCount["LakRabbitGame"] = $panelCount++; $panelCount = 0; $panelThree[$panelCount,"LakRabbitGame"] = "scoreTG"; $panelThree[$panelCount++,"LakRabbitGame"] = "scoreAvg"; $panelThree[$panelCount++,"LakRabbitGame"] = "scoreMax"; @@ -1701,7 +1668,7 @@ $panelThree[$panelCount++,"LakRabbitGame"] = "maHitDistMax"; $panelThree[$pa $panelThree[$panelCount++,"LakRabbitGame"] = "minePlusDiscTG"; $panelThree[$panelCount++,"LakRabbitGame"] = "minePlusDiscKillTG"; $panelThree[$panelCount++,"LakRabbitGame"] = "maHitHeightMax"; $panelThree[$panelCount++,"LakRabbitGame"] = "discReflectHitTG"; $panelThree[$panelCount++,"LakRabbitGame"] = "discReflectKillTG"; $panelThree[$panelCount++,"LakRabbitGame"] = "killerDiscJumpTG"; $panelThree[$panelCount++,"LakRabbitGame"] = "firstKillTG"; $panelThree[$panelCount++,"LakRabbitGame"] = "lastKillTG"; $panelThree[$panelCount++,"LakRabbitGame"] = "deathKillsTG"; -$panelCount++; +$panelThreeCount["LakRabbitGame"] = $panelCount++; $panelCount = 0; $smallPanel[$panelCount,"LakRabbitGame"] = "flagGrabsTG"; $smallPanel[$panelCount++,"LakRabbitGame"] = "flagTimeMinTG"; $smallPanel[$panelCount++,"LakRabbitGame"] = "MidairflagGrabsTG";$smallPanel[$panelCount++,"LakRabbitGame"] = "totalTimeTG"; @@ -1710,35 +1677,100 @@ $smallPanel[$panelCount++,"LakRabbitGame"] = "blasterMATG"; $smallPanel[$panel $smallPanel[$panelCount++,"LakRabbitGame"] = "grenadeMATG"; $smallPanel[$panelCount++,"LakRabbitGame"] = "grenadeMAHitDistMax"; $smallPanel[$panelCount++,"LakRabbitGame"] = "shockACCAvg"; $smallPanel[$panelCount++,"LakRabbitGame"] = "plasmaACCAvg"; $smallPanel[$panelCount++,"LakRabbitGame"] = "discMATG"; $smallPanel[$panelCount++,"LakRabbitGame"] = "discMAHitDistMax"; $smallPanel[$panelCount++,"LakRabbitGame"] = "discACCAvg"; $smallPanel[$panelCount++,"LakRabbitGame"] = "shockKillsTG"; $smallPanel[$panelCount++,"LakRabbitGame"] = "shockMATG"; $smallPanel[$panelCount++,"LakRabbitGame"] = "shockRearShotTG"; $smallPanel[$panelCount++,"LakRabbitGame"] = "hGrenadeKillsTG"; $smallPanel[$panelCount++,"LakRabbitGame"] = "mineKillsTG"; -$panelCount++; +$smallPanelCount["LakRabbitGame"] = $panelCount++; /////////////////////////////////////////////////////////////////////////////////////////// +$panelCount = 0; +$upperWepPanel[$panelCount,"ArenaGame"] = "blasterShotsFiredTG"; $upperWepPanel[$panelCount++,"ArenaGame"] = "blasterDeathsTG"; $upperWepPanel[$panelCount++,"ArenaGame"] = "plasmaShotsFiredTG"; +$upperWepPanel[$panelCount++,"ArenaGame"] = "plasmaDeathsTG"; $upperWepPanel[$panelCount++,"ArenaGame"] = "discShotsFiredTG"; $upperWepPanel[$panelCount++,"ArenaGame"] = "discDeathsTG"; +$upperWepPanel[$panelCount++,"ArenaGame"] = "grenadeShotsFiredTG"; $upperWepPanel[$panelCount++,"ArenaGame"] = "grenadeDeathsTG"; $upperWepPanel[$panelCount++,"ArenaGame"] = "cgShotsFiredTG"; +$upperWepPanel[$panelCount++,"ArenaGame"] = "cgDeathsTG"; $upperWepPanel[$panelCount++,"ArenaGame"] = "shockShotsFiredTG"; $upperWepPanel[$panelCount++,"ArenaGame"] = "shockDeathsTG"; +$upperWepPanel[$panelCount++,"ArenaGame"] = "laserDeathsTG"; $upperWepPanel[$panelCount++,"ArenaGame"] = "laserShotsFiredTG"; $upperWepPanel[$panelCount++,"ArenaGame"] = "hGrenadeShotsFiredTG"; +$upperWepPanelCount["ArenaGame"] = $panelCount++; + +$panelCount = 0; +$wepGrid[$panelCount, "ArenaGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "blasterMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "blasterHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "blasterDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "plasmaMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "plasmaDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "cgKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "cgMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "cgHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "cgDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "discKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "discMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "discHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "discDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "grenadeMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "grenadeDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "laserKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "laserMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "laserHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "laserDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "shockMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "shockDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeDmgTG"; +$wepGridCount["ArenaGame"] = $panelCount++; +//discKillGround +$panelCount = 0; +$panelThree[$panelCount,"ArenaGame"] = "scoreTG"; $panelThree[$panelCount++,"ArenaGame"] = "scoreMax"; $panelThree[$panelCount++,"ArenaGame"] = "voicebindsallCountTG"; +$panelThree[$panelCount++,"ArenaGame"] = "killsTG"; $panelThree[$panelCount++,"ArenaGame"] = "totalWepDmgTG"; $panelThree[$panelCount++,"ArenaGame"] = "voteCountTG"; +$panelThree[$panelCount++,"ArenaGame"] = "hatTricksTG"; $panelThree[$panelCount++,"ArenaGame"] = "killStreakMax"; $panelThree[$panelCount++,"ArenaGame"] = "kdrAvg"; +$panelThree[$panelCount++,"ArenaGame"] = "ctrlKKillsTG"; $panelThree[$panelCount++,"ArenaGame"] = "blasterReflectKillTG";$panelThree[$panelCount++,"ArenaGame"] = "distMovTG"; +$panelThree[$panelCount++,"ArenaGame"] = "timeTLAvg"; $panelThree[$panelCount++,"ArenaGame"] = "maxSpeedMax"; $panelThree[$panelCount++,"ArenaGame"] = "discJumpTG"; +$panelThree[$panelCount++,"ArenaGame"] = "lagSpikesTG"; $panelThree[$panelCount++,"ArenaGame"] = "outOfBoundDeathsTG"; $panelThree[$panelCount++,"ArenaGame"] = "teamkillCountTG"; +$panelThree[$panelCount++,"ArenaGame"] = "EVKillsTG"; $panelThree[$panelCount++,"ArenaGame"] = "idleTimeTG"; $panelThree[$panelCount++,"ArenaGame"] = "firstKillTG"; +$panelThree[$panelCount++,"ArenaGame"] = "airTimeTG"; $panelThree[$panelCount++,"ArenaGame"] = "groundTimeTG"; $panelThree[$panelCount++,"ArenaGame"] = "lastKillTG"; +$panelThree[$panelCount++,"ArenaGame"] = "totalMATG"; $panelThree[$panelCount++,"ArenaGame"] = "groundKillsTG"; $panelThree[$panelCount++,"ArenaGame"] = "chatallCountTG"; +$panelThree[$panelCount++,"ArenaGame"] = "concussHitTG"; $panelThree[$panelCount++,"ArenaGame"] = "maHitDistMax"; $panelThree[$panelCount++,"ArenaGame"] = "maHitHeightMax"; +$panelThree[$panelCount++,"ArenaGame"] = "armorLKTG"; $panelThree[$panelCount++,"ArenaGame"] = "armorMKTG"; $panelThree[$panelCount++,"ArenaGame"] = "roundsWonTG"; +$panelThree[$panelCount++,"ArenaGame"] = "groundDeathsTG"; $panelThree[$panelCount++,"ArenaGame"] = "deadDistMax"; $panelThree[$panelCount++,"ArenaGame"] = "deathKillsTG"; +$panelThree[$panelCount++,"ArenaGame"] = "discReflectHitTG"; $panelThree[$panelCount++,"ArenaGame"] = "discReflectKillTG"; $panelThree[$panelCount++,"ArenaGame"] = "killerDiscJumpTG"; +$panelThreeCount["ArenaGame"] = $panelCount++; + +$panelCount = 0; +$smallPanel[$panelCount,"ArenaGame"] = "discKillGroundTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "discKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "discMATG"; +$smallPanel[$panelCount++,"ArenaGame"] = "discMAHitDistMax"; +$smallPanel[$panelCount++,"ArenaGame"] = "laserKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "laserHeadShotTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "laserHitDistMax"; +$smallPanel[$panelCount++,"ArenaGame"] = "totalTimeTG"; + +$smallPanel[$panelCount++,"ArenaGame"] = "hGrenadeKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "shockKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "shockMATG"; +$smallPanel[$panelCount++,"ArenaGame"] = "shockRearShotTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "grenadeKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "grenadeMATG"; +$smallPanel[$panelCount++,"ArenaGame"] = "grenadeMAHitDistMax"; +$smallPanel[$panelCount++,"ArenaGame"] = "lArmorTimeTG"; + +$smallPanel[$panelCount++,"ArenaGame"] = "assistTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "plasmaKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "plasmaMATG"; +$smallPanel[$panelCount++,"ArenaGame"] = "plasmaMAHitDistMax"; +$smallPanel[$panelCount++,"ArenaGame"] = "blasterKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "blasterMATG"; +$smallPanel[$panelCount++,"ArenaGame"] = "blasterMAHitDistMax"; +$smallPanel[$panelCount++,"ArenaGame"] = "mArmorTimeTG"; +$smallPanelCount["ArenaGame"] = $panelCount++; + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $panelCount = 0; $upperWepPanel[$panelCount, "DefaultGame"] = "discMAHitDistMax"; $upperWepPanel[$panelCount++, "DefaultGame"] = "plasmaMAHitDistMax";$upperWepPanel[$panelCount++, "DefaultGame"] = "blasterMAHitDistMax"; -$upperWepPanel[$panelCount++, "DefaultGame"] = "grenadeMAHitDistMax";$upperWepPanel[$panelCount++, "DefaultGame"] = "elfShotsFiredTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "totalWepDmgTG"; -$upperWepPanel[$panelCount++, "DefaultGame"] = "maxSpeedMax"; $upperWepPanel[$panelCount++, "DefaultGame"] = "shotsFiredTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "concussHitTG"; +$upperWepPanel[$panelCount++, "DefaultGame"] = "grenadeMAHitDistMax";$upperWepPanel[$panelCount++, "DefaultGame"] = "elfShotsFiredTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "totalWepDmgTG"; +$upperWepPanel[$panelCount++, "DefaultGame"] = "maxSpeedMax"; $upperWepPanel[$panelCount++, "DefaultGame"] = "shotsFiredTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "concussHitTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "comboCountTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "concussHitTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "tripleKillTG"; -$panelCount++; +$upperWepPanelCount["DefaultGame"] = $panelCount++; $panelCount = 0; -$wepGrid[$panelCount, "DefaultGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "blasterMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "blasterHitDistMax"; -$wepGrid[$panelCount++, "DefaultGame"] = "blasterDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaMATG"; -$wepGrid[$panelCount++, "DefaultGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "cgKillsTG"; +$wepGrid[$panelCount, "DefaultGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "blasterMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "blasterHitDistMax"; +$wepGrid[$panelCount++, "DefaultGame"] = "blasterDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaMATG"; +$wepGrid[$panelCount++, "DefaultGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "cgKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "cgMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "cgHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "cgDmgTG"; -$wepGrid[$panelCount++, "DefaultGame"] = "discKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "discMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "discHitDistMax"; -$wepGrid[$panelCount++, "DefaultGame"] = "discDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeMATG"; -$wepGrid[$panelCount++, "DefaultGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "laserKillsTG"; +$wepGrid[$panelCount++, "DefaultGame"] = "discKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "discMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "discHitDistMax"; +$wepGrid[$panelCount++, "DefaultGame"] = "discDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeMATG"; +$wepGrid[$panelCount++, "DefaultGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "laserKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "laserMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "laserHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "laserDmgTG"; -$wepGrid[$panelCount++, "DefaultGame"] = "mortarKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "mortarMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "mortarHitDistMax"; -$wepGrid[$panelCount++, "DefaultGame"] = "mortarDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "missileKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "missileMATG"; -$wepGrid[$panelCount++, "DefaultGame"] = "missileHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "missileDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "shockKillsTG"; +$wepGrid[$panelCount++, "DefaultGame"] = "mortarKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "mortarMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "mortarHitDistMax"; +$wepGrid[$panelCount++, "DefaultGame"] = "mortarDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "missileKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "missileMATG"; +$wepGrid[$panelCount++, "DefaultGame"] = "missileHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "missileDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "shockMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "shockDmgTG"; -$wepGrid[$panelCount++, "DefaultGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "mineMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "mineHitDistMax"; -$wepGrid[$panelCount++, "DefaultGame"] = "mineDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeMATG"; -$wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "satchelKillsTG"; +$wepGrid[$panelCount++, "DefaultGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "mineMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "mineHitDistMax"; +$wepGrid[$panelCount++, "DefaultGame"] = "mineDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeMATG"; +$wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "satchelKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "satchelMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "satchelHitDistMax";$wepGrid[$panelCount++, "DefaultGame"] = "satchelDmgTG"; -$panelCount++; +$wepGridCount["DefaultGame"] = $panelCount++; $panelCount = 0; $panelThree[$panelCount,"DefaultGame"] = "scoreTG"; $panelThree[$panelCount++,"DefaultGame"] = "voicebindsallCountTG"; $panelThree[$panelCount++,"DefaultGame"] = "flipflopCountTG"; @@ -1757,7 +1789,7 @@ $panelThree[$panelCount++,"DefaultGame"] = "maHitDistMax"; $panelThree[$pane $panelThree[$panelCount++,"DefaultGame"] = "minePlusDiscTG"; $panelThree[$panelCount++,"DefaultGame"] = "minePlusDiscKillTG"; $panelThree[$panelCount++,"DefaultGame"] = "maHitHeightMax"; $panelThree[$panelCount++,"DefaultGame"] = "discReflectHitTG"; $panelThree[$panelCount++,"DefaultGame"] = "discReflectKillTG"; $panelThree[$panelCount++,"DefaultGame"] = "killerDiscJumpTG"; $panelThree[$panelCount++,"DefaultGame"] = "firstKillTG"; $panelThree[$panelCount++,"DefaultGame"] = "lastKillTG"; $panelThree[$panelCount++,"DefaultGame"] = "deathKillsTG"; -$panelCount++; +$panelThreeCount["DefaultGame"] = $panelCount++; $panelCount = 0; $smallPanel[$panelCount,"DefaultGame"] = "scoreAvg"; $smallPanel[$panelCount++,"DefaultGame"] = "scoreMax"; $smallPanel[$panelCount++,"DefaultGame"] = "distMovTG";$smallPanel[$panelCount++,"DefaultGame"] = "totalTimeTG"; @@ -1766,7 +1798,7 @@ $smallPanel[$panelCount++,"DefaultGame"] = "blasterMATG"; $smallPanel[$panelCo $smallPanel[$panelCount++,"DefaultGame"] = "grenadeMATG"; $smallPanel[$panelCount++,"DefaultGame"] = "grenadeMAHitDistMax"; $smallPanel[$panelCount++,"DefaultGame"] = "shockACCAvg"; $smallPanel[$panelCount++,"DefaultGame"] = "plasmaACCAvg"; $smallPanel[$panelCount++,"DefaultGame"] = "discMATG"; $smallPanel[$panelCount++,"DefaultGame"] = "discMAHitDistMax"; $smallPanel[$panelCount++,"DefaultGame"] = "discACCAvg"; $smallPanel[$panelCount++,"DefaultGame"] = "shockKillsTG"; $smallPanel[$panelCount++,"DefaultGame"] = "shockMATG"; $smallPanel[$panelCount++,"DefaultGame"] = "shockRearShotTG"; $smallPanel[$panelCount++,"DefaultGame"] = "hGrenadeKillsTG"; $smallPanel[$panelCount++,"DefaultGame"] = "mineKillsTG"; -$panelCount++; +$smallPanelCount["DefaultGame"] = $panelCount++; //misc stats will only display if it has a value for it @@ -1854,7 +1886,7 @@ function dtAICON(%client){ package dtStats{ function AIConnection::startMission(%client){// ai support parent::startMission(%client); - schedule(25000,0,"dtAICON",%client); + schedule(15000,0,"dtAICON",%client); } function GameConnection::onDrop(%client, %reason){ dtStatsClientLeaveGame(%client);//common @@ -1862,7 +1894,7 @@ package dtStats{ } function CTFGame::clientMissionDropReady(%game, %client){ parent::clientMissionDropReady(%game, %client); - + if($dtStats::ctfTimes){ %team1 = $dtServer::capTimes[cleanMapName($missionName),%game.class,1]; %team2 = $dtServer::capTimes[cleanMapName($missionName),%game.class,1]; @@ -1870,21 +1902,17 @@ package dtStats{ %time2 = %game.formatTime(getField(%team2,0), true); %name1 = getField(%team1,1); %name2 = getField(%team1,2); - BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); + BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); } dtStatsMissionDropReady(%game, %client);//common } function CTFGame::gameOver( %game ){ - dtStatsGameOver(%game); + dtStatsGameOver(%game); parent::gameOver(%game); - - if(isObject(dtGameStat)){ - dtGameStat.delete(); - } } function CTFGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation){ clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %damageLocation);//for stats collection - if(%clKiller.team != %clVictim.team && isObject(%clKiller.player)){ + if(%clKiller.team != %clVictim.team && isObject(%clKiller.player)){// note test for vehicles %dist = vectorDist($dtStats::FlagPos[%clKiller.team], %clKiller.player.getPosition()); if(%dist > ($dtStats::FlagTotalDist*0.5)){// kill made closer to the enemy flag %clKiller.dtStats.stat["OffKills"]++; @@ -1931,10 +1959,6 @@ package dtStats{ function LakRabbitGame::gameOver( %game ){ dtStatsGameOver(%game);//common parent::gameOver(%game); - - if(isObject(dtGameStat)){ - dtGameStat.delete(); - } } function LakRabbitGame::recalcScore(%game, %client){ if($missionRunning){ @@ -1961,10 +1985,6 @@ package dtStats{ function ArenaGame::gameOver( %game ){ dtStatsGameOver(%game); parent::gameOver(%game); - - if(isObject(dtGameStat)){ - dtGameStat.delete(); - } } function ArenaGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation){ clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %damageLocation);//for stats collection @@ -1982,9 +2002,9 @@ package dtStats{ else parent::updateScoreHud(%game, %client, %tag); } - function ArenaGame::sendDebriefing(%game, %client){ + function ArenaGame::sendDebriefing(%game, %client){ if(%client.isWatchOnly){ - parent::sendDebriefing(%game, %client); + parent::sendDebriefing(%game, %client); return; } messageClient( %client, 'MsgClearDebrief', "" ); @@ -2010,7 +2030,7 @@ package dtStats{ messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); else messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); - + if ( $Arena::Pref::TrackHighScores && Game.class $= "ArenaGame" ){ if ( %game.newHighScoreFlag ) messageClient( %client, 'MsgDebriefResult', "", '%1 has set a NEW INDIVIDUAL RECORD for this mission with a score of %2!', $Arena::HighScores::Name[$currentMission], $Arena::HighScores::Score[$currentMission] ); @@ -2022,9 +2042,14 @@ package dtStats{ messageClient( %client, 'MsgDebriefResult', "", 'But there are not enough human players here to set a new high score.' ); } messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); + - // Player scores: - messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLSAssistsTotal DmgRounds FiredDisc MA' ); + if($dtStats::arenaKDRStats){ + messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLSDEATHSKDRASSISTSDISC MA' ); + } + else{ + messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLSASSISTSTOTAL DMGROUNDS FIREDDISC MA' ); + } for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) %count[%team] = 0; @@ -2046,10 +2071,16 @@ package dtStats{ %cl = $TeamRank[%highTeam, %count[%highTeam]]; %score = %cl.score $= "" ? 0 : %cl.score; %kills = %cl.kills $= "" ? 0 : %cl.kills; - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, %game.getTeamName(%cl.team), %score, %kills, %cl.dtStats.stat["assist"], cropFloat(%cl.dtStats.stat["totalWepDmg"],1), %cl.dtStats.stat["shotsFired"], %cl.dtStats.stat["discMA"] ); - - %count[%highTeam]++; + %deaths = %cl.deaths $= "" ? 0 : %cl.deaths; + if($dtStats::arenaKDRStats){ + %line = '%1 %2%3%4%5%6%7%8'; + messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, %game.getTeamName(%cl.team), %score, %kills , %deaths, cropFloat(%cl.dtStats.stat["kdr"],2), %cl.dtStats.stat["assist"], %cl.dtStats.stat["discMA"] ); + } + else{ + %line = '%1 %2%3%4%5%6%7%8'; + messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, %game.getTeamName(%cl.team), %score, %kills, %cl.dtStats.stat["assist"], cropFloat(%cl.dtStats.stat["totalWepDmg"],1), %cl.dtStats.stat["shotsFired"], %cl.dtStats.stat["discMA"] ); + } + %count[%highTeam]++; %notDone = false; for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) { @@ -2060,7 +2091,7 @@ package dtStats{ } } } - + //now go through an list all the observers: %count = ClientGroup.getCount(); %printedHeader = false; @@ -2073,91 +2104,32 @@ package dtStats{ if (!%printedHeader) { %printedHeader = true; - messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCOREKILLSAssistsOffKillsDefKillsDisc MA'); + %score = %cl.score $= "" ? 0 : %cl.score; + %kills = %cl.kills $= "" ? 0 : %cl.kills; + %deaths = %cl.deaths $= "" ? 0 : %cl.deaths; + if($dtStats::arenaKDRStats){ + messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCOREKILLSDEATHSKDRASSISTSDISC MA'); + } + else{ + messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCOREKILLSASSISTSTOTAL DMGROUNDS FIREDDISC MA'); + } } //print out the client - %score = %cl.score $= "" ? 0 : %cl.score;// - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, "", %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"] ); - } - } - extendedDebrief(%game, %client); - - } - else if($dtStats::teamDebrief == 2){ - %topScore = ""; - %topCount = 0; - for ( %team = 1; %team <= %game.numTeams; %team++ ){ - if ( %topScore $= "" || $TeamScore[%team] > %topScore ){ - %topScore = $TeamScore[%team]; - %firstTeam = %team; - %topCount = 1; - } - else if ( $TeamScore[%team] == %topScore ){ - %secondTeam = %team; - %topCount++; - } - } - - // Mission result: - if ( %topCount == 1 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 wins!', %game.getTeamName(%firstTeam) ); - else if ( %topCount == 2 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); - else - messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); - - if ( $Arena::Pref::TrackHighScores && Game.class $= "ArenaGame" ){ - if ( %game.newHighScoreFlag ) - messageClient( %client, 'MsgDebriefResult', "", '%1 has set a NEW INDIVIDUAL RECORD for this mission with a score of %2!', $Arena::HighScores::Name[$currentMission], $Arena::HighScores::Score[$currentMission] ); - else if ( $Arena::HighScores::Name[$currentMission] !$= "" && $Arena::HighScores::Score[$currentMission] !$= "" ) - messageClient( %client, 'MsgDebriefResult', "", '%1 holds the individual record for this mission with a score of %2.', $Arena::HighScores::Name[$currentMission], $Arena::HighScores::Score[$currentMission] ); - else - messageClient( %client, 'MsgDebriefResult', "", 'There is no high score recorded for this mission.' ); - if ( %game.notEnoughHumansFlag ) - messageClient( %client, 'MsgDebriefResult', "", 'But there are not enough human players here to set a new high score.' ); - } - - messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); - messageClient( %client, 'MsgDebriefAddLine', "", '%1\t%3\t%2\t%4\n', $teamName[1], $teamName[2], $TeamScore[1], $TeamScore[2]); - messageClient( %client, 'MsgDebriefAddLine', "", 'Player\tScore\tKills\tAssist\tDmg\tPlayer\tScore\tKills\tAssist\tDmg'); - - %teamsize = ($TeamRank[1, count] > $TeamRank[2, count]) ? $TeamRank[1, count] : $TeamRank[2, count]; - for(%i=0; %i < %teamsize; %i++){ - %t1Obj = $TeamRank[1, %i]; - %t2Obj = $TeamRank[2, %i]; - if(isObject(%t1Obj) && isObject(%t2Obj)){ - %dtStats1 = %t1Obj.dtStats; - %dtStats2 = %t2Obj.dtStats; - %statsLine = getTaggedString(%t1Obj.name) @ "\t" @ %t1Obj.score @ "\t" @ %t1Obj.kills @ "\t" @ %dtStats1.stat["assist"] @ "\t" @ cropFloat(%dtStats1.stat["totalWepDmg"],1) @ "\t" @ %i+1 @ "." @ getTaggedString(%t2Obj.name) @ "\t" @ %t2Obj.score @ "\t" @ %t2Obj.kills @ "\t" @ %dtStats2.stat["assist"] @ "\t" @ cropFloat(%dtStats2.stat["totalWepDmg"],1); - messageClient( %client, 'MsgDebriefAddLine', "", "" @ %i+1 @ "." @ %statsLine); - } - else if(isObject(%t1Obj) && !isObject(%t2Obj)){ - %dtStats1 = %t1Obj.dtStats; - messageClient( %client, 'MsgDebriefAddLine', "", "" @ %i+1 @ "." @ getTaggedString(%t1Obj.name) @ "\t" @ %t1Obj.score @ "\t" @ %t1Obj.kills @ "\t" @ %dtStats1.stat["assist"] @ "\t" @ cropFloat(%dtStats1.stat["totalWepDmg"],1) @ "\t\t\t\t\t"); - } - else if(!isObject(%t1Obj) && isObject(%t2Obj)){ - %dtStats2 = %t2Obj.dtStats; - messageClient( %client, 'MsgDebriefAddLine', "", "\t\t\t\t\t" @ %i+1 @ "." @ getTaggedString(%t2Obj.name) @ "\t" @ %t2Obj.score @ "\t" @ %t2Obj.kills @ "\t" @ %dtStats2.stat["assist"] @ "\t" @ cropFloat(%dtStats2.stat["totalWepDmg"],1)); - } - } - %printedHeader = false; - for (%i = 0; %i < ClientGroup.getCount(); %i++) - { - %cl = ClientGroup.getObject(%i); - if (%cl.team <= 0) - { - //print the header only if we actually find an observer - if (!%printedHeader) - { - %printedHeader = true; - messageClient(%client, 'MsgDebriefAddLine', "", "\n\nOBSERVERS\tScore\tOff\tDef\tKills"); + if($dtStats::arenaKDRStats){ + %score = %cl.score $= "" ? 0 : %cl.score;// + %line = '%1 %2%3%4%5%6%7%8'; + messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, "", %score, %kills , %deaths, cropFloat(%cl.dtStats.stat["kdr"],2), %cl.dtStats.stat["assist"], %cl.dtStats.stat["discMA"] ); + } + else { + %score = %cl.score $= "" ? 0 : %cl.score;// + %line = '%1 %2%3%4%5%6%7%8'; + messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, "", %score, %kills, %cl.dtStats.stat["assist"], cropFloat(%cl.dtStats.stat["totalWepDmg"],1), %cl.dtStats.stat["shotsFired"], %cl.dtStats.stat["discMA"] ); } - messageClient( %client, 'MsgDebriefAddLine', "", " " @ getTaggedString(%cl.name) @ "\t" @ %cl.score @ "\t" @ %cl.offenseScore @ "\t" @ %cl.defenseScore @ "\t" @ %cl.kills); } } extendedDebrief(%game, %client); + } else{ parent::sendDebriefing(%game, %client);// note not default game @@ -2176,10 +2148,6 @@ package dtStats{ function DMGame::gameOver( %game ){ dtStatsGameOver(%game); parent::gameOver(%game); - - if(isObject(dtGameStat)){ - dtGameStat.delete(); - } } function DMGame::recalcScore(%game, %client){ if(!$missionRunning){ @@ -2209,22 +2177,18 @@ package dtStats{ %time2 = %game.formatTime(getField(%team2,0), true); %name1 = getField(%team1,1); %name2 = getField(%team1,2); - BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); + BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); } dtStatsMissionDropReady(%game, %client);//common } function LCTFGame::gameOver( %game ){ dtStatsGameOver(%game);//common parent::gameOver(%game); - - if(isObject(dtGameStat)){ - dtGameStat.delete(); - } } function LCTFGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation){ - clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %damageLocation);//for stats collection if(%clKiller.team != %clVictim.team){ - %dist = vectorDist($dtStats::FlagPos[%clKiller.team], %clKiller.player.getPosition()); + %pos = isObject(%clKiller.player) ? %clKiller.player.getPosition() : %clKiller.lp; + %dist = vectorDist($dtStats::FlagPos[%clKiller.team], %pos); if(%dist > ($dtStats::FlagTotalDist*0.5)){// kill made closer to the enemy flag %clKiller.dtStats.stat["OffKills"]++; } @@ -2232,9 +2196,10 @@ package dtStats{ %clKiller.dtStats.stat["DefKills"]++; } } + clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %damageLocation);//for stats collection parent::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation); } - + function LCTFGame::processGameLink(%game, %client, %arg1, %arg2, %arg3, %arg4, %arg5){ if($dtStats::Enable || %client.isSuperAdmin) dtGameLink(%game, %client, %arg1, %arg2, %arg3, %arg4, %arg5); @@ -2247,7 +2212,7 @@ package dtStats{ else parent::updateScoreHud(%game, %client, %tag); } - + function SCtFGame::clientMissionDropReady(%game, %client){ parent::clientMissionDropReady(%game, %client); if($dtStats::ctfTimes){ @@ -2257,17 +2222,13 @@ package dtStats{ %time2 = %game.formatTime(getField(%team2,0), true); %name1 = getField(%team1,1); %name2 = getField(%team1,2); - BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); + BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); } dtStatsMissionDropReady(%game, %client);//common } function SCtFGame::gameOver( %game ){ dtStatsGameOver(%game);//common parent::gameOver(%game); - - if(isObject(dtGameStat)){ - dtGameStat.delete(); - } } function SCtFGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation){ clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %damageLocation);//for stats collection @@ -2282,7 +2243,7 @@ package dtStats{ } parent::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation); } - + function SCtFGame::processGameLink(%game, %client, %arg1, %arg2, %arg3, %arg4, %arg5){ if($dtStats::Enable || %client.isSuperAdmin) dtGameLink(%game, %client, %arg1, %arg2, %arg3, %arg4, %arg5); @@ -2297,17 +2258,19 @@ package dtStats{ } /////////////////////////////////////////////////////////////////////////////// function DefaultGame::missionLoadDone(%game){ - parent::missionLoadDone(%game); - - $dtStats::MapStart = 1;//rebuild custom map list after first load - buildMissionList();//dont this way to prevent locking a person out of selecting a start map - + parent::missionLoadDone(%game); + if(isObject(dtGameStat)){ + dtGameStat.delete(); + } + $dtStats::MapStart = 1;//rebuild custom map list after first load + buildMissionList();// this way to prevent locking a person out of selecting a start map + dtSaveServerVars(); dtScanForRepair(); if(%game.class $= "CTFGame" || %game.class $= "LCTFGame" || %game.class $= "SCtFGame"){ $dtStats::FlagPos[1] = $TeamFlag[1].getPosition(); $dtStats::FlagPos[2] = $TeamFlag[2].getPosition(); - $dtStats::FlagTotalDist = vectorDist($dtStats::FlagPos[1], $dtStats::FlagPos[2]); + $dtStats::FlagTotalDist = vectorDist($dtStats::FlagPos[1], $dtStats::FlagPos[2]); } $dtStats::gameID = formattimestring("yymmddHHnnss"); if($dtStats::debugEchos) @@ -2331,6 +2294,10 @@ package dtStats{ } } function chatMessageAll( %sender, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ){ + if ( getsubstr(detag(%a2),0,1) $= "#" ){ + error("dtchatcommandtest"); + return; + } parent::chatMessageAll( %sender, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ); %sender.dtStats.stat["chatallCount"]++; } @@ -2452,7 +2419,7 @@ package dtStats{ if(isActivePackage(dtStatsGame)) deactivatePackage(dtStatsGame); } - + function ArenaGame::activatePackages(%game){ parent::activatePackages(%game); if(isActivePackage(dtStatsGame)){ @@ -2478,8 +2445,9 @@ package dtStats{ %clAttacker.dmgdFlagTime = getSimTime(); } function CTFGame::testEscortAssist(%game, %victimID, %killerID){ - if((getSimTime() - %victimID.dmgdFlagTime) < 5000 && %killerID.player.holdingFlag $= "") + if((getSimTime() - %victimID.dmgdFlagTime) < 5000 && %killerID.player.holdingFlag $= ""){ return true; + } return false; } function LCTFGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc){ @@ -2490,8 +2458,9 @@ package dtStats{ %clAttacker.dmgdFlagTime = getSimTime(); } function LCTFGame::testEscortAssist(%game, %victimID, %killerID){ - if((getSimTime() - %victimID.dmgdFlagTime) < 5000 && %killerID.player.holdingFlag $= "") + if((getSimTime() - %victimID.dmgdFlagTime) < 5000 && %killerID.player.holdingFlag $= ""){ return true; + } return false; } function SCtFGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc){ @@ -2502,10 +2471,19 @@ package dtStats{ %clAttacker.dmgdFlagTime = getSimTime(); } function SCtFGame::testEscortAssist(%game, %victimID, %killerID){ - if((getSimTime() - %victimID.dmgdFlagTime) < 5000 && %killerID.player.holdingFlag $= "") + if((getSimTime() - %victimID.dmgdFlagTime) < 5000 && %killerID.player.holdingFlag $= ""){ return true; + } return false; } + function ProjectileData::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal){ + %cl = %projectile.sourceObject.client; + if(isObject(%cl)){ + %cl.lastExp = %data TAB %projectile.initialPosition TAB %position TAB %projectile.getWorldBox(); + %cl.lastExpTime = getSimTime(); + } + parent::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal); + } function ProjectileData::onExplode(%data, %proj, %pos, %mod){ %dataName = %data.getName(); %sourceClient = %proj.sourceObject.client; @@ -2525,9 +2503,9 @@ package dtStats{ //error("disc bounce" SPC %angleDeg SPC %wdist); } } - else + else{ %sourceClient.discReflect = 0; - + } if(vectorDist(%pos,%proj.sourceObject.getPosition()) < 4){ %sourceClient.lastDiscJump = getSimTime(); } @@ -2546,16 +2524,20 @@ package dtStats{ %sourceClient.stat["flareHit"] = getSimTime(); %sourceClient.flareSource = %proj.targetSource.client; } - else + else{ %sourceClient.stat["flareHit"] = 0; + } } if(isObject(%sourceClient)){ - if(%proj.dtShotSpeed > 0) + if(%proj.dtShotSpeed > 0){ %sourceClient.dtShotSpeed = %proj.dtShotSpeed; - else + } + else{ %sourceClient.dtShotSpeed = mFloor(vectorLen(%proj.sourceObject.getVelocity()) * 3.6); - %sourceClient.lastExp = %data TAB %proj.initialPosition TAB %pos; + } + %sourceClient.lastExp = %data TAB %proj.initialPosition TAB %pos TAB %proj.getWorldBox(); + %sourceClient.lastExpTime = getSimTime(); } parent::onExplode(%data, %proj, %pos, %mod); } @@ -2633,8 +2615,8 @@ package dtStats{ } parent::onDamage(%this, %obj); } - - + + function CTFGame::recalcScore(%game, %cl){ parent::recalcScore(%game, %cl); %dtStats = %cl.dtStats; @@ -2659,7 +2641,7 @@ package dtStats{ } function CTFGame::awardScoreTkDestroy(%game, %cl, %obj){ parent::awardScoreTkDestroy(%game, %cl, %obj); - %cl.dtStats.stat["tkDestroys"] = %cl.tkDestroys; + %cl.dtStats.stat["tkDestroys"] = %cl.tkDestroys; } function CTFGame::awardScoreFlagCap(%game, %cl, %flag){ @@ -2698,18 +2680,18 @@ package dtStats{ case "DeployedStationInventory": %cl.dtStats.stat["depStationDestroys"] = %cl.depStationDestroys; case "MPBTeleporter": - %cl.dtStats.stat["mpbtstationDestroys"] = %cl.mpbtstationDestroys; + %cl.dtStats.stat["mpbtstationDestroys"] = %cl.mpbtstationDestroys; } } function CTFGame::awardScoreVehicleDestroyed(%game, %client, %vehicleType, %mult, %passengers){ %val = parent::awardScoreVehicleDestroyed(%game, %client, %vehicleType, %mult, %passengers); switch$(%vehicleType){// add stas here - case "Grav Cycle": + case "Grav Cycle": %client.dtStats.stat["gravCycleDes"]++; case "Assault Tank": %client.dtStats.stat["assaultTankDes"]++; - case "MPB": + case "MPB": %client.dtStats.stat["MPBDes"]++; case "Turbograv": %client.dtStats.stat["turbogravDes"]++; @@ -2718,15 +2700,15 @@ package dtStats{ case "Heavy Transport": %client.dtStats.stat["heavyTransportDes"]++; } - %client.dtStats.stat["vehicleScore"] = %client.vehicleScore; - %client.dtStats.stat["vehicleBonus"] = %client.vehicleBonus; + %client.dtStats.stat["vehicleScore"] = %client.vehicleScore; + %client.dtStats.stat["vehicleBonus"] = %client.vehicleBonus; return %val; } function CTFGame::awardScoreFlagDefend(%game, %killerID){ %val = parent::awardScoreFlagDefend(%game, %killerID); %killerID.dtStats.stat["flagDefends"] = %killerID.flagDefends; dtMinMax("flagDefends", "flag", 1, %killerID.dtStats.stat["flagDefends"], %killerID); - return %val; + return %val; } function CTFGame::awardScoreGenDefend(%game, %killerID){ %val = parent::awardScoreGenDefend(%game, %killerID); @@ -2747,7 +2729,7 @@ package dtStats{ } function CTFGame::awardScoreFlagReturn(%game, %cl, %perc){ %val = parent::awardScoreFlagReturn(%game, %cl, %perc); - %cl.dtStats.stat["flagReturns"] = %cl.flagReturns; + %cl.dtStats.stat["flagReturns"]++; dtMinMax("flagReturns", "flag", 1, %cl.dtStats.stat["flagReturns"], %cl); %cl.dtStats.stat["returnPts"] = %cl.returnPts; return %val; @@ -2789,7 +2771,7 @@ package dtStats{ %client.dtStats.stat["depInvRepairs"] = %client.depInvRepairs; dtMinMax("repairs", "misc", 3, 1, %client); case "MPBTeleporter": - %client.dtStats.stat["mpbtstationRepairs"] = %client.mpbtstationRepairs; + %client.dtStats.stat["mpbtstationRepairs"] = %client.mpbtstationRepairs; dtMinMax("repairs", "misc", 3, 1, %client); } } @@ -2845,7 +2827,7 @@ package dtStats{ %client.dtStats.stat["assists"] = %client.assists; %client.dtStats.stat["roundKills"] = %client.roundKills; %client.dtStats.stat["hatTricks"] = %client.hatTricks; - + } function LCTFGame::recalcScore(%game, %cl){ @@ -2895,14 +2877,14 @@ package dtStats{ %val = parent::awardScoreFlagDefend(%game, %killerID); %killerID.dtStats.stat["flagDefends"] = %killerID.flagDefends; dtMinMax("flagDefends", "flag", 1, %killerID.dtStats.stat["flagDefends"], %killerID); - return %val; + return %val; } function LCTFGame::awardScoreStalemateReturn(%game, %cl){ %val = parent::awardScoreStalemateReturn(%game, %cl); %cl.dtStats.stat["stalemateReturn"]++; return %val; } - + function SCtFGame::recalcScore(%game, %cl){ parent::recalcScore(%game, %cl); %dtStats = %cl.dtStats; @@ -2950,7 +2932,7 @@ package dtStats{ %val = parent::awardScoreFlagDefend(%game, %killerID); %killerID.dtStats.stat["flagDefends"] = %killerID.flagDefends; dtMinMax("flagDefends", "flag", 1, %killerID.dtStats.stat["flagDefends"], %killerID); - return %val; + return %val; } function SCtFGame::awardScoreStalemateReturn(%game, %cl){ %val = parent::awardScoreStalemateReturn(%game, %cl); @@ -2980,12 +2962,93 @@ package dtStats{ //} //} //} + // new debriefing stuff + function LakRabbitGame::sendDebriefing( %game, %client ){ + if(%client.isWatchOnly){ + parent::sendDebriefing(%game, %client); + return; + } + messageClient( %client, 'MsgClearDebrief', "" ); + if($dtStats::teamDebrief == 1){ + messageClient( %client, 'MsgDebriefAddLine', "", 'PLAYERSCOREKILLSMASSPEEDDISTTOT DISTSHOCKSL HITS' ); + // %cl.name, %score, %kills, %mas, %avgSpeed, %avgDistance, %alltotdistance, %shockPercent, %totshockhits + // Scores: + %totscore = 0; + %totkills = 0; + %totmas = 0; + %totspeed = 0; + %totdistance = 0; + //%totchainacc = 0; + //%totsnipepercent= 0; + %totshockpercent= 0; + %speeds = 0; + %dists = 0; + //%chains = 0; + //%snipes = 0; + %shocks = 0; + %alltotdistance = 0; + %totshockhits = 0; + + %count = $TeamRank[0, count]; + for(%i = 0; %i < %count; %i++){ + // Send the debrief line: + %cl = $TeamRank[0, %i]; + + if(%cl.score == 0) %score = 0; + else %score = %cl.score; + if(%cl.kills == 0) %kills = 0; + else %kills = %cl.kills; + if(%cl.mas == 0) %mas = 0; + else %mas = %cl.mas; + + //if(%cl.totalSnipes == 0) %cl.totalSnipes = 1; + if(%cl.totalShocks == 0) %cl.totalShocks = 1; + + if(%cl.totalSpeed == 0) %avgSpeed = 0; + else %avgSpeed = mFloor(%cl.totalSpeed/%cl.mas); + if(%cl.totalDistance == 0) %avgDistance = 0; + else %avgDistance = mFloor(%cl.totalDistance/%cl.mas); + //if(%cl.totalChainAccuracy == 0) %avgChainAcc = 0; + //else %avgChainAcc = mFloor(%cl.totalChainAccuracy/%cl.totalChainHits); + //if(%cl.totalSnipeHits == 0) %snipePercent = 0; + //else %snipePercent = mFloor(%cl.totalSnipeHits/%cl.totalSnipes*100); + if(%cl.totalShockHits == 0) %shockPercent = 0; + else %shockPercent = mFloor(%cl.totalShockHits/%cl.totalShocks*100); + if(%cl.totalDistance == 0) %othertotdistance = 0; + else %othertotdistance = mFloor(%cl.totalDistance); + if(%cl.totalShockHits == 0) %shockhits = 0; + else %shockhits = mFloor(%cl.totalShockHits); + messageClient( %client, 'MsgDebriefAddLine', "", ' %1%2%3%4%5%6%7%8%%%9', + %cl.name, %score, %kills, %mas, %avgSpeed, %avgDistance, %othertotdistance, %shockPercent, %shockhits); + + if(%score) %totscore += %score; + if(%kills) %totkills += %kills; + if(%mas) %totmas += %mas; + if(%avgSpeed){ %totspeed += %avgSpeed; %speeds++; } + if(%avgDistance){ %totdistance += %avgDistance; %dists++; } + //if(%avgChainAcc){ %totchainacc += %avgChainAcc; %chains++; } + //if(%snipePercent){ %totsnipepercent += %snipePercent; %snipes++; } + if(%shockPercent){ %totshockpercent += %shockPercent; %shocks++; } + if(%othertotdistance){ %alltotdistance += %othertotdistance; } + if(%shockhits){ %totshockhits += %shockhits; } + + } + + messageClient( %client, 'MsgDebriefAddLine', "", '%1%2%3%4%5%6%7%8%%%9\n', + " Totals:", %totscore, %totkills, %totmas, mFloor(%totspeed/%speeds), mFloor(%totdistance/%dists), %alltotdistance, mFloor(%totshockpercent/%shocks), %totshockhits); + extendedDebrief(%game, %client); + } + else{ + parent::sendDebriefing(%game, %client); + extendedDebrief(%game, %client); + } + } }; //helps with game types that override functions and dont use parent // that way we get called first then the gametype can do whatever -// there is no main function for these +// there is no main function for these function LCTFGame::awardScoreDeath(%game, %victimID){ parent::awardScoreDeath(%game, %victimID); %victimID.dtStats.stat["deaths"] = %victimID.deaths; @@ -3025,69 +3088,15 @@ function CTFGame::awardScoreTeamkill(%game, %victimID, %killerID){ %killerID.dtStats.stat["teamKills"] = %killerID.teamKills; } + + function CTFGame::sendDebriefing(%game, %client){ if(%client.isWatchOnly){ - parent::sendDebriefing(%game, %client); + parent::sendDebriefing(%game, %client); return; } messageClient( %client, 'MsgClearDebrief', "" ); - if($dtStats::teamDebrief == 2){ - %topScore = ""; - %topCount = 0; - for ( %team = 1; %team <= %game.numTeams; %team++ ){ - if ( %topScore $= "" || $TeamScore[%team] > %topScore ){ - %topScore = $TeamScore[%team]; - %firstTeam = %team; - %topCount = 1; - } - else if ( $TeamScore[%team] == %topScore ){ - %secondTeam = %team; - %topCount++; - } - } - - // Mission result: - if ( %topCount == 1 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 wins!', %game.getTeamName(%firstTeam) ); - else if ( %topCount == 2 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); - else - messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); - - messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); - messageClient( %client, 'MsgDebriefAddLine', "", '%1\t%3\t%2\t%4\n', $teamName[1], $teamName[2], $TeamScore[1], $TeamScore[2]); - messageClient( %client, 'MsgDebriefAddLine', "", 'Player\tScore\tOff\tDef\tKills\tPlayer\tScore\tOff\tDef\tKills'); - - %teamsize = ($TeamRank[1, count] > $TeamRank[2, count]) ? $TeamRank[1, count] : $TeamRank[2, count]; - for(%i=0; %i < %teamsize; %i++){ - %t1Obj = $TeamRank[1, %i]; - %t2Obj = $TeamRank[2, %i]; - if(isObject(%t1Obj) && isObject(%t2Obj)) - messageClient( %client, 'MsgDebriefAddLine', "", "" @ %i+1 @ "." @ getTaggedString(%t1Obj.name) @ "\t" @ %t1Obj.score @ "\t" @ %t1Obj.offenseScore @ "\t" @ %t1Obj.defenseScore @ "\t" @ %t1Obj.kills @ "\t" @ %i+1 @ "." @ getTaggedString(%t2Obj.name) @ "\t" @ %t2Obj.score @ "\t" @ %t2Obj.offenseScore @ "\t" @ %t2Obj.defenseScore @ "\t" @ %t2Obj.kills); - else if(isObject(%t1Obj) && !isObject(%t2Obj)) - messageClient( %client, 'MsgDebriefAddLine', "", "" @ %i+1 @ "." @ getTaggedString(%t1Obj.name) @ "\t" @ %t1Obj.score @ "\t" @ %t1Obj.offenseScore @ "\t" @ %t1Obj.defenseScore @ "\t" @ %t1Obj.kills @ "\t\t\t\t\t"); - else if(!isObject(%t1Obj) && isObject(%t2Obj)) - messageClient( %client, 'MsgDebriefAddLine', "", "\t\t\t\t\t" @ %i+1 @ "." @ getTaggedString(%t2Obj.name) @ "\t" @ %t2Obj.score @ "\t" @ %t2Obj.offenseScore @ "\t" @ %t2Obj.defenseScore @ "\t" @ %t2Obj.kills); - } - //now go through an list all the observers: - %printedHeader = false; - for (%i = 0; %i < ClientGroup.getCount(); %i++) - { - %cl = ClientGroup.getObject(%i); - if (%cl.team <= 0) - { - //print the header only if we actually find an observer - if (!%printedHeader) - { - %printedHeader = true; - messageClient(%client, 'MsgDebriefAddLine', "", "\n\nOBSERVERS\tScore\tOff\tDef\tKills"); - } - messageClient( %client, 'MsgDebriefAddLine', "", " " @ getTaggedString(%cl.name) @ "\t" @ %cl.score @ "\t" @ %cl.offenseScore @ "\t" @ %cl.defenseScore @ "\t" @ %cl.kills); - } - } - extendedDebrief(%game, %client); - } - else if($dtStats::teamDebrief == 1){ + if($dtStats::teamDebrief == 1){ %topScore = ""; %topCount = 0; for ( %team = 1; %team <= %game.numTeams; %team++ ) @@ -3150,7 +3159,7 @@ function CTFGame::sendDebriefing(%game, %client){ %line = '%1 %2%3%4%5%6%7%8'; messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, %game.getTeamName(%cl.team), %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"] ); - %count[%highTeam]++; + %count[%highTeam]++; %notDone = false; for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) { @@ -3161,7 +3170,7 @@ function CTFGame::sendDebriefing(%game, %client){ } } } - + //now go through an list all the observers: %count = ClientGroup.getCount(); %printedHeader = false; @@ -3192,67 +3201,11 @@ function CTFGame::sendDebriefing(%game, %client){ function LCTFGame::sendDebriefing(%game, %client){ if(%client.isWatchOnly){ - parent::sendDebriefing(%game, %client); + parent::sendDebriefing(%game, %client); return; } messageClient( %client, 'MsgClearDebrief', "" ); - if($dtStats::teamDebrief == 2){ - %topScore = ""; - %topCount = 0; - for ( %team = 1; %team <= %game.numTeams; %team++ ){ - if ( %topScore $= "" || $TeamScore[%team] > %topScore ){ - %topScore = $TeamScore[%team]; - %firstTeam = %team; - %topCount = 1; - } - else if ( $TeamScore[%team] == %topScore ){ - %secondTeam = %team; - %topCount++; - } - } - - // Mission result: - if ( %topCount == 1 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 wins!', %game.getTeamName(%firstTeam) ); - else if ( %topCount == 2 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); - else - messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); - - messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); - messageClient( %client, 'MsgDebriefAddLine', "", '%1\t%3\t%2\t%4\n', $teamName[1], $teamName[2], $TeamScore[1], $TeamScore[2]); - messageClient( %client, 'MsgDebriefAddLine', "", 'Player\tScore\tOff\tDef\tKills\tPlayer\tScore\tOff\tDef\tKills'); - - %teamsize = ($TeamRank[1, count] > $TeamRank[2, count]) ? $TeamRank[1, count] : $TeamRank[2, count]; - for(%i=0; %i < %teamsize; %i++){ - %t1Obj = $TeamRank[1, %i]; - %t2Obj = $TeamRank[2, %i]; - if(isObject(%t1Obj) && isObject(%t2Obj)) - messageClient( %client, 'MsgDebriefAddLine', "", "" @ %i+1 @ "." @ getTaggedString(%t1Obj.name) @ "\t" @ %t1Obj.score @ "\t" @ %t1Obj.offenseScore @ "\t" @ %t1Obj.defenseScore @ "\t" @ %t1Obj.kills @ "\t" @ %i+1 @ "." @ getTaggedString(%t2Obj.name) @ "\t" @ %t2Obj.score @ "\t" @ %t2Obj.offenseScore @ "\t" @ %t2Obj.defenseScore @ "\t" @ %t2Obj.kills); - else if(isObject(%t1Obj) && !isObject(%t2Obj)) - messageClient( %client, 'MsgDebriefAddLine', "", "" @ %i+1 @ "." @ getTaggedString(%t1Obj.name) @ "\t" @ %t1Obj.score @ "\t" @ %t1Obj.offenseScore @ "\t" @ %t1Obj.defenseScore @ "\t" @ %t1Obj.kills @ "\t\t\t\t\t"); - else if(!isObject(%t1Obj) && isObject(%t2Obj)) - messageClient( %client, 'MsgDebriefAddLine', "", "\t\t\t\t\t" @ %i+1 @ "." @ getTaggedString(%t2Obj.name) @ "\t" @ %t2Obj.score @ "\t" @ %t2Obj.offenseScore @ "\t" @ %t2Obj.defenseScore @ "\t" @ %t2Obj.kills); - } - //now go through an list all the observers: - %printedHeader = false; - for (%i = 0; %i < ClientGroup.getCount(); %i++) - { - %cl = ClientGroup.getObject(%i); - if (%cl.team <= 0) - { - //print the header only if we actually find an observer - if (!%printedHeader) - { - %printedHeader = true; - messageClient(%client, 'MsgDebriefAddLine', "", "\n\nOBSERVERS\tScore\tOff\tDef\tKills"); - } - messageClient( %client, 'MsgDebriefAddLine', "", " " @ getTaggedString(%cl.name) @ "\t" @ %cl.score @ "\t" @ %cl.offenseScore @ "\t" @ %cl.defenseScore @ "\t" @ %cl.kills); - } - } - extendedDebrief(%game, %client); - } - else if($dtStats::teamDebrief == 1){ + if($dtStats::teamDebrief == 1){ %topScore = ""; %topCount = 0; for ( %team = 1; %team <= %game.numTeams; %team++ ) @@ -3315,7 +3268,7 @@ function LCTFGame::sendDebriefing(%game, %client){ %line = '%1 %2%3%4%5%6%7%8'; messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, %game.getTeamName(%cl.team), %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"] ); - %count[%highTeam]++; + %count[%highTeam]++; %notDone = false; for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) { @@ -3326,7 +3279,7 @@ function LCTFGame::sendDebriefing(%game, %client){ } } } - + //now go through an list all the observers: %count = ClientGroup.getCount(); %printedHeader = false; @@ -3357,67 +3310,11 @@ function LCTFGame::sendDebriefing(%game, %client){ function SCtFGame::sendDebriefing(%game, %client){ if(%client.isWatchOnly){ - parent::sendDebriefing(%game, %client); + parent::sendDebriefing(%game, %client); return; } messageClient( %client, 'MsgClearDebrief', "" ); - if($dtStats::teamDebrief == 2){ - %topScore = ""; - %topCount = 0; - for ( %team = 1; %team <= %game.numTeams; %team++ ){ - if ( %topScore $= "" || $TeamScore[%team] > %topScore ){ - %topScore = $TeamScore[%team]; - %firstTeam = %team; - %topCount = 1; - } - else if ( $TeamScore[%team] == %topScore ){ - %secondTeam = %team; - %topCount++; - } - } - - // Mission result: - if ( %topCount == 1 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 wins!', %game.getTeamName(%firstTeam) ); - else if ( %topCount == 2 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); - else - messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); - - messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); - messageClient( %client, 'MsgDebriefAddLine', "", '%1\t%3\t%2\t%4\n', $teamName[1], $teamName[2], $TeamScore[1], $TeamScore[2]); - messageClient( %client, 'MsgDebriefAddLine', "", 'Player\tScore\tOff\tDef\tKills\tPlayer\tScore\tOff\tDef\tKills'); - - %teamsize = ($TeamRank[1, count] > $TeamRank[2, count]) ? $TeamRank[1, count] : $TeamRank[2, count]; - for(%i=0; %i < %teamsize; %i++){ - %t1Obj = $TeamRank[1, %i]; - %t2Obj = $TeamRank[2, %i]; - if(isObject(%t1Obj) && isObject(%t2Obj)) - messageClient( %client, 'MsgDebriefAddLine', "", "" @ %i+1 @ "." @ getTaggedString(%t1Obj.name) @ "\t" @ %t1Obj.score @ "\t" @ %t1Obj.offenseScore @ "\t" @ %t1Obj.defenseScore @ "\t" @ %t1Obj.kills @ "\t" @ %i+1 @ "." @ getTaggedString(%t2Obj.name) @ "\t" @ %t2Obj.score @ "\t" @ %t2Obj.offenseScore @ "\t" @ %t2Obj.defenseScore @ "\t" @ %t2Obj.kills); - else if(isObject(%t1Obj) && !isObject(%t2Obj)) - messageClient( %client, 'MsgDebriefAddLine', "", "" @ %i+1 @ "." @ getTaggedString(%t1Obj.name) @ "\t" @ %t1Obj.score @ "\t" @ %t1Obj.offenseScore @ "\t" @ %t1Obj.defenseScore @ "\t" @ %t1Obj.kills @ "\t\t\t\t\t"); - else if(!isObject(%t1Obj) && isObject(%t2Obj)) - messageClient( %client, 'MsgDebriefAddLine', "", "\t\t\t\t\t" @ %i+1 @ "." @ getTaggedString(%t2Obj.name) @ "\t" @ %t2Obj.score @ "\t" @ %t2Obj.offenseScore @ "\t" @ %t2Obj.defenseScore @ "\t" @ %t2Obj.kills); - } - //now go through an list all the observers: - %printedHeader = false; - for (%i = 0; %i < ClientGroup.getCount(); %i++) - { - %cl = ClientGroup.getObject(%i); - if (%cl.team <= 0) - { - //print the header only if we actually find an observer - if (!%printedHeader) - { - %printedHeader = true; - messageClient(%client, 'MsgDebriefAddLine', "", "\n\nOBSERVERS\tScore\tOff\tDef\tKills"); - } - messageClient( %client, 'MsgDebriefAddLine', "", " " @ getTaggedString(%cl.name) @ "\t" @ %cl.score @ "\t" @ %cl.offenseScore @ "\t" @ %cl.defenseScore @ "\t" @ %cl.kills); - } - } - extendedDebrief(%game, %client); - } - else if($dtStats::teamDebrief == 1){ + if($dtStats::teamDebrief == 1){ %topScore = ""; %topCount = 0; for ( %team = 1; %team <= %game.numTeams; %team++ ) @@ -3480,7 +3377,7 @@ function SCtFGame::sendDebriefing(%game, %client){ %line = '%1 %2%3%4%5%6%7%8'; messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, %game.getTeamName(%cl.team), %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"] ); - %count[%highTeam]++; + %count[%highTeam]++; %notDone = false; for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) { @@ -3491,7 +3388,7 @@ function SCtFGame::sendDebriefing(%game, %client){ } } } - + //now go through an list all the observers: %count = ClientGroup.getCount(); %printedHeader = false; @@ -3522,7 +3419,7 @@ function SCtFGame::sendDebriefing(%game, %client){ function extendedDebrief(%game, %client){ if($dtStats::evoStyleDebrief && !%client.isWatchOnly){ - if(dtGameStat.gc["flag"] > 0){ + if(dtGameStat.gc["flag"] > 0){ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); messageClient( %client, 'MsgDebriefAddLine', "", 'FLAG STATS\tPLAYER\t' ); if(dtGameStat.stat["heldTimeSec"] > 0) @@ -3566,33 +3463,33 @@ function extendedDebrief(%game, %client){ if(dtGameStat.stat["mortarMA"] > 0){ %line = 'Mortar\t%1\t%2\t%3\t%4m'; messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["mortarMA"], dtGameStat.stat["mortarMA"], dtGameStat.name["mortarMAHitDist"], mFormatFloat(dtGameStat.stat["mortarMAHitDist"], "%.2f")); - } + } } if(dtGameStat.gc["misc"] > 0){ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); messageClient( %client, 'MsgDebriefAddLine', "", 'MISC' ); if(dtGameStat.stat["laserHeadShot"] > 0) messageClient( %client, 'MsgDebriefAddLine', "", 'Headhunter \t%1\t%2',dtGameStat.name["laserHeadShot"],dtGameStat.stat["laserHeadShot"]); - if(dtGameStat.stat["laserHitDist"] > 0) + if(dtGameStat.stat["laserHitDist"] > 0) messageClient( %client, 'MsgDebriefAddLine', "", 'Longest Snipeshot\t%1\t%2m',dtGameStat.name["laserHitDist"],mFormatFloat(dtGameStat.stat["laserHitDist"], "%.2f")); - if(dtGameStat.stat["shockRearShot"] > 0) + if(dtGameStat.stat["shockRearShot"] > 0) messageClient( %client, 'MsgDebriefAddLine', "", 'Taser Tailgater\t%1\t%2',dtGameStat.name["shockRearShot"],dtGameStat.stat["shockRearShot"]); - if(dtGameStat.stat["repairs"] > 0) + if(dtGameStat.stat["repairs"] > 0) messageClient( %client, 'MsgDebriefAddLine', "", 'Fixer Upper\t%1\t%2',dtGameStat.name["repairs"],dtGameStat.stat["repairs"]); } - + if(dtGameStat.gc["wep"] > 0){ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); messageClient( %client, 'MsgDebriefAddLine', "", '\tPLAYER\tDAMAGE\tPLAYER\tKILLS'); - + if(dtGameStat.stat["blasterDmg"] > 0){ %line = 'Blaster Master\t%1\t%2\t%3\t%4'; messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["blasterDmg"], mFormatFloat(dtGameStat.stat["blasterDmg"], "%.2f"), dtGameStat.name["blasterKills"], dtGameStat.stat["blasterKills"]); - } + } if(dtGameStat.stat["plasmaDmg"] > 0){ %line = 'Plasma Roaster\t%1\t%2\t%3\t%4'; messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["plasmaDmg"], mFormatFloat(dtGameStat.stat["plasmaDmg"], "%.2f"), dtGameStat.name["plasmaKills"], dtGameStat.stat["plasmaKills"]); - } + } if(dtGameStat.stat["discDmg"] > 0){ %line = 'Disc-O-maniac\t%1\t%2\t%3\t%4'; messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["discDmg"], mFormatFloat(dtGameStat.stat["discDmg"], "%.2f"), dtGameStat.name["discKills"], dtGameStat.stat["discKills"]); @@ -3737,10 +3634,10 @@ package dtStatsGame{ clientDmgStats(%data,%position,%sourceObject,%targetObject, %damageType,%amount); parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC); } - + function SensorJammerPackImage::onMount(%data, %obj, %slot){ parent::onMount(%data, %obj, %slot); - %obj.client.dtStats.stat["jammer"]++; + %obj.client.dtStats.stat["jammer"]++; } //0 Fire 1 ??? 2 jump 3 jet 4 gernade 5 mine @@ -3877,10 +3774,10 @@ package dtStatsGame{ } function CTFGame::boundaryLoseFlag(%game, %player){ %flag = %player.holdingFlag; - + %ftime = getSimTime() - %game.dtTotalFlagTime[%flag]; %player.client.dtStats.stat["flagTimeMin"] += (%ftime/1000)/60; - + %game.dtTotalFlagTime[%flag] = 0; parent::boundaryLoseFlag(%game, %player); } @@ -3947,12 +3844,12 @@ package dtStatsGame{ if(%game.dtTotalFlagTime[%flag]){ %heldTime = (getSimTime() - %game.dtTotalFlagTime[%flag])/1000; %dtStats.stat["flagTimeMin"] += %heldTime/60; - + if(%heldTime < %dtStats.stat["heldTimeSec"] || !%dtStats.stat["heldTimeSec"]){ %dtStats.stat["heldTimeSec"] = %heldTime; dtMinMax("heldTimeSec", "flag", 2, %heldTime, %player.client); - - + + } if($dtStats::ctfTimes){ %heldTimeMS = getSimTime() - %game.dtTotalFlagTime[%flag]; @@ -3966,7 +3863,7 @@ package dtStatsGame{ %saved = "\c2Saved: \c3-" @ %game.formatTime(%oldTime - %heldTimeMS, true) @ "\c2"; } //schedule(2000, 0, "messageAll", 'MsgCTFNewRecord', "\c2It's a new record! Time: \c3"@ %fTime @"\c2 " @ %saved @ "~wfx/misc/hunters_horde.wav"); - schedule(4000, 0, "messageAll", 'MsgCTFNewRecord', '\c2It\'s a new %3 record! Time: \c3%1 \c2%2 ~wfx/misc/hunters_horde.wav',%fTime,%saved,$TeamName[%clTeam]); + schedule(4000, 0, "messageAll", 'MsgCTFNewRecord', '\c2It\'s a new %3 record! Time: \c3%1 \c2%2 ~wfx/misc/hunters_horde.wav',%fTime,%saved,$TeamName[%clTeam]); $dtServer::capTimes[%mapName,%game.class,%clTeam] = %heldTimeMS TAB %dtStats.name; } } @@ -3990,10 +3887,10 @@ package dtStatsGame{ ///////////////////////////////////////////////////////////////////////////// function LCTFGame::playerDroppedFlag(%game, %player){ %flag = %player.holdingFlag; - + %ftime = getSimTime() - %game.dtTotalFlagTime[%flag]; %player.client.dtStats.stat["flagTimeMin"] += (%ftime/1000)/60; - + %game.dtTotalFlagTime[%flag] = 0; if(%player.getState() !$= "Dead"){ %player.client.dtStats.stat["flagToss"]++; @@ -4007,10 +3904,10 @@ package dtStatsGame{ } function LCTFGame::boundaryLoseFlag(%game, %player){ %flag = %player.holdingFlag; - + %ftime = getSimTime() - %game.dtTotalFlagTime[%flag]; %player.client.dtStats.stat["flagTimeMin"] += (%ftime/1000)/60; - + %game.dtTotalFlagTime[%flag] = 0; parent::boundaryLoseFlag(%game, %player); } @@ -4070,7 +3967,7 @@ package dtStatsGame{ } if(%game.dtTotalFlagTime[%flag]){ %heldTime = (getSimTime() - %game.dtTotalFlagTime[%flag])/1000; - %dtStats.stat["flagTimeMin"] += %heldTime/60; + %dtStats.stat["flagTimeMin"] += %heldTime/60; if(%heldTime < %dtStats.stat["heldTimeSec"] || !%dtStats.stat["heldTimeSec"]){ %dtStats.stat["heldTimeSec"] = %heldTime; dtMinMax("heldTimeSec", "flag", 2, %heldTime, %player.client); @@ -4108,14 +4005,14 @@ package dtStatsGame{ } parent::playerTouchOwnFlag(%game, %player, %flag); } - - + + function SCtFGame::playerDroppedFlag(%game, %player){ %flag = %player.holdingFlag; - + %ftime = getSimTime() - %game.dtTotalFlagTime[%flag]; %player.client.dtStats.stat["flagTimeMin"] += (%ftime/1000)/60; - + %game.dtTotalFlagTime[%flag] = 0; if(%player.getState() !$= "Dead"){ %player.client.dtStats.stat["flagToss"]++; @@ -4129,10 +4026,10 @@ package dtStatsGame{ } function SCtFGame::boundaryLoseFlag(%game, %player){ %flag = %player.holdingFlag; - + %ftime = getSimTime() - %game.dtTotalFlagTime[%flag]; %player.client.dtStats.stat["flagTimeMin"] += (%ftime/1000)/60; - + %game.dtTotalFlagTime[%flag] = 0; parent::boundaryLoseFlag(%game, %player); } @@ -4192,7 +4089,7 @@ package dtStatsGame{ } if(%game.dtTotalFlagTime[%flag]){ %heldTime = (getSimTime() - %game.dtTotalFlagTime[%flag])/1000; - %dtStats.stat["flagTimeMin"] += %heldTime/60; + %dtStats.stat["flagTimeMin"] += %heldTime/60; if(%heldTime < %dtStats.stat["heldTimeSec"] || !%dtStats.stat["heldTimeSec"]){ %dtStats.stat["heldTimeSec"] = %heldTime; dtMinMax("heldTimeSec", "flag", 2, %heldTime, %player.client); @@ -4342,7 +4239,7 @@ function ArenaHud( %game, %client, %tag ) for ( %iTeam = 1; %iTeam <= Game.numTeams; %iTeam++ ) { // Send team name - + %teamPlayerCount = tsPlayerCountTeam( %iTeam ); %teamPlayerCountPlural = %teamPlayerCount == 1 ? "" : "s"; @@ -4866,7 +4763,7 @@ function CTFHud(%game, %client, %tag){// defaultGame/evo %index++; } - //for(%i = 10; %i <= 32; %i++){ + //for(%i = 10; %i <= 32; %i++){ //messageClient(%client, 'SetLineHud', "", %tag, %index, ' [RobotoGg %1]', %i); //%index++; //} @@ -4878,7 +4775,7 @@ function dtStatsMissionDropReady(%game, %client){ // called when client has fini if($dtStats::debugEchos){error("dtStatsMissionDropReady GUID = " SPC %client.guid);} if($HostGamePlayerCount > $dtServer::maxPlayers[cleanMapName($CurrentMission),%game.class]) $dtServer::maxPlayers[cleanMapName($CurrentMission),%game.class] = $HostGamePlayerCount; - + %client.lp = "";//last position for distMove %client.lgame = %game.class; %foundOld = 0; @@ -4958,7 +4855,7 @@ function dtStatsClientLeaveGame(%client){ %client.dtStats.leftPCT = Game.getGamePct(); if(isGameRun() && %client.score != 0){ updateTeamTime(%client.dtStats, %client.dtStats.team); - armorTimer(%client.dtStats, 0, 1); + armorTimer(%client.dtStats, 0, 1); } } else{ @@ -4972,35 +4869,91 @@ function dtStatsGameOver( %game ){ $dtStats::LastMissionDN = $MissionDisplayName; $dtStats::LastMissionCM = $CurrentMission; $dtStats::LastGameType = %game.class; - - if(($Host::TournamentMode && %game.getGamePct() > 50) || $dtStats::tmMode){ - if(!getFieldCount($dtServerVars::pugIDS[%game.class])){ - $dtServerVars::pugIDS[%game.class] = $dtStats::gameID; - $dtServerVars::pugMap[%game.class] = $MissionDisplayName; - $dtServerVars::pugDate[%game.class] = formattimestring("M-d-yy"); - $dtServerVars::pugFS[%game.class] = $TeamScore[1] SPC $TeamScore[2]; - } - else{ - $dtServerVars::pugIDS[%game.class] = $dtServerVars::pugIDS[%game.class] TAB $dtStats::gameID; - $dtServerVars::pugMap[%game.class] = $dtServerVars::pugMap[%game.class] TAB $MissionDisplayName; - $dtServerVars::pugDate[%game.class] = $dtServerVars::pugDate[%game.class] TAB formattimestring("M-d-yy"); - $dtServerVars::pugFS[%game.class] = $dtServerVars::pugFS[%game.class] TAB $TeamScore[1] SPC $TeamScore[2]; - } - if($dtStats::tmMode && (%game.class $= "CTFGame" || %game.class $= "LCTFGame" || %game.class $= "SCtFGame")){ - if($dtStats::tmModeGC++ >= 6){// only works in ctf mode - $dtStats::tmMode = 0; - $dtStats::tmModeGC = 0; + if($Host::TournamentMode){ + $dtStats::tmMode = (%game.getGamePct() > 50); + } + if(%game.class $= "CTFGame" || %game.class $= "LCTFGame" || %game.class $= "SCtFGame" || %game.class $= "ArenaGame" ){ + if($dtStats::tmMode){ + if(!isObject(pugList)){ + new simGroup(pugList); + rootGroup.add(pugList); + } + %tmClass = "TM" @ %game.class; + if(!isObject(%tmClass)){ + new simGroup(%tmClass){ + game = %game.class; + }; + pugList.add(%tmClass); + } + %so = new scriptObject(){ + pugID = $dtStats::gameID; + mapName = $MissionDisplayName; + date = formattimestring("M-d-yy"); + teamOne = $TeamScore[1]; + teamTwo = $TeamScore[2]; + gameType = %game.class; + count = %tmClass.count; + mark = dtMarkDate(); + }; + %tmClass.add(%so); + if(%tmClass.getCount() > 100){ + %max = 0; + for(%i = 0; %i < %tmClass.getCount(); %i++){ + %obj = %tmClass.getObject(%i); + %delta = getTimeDelta(%obj.mark); + if(%max < %delta){ + %max = %delta; + %delObj = %obj; + } + } + if(isObject(%delObj)){ + %delObj.delete(); + } } } else{ - $dtStats::tmMode = 0; - $dtStats::tmModeGC = 0; + if(!isObject(pubList)){ + new simGroup(pubList); + rootGroup.add(pubList); + } + %gmClass = "GM" @ %game.class; + if(!isObject(%gmClass)){ + new simGroup(%gmClass){ + game = %game.class; + }; + pubList.add(%gmClass); + } + %so = new scriptObject(){ + pugID = $dtStats::gameID; + mapName = $MissionDisplayName; + date = formattimestring("M-d-yy"); + teamOne = $TeamScore[1]; + teamTwo = $TeamScore[2]; + gameType = %game.class; + count = %gmClass.count; + mark = dtMarkDate(); + }; + %gmClass.add(%so); + if(%gmClass.getCount() > 100){ + %max = 0; + for(%i = 0; %i < %gmClass.getCount(); %i++){ + %obj = %gmClass.getObject(%i); + %delta = getTimeDelta(%obj.mark); + if(%max < %delta){ + %max = %delta; + %delObj = %obj; + } + } + if(isObject(%delObj)){ + %delObj.delete(); + } + } } } if(%game.getGamePct() > 90){ $dtServer::playCount[cleanMapName($CurrentMission),%game.class]++; $dtServer::lastPlay[cleanMapName($CurrentMission),%game.class] = getDayNum() TAB getYear() TAB formattimestring("mm/dd/yy hh:nn:a"); - if(%game.numTeams > 1){ + if(%game.numTeams > 1){ if($teamScore[1] > $teamScore[2]){ $dtServer::teamOneWin[cleanMapName($CurrentMission),%game.class]++; $dtServer::teamTwoLoss[cleanMapName($CurrentMission),%game.class]++; @@ -5013,7 +4966,7 @@ function dtStatsGameOver( %game ){ } else $dtServer::skipCount[cleanMapName($CurrentMission),%game.class]++; - + if(!$dtStats::statsSave){//in case of admin skip map and it has not finished saving the old map $dtStats::statsSave = 1; statsGroup.stat["firstKill"] = 0; @@ -5030,7 +4983,7 @@ function dtStatsGameOver( %game ){ %dtStats.markForDelete = 1; if($dtStats::Enable){ %game.postGameStats(%dtStats); - if(!%dtStats.gameData[%game.class]){ + if(!%dtStats.gameData[%game.class,$dtStats::tmMode]){ %time += $dtStats::saveTime; schedule(%time,0,"loadGameStats",%dtStats,%game.class); } @@ -5045,10 +4998,10 @@ function dtStatsGameOver( %game ){ %client.dtStats.isBot = (%client.isWatchOnly == 1); %client.viewMenu = %client.viewClient = %client.viewStats = 0;//reset hud %client.lastPage = 1; %client.lgame = %game; - + if($dtStats::Enable){ %game.postGameStats(%dtStats); - if(!%dtStats.gameData[%game.class]){ + if(!%dtStats.gameData[%game.class, $dtStats::tmMode]){ %time += $dtStats::saveTime; schedule(%time,0,"loadGameStats",%dtStats,%game.class); } @@ -5058,7 +5011,7 @@ function dtStatsGameOver( %game ){ schedule(%time,0,"saveGameTotalStats",%dtStats,%game.class); // } else{ - resetDtStats(%dtStats,%game.class,0); + resetDtStats(%dtStats,%game.class,0); } } else{ @@ -5089,7 +5042,7 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en if(!isObject(%dtStats)) return; %dtStats.stat["tournamentMode"] = $Host::TournamentMode; - + %dtStats.stat["null"] = getRandom(1,100); %dtStats.stat["kdr"] = %dtStats.stat["deaths"] ? (%dtStats.stat["kills"]/%dtStats.stat["deaths"]) : %dtStats.stat["kills"]; @@ -5171,13 +5124,13 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en if(%dtStats.stat["blasterShotsFired"] < 15) %dtStats.stat["blasterACC"] = 0; - + if(%dtStats.stat["missileShotsFired"] < 8) %dtStats.stat["missileACC"] = 0; if(%dtStats.stat["hGrenadeShotsFired"] < 6) %dtStats.stat["hGrenadeACC"] = 0; - + if(%dtStats.stat["mineShotsFired"] < 6) %dtStats.stat["mineACC"] = 0; @@ -5216,8 +5169,8 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en %dtStats.stat["depTurretRepairs"]; %dtStats.stat["capEfficiency"] = (%dtStats.stat["flagGrabs"] > 0) ? (%dtStats.stat["flagCaps"] / %dtStats.stat["flagGrabs"]) : 0; - - + + if(statsGroup.team[1] == statsGroup.team[2]){ %dtStats.stat["winCount"] = 0; %dtStats.stat["lossCount"] = 0; @@ -5235,8 +5188,30 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en %winCount = %winCount ? %winCount : 0; %dtStats.stat["winLostPct"] = (%winCount / %lostCount); } - else if(%game.class $= "LakRabbitGame") + else if(%game.class $= "LakRabbitGame"){ %dtStats.stat["flagTimeMin"] = (%dtStats.flagTimeMS / 1000)/60; + } + else if(%game.class $= "ArenaGame"){ + %dtStats.stat["WLR"] = (%dtStats.stat["roundsLost"] > 0) ? %dtStats.stat["roundsWon"] / %dtStats.stat["roundsLost"] : %dtStats.stat["roundsWon"]; + if(%dtStats.stat["discShotsFired"]){ + %dtStats.stat["discMARatio"] = %dtStats.stat["discMA"] / %dtStats.stat["discShotsFired"]; + } + if(%dtStats.stat["plasmaShotsFired"]){ + %dtStats.stat["plasmaMARatio"] = %dtStats.stat["plasmaMA"] / %dtStats.stat["plasmaShotsFired"]; + } + if(%dtStats.stat["laserShotsFired"]){ + %dtStats.stat["laserMARatio"] = %dtStats.stat["laserMA"] / %dtStats.stat["laserShotsFired"]; + } + if(%dtStats.stat["grenadeShotsFired"]){ + %dtStats.stat["grenadeMARatio"] = %dtStats.stat["grenadeMA"] / %dtStats.stat["grenadeShotsFired"]; + } + if(%dtStats.stat["shockShotsFired"]){ + %dtStats.stat["shockMARatio"] = %dtStats.stat["shockMA"] / %dtStats.stat["shockShotsFired"]; + } + if(%dtStats.stat["blasterShotsFired"]){ + %dtStats.stat["blasterMARatio"] = %dtStats.stat["blasterMA"] / %dtStats.stat["blasterShotsFired"]; + } + } } function isGameRun(){// @@ -5353,6 +5328,21 @@ function SCtFGame::getGamePct(%game){ return %timePct; } +function ArenaGame::getGamePct(%game){ + %curTimeLeftMS = ((getSimTime() - $missionStartTime)/1000)/60; + %timePct = (%curTimeLeftMS / $Host::TimeLimit) * 100; + %timePct = (%timePct > 100) ? 100 : %timePct; + %scorePct = 0; + for ( %i = 1; %i <= %game.numTeams; %i++ ){ + %score = ($TeamScore[%i] / %game.roundLimit) * 100; + %scorePct = (%score > %scorePct) ? %score : %scorePct; + } + if(%scorePct > %timePct) + return %scorePct; + else + return %timePct; +} + function msToMinSec(%time) { %sec = mFloor(%time / 1000); @@ -5440,7 +5430,7 @@ function cleanName(%nm){ } function cleanMapName(%nm){ - return stripChars(%nm," !_\"#$%&'()*+,-./:;<=>?@[\\]^'{|}~\t\n\r0123456789"); + return stripChars(%nm," !_\"#$%&'()*+,-./:;<=>?@[\\]^'{|}~\t\n\r0123456789"); } function setGUIDName(%client){ @@ -5552,7 +5542,13 @@ function loadGameStats(%dtStats,%game){// called when client joins server.cs onC if($dtStats::debugEchos){error("loadGameStats GUID = " SPC %dtStats.guid);} if(%dtStats.guid !$= ""){ loadGameTotalStats(%dtStats,%game); - %filename = "serverStats/stats/" @ %game @ "/" @ %dtStats.guid @ "g.cs"; + if($dtStats::tmMode){ + %filename = "serverStats/statsTM/" @ %game @ "/" @ %dtStats.guid @ "g.cs"; + } + else{ + %filename = "serverStats/stats/" @ %game @ "/" @ %dtStats.guid @ "g.cs"; + } + if(isFile(%filename)){ %file = new FileObject(); RootGroup.add(%file); @@ -5560,20 +5556,24 @@ function loadGameStats(%dtStats,%game){// called when client joins server.cs onC while( !%file.isEOF() ){ %line = strreplace(%file.readline(),"%t","\t"); %var = getField(%line,0); - %dtStats.gameStats[%var,"g",%game] = getFields(%line,1,getFieldCount(%line)-1); + %dtStats.gameStats[%var,"g",%game,$dtStats::tmMode] = getFields(%line,1,getFieldCount(%line)-1); } - %dtStats.gameData[%game]= 1; + %dtStats.gameData[%game,$dtStats::tmMode]= 1; %file.close(); %file.delete(); } else - %dtStats.gameData[%game]= 1; + %dtStats.gameData[%game,$dtStats::tmMode]= 1; } } function loadGameTotalStats(%dtStats,%game){ if($dtStats::debugEchos){error("loadGameTotalStats GUID = " SPC %dtStats.guid);} - - %filename = "serverStats/stats/" @ %game @ "/" @ %dtStats.guid @ "t.cs"; + if($dtStats::tmMode){ + %filename = "serverStats/statsTM/" @ %game @ "/" @ %dtStats.guid @ "t.cs"; + } + else{ + %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)){ %file = new FileObject(); @@ -5600,7 +5600,7 @@ function loadGameTotalStats(%dtStats,%game){ 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 + %dtStats.gameStats["dwmqy","t",%game,$dtStats::tmMode] = %d0 TAB %d1 TAB %w0 TAB %w1 TAB %m0 TAB %m1 TAB %q0 TAB %q1 TAB %y0 TAB %y1; // update line } while( !%file.isEOF() ){ %line = strreplace(%file.readline(),"%t","\t"); @@ -5618,60 +5618,70 @@ function loadGameTotalStats(%dtStats,%game){ if(%quarter){%q0 = %q1;%q1 = 0;} if(%year){ %y0 = %y1;%y1 = 0;} - %dtStats.gameStats[%var,"t",%game] = %d0 TAB %d1 TAB %w0 TAB %w1 TAB %m0 TAB %m1 TAB %q0 TAB %q1 TAB %y0 TAB %y1; + %dtStats.gameStats[%var,"t",%game,$dtStats::tmMode] = %d0 TAB %d1 TAB %w0 TAB %w1 TAB %m0 TAB %m1 TAB %q0 TAB %q1 TAB %y0 TAB %y1; } } %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; + %dtStats.gameStats["dwmqy","t",%game, $dtStats::tmMode] = %d TAB %d TAB %w TAB %w TAB %m TAB %m TAB %q TAB %q TAB %y TAB %y; } function saveGameTotalStats(%dtStats,%game){ if($dtStats::debugEchos){error("saveGameTotalStats GUID = " SPC %dtStats.guid);} - if(%dtStats.guid !$= "" && !%dtStats.isBot){// dont save if we are dont have a guid or is a bot + if(%dtStats.guid !$= "" && !%dtStats.isBot){// dont save if we are dont have a guid or is a bot - if(%dtStats.gameStats["statsOverWrite","g",%game] $= ""){%dtStats.gameStats["statsOverWrite","g",%game] = 0;} + if(%dtStats.gameStats["statsOverWrite","g",%game,$dtStats::tmMode] $= ""){%dtStats.gameStats["statsOverWrite","g",%game,$dtStats::tmMode] = 0;} %fileTotal = new FileObject(); RootGroup.add(%fileTotal); - %fileNameTotal = "serverStats/stats/"@ %game @ "/" @ %dtStats.guid @ "t.cs"; + if($dtStats::tmMode){ + %fileNameTotal = "serverStats/statsTM/"@ %game @ "/" @ %dtStats.guid @ "t.cs"; + } + else{ + %fileNameTotal = "serverStats/stats/"@ %game @ "/" @ %dtStats.guid @ "t.cs"; + } %fileTotal.OpenForWrite(%fileNameTotal); - %fileTotal.writeLine("days" @ "%t" @ strreplace(%dtStats.gameStats["dwmqy","t",%game],"\t","%t")); - %fileTotal.writeLine("gameCount" @ "%t" @ strreplace(%dtStats.gameStats["gameCount","t",%game],"\t","%t")); + %fileTotal.writeLine("days" @ "%t" @ strreplace(%dtStats.gameStats["dwmqy","t",%game,$dtStats::tmMode],"\t","%t")); + %fileTotal.writeLine("gameCount" @ "%t" @ strreplace(%dtStats.gameStats["gameCount","t",%game,$dtStats::tmMode],"\t","%t")); %fileTotal.writeLine("playerName" @ "%t" @ %dtStats.name); %fileTotal.writeLine("versionNum" @ "%t" @ $dtStats::version); %fileGame = new FileObject(); RootGroup.add(%fileGame); - %fileNameGame = "serverStats/stats/" @ %game @ "/" @ %dtStats.guid @ "g.cs"; + if($dtStats::tmMode){ + %fileNameGame = "serverStats/statsTM/" @ %game @ "/" @ %dtStats.guid @ "g.cs"; + } + else{ + %fileNameGame = "serverStats/stats/" @ %game @ "/" @ %dtStats.guid @ "g.cs"; + } %fileGame.OpenForWrite(%fileNameGame); %fileGame.writeLine("playerName" @ "%t" @ trim(%dtStats.name)); - %fileGame.writeLine("statsOverWrite" @ "%t" @ %dtStats.gameStats["statsOverWrite","g",%game]); - %fileGame.writeLine("totalGames" @ "%t" @ %dtStats.gameStats["totalGames","g",%game]); - %fileGame.writeLine("fullSet" @ "%t" @ %dtStats.gameStats["fullSet","g",%game]); - %fileGame.writeLine("dayStamp" @ "%t" @ strreplace(%dtStats.gameStats["dayStamp","g",%game],"\t","%t")); - %fileGame.writeLine("weekStamp" @ "%t" @ strreplace(%dtStats.gameStats["weekStamp","g",%game],"\t","%t")); - %fileGame.writeLine("monthStamp" @ "%t" @ strreplace(%dtStats.gameStats["monthStamp","g",%game],"\t","%t")); - %fileGame.writeLine("quarterStamp" @ "%t" @ strreplace(%dtStats.gameStats["quarterStamp","g",%game],"\t","%t")); - %fileGame.writeLine("yearStamp" @ "%t" @ strreplace(%dtStats.gameStats["yearStamp","g",%game],"\t","%t")); - %fileGame.writeLine("dateStamp" @ "%t" @ strreplace(%dtStats.gameStats["dateStamp","g",%game],"\t","%t")); - %fileGame.writeLine("timeDayMonth" @ "%t" @ strreplace(%dtStats.gameStats["timeDayMonth","g",%game],"\t","%t")); - %fileGame.writeLine("map" @ "%t" @ strreplace(%dtStats.gameStats["map","g",%game],"\t","%t")); - %fileGame.writeLine("mapID" @ "%t" @ strreplace(%dtStats.gameStats["mapID","g",%game],"\t","%t")); - %fileGame.writeLine("mapGameID" @ "%t" @ strreplace(%dtStats.gameStats["mapGameID","g",%game],"\t","%t")); - %fileGame.writeLine("gameID" @ "%t" @ strreplace(%dtStats.gameStats["gameID","g",%game],"\t","%t")); - %fileGame.writeLine("gamePCT" @ "%t" @ strreplace(%dtStats.gameStats["gamePCT","g",%game],"\t","%t")); - %fileGame.writeLine("versionNum" @ "%t" @ strreplace(%dtStats.gameStats["versionNum","g",%game],"\t","%t")); + %fileGame.writeLine("statsOverWrite" @ "%t" @ %dtStats.gameStats["statsOverWrite","g",%game,$dtStats::tmMode]); + %fileGame.writeLine("totalGames" @ "%t" @ %dtStats.gameStats["totalGames","g",%game,$dtStats::tmMode]); + %fileGame.writeLine("fullSet" @ "%t" @ %dtStats.gameStats["fullSet","g",%game,$dtStats::tmMode]); + %fileGame.writeLine("dayStamp" @ "%t" @ strreplace(%dtStats.gameStats["dayStamp","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("weekStamp" @ "%t" @ strreplace(%dtStats.gameStats["weekStamp","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("monthStamp" @ "%t" @ strreplace(%dtStats.gameStats["monthStamp","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("quarterStamp" @ "%t" @ strreplace(%dtStats.gameStats["quarterStamp","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("yearStamp" @ "%t" @ strreplace(%dtStats.gameStats["yearStamp","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("dateStamp" @ "%t" @ strreplace(%dtStats.gameStats["dateStamp","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("timeDayMonth" @ "%t" @ strreplace(%dtStats.gameStats["timeDayMonth","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("map" @ "%t" @ strreplace(%dtStats.gameStats["map","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("mapID" @ "%t" @ strreplace(%dtStats.gameStats["mapID","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("mapGameID" @ "%t" @ strreplace(%dtStats.gameStats["mapGameID","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("gameID" @ "%t" @ strreplace(%dtStats.gameStats["gameID","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("gamePCT" @ "%t" @ strreplace(%dtStats.gameStats["gamePCT","g",%game,$dtStats::tmMode],"\t","%t")); + %fileGame.writeLine("versionNum" @ "%t" @ strreplace(%dtStats.gameStats["versionNum","g",%game,$dtStats::tmMode],"\t","%t")); for(%q = 0; %q < $statsVars::count[%game]; %q++){ %varNameType = $statsVars::varNameType[%q,%game]; %varType = $statsVars::varType[%varNameType,%game]; if(%varType !$= "TTL"){ - %val = %dtStats.gameStats[%varNameType,"g",%game]; + %val = %dtStats.gameStats[%varNameType,"g",%game,$dtStats::tmMode]; %fileGame.writeLine(%varNameType @ "%t" @ strreplace(%val,"\t","%t")); } if(%varType !$= "Game"){ - %val = %dtStats.gameStats[%varNameType,"t",%game]; + %val = %dtStats.gameStats[%varNameType,"t",%game,$dtStats::tmMode]; %fileTotal.writeLine(%varNameType @ "%t" @ strreplace(%val,"\t","%t")); } } @@ -5697,23 +5707,23 @@ function getMapIDName(%game){ function incGameStats(%dtStats,%game) {// record that games stats and inc by one if($dtStats::debugEchos){error("incGameStats GUID = " SPC %dtStats.guid);} - %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; + %c = %dtStats.gameStats["statsOverWrite","g",%game,$dtStats::tmMode]++; + if(%dtStats.gameStats["statsOverWrite","g",%game,$dtStats::tmMode] > $dtStats::MaxNumOfGames-1 || %dtStats.gameStats["statsOverWrite","g",%game,$dtStats::tmMode] > 99){ + %c = %dtStats.gameStats["statsOverWrite","g",%game,$dtStats::tmMode] = 0; + %dtStats.gameStats["fullSet","g",%game,$dtStats::tmMode] = 1; } - %dtStats.gameStats["totalGames","g",%game]++; + %dtStats.gameStats["totalGames","g",%game,$dtStats::tmMode]++; - %c1 = getField(%dtStats.gameStats["gameCount","t",%game],1); + %c1 = getField(%dtStats.gameStats["gameCount","t",%game,$dtStats::tmMode],1); setValueField(%dtStats,"gameCount","t",%game,1,%c1++); - %c7 = getField(%dtStats.gameStats["gameCount","t",%game],3); + %c7 = getField(%dtStats.gameStats["gameCount","t",%game,$dtStats::tmMode],3); setValueField(%dtStats,"gameCount","t",%game,3,%c7++); - %c30 = getField(%dtStats.gameStats["gameCount","t",%game],5); + %c30 = getField(%dtStats.gameStats["gameCount","t",%game,$dtStats::tmMode],5); setValueField(%dtStats,"gameCount","t",%game,5,%c30++); - %c90 = getField(%dtStats.gameStats["gameCount","t",%game],7); + %c90 = getField(%dtStats.gameStats["gameCount","t",%game,$dtStats::tmMode],7); setValueField(%dtStats,"gameCount","t",%game,7,%c90++); - %c365 = getField(%dtStats.gameStats["gameCount","t",%game],9); + %c365 = getField(%dtStats.gameStats["gameCount","t",%game,$dtStats::tmMode],9); setValueField(%dtStats,"gameCount","t",%game,9,%c365++); setValueField(%dtStats,"dayStamp","g",%game,%c,$dtStats::curDay); @@ -5729,36 +5739,36 @@ function incGameStats(%dtStats,%game) {// record that games stats and inc by one setValueField(%dtStats,"gameID","g",%game,%c,$dtStats::gameID); setValueField(%dtStats,"gamePCT","g",%game,%c,%dtStats.gamePCT); setValueField(%dtStats,"versionNum","g",%game,%c,$dtStats::version); - + for(%q = 0; %q < $statsVars::count[%game]; %q++){ %varNameType = $statsVars::varNameType[%q,%game]; %varName = $statsVars::varName[%q,%game]; %varType = $statsVars::varType[%varNameType,%game]; - + switch$(%varType){ case "Game": %val = %dtStats.stat[%varName]; setValueField(%dtStats,%varNameType,"g",%game,%c,%val); - + case "TG": %val = %dtStats.stat[%varName]; setValueField(%dtStats,%varNameType,"g",%game,%c,%val); for(%x = 1; %x <= 9; %x+=2){ - %t = getField(%dtStats.gameStats[%varNameType,"t",%game],%x); + %t = getField(%dtStats.gameStats[%varNameType,"t",%game,$dtStats::tmMode],%x); setValueField(%dtStats,%varNameType,"t",%game,%x,addNum(%t,%val)); } case "TTL": %val = %dtStats.stat[%varName]; for(%x = 1; %x <= 9; %x+=2){ - %t = getField(%dtStats.gameStats[%varNameType,"t",%game],%x); + %t = getField(%dtStats.gameStats[%varNameType,"t",%game,$dtStats::tmMode],%x); setValueField(%dtStats,%varNameType,"t",%game,%x,addNum(%t,%val)); } case "Max": %val = %dtStats.stat[%varName]; setValueField(%dtStats,%varNameType,"g",%game,%c,%val); for(%x = 1; %x <= 9; %x+=2){ - %t = getField(%dtStats.gameStats[%varNameType,"t",%game],%x); + %t = getField(%dtStats.gameStats[%varNameType,"t",%game,$dtStats::tmMode],%x); if(%val > %t){ setValueField(%dtStats,%varNameType,"t",%game,%x,%val); } @@ -5771,11 +5781,11 @@ function incGameStats(%dtStats,%game) {// record that games stats and inc by one setValueField(%dtStats,%varNameType,"g",%game,%c,%val); for(%x = 1; %x <= 9; %x+=2){ - %t = getField(%dtStats.gameStats[%varNameType,"t",%game],%x); + %t = getField(%dtStats.gameStats[%varNameType,"t",%game,$dtStats::tmMode],%x); if(%val < %t && %val != 0 || !%t){ setValueField(%dtStats,%varNameType,"t",%game,%x,%val); } - else{ + else{ setValueField(%dtStats,%varNameType,"t",%game,%x,%t); } } @@ -5784,7 +5794,7 @@ function incGameStats(%dtStats,%game) {// record that games stats and inc by one setValueField(%dtStats,%varNameType,"g",%game,%c,%val); for(%x = 1; %x <= 9; %x+=2){ - %t = strreplace(getField(%dtStats.gameStats[%varNameType,"t",%game],%x),"%a","\t"); + %t = strreplace(getField(%dtStats.gameStats[%varNameType,"t",%game,$dtStats::tmMode],%x),"%a","\t"); if(%val != 0){ %total = getField(%t,1) + %val; if(%total<950000){ @@ -5831,6 +5841,11 @@ function cropFloat(%num,%x){ return %num; } +function roundDec(%num, %places) { + %factor = mPow(10, %places); + return mCeil(%num * %factor - 0.5) / %factor; +} + function addNum(%a,%b){ if(strPos(%a,"x") == -1 && strPos(%b,"x") == -1){ %ab = %a + %b; @@ -5987,21 +6002,21 @@ function genBlanks(){ // optimization thing saves on haveing to do it with every } function setValueField(%dtStats,%var,%type,%game,%c,%val){ if(%type $= "g"){ - %fc = getFieldCount(%dtStats.gameStats[%var,%type,%game]); + %fc = getFieldCount(%dtStats.gameStats[%var,%type,%game,$dtStats::tmMode]); if(%fc < 2){ - %dtStats.gameStats[%var,%type,%game] = $dtStats::blank["g"]; + %dtStats.gameStats[%var,%type,%game,$dtStats::tmMode] = $dtStats::blank["g"]; } else if( %fc > $dtStats::MaxNumOfGames){// trim it down as it as the MaxNumOfGames have gotten smaller - %dtStats.gameStats[%var,%type,%game] = getFields(%dtStats.gameStats[%var,%type,%game],0,$dtStats::MaxNumOfGames-1); + %dtStats.gameStats[%var,%type,%game,$dtStats::tmMode] = getFields(%dtStats.gameStats[%var,%type,%game,$dtStats::tmMode],0,$dtStats::MaxNumOfGames-1); } - %dtStats.gameStats[%var,%type,%game] = setField(%dtStats.gameStats[%var,%type,%game],%c, hasValue(%val)); + %dtStats.gameStats[%var,%type,%game,$dtStats::tmMode] = setField(%dtStats.gameStats[%var,%type,%game,$dtStats::tmMode],%c, hasValue(%val)); } else if(%type $= "t"){ - %fc = getFieldCount(%dtStats.gameStats[%var,%type,%game]); + %fc = getFieldCount(%dtStats.gameStats[%var,%type,%game,$dtStats::tmMode]); if(%fc < 2){ - %dtStats.gameStats[%var,%type,%game] = $dtStats::blank["t"]; + %dtStats.gameStats[%var,%type,%game,$dtStats::tmMode] = $dtStats::blank["t"]; } - %dtStats.gameStats[%var,%type,%game] = setField(%dtStats.gameStats[%var,%type,%game],%c, hasValue(%val)); + %dtStats.gameStats[%var,%type,%game,$dtStats::tmMode] = setField(%dtStats.gameStats[%var,%type,%game,$dtStats::tmMode],%c, hasValue(%val)); } } @@ -6024,7 +6039,7 @@ function hasValue(%val){//make sure we have at least something in the field spot //%dtStats.stat["suicides"] = %client.suicides; //%dtStats.stat["escortAssists"] = %client.escortAssists; //%dtStats.stat["teamKills"] = %client.teamKills; - //%dtStats.stat["tkDestroys"] = %client.tkDestroys; + //%dtStats.stat["tkDestroys"] = %client.tkDestroys; //%dtStats.stat["flagCaps"] = %client.flagCaps; //%dtStats.stat["flagGrabs"] = %client.flagGrabs; //%dtStats.stat["genDestroys"] = %client.genDestroys; @@ -6032,14 +6047,14 @@ function hasValue(%val){//make sure we have at least something in the field spot //%dtStats.stat["turretDestroys"] = %client.turretDestroys; //%dtStats.stat["iStationDestroys"] = %client.iStationDestroys; //%dtStats.stat["vstationDestroys"] = %client.vstationDestroys; - //%dtStats.stat["mpbtstationDestroys"] = %client.mpbtstationDestroys; + //%dtStats.stat["mpbtstationDestroys"] = %client.mpbtstationDestroys; //%dtStats.stat["solarDestroys"] = %client.solarDestroys; //%dtStats.stat["sentryDestroys"] = %client.sentryDestroys; //%dtStats.stat["depSensorDestroys"] = %client.depSensorDestroys; //%dtStats.stat["depTurretDestroys"] = %client.depTurretDestroys; //%dtStats.stat["depStationDestroys"] = %client.depStationDestroys; - //%dtStats.stat["vehicleScore"] = %client.vehicleScore; - //%dtStats.stat["vehicleBonus"] = %client.vehicleBonus; + //%dtStats.stat["vehicleScore"] = %client.vehicleScore; + //%dtStats.stat["vehicleBonus"] = %client.vehicleBonus; // //%dtStats.stat["flagDefends"] = %client.flagDefends; //%dtStats.stat["defenseScore"] = %client.defenseScore; @@ -6107,14 +6122,14 @@ function resGameStats(%client,%game){// copy data back over to client %client.turretDestroys = %dtStats.stat["turretDestroys"]; %client.iStationDestroys = %dtStats.stat["iStationDestroys"]; %client.vstationDestroys = %dtStats.stat["vstationDestroys"]; - %client.mpbtstationDestroys = %dtStats.stat["mpbtstationDestroys"]; + %client.mpbtstationDestroys = %dtStats.stat["mpbtstationDestroys"]; %client.solarDestroys = %dtStats.stat["solarDestroys"]; %client.sentryDestroys = %dtStats.stat["sentryDestroys"]; %client.depSensorDestroys = %dtStats.stat["depSensorDestroys"]; %client.depTurretDestroys = %dtStats.stat["depTurretDestroys"]; %client.depStationDestroys = %dtStats.stat["depStationDestroys"]; - %client.vehicleScore = %dtStats.stat["vehicleScore"]; - %client.vehicleBonus = %dtStats.stat["vehicleBonus"]; + %client.vehicleScore = %dtStats.stat["vehicleScore"]; + %client.vehicleBonus = %dtStats.stat["vehicleBonus"]; %client.flagDefends = %dtStats.stat["flagDefends"]; %client.defenseScore = %dtStats.stat["defenseScore"]; @@ -6157,7 +6172,7 @@ function resGameStats(%client,%game){// copy data back over to client %client.totalSnipes = %dtStats.stat["totalSnipes"]; %client.totalShockHits = %dtStats.stat["totalShockHits"]; %client.totalShocks = %dtStats.stat["totalShocks"]; - + %client.snipeKills = %dtStats.stat["snipeKills"]; %client.roundsWon = %dtStats.stat["roundsWon"]; %client.roundsLost = %dtStats.stat["roundsLost"]; @@ -6201,7 +6216,7 @@ function resetDtStats(%dtStats,%game,%slow){ //%var = $dtStats::uGFV[%i,%game];; //%dtStats.stat[%var]= 0; //} - + for(%i = 1; %i <= $dtStats::unusedCount; %i++){//script unused %var = $dtStats::unused[%i]; %dtStats.stat[%var]= 0; @@ -6308,32 +6323,36 @@ function deadDist(%pos,%pl){ } function dtMinMax(%statName,%group,%minMax,%value,%client){ - $Host::ClassicEvoStats = !$dtStats::evoStyleDebrief; - if(!isObject(dtGameStat)){ - new scriptObject(dtGameStat); - } - dtGameStat.gc[%group]++; - switch(%minMax){ - case 1: - if(dtGameStat.stat[%statName] < %value || dtGameStat.stat[%statName] $= ""){ - dtGameStat.stat[%statName] = %value; - dtGameStat.name[%statName] = getTaggedString(%client.name); - dtGameStat.client[%statName] = %client; - } - case 2: - if(dtGameStat.stat[%statName] > %value || dtGameStat.stat[%statName] $= ""){ - dtGameStat.stat[%statName] = %value; - dtGameStat.name[%statName] = getTaggedString(%client.name); - dtGameStat.client[%statName] = %client; - } - case 3: - dtGameStat.statTrack[%statName, %client] += %value; - %minMax = dtGameStat.statTrack[%statName, %client]; - if(dtGameStat.stat[%statName] < %value || dtGameStat.stat[%statName] $= ""){ - dtGameStat.stat[%statName] = %value; - dtGameStat.name[%statName] = getTaggedString(%client.name); - dtGameStat.client[%statName] = %client; + if($dtStats::evoStyleDebrief){ + if(!isObject(dtGameStat)){ + new scriptObject(dtGameStat); + rootGroup.add(dtGameStat); + } + if(%value != 0){ + dtGameStat.gc[%group]++; + switch(%minMax){ + case 1: + if(dtGameStat.stat[%statName] < %value || dtGameStat.stat[%statName] $= ""){ + dtGameStat.stat[%statName] = %value; + dtGameStat.name[%statName] = getTaggedString(%client.name); + dtGameStat.client[%statName] = %client; + } + case 2: + if(dtGameStat.stat[%statName] > %value || dtGameStat.stat[%statName] $= ""){ + dtGameStat.stat[%statName] = %value; + dtGameStat.name[%statName] = getTaggedString(%client.name); + dtGameStat.client[%statName] = %client; + } + case 3: + dtGameStat.statTrack[%statName, %client] += %value; + %minMax = dtGameStat.statTrack[%statName, %client]; + if(dtGameStat.stat[%statName] < %value || dtGameStat.stat[%statName] $= ""){ + dtGameStat.stat[%statName] = %value; + dtGameStat.name[%statName] = getTaggedString(%client.name); + dtGameStat.client[%statName] = %client; + } } + } } } @@ -6356,6 +6375,12 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d } %killerDT = %clKiller.dtStats; %victimDT = %clVictim.dtStats; + + if(%clKiller.killBy == %clVictim){ + %clKiller.killBy = 0; + %killerDT.stat["revenge"]++; + } + %clVictim.killBy = %clKiller; //fail safe in case package is out of order %victimPlayer = isObject(%clVictim.player) ? %clVictim.player : %clVictim.lastPlayer; %killerPlayer = isObject(%clKiller.player) ? %clKiller.player : %clKiller.lastPlayer; @@ -6443,25 +6468,26 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d //------------------------------------------------------------------------------ if(rayTest(%victimPlayer, $dtStats::midAirHeight)){%vcAir =1;}else{%vcAir =2;} if(rayTest(%killerPlayer, $dtStats::midAirHeight)){%kcAir =1;}else{%kcAir =2;} - + %vdis = rayTestDis(%victimPlayer); + switch$(%victimPlayer.getArmorSize()){ - case "Light":%killerDT.stat["armorL"]++; + case "Light":%killerDT.stat["armorL"]++; switch$(%killerPlayer.getArmorSize()){ - case "Light": %killerDT.stat["armorLL"]++;%killerDT.stat["armorLK"]++; - case "Medium":%killerDT.stat["armorML"]++;%killerDT.stat["armorMK"]++; - case "Heavy": %killerDT.stat["armorHL"]++;%killerDT.stat["armorHK"]++; + case "Light": %killerDT.stat["armorLL"]++;%killerDT.stat["armorLK"]++; + case "Medium":%killerDT.stat["armorML"]++;%killerDT.stat["armorMK"]++; + case "Heavy": %killerDT.stat["armorHL"]++;%killerDT.stat["armorHK"]++; } - case "Medium": %killerDT.stat["armorM"]++; + case "Medium": %killerDT.stat["armorM"]++; switch$(%killerPlayer.getArmorSize()){ - case "Light": %killerDT.stat["armorLM"]++;%killerDT.stat["armorLK"]++; - case "Medium":%killerDT.stat["armorMM"]++;%killerDT.stat["armorMK"]++; - case "Heavy": %killerDT.stat["armorHM"]++;%killerDT.stat["armorHK"]++; + case "Light": %killerDT.stat["armorLM"]++;%killerDT.stat["armorLK"]++; + case "Medium":%killerDT.stat["armorMM"]++;%killerDT.stat["armorMK"]++; + case "Heavy": %killerDT.stat["armorHM"]++;%killerDT.stat["armorHK"]++; } - case "Heavy":%killerDT.stat["armorH"]++; + case "Heavy":%killerDT.stat["armorH"]++; switch$(%killerPlayer.getArmorSize()){ case "Light": %killerDT.stat["armorLH"]++;%killerDT.stat["armorLK"]++; - case "Medium":%killerDT.stat["armorMH"]++;%killerDT.stat["armorMK"]++; - case "Heavy": %killerDT.stat["armorHH"]++;%killerDT.stat["armorHK"]++; + case "Medium":%killerDT.stat["armorMH"]++;%killerDT.stat["armorMK"]++; + case "Heavy": %killerDT.stat["armorHH"]++;%killerDT.stat["armorHK"]++; } } //------------------------------------------------------------------------------ @@ -6491,30 +6517,27 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d %killerDT.stat["cloakersKilled"]++; } if(getSimTime() - %killerPlayer.isCloakTime < 2000 && %killerPlayer.isCloakTime > 0){ - %killerDT.stat["cloakerKills"]++; + %killerDT.stat["cloakerKills"]++; } - + switch$(%damageType){// list of all damage types to track see damageTypes.cs case $DamageType::Bullet: %killerDT.stat["cgKills"]++; %victimDT.stat["cgDeaths"]++; if(%killerDT.stat["cgKillDist"] < %dis){%killerDT.stat["cgKillDist"] = %dis;} - if(%killerDT.stat["cgKillVV"] < %victimVel){%killerDT.stat["cgKillVV"] = %victimVel;} - if(%killerDT.stat["cgKillSV"] < %clKiller.dtShotSpeed){%killerDT.stat["cgKillSV"] = %clKiller.dtShotSpeed;} if(%isCombo){%killerDT.stat["cgCom"]++;} dtMinMax("cgKills", "wep", 1, %killerDT.stat["cgKills"], %clKiller); case $DamageType::Disc: %killerDT.stat["discKills"]++; %victimDT.stat["discDeaths"]++; + if(%vdis < 6){%killerDT.stat["discKillGround"]++;} if(%killerDT.stat["discKillDist"] < %dis){%killerDT.stat["discKillDist"] = %dis;} - if(%killerDT.stat["discKillVV"] < %victimVel){%killerDT.stat["discKillVV"] = %victimVel;} - if(%killerDT.stat["discKillSV"] < %clKiller.dtShotSpeed){%killerDT.stat["discKillSV"] = %clKiller.dtShotSpeed;} if(%isCombo){%killerDT.stat["discCom"]++;} if(%clKiller.mdHit){%killerDT.stat["minePlusDiscKill"]++;} if(getSimTime() - %clKiller.discReflect < 256){%killerDT.stat["discReflectKill"]++;} - + dtMinMax("discKills", "wep", 1, %killerDT.stat["discKills"], %clKiller); dtMinMax("minePlusDiscKill", "wep", 1, %killerDT.stat["minePlusDiscKill"], %clKiller); case $DamageType::Grenade: @@ -6522,8 +6545,6 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d %killerDT.stat["hGrenadeKills"]++; %victimDT.stat["hGrenadeDeaths"]++; if(%killerDT.stat["hGrenadeKillDist"] < %dis){%killerDT.stat["hGrenadeKillDist"] = %dis;} - if(%killerDT.stat["hGrenadeKillVV"] < %victimVel){%killerDT.stat["hGrenadeKillVV"] = %victimVel;} - if(%killerDT.stat["hGrenadeKillSV"] < %clKiller.dtShotSpeed){%killerDT.stat["hGrenadeKillSV"] = %clKiller.dtShotSpeed;} if(%isCombo){%killerDT.stat["hGrenadeCom"]++;} dtMinMax("hGrenadeKills", "wep", 1, %killerDT.stat["hGrenadeKills"], %clKiller); } @@ -6531,8 +6552,6 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d %killerDT.stat["grenadeKills"]++; %victimDT.stat["grenadeDeaths"]++; if(%killerDT.stat["grenadeKillDist"] < %dis){%killerDT.stat["grenadeKillDist"] = %dis;} - if(%killerDT.stat["grenadeKillVV"] < %victimVel){%killerDT.stat["grenadeKillVV"] = %victimVel;} - if(%killerDT.stat["grenadeKillSV"] < %clKiller.dtShotSpeed){%killerDT.stat["grenadeKillSV"] = %clKiller.dtShotSpeed;} if(%isCombo){%killerDT.stat["grenadeCom"]++;} dtMinMax("grenadeKills", "wep", 1, %killerDT.stat["grenadeKills"], %clKiller); } @@ -6543,48 +6562,36 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d %killerDT.stat["laserKills"]++; %victimDT.stat["laserDeaths"]++; if(%killerDT.stat["laserKillDist"] < %dis){%killerDT.stat["laserKillDist"] = %dis;} - if(%killerDT.stat["laserKillVV"] < %victimVel){%killerDT.stat["laserKillVV"] = %victimVel;} - if(%killerDT.stat["laserKillSV"] < %clKiller.dtShotSpeed){%killerDT.stat["laserKillSV"] = %clKiller.dtShotSpeed;} if(%isCombo){%killerDT.stat["laserCom"]++;} dtMinMax("laserKills", "wep", 1, %killerDT.stat["laserKills"], %clKiller); case $DamageType::Mortar: %killerDT.stat["mortarKills"]++; %victimDT.stat["mortarDeaths"]++; if(%killerDT.stat["mortarKillDist"] < %dis){%killerDT.stat["mortarKillDist"] = %dis;} - if(%killerDT.stat["mortarKillVV"] < %victimVel){%killerDT.stat["mortarKillVV"] = %victimVel;} - if(%killerDT.stat["mortarKillSV"] < %clKiller.dtShotSpeed){%killerDT.stat["mortarKillSV"] = %clKiller.dtShotSpeed;} if(%isCombo){%killerDT.stat["mortarCom"]++;} dtMinMax("mortarKills", "wep", 1, %killerDT.stat["mortarKills"], %clKiller); case $DamageType::Missile: %killerDT.stat["missileKills"]++; %victimDT.stat["missileDeaths"]++; if(%killerDT.stat["missileKillDist"] < %dis){%killerDT.stat["missileKillDist"] = %dis;} - if(%killerDT.stat["missileKillVV"] < %victimVel){%killerDT.stat["missileKillVV"] = %victimVel;} - if(%killerDT.stat["missileKillSV"] < %clKiller.dtShotSpeed){%killerDT.stat["missileKillSV"] = %clKiller.dtShotSpeed;} if(%isCombo){%killerDT.stat["missileCom"]++;} dtMinMax("missileKills", "wep", 1, %killerDT.stat["missileKills"], %clKiller); case $DamageType::ShockLance: %killerDT.stat["shockKills"]++; %victimDT.stat["shockDeaths"]++; if(%killerDT.stat["shockKillDist"] < %dis){%killerDT.stat["shockKillDist"] = %dis;} - if(%killerDT.stat["shockKillVV"] < %victimVel){%killerDT.stat["shockKillVV"] = %victimVel;} - if(%killerDT.stat["shockKillSV"] < %clKiller.dtShotSpeed){%killerDT.stat["shockKillSV"] = %clKiller.dtShotSpeed;} if(%isCombo){%killerDT.stat["shockCom"]++;} dtMinMax("shockKills", "wep", 1, %killerDT.stat["shockKills"], %clKiller); case $DamageType::Plasma: %killerDT.stat["plasmaKills"]++; %victimDT.stat["plasmaDeaths"]++; if(%killerDT.stat["plasmaKillDist"] < %dis){%killerDT.stat["plasmaKillDist"] = %dis;} - if(%killerDT.stat["plasmaKillVV"] < %victimVel){%killerDT.stat["plasmaKillVV"] = %victimVel;} - if(%killerDT.stat["plasmaKillSV"] < %clKiller.dtShotSpeed){%killerDT.stat["plasmaKillSV"] = %clKiller.dtShotSpeed;} if(%isCombo){%killerDT.stat["plasmaCom"]++;} dtMinMax("plasmaKills", "wep", 1, %killerDT.stat["plasmaKills"], %clKiller); case $DamageType::Blaster: %killerDT.stat["blasterKills"]++; %victimDT.stat["blasterDeaths"]++; if(%killerDT.stat["blasterKillDist"] < %dis){%killerDT.stat["blasterKillDist"] = %dis;} - if(%killerDT.stat["blasterKillVV"] < %victimVel){%killerDT.stat["blasterKillVV"] = %victimVel;} - if(%killerDT.stat["blasterKillSV"] < %clKiller.dtShotSpeed){%killerDT.stat["blasterKillSV"] = %clKiller.dtShotSpeed;} if(%isCombo){%killerDT.stat["blasterCom"]++;} if(getSimTime() - %clKiller.blasterReflect < 256){%killerDT.stat["blasterReflectKill"]++;} dtMinMax("blasterKills", "wep", 1, %killerDT.stat["blasterKills"], %clKiller); @@ -6595,7 +6602,6 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d %killerDT.stat["mineKills"]++; %victimDT.stat["mineDeaths"]++; if(%killerDT.stat["mineKillDist"] < %dis){%killerDT.stat["mineKillDist"] = %dis;} - if(%killerDT.stat["mineKillVV"] < %victimVel){%killerDT.stat["mineKillVV"] = %victimVel;} if(%isCombo){%killerDT.stat["mineCom"]++;} if(%clKiller.mdHit){%killerDT.stat["minePlusDiscKill"]++;} dtMinMax("mineKills", "wep", 1, %killerDT.stat["mineKills"], %clKiller); @@ -6604,7 +6610,6 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d %killerDT.stat["satchelKills"]++; %victimDT.stat["satchelDeaths"]++; if(%killerDT.stat["satchelKillDist"] < %dis){%killerDT.stat["satchelKillDist"] = %dis;} - if(%killerDT.stat["satchelKillVV"] < %victimVel){%killerDT.stat["satchelKillVV"] = %victimVel;} if(%isCombo){%killerDT.stat["satchelCom"]++;} dtMinMax("satchelKills", "wep", 1, %killerDT.stat["satchelKills"], %clKiller); case $DamageType::Explosion: @@ -6803,6 +6808,22 @@ function rayTestDis(%targetObject){ return 0; } + +function testHit2(%sClient,%tgClient){ + %plr = %tgClient.player; + %b = getField(%sClient.lastExp,3); + %a = %plr.getWorldBox(); + + %hit = (getWord(%a, 0) <= getWord(%b, 3) && getWord(%a, 3) >= getWord(%b, 0)) && + (getWord(%a, 1) <= getWord(%b, 4) && getWord(%a, 4) >= getWord(%b, 1)) && + (getWord(%a, 2)<= getWord(%b, 5) && getWord(%a, 5) >= getWord(%b, 2)); + if(%hit && (!%sClient.lastDHit || (getSimTime() - %sClient.lastDHit > 128))){ + %sClient.lastDHit = getSimTime();// lock out double hits + return 1; + } + return 0; +} + function testHit(%client){ if(isObject(%client)){ %field = %client.lastExp; @@ -6811,15 +6832,16 @@ function testHit(%client){ %mask = $TypeMasks::PlayerObjectType; %vec = vectorNormalize(vectorSub(%ePos,%sPos));// some how this vector works %ray = containerRayCast(%ePos, VectorAdd(%ePos, VectorScale(VectorNormalize(%vec), 5)), %mask, %client.player); - if(%ray){ + if(%ray && (!%client.lastDHit || (getSimTime() - %client.lastDHit > 128))){ + %client.lastDHit = getSimTime(); //%dmgType = %data.radiusDamageType; - //error(%dmgType); return 1; } } } return 0; } + function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageType, %amount){ if(%damageType == $DamageType::Explosion || %damageType == $DamageType::Ground || %damageType == $DamageType::OutOfBounds || %damageType == $DamageType::Lava || @@ -6838,7 +6860,7 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT } return; } - + //------------------------------------------------------------------------------ if(%amount > 0 && %damageType > 0){ if(isObject(%sourceObject)){ @@ -6847,21 +6869,15 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT %sourceClient = %sourceObject.client; %sourceClient.lastPlayer = %sourceClient.player; %sourceDT = %sourceClient.dtStats; - %directHit = testHit(%sourceClient); %sv = mFloor(vectorLen(%sourceObject.getVelocity()) * 3.6); } else if(%sourceClass $= "Turret"){ %sourceClient = %sourceObject.owner; %sourceDT = %sourceClient.dtStats; - %directHit = 0; } else if(%sourceClass $= "VehicleTurret" || %sourceClass $= "FlyingVehicle" || %sourceClass $= "HoverVehicle" || %sourceClass $= "WheeledVehicle"){ %sourceClient = %sourceObject.getControllingClient(); %sourceDT = %sourceClient.dtStats; - %directHit = 0; - } - else{ - %directHit = 0; } } if(isObject(%targetObject)){ @@ -6880,7 +6896,12 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT if(getSimTime() - %sourceClient.stat["flareHit"] < 256){%sourceClient.flareSource.dtStats.stat["flareHit"]++;} } if(%sourceClass $= "Player" && %targetClient.team != %sourceClient.team && %sourceObject != %targetObject){ - %dis = vectorDist(%targetObject.getPosition(),%sourceObject.getPosition()); + if((getSimTime() - %sourceClient.lastExpTime) < 32){ + %dis = vectorDist(getField(%sourceClient.lastExp,1),getField(%sourceClient.lastExp,2)); + } + else{ + %dis = vectorDist(%targetObject.getPosition(),%sourceObject.getPosition()); + } if(!%targetObject.combo[%sourceClient,%damageType]){ %targetObject.combo[%sourceClient,%damageType] = 1; %sourceClient.player.combo[%targetObject]++; @@ -6893,14 +6914,14 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT %targetClient.lastHitBy = %sourceClient; %targetClient.lastHitTime = getSimTime(); - + if(%targetObject.isShielded && %damageType != $DamageType::Blaster){ %amount = %data.checkShields(%targetObject, %position, %amount, %damageType); if(!%amount){ - %targetDT.stat["shieldPackDmg"] += %amount; + %targetDT.stat["shieldPackDmg"] += %amount; } } - + if(%targetClient.EVDamageType && %targetClient.EVDamageType != %damageType && (getSimTime() - %targetClient.EVDamagetime) < 3000){ // they were hit by something befor they were killed %sourceDT.stat["EVHitWep"]++; @@ -6920,8 +6941,8 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT if(%targetObject.isCloaked()){ %targetObject.isCloakTime = getSimTime(); - } - + } + //%dmgL = %targetObject.getDamageLocation(%position); %rayTest = rayTestDis(%targetObject); if(%rayTest >= $dtStats::midAirHeight && %damageType == $DamageType::Disc){ @@ -6937,101 +6958,112 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT switch$(%damageType){// list of all damage types to track see damageTypes.cs case $DamageType::Blaster: %sourceDT.stat["blasterDmg"] += %amount; + dtMinMax("blasterDmg", "wep", 1, %sourceDT.stat["blasterDmg"], %sourceClient); %sourceDT.stat["blasterHits"]++; %sourceDT.stat["blasterACC"] = (%sourceDT.stat["blasterHits"] / (%sourceDT.stat["blasterShotsFired"] ? %sourceDT.stat["blasterShotsFired"] : 1)) * 100; if(%sourceDT.stat["blasterHitDist"] < %dis){%sourceDT.stat["blasterHitDist"] = %dis;} if(%sourceDT.stat["weaponHitDist"] < %dis){%sourceDT.stat["weaponHitDist"] = %dis;} + if(%sourceDT.stat["blasterHitSV"] < %sv){%sourceDT.stat["blasterHitSV"] = %sv;} if(%rayTest >= $dtStats::midAirHeight){ if(%sourceDT.stat["blasterMAHitDist"] < %dis){%sourceDT.stat["blasterMAHitDist"] = %dis;} %sourceDT.stat["blasterMA"]++; + dtMinMax("blasterMA", "ma", 1, %sourceDT.stat["blasterMA"], %sourceClient); + dtMinMax("blasterMAHitDist", "ma", 1, %sourceDT.stat["blasterMAHitDist"], %sourceClient); + dtMidAirMessage(%sourceClient,"Blaster", %dis, %sourceDT.stat["blasterMA"]); } if(getSimTime() - %sourceObject.client.blasterReflect < 256){%sourceDT.stat["blasterReflectHit"]++;} - dtMinMax("blasterDmg", "wep", 1, %sourceDT.stat["blasterDmg"], %sourceClient); - dtMinMax("blasterMA", "ma", 1, %sourceDT.stat["blasterMA"], %sourceClient); - dtMinMax("blasterMAHitDist", "ma", 1, %sourceDT.stat["blasterMAHitDist"], %sourceClient); + case $DamageType::Plasma: %sourceDT.stat["plasmaDmg"] += %amount; + dtMinMax("plasmaDmg", "wep", 1, %sourceDT.stat["plasmaDmg"], %sourceClient); + %directHit = testHit2(%sourceClient,%targetObject.client); if(%directHit){%sourceDT.stat["plasmaHits"]++;%sourceDT.stat["plasmaDmgHits"]++;} else{%sourceDT.stat["plasmaDmgHits"]++;} %sourceDT.stat["plasmaACC"] = (%sourceDT.stat["plasmaHits"] / (%sourceDT.stat["plasmaShotsFired"] ? %sourceDT.stat["plasmaShotsFired"] : 1)) * 100; %sourceDT.stat["plasmaDmgACC"] = (%sourceDT.stat["plasmaDmgHits"] / (%sourceDT.stat["plasmaShotsFired"] ? %sourceDT.stat["plasmaShotsFired"] : 1)) * 100; if(%sourceDT.stat["plasmaHitDist"] < %dis){%sourceDT.stat["plasmaHitDist"] = %dis;} if(%sourceDT.stat["weaponHitDist"] < %dis){%sourceDT.stat["weaponHitDist"] = %dis;} + if(%sourceDT.stat["plasmaHitSV"] < %vv){%sourceDT.stat["plasmaHitSV"] = %sv;} if(%rayTest >= $dtStats::midAirHeight){ - if(%sourceDT.stat["plasmaMAHitDist"] < %dis){%sourceDT.stat["plasmaMAHitDist"] = %dis;} if(%directHit){ - dtMidAirMessage(%sourceClient,"Plasma Rifle", %dis); + if(%sourceDT.stat["plasmaMAHitDist"] < %dis){%sourceDT.stat["plasmaMAHitDist"] = %dis;} %sourceDT.stat["plasmaMA"]++; + dtMidAirMessage(%sourceClient,"Plasma Rifle", %dis, %sourceDT.stat["plasmaMA"]); + dtMinMax("plasmaMA", "ma", 1, %sourceDT.stat["plasmaMA"], %sourceClient); + dtMinMax("plasmaMAHitDist", "ma", 1, %sourceDT.stat["plasmaMAHitDist"], %sourceClient); } } - dtMinMax("plasmaDmg", "wep", 1, %sourceDT.stat["plasmaDmg"], %sourceClient); - dtMinMax("plasmaMA", "ma", 1, %sourceDT.stat["plasmaMA"], %sourceClient); - dtMinMax("plasmaMAHitDist", "ma", 1, %sourceDT.stat["plasmaMAHitDist"], %sourceClient); case $DamageType::Bullet: %sourceDT.stat["cgDmg"] += %amount; + dtMinMax("cgDmg", "wep", 1, %sourceDT.stat["cgDmg"], %sourceClient); %sourceDT.stat["cgHits"]++; %sourceDT.stat["cgACC"] = (%sourceDT.stat["cgHits"] / (%sourceDT.stat["cgShotsFired"] ? %sourceDT.stat["cgShotsFired"] : 1)) * 100; if(%sourceDT.stat["cgHitDist"] < %dis){%sourceDT.stat["cgHitDist"] = %dis;} if(%sourceDT.stat["weaponHitDist"] < %dis){%sourceDT.stat["weaponHitDist"] = %dis;} + if(%sourceDT.stat["cgHitSV"] < %sv){%sourceDT.stat["cgHitSV"] = %sv;} if(%rayTest >= $dtStats::midAirHeight){ if(%sourceDT.stat["cgMAHitDist"] < %dis){%sourceDT.stat["cgMAHitDist"] = %dis;} %sourceDT.stat["cgMA"]++; } - dtMinMax("cgDmg", "wep", 1, %sourceDT.stat["cgDmg"], %sourceClient); case $DamageType::Disc: %sourceDT.stat["discDmg"] += %amount; + dtMinMax("discDmg", "wep", 1, %sourceDT.stat["discDmg"], %sourceClient); + %directHit = testHit2(%sourceClient,%targetObject.client); if(%directHit){%sourceDT.stat["discHits"]++;%sourceDT.stat["discDmgHits"]++;} else{%sourceDT.stat["discDmgHits"]++;} %sourceDT.stat["discACC"] = (%sourceDT.stat["discHits"] / (%sourceDT.stat["discShotsFired"] ? %sourceDT.stat["discShotsFired"] : 1)) * 100; %sourceDT.stat["discDmgACC"] = (%sourceDT.stat["discDmgHits"] / (%sourceDT.stat["discShotsFired"] ? %sourceDT.stat["discShotsFired"] : 1)) * 100; if(%sourceDT.stat["discHitDist"] < %dis){%sourceDT.stat["discHitDist"] = %dis;} if(%sourceDT.stat["weaponHitDist"] < %dis){%sourceDT.stat["weaponHitDist"] = %dis;} + if(%sourceDT.stat["discHitSV"] < %sv){%sourceDT.stat["discHitSV"] = %sv;} %sourceClient.mdHit = 0; if((getSimTime() - %targetClient.mdTime1) < 256){%sourceDT.stat["minePlusDisc"]++; %sourceClient.mdHit = 1;} %targetClient.mdTime2 = getSimTime(); if(%rayTest >= $dtStats::midAirHeight){ - if(%sourceDT.stat["discMAHitDist"] < %dis){%sourceDT.stat["discMAHitDist"] = %dis;} if(%directHit){ - dtMidAirMessage(%sourceClient,"Spinfusor", %dis); + if(%sourceDT.stat["discMAHitDist"] < %dis){%sourceDT.stat["discMAHitDist"] = %dis;} %sourceDT.stat["discMA"]++; + dtMidAirMessage(%sourceClient,"Spinfusor", %dis, %sourceDT.stat["discMA"]); + dtMinMax("discMA", "ma", 1, %sourceDT.stat["discMA"], %sourceClient); + dtMinMax("discMAHitDist", "ma", 1, %sourceDT.stat["discMAHitDist"], %sourceClient); } } if(getSimTime() - %sourceObject.client.discReflect < 256){%sourceDT.stat["discReflectHit"]++;} - dtMinMax("discDmg", "wep", 1, %sourceDT.stat["discDmg"], %sourceClient); - dtMinMax("discMA", "ma", 1, %sourceDT.stat["discMA"], %sourceClient); - dtMinMax("discMAHitDist", "ma", 1, %sourceDT.stat["discMAHitDist"], %sourceClient); dtMinMax("minePlusDisc", "wep", 1, %sourceDT.stat["minePlusDisc"], %sourceClient); case $DamageType::Grenade: if($dtObjExplode.dtNade){ %sourceDT.stat["hGrenadeDmg"] += %amount; + dtMinMax("hGrenadeDmg", "wep", 1, %sourceDT.stat["hGrenadeDmg"], %sourceClient); %sourceDT.stat["hGrenadeHits"]++; %sourceDT.stat["hGrenadeACC"] = (%sourceDT.stat["hGrenadeHits"] / (%sourceDT.stat["hGrenadeShotsFired"] ? %sourceDT.stat["hGrenadeShotsFired"] : 1)) * 100; if(%sourceDT.stat["hGrenadeHitDist"] < %dis){%sourceDT.stat["hGrenadeHitDist"] = %dis;} if(%sourceDT.stat["weaponHitDist"] < %dis){%sourceDT.stat["weaponHitDist"] = %dis;} + if(%sourceDT.stat["hGrenadeHitSV"] < %sv){%sourceDT.stat["hGrenadeHitSV"] = %sv;} if(%rayTest >= $dtStats::midAirHeight){ if(%sourceDT.stat["hGrenadeMAHitDist"] < %dis){%sourceDT.stat["hGrenadeMAHitDist"] = %dis;} %sourceDT.stat["hGrenadeMA"]++; } - dtMinMax("hGrenadeDmg", "wep", 1, %sourceDT.stat["hGrenadeDmg"], %sourceClient); } else{ %sourceDT.stat["grenadeDmg"] += %amount; + dtMinMax("grenadeDmg", "wep", 1, %sourceDT.stat["grenadeDmg"], %sourceClient); + %directHit = testHit2(%sourceClient,%targetObject.client); if(%directHit){%sourceDT.stat["grenadeHits"]++;%sourceDT.stat["grenadeDmgHits"]++;} else{%sourceDT.stat["grenadeDmgHits"]++;} %sourceDT.stat["grenadeACC"] = (%sourceDT.stat["grenadeHits"] / (%sourceDT.stat["grenadeShotsFired"] ? %sourceDT.stat["grenadeShotsFired"] : 1)) * 100; %sourceDT.stat["grenadeDmgACC"] = (%sourceDT.stat["grenadeDmgHits"] / (%sourceDT.stat["grenadeShotsFired"] ? %sourceDT.stat["grenadeShotsFired"] : 1)) * 100; if(%sourceDT.stat["grenadeHitDist"] < %dis){%sourceDT.stat["grenadeHitDist"] = %dis;} + if(%sourceDT.stat["grenadeHitSV"] < %sv){%sourceDT.stat["grenadeHitSV"] = %sv;} if(%rayTest >= $dtStats::midAirHeight){ - if(%sourceDT.stat["grenadeMAHitDist"] < %dis){%sourceDT.stat["grenadeMAHitDist"] = %dis;} if(%directHit){ - dtMidAirMessage(%sourceClient, "Grenade Launcher", %dis); + if(%sourceDT.stat["grenadeMAHitDist"] < %dis){%sourceDT.stat["grenadeMAHitDist"] = %dis;} %sourceDT.stat["grenadeMA"]++; + dtMidAirMessage(%sourceClient, "Grenade Launcher", %dis, %sourceDT.stat["grenadeMA"]); + dtMinMax("grenadeMA", "ma", 1, %sourceDT.stat["grenadeMA"], %sourceClient); + dtMinMax("grenadeMAHitDist", "ma", 1, %sourceDT.stat["grenadeMAHitDist"], %sourceClient); } } - dtMinMax("grenadeDmg", "wep", 1, %sourceDT.stat["grenadeDmg"], %sourceClient); - dtMinMax("grenadeMA", "ma", 1, %sourceDT.stat["grenadeMA"], %sourceClient); - dtMinMax("grenadeMAHitDist", "ma", 1, %sourceDT.stat["grenadeMAHitDist"], %sourceClient); } case $DamageType::Laser: if(%targetObject.getClassName() $= "Player"){ @@ -7039,12 +7071,17 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT if(getWord(%damLoc,0) $= "head" && %sourceClient.team != %targetClient.team){ %sourceDT.stat["laserHeadShot"]++; %sourceDT.lastHeadShotTime = getSimTime(); + dtHeadShotMessage(%sourceClient, %dis); + } + else{ + dtLaserShotMessage(%sourceClient, %dis); } } %sourceDT.stat["laserDmg"] += %amount; %sourceDT.stat["laserHits"]++; %sourceDT.stat["laserACC"] = (%sourceDT.stat["laserHits"] / (%sourceDT.stat["laserShotsFired"] ? %sourceDT.stat["laserShotsFired"] : 1)) * 100; if(%sourceDT.stat["laserHitDist"] < %dis){%sourceDT.stat["laserHitDist"] = %dis;} + if(%sourceDT.stat["laserHitSV"] < %sv){%sourceDT.stat["laserHitSV"] = %sv;} if(%sourceDT.stat["weaponHitDist"] < %dis){%sourceDT.stat["weaponHitDist"] = %dis;} if(%rayTest >= $dtStats::midAirHeight){ if(%sourceDT.stat["laserMAHitDist"] < %dis){%sourceDT.stat["laserMAHitDist"] = %dis;} @@ -7055,35 +7092,39 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT dtMinMax("laserDmg", "wep", 1, %sourceDT.stat["laserDmg"], %sourceClient); case $DamageType::Mortar: %sourceDT.stat["mortarDmg"] += %amount; + dtMinMax("mortarDmg","wep", 1, %sourceDT.stat["mortarDmg"], %sourceClient); + %directHit = testHit2(%sourceClient,%targetObject.client); if(%directHit){%sourceDT.stat["mortarHits"]++;%sourceDT.stat["mortarDmgHits"]++;} else{%sourceDT.stat["mortarDmgHits"]++;} %sourceDT.stat["mortarACC"] = (%sourceDT.stat["mortarHits"] / (%sourceDT.stat["mortarShotsFired"] ? %sourceDT.stat["mortarShotsFired"] : 1)) * 100; %sourceDT.stat["mortarDmgACC"] = (%sourceDT.stat["mortarDmgHits"] / (%sourceDT.stat["mortarShotsFired"] ? %sourceDT.stat["mortarShotsFired"] : 1)) * 100; if(%sourceDT.stat["mortarHitDist"] < %dis){%sourceDT.stat["mortarHitDist"] = %dis;} + if(%sourceDT.stat["mortarHitSV"] < %sv){%sourceDT.stat["mortarHitSV"] = %sv;} if(%sourceDT.stat["weaponHitDist"] < %dis){%sourceDT.stat["weaponHitDist"] = %dis;} if(%rayTest >= $dtStats::midAirHeight){ - if(%sourceDT.stat["mortarMAHitDist"] < %dis){%sourceDT.stat["mortarMAHitDist"] = %dis;} if(%directHit){ - dtMidAirMessage(%sourceClient,"Fusion Mortar", %dis); + if(%sourceDT.stat["mortarMAHitDist"] < %dis){%sourceDT.stat["mortarMAHitDist"] = %dis;} %sourceDT.stat["mortarMA"]++; + dtMidAirMessage(%sourceClient,"Fusion Mortar", %dis, %sourceDT.stat["mortarMA"]); + dtMinMax("mortarMA", "ma", 1, %sourceDT.stat["mortarMA"], %sourceClient); + dtMinMax("mortarMAHitDist", "ma", 1, %sourceDT.stat["mortarMAHitDist"], %sourceClient); } } - dtMinMax("mortarDmg","wep", 1, %sourceDT.stat["mortarDmg"], %sourceClient); - dtMinMax("mortarMA", "ma", 1, %sourceDT.stat["mortarMA"], %sourceClient); - dtMinMax("mortarMAHitDist", "ma", 1, %sourceDT.stat["mortarMAHitDist"], %sourceClient); case $DamageType::Missile: %sourceDT.stat["missileDmg"] += %amount; + dtMinMax("missileDmg", "wep", 1, %sourceDT.stat["missileDmg"], %sourceClient); %sourceDT.stat["missileHits"]++; %sourceDT.stat["missileACC"] = (%sourceDT.stat["missileHits"] / (%sourceDT.stat["missileShotsFired"] ? %sourceDT.stat["missileShotsFired"] : 1)) * 100; if(%sourceDT.stat["missileHitDist"] < %dis){%sourceDT.stat["missileHitDist"] = %dis;} if(%sourceDT.stat["weaponHitDist"] < %dis){%sourceDT.stat["weaponHitDist"] = %dis;} + if(%sourceDT.stat["missileHitSV"] < %sv){%sourceDT.stat["missileHitSV"] = %sv;} if(%rayTest >= $dtStats::midAirHeight){ if(%sourceDT.stat["missileMAHitDist"] < %dis){%sourceDT.stat["missileMAHitDist"] = %dis;} %sourceDT.stat["missileMA"]++; } - dtMinMax("missileDmg", "wep", 1, %sourceDT.stat["missileDmg"], %sourceClient); case $DamageType::ShockLance: - if(%targetClient.rearshot){ + %dot = vectorDot(%sourceObject.getForwardVector(), %targetObject.getForwardVector()); + if(%dot >= mCos(1.05)){ %sourceDT.stat["shockRearShot"]++; dtMinMax("shockRearShot", "misc", 1, %sourceDT.stat["shockRearShot"], %sourceClient); } @@ -7092,9 +7133,13 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT %sourceDT.stat["shockACC"] = (%sourceDT.stat["shockHits"] / (%sourceDT.stat["shockShotsFired"] ? %sourceDT.stat["shockShotsFired"] : 1)) * 100; if(%sourceDT.stat["shockHitDist"] < %dis){%sourceDT.stat["shockHitDist"] = %dis;} if(%sourceDT.stat["weaponHitDist"] < %dis){%sourceDT.stat["weaponHitDist"] = %dis;} + if(%sourceDT.stat["shockHitSV"] < %sv){%sourceDT.stat["shockHitSV"] = %sv;} if(%rayTest >= $dtStats::midAirHeight){ if(%sourceDT.stat["shockMAHitDist"] < %dis){%sourceDT.stat["shockMAHitDist"] = %dis;} %sourceDT.stat["shockMA"]++; + if(Game.class $= "ArenaGame"){ + dtMidAirMessage(%sourceClient, "Shocklance", %dis, %sourceDT.stat["shockMA"]); + } } dtMinMax("shockDmg", "wep", 1, %sourceDT.stat["shockDmg"], %sourceClient); case $DamageType::Mine: @@ -7102,6 +7147,7 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT %sourceDT.stat["mineHits"]++; %sourceDT.stat["mineACC"] = (%sourceDT.stat["mineHits"] / (%sourceDT.stat["mineShotsFired"] ? %sourceDT.stat["mineShotsFired"] : 1)) * 100; if(%sourceDT.stat["mineHitDist"] < %dis){%sourceDT.stat["mineHitDist"] = %dis;} + if(%sourceDT.stat["mineHitVV"] < %vv){%sourceDT.stat["mineHitVV"] = %vv;} %sourceClient.mdHit = 0; if((getSimTime() - %targetClient.mdTime2) < 256){%sourceDT.stat["minePlusDisc"]++; %sourceClient.mdHit = 1;} %targetClient.mdTime1 = getSimTime(); @@ -7116,6 +7162,7 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT %sourceDT.stat["satchelHits"]++; %sourceDT.stat["satchelACC"] = (%sourceDT.stat["satchelHits"] / (%sourceDT.stat["satchelShotsFired"] ? %sourceDT.stat["satchelShotsFired"] : 1)) * 100; if(%sourceDT.stat["satchelHitDist"] < %dis){%sourceDT.stat["satchelHitDist"] = %dis;} + if(%sourceDT.stat["satchelHitVV"] < %vv){%sourceDT.stat["satchelHitVV"] = %vv;} if(%rayTest >= $dtStats::midAirHeight){%sourceDT.stat["satchelMA"]++;} dtMinMax("satchelDmg", "wep", 1, %sourceDT.stat["satchelDmg"], %sourceClient); case $DamageType::Impact: @@ -7149,15 +7196,30 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT } } -function dtMidAirMessage(%client,%porjName,%distance){ +function dtMidAirMessage(%client,%porjName,%distance, %count){ if($dtStats::midAirMessage && Game.class !$= "LakRabbitGame" && !%client.isAIControlled()){ - %client.scoreMidAir++; - bottomPrint(%client, "Midair Disk (" @ %client.scoreMidAir @ ")! Distance is " @ %distance @ " meters.", 3); - messageClient(%client, 'MsgMidAir', '\c0You received a %1 point bonus for a successful mid air shot. [%2m, %3]~wfx/misc/bounty_bonus.wav', Game.SCORE_PER_MIDAIR, mFloor(%distance), %porjName); - messageTeamExcept(%client, 'MsgMidAir', '\c5%1 hit a mid air shot. [%2m, %3]', %client.name, mFloor(%distance), %porjName); - Game.recalcScore(%client); + bottomPrint(%client, "Midair" SPC %porjName SPC "(" @ %count @ ") Distance of " @ mFloor(%distance) @ " meters.", 4); + messageClient(%client, 'MsgMidAir', '~wfx/misc/bounty_bonus.wav'); + if(%porjName !$= "Blaster"){ + messageTeamExcept(%client, 'MsgMidAir', '\c5%1 hit a mid air shot. [%2m, %3]', %client.name, mFloor(%distance), %porjName); + } + Game.recalcScore(%client); } -} +} + +function dtHeadShotMessage(%client,%distance){ + if($dtStats::midAirMessage && Game.class !$= "LakRabbitGame" && !%client.isAIControlled()){ + bottomPrint(%client, "Headshot! Distance of " @ mFloor(%distance) @ " meters.", 4); + messageClient(%client, 'MsgMidAir', '\c0Headshot distance of [%1m]~wfx/misc/bounty_bonus.wav', mFloor(%distance)); + //messageTeamExcept(%client, 'MsgMidAir', '\c5%1 hit a head shot. [%2m, %3]', %client.name, mFloor(%distance), %porjName); + } +} +function dtLaserShotMessage(%client,%distance){ + if($dtStats::midAirMessage && Game.class !$= "LakRabbitGame" && !%client.isAIControlled()){ + bottomPrint(%client, "HIT! Distance is " @ mFloor(%distance) @ " meters.", 4); + //messageTeamExcept(%client, 'MsgMidAir', '\c5%1 hit a head shot. [%2m, %3]', %client.name, mFloor(%distance), %porjName); + } +} function clientShotsFired(%data, %sourceObject, %projectile){ // could do a fov check to see if we are trying to aim at a player @@ -7179,7 +7241,7 @@ function clientShotsFired(%data, %sourceObject, %projectile){ // could do a fov %dtStats.stat["shotsFired"]++; %sourceClient.dtShotSpeed = %projectile.dtShotSpeed = mFloor(vectorLen(%sourceObject.getVelocity()) * 3.6); - + switch$(%damageType){// list of all damage types to track see damageTypes.cs case $DamageType::Bullet: %dtStats.stat["cgShotsFired"]++; @@ -7242,16 +7304,16 @@ function getArmorBreakDown(%game,%dtStats){ return mFloor((%avg[0]/%total)*100) TAB mFloor((%avg[1]/%total)*100) TAB mFloor((%avg[2]/%total)*100) TAB mFloor((%avg[%l]/%total)*100) TAB %armor[%l]; } function getGameDataAvg(%game,%dtStats,%var){ - if(%dtStats.gameData[%game] && %dtStats.gameStats["totalGames","g",%game] != 0){ + if(%dtStats.gameData[%game,$dtStats::tmMode] && %dtStats.gameStats["totalGames","g",%game,$dtStats::tmMode] != 0){ %c = 0; - %x = %dtStats.gameStats["statsOverWrite","g",%game]; + %x = %dtStats.gameStats["statsOverWrite","g",%game,$dtStats::tmMode]; for(%i=0; %i < 32; %i++){ %v = %x - %i; if(%v < 0) %v = $dtStats::MaxNumOfGames + %v; - %pct = getField(%dtStats.gameStats["gamePCT","g",%game],%v); + %pct = getField(%dtStats.gameStats["gamePCT","g",%game,$dtStats::tmMode],%v); if(%pct > 90){ - %num = getField(%dtStats.gameStats[%var,"g",%game],%v); + %num = getField(%dtStats.gameStats[%var,"g",%game,$dtStats::tmMode],%v); if(%num){ %val += %num; %c++; @@ -7268,14 +7330,14 @@ function getGameDataAvg(%game,%dtStats,%var){ function getGameData(%game,%client,%var,%type,%value){ if(%type $= "game"){ - %total = getField(%client.dtStats.gameStats[%var,"g",%game],%value); + %total = getField(%client.dtStats.gameStats[%var,"g",%game,$dtStats::tmMode],%value); if(%total !$= "") return mFloatLength(%total,2) + 0; else error("Error getGameData" SPC %game SPC %client SPC %var SPC %type SPC %value); } else if(%type $= "total"){ - %total = getField(%client.dtStats.gameStats[%var,"t",%game],%value); + %total = getField(%client.dtStats.gameStats[%var,"t",%game,$dtStats::tmMode],%value); if(strpos(%total,"%a") != -1){ %total = getField(strreplace(%total,"%a","\t"),0); } @@ -7285,14 +7347,14 @@ function getGameData(%game,%client,%var,%type,%value){ error("Error getGameData" SPC %game SPC %client SPC %var SPC %type SPC %value); } else if(%type $= "avg"){ - if(%client.dtStats.gameStats["totalGames","g",%game] != 0){ + if(%client.dtStats.gameStats["totalGames","g",%game,$dtStats::tmMode] != 0){ %c = 0; - %x = %client.dtStats.gameStats["statsOverWrite","g",%game]; + %x = %client.dtStats.gameStats["statsOverWrite","g",%game,$dtStats::tmMode]; for(%i=0; %i < 16; %i++){ %v = %x - %i; if(%v < 0) %v = $dtStats::MaxNumOfGames + %v; - %num = getField(%client.dtStats.gameStats[%var,"g",%game],%v); + %num = getField(%client.dtStats.gameStats[%var,"g",%game,$dtStats::tmMode],%v); if(%num $= ""){ error("Error getGameData" SPC %game SPC %client SPC %var SPC %type SPC %value); break; @@ -7376,21 +7438,21 @@ function statsMenu(%client,%game){ case "View": messageClient( %client, 'SetScoreHudHeader', "", "" @ getTaggedString(0.name) @ "'s Stats"); messageClient( %client, 'SetScoreHudSubheader', "", ' Back',0); - - messageClient( %client, 'SetLineHud', "", %tag, %index++, "View Player and Game Stats at https://stats.playt2.com/"); + + messageClient( %client, 'SetLineHud', "", %tag, %index++, "View Player and Game Stats at https://stats.playt2.com/"); messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); if(%isAdmin && %game $= "CTFGame") messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + Running Game Averages (Experimental)',0); - + if(%isAdmin && %game $= "CTFGame") messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + Team Ballance (Experimental)',0); - + if(%client.isSuperAdmin && $dtStats::liveStats)// for testing messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + %2 Live Stats',0,$dtStats::gtNameShort[%game]); messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + PUGs/Tournaments/Recorded Games',0,%game,$dtStats::curMonth); - + if($dtStats::day > 1) messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + %3 Daily Leaderboards ',0,%game,$dtStats::gtNameShort[%game]); if($dtStats::week > 1) @@ -7410,6 +7472,224 @@ function statsMenu(%client,%game){ for(%v = %index; %v < 15; %v++) messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); messageClient( %client, 'SetLineHud', "", %tag, %index++, 'Stats Update Daily.'); + case "TBX": + %opt0 = %client.GlArg3; + %opt1 = %client.GlArg4; + %opt2 = %client.GlArg5; + if(%client.tgame $= ""){ + %client.tgame = $dtStats::gtNameShort[%game]; + } + if($TB::statGroupCount[%client.tgame] $= ""){ + $TB::statGroupCount[%client.tgame] = 1; + } + switch$(%opt0){ + case "AG": + $TB::statGroupCount[%client.tgame]++; + if($TB::statGroupCount[%client.tgame] > 7){//cap it no need for this many + $TB::statGroupCount[%client.tgame] = 8; + } + case "RG": + $TB::statGroupCount[%client.tgame]--; + if($TB::statGroupCount[%client.tgame] < 0){ + $TB::statGroupCount[%client.tgame] = 0; + } + case "G": + %client.tgame = %opt1; + } + %client.GlArg3 = 0; + %client.GlArg4 = 0; + %client.GlArg5 = 0; + %line = 'Team Balancer'; + messageClient( %client, 'SetScoreHudHeader', "",%line); + %line = ' Back - Return To Score Screen'; + messageClient( %client, 'SetScoreHudSubheader', "",%line); + + if(%client.tgame $= "CTF"){ + %line = '[CTF] [LCTF] [Arena]'; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + } + else if(%client.tgame $= "LCTF"){ + %line = '[CTF] [LCTF] [Arena] '; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + } + else if(%client.tgame $= "Arena"){ + %line = '[CTF] [LCTF] [Arena] '; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + } + messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Group 0 is the default genaric catch all group"); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Group 1-7 is your roles in the game type, with 1 being most important"); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Less groups is going to be better for smaller player counts and role ballencing"); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Avoid using the same stats in every group other then group 0"); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "This could cause players to be stolen from other groups/roles"); + messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); + %line = 'Add Groups/Roles - 8 Max <%1> '; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line, $TB::statGroupCount[%client.tgame]); + + for(%i = 0; %i < $TB::statGroupCount[%client.tgame]; %i++){ + if((%i % 4) == 0){ + %line = "Group" SPC %i SPC "\t"; + %line2 = " [Edit]\t"; + } + else if((%i % 4) == 3){ + %line = %line @ "Group" SPC %i SPC "\t"; + %line2 = %line2 @ " [Edit]\t"; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line2); + messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); + } + else{ + %line = %line @ "Group" SPC %i SPC "\t"; + %line2 = %line2 @ "[Edit]\t"; + } + } + if((%i % 4) != 0){ + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line2); + } + + case "TBV": + %opt0 = %client.GlArg3; + %opt1 = %client.GlArg4; + %opt2 = %client.GlArg5; + if(!%client.curPage){ + %client.curPage = 1; + } + if(%client.tgame $= ""){ + %client.tgame = $dtStats::gtNameShort[%game]; + } + if(%client.arrowRes $= ""){ + %client.arrowRes = 1; + } + if(%client.editGrp $= ""){ + %client.editGrp = 0; + } + %perPage = 16;// num of games listed per page + + switch$(%opt0){ + case "X": + %client.editGrp = %opt1; + case "G": + %client.tgame = %opt1; + case "AW": + %var = $statsVars::varName[%opt1, $dtStats::gtNameType[%client.tgame]]; + %sindex = $TB::statIndex[%var, %client.tgame]; + $TB::statWeight[%sindex, %client.tgame] += %opt2; + case "RW": + %var = $statsVars::varName[%opt1, $dtStats::gtNameType[%client.tgame]]; + %sindex = $TB::statIndex[%var, %client.tgame]; + $TB::statWeight[%sindex,%client.tgame] -= %opt2; + case "AS": + %var = $statsVars::varName[%opt1, $dtStats::gtNameType[%client.tgame]]; + if($TB::statCount[%client.tgame] $= ""){ + $TB::statCount[%client.tgame] = 0; + } + if($TB::statWeight[%var,%client.tgame] $= ""){ + $TB::statName[$TB::statCount[%client.tgame],%client.tgame] = %var @ %cat; + $TB::statWeight[$TB::statCount[%client.tgame],%client.tgame] = 100; + $TB::statGroup[$TB::statCount[%client.tgame],%client.tgame] = 0; + $TB::statIndex[%var, %client.tgame] = $TB::statCount[%client.tgame]; + $TB::statCount[%client.tgame]++; + } + case "RS": + %var = $statsVars::varName[%opt1, %client.tgame]; + %sindex = $TB::statIndex[%var, %client.tgame]; + + if (%sindex !$= "") { + // Shift all elements down + for (%i = %sindex; %i < $TB::statCount[%client.tgame] - 1; %i++) { + $TB::statName[%i, %client.tgame] = $TB::statName[%i + 1, %client.tgame]; + $TB::statWeight[%i, %client.tgame] = $TB::statWeight[%i + 1, %client.tgame]; + $TB::statGroup[%i, %client.tgame] = $TB::statGroup[%i + 1, %client.tgame]; + // Update index for the moved stat + %movedVar = $TB::statName[%i, %client.tgame]; + $TB::statIndex[%movedVar, %client.tgame] = %i; + } + + // Clear last index after shifting + %last = $TB::statCount[%client.tgame] - 1; + $TB::statName[%last, %client.tgame] = ""; + $TB::statWeight[%last, %client.tgame] = ""; + $TB::statGroup[%last, %client.tgame] = ""; + + // Remove reference from index mapping + $TB::statIndex[%var, %client.tgame] = ""; + + // Decrease weight count + $TB::statCount[%client.tgame]--; + } + case "N": + %client.curPage++; + if(%client.curPage * %perPage > $statsVars::count[$dtStats::gtNameType[%client.tgame]]){ + %client.curPage--; + } + case "B": + %client.curPage--; + if(%client.curPage < 1){ + %client.curPage = 1; + } + case "R": + %client.curPage = 1; + case "AR": + %client.arrowRes = %opt1; + } + %client.GlArg3 = 0; + %client.GlArg4 = 0; + %client.GlArg5 = 0; + if(%client.arrowRes == 1){ + %line = ' 0.01 0.1 1.0Stat Weights'; + } + else if(%client.arrowRes == 10){ + %line = ' 0.01 0.1 1.0Stat Weights'; + } + else if(%client.arrowRes == 100){ + %line = ' 0.01 0.1 1.0Stat Weights'; + } + messageClient( %client, 'SetScoreHudHeader', "",%line); + if(%client.curPage == 1){ + %line = ' Back - Return To Score Screen - Next Page >'; + messageClient( %client, 'SetScoreHudSubheader', "",%line); + } + else if(%client.curPage * %perPage > $statsVars::count[$dtStats::gtNameType[%client.tgame]]){ + %line = ' Back - Return To Score Screen - < Back Page '; + messageClient( %client, 'SetScoreHudSubheader', "",%line); + } + else if(%client.curPage > 1){ + %line = ' Back - Return To Score Screen - < Back Page | Next Page > '; + messageClient( %client, 'SetScoreHudSubheader', "",%line); + } + + %line = 'Variable NameAdd/RemoveAdjust Weight Adjust Group'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %gc = $statsVars::count[$dtStats::gtNameType[%client.tgame]]; + %displayedCount = 0; // Track how many valid entries we've displayed + %startIndex = (%client.curPage - 1) * %perPage; + %indexInArray = %startIndex; + + while (%displayedCount < %perPage && %indexInArray < %gc) { + %var = $statsVars::varName[%indexInArray, $dtStats::gtNameType[%client.tgame]]; + %cat = $statsVars::varType[%var, $dtStats::gtNameType[%client.tgame]]; + %sindex = $TB::statIndex[%var, %client.tgame]; + + // Skip over "Game" category variables but continue looping + if (%cat !$= "Game") { + error(%sindex SPC %var); // Debugging log + + if (%sindex $= "") { + %line = ' %3ADD'; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line, "AS", %indexInArray, %var); + } else { + %w = $TB::statWeight[%sindex, %client.tgame]; + %g = $TB::statGroup[%sindex,%client.tgame]; + %line = ' %3\tRmv\t <%4> \t<6> '; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line, "RS", %indexInArray, %var, mFormatFloat(%w / 100, "%.2f"),%client.arrowRes,%g); + } + + %displayedCount++; // Increase count only for valid entries + } + + %indexInArray++; // Always increase this to scan through full dataset + } case "TB": %inc = %client.GlArg4; %cycle = %client.GlArg5; @@ -7419,16 +7699,16 @@ function statsMenu(%client,%game){ %LOArmorCount[2] = %LDArmorCount[2] = %MOArmorCount[2] = %MDArmorCount[2] = %HOArmorCount[2] = %HDArmorCount[2] = 0; %Offensive[1] = %Offensive[2] = %Defensive[1] = %Defensive[2] = 0; %capperCount[1] = %capperCount[2] = %baseOpCount[1] = %baseOpCount[2] = 0; - + %SLOArmorCount[1] = %SLDArmorCount[1] = %SMOArmorCount[1] = %SMDArmorCount[1] = %SHOArmorCount[1] = %SHDArmorCount[1] = 0; %SLOArmorCount[2] = %SLDArmorCount[2] = %SMOArmorCount[2] = %SMDArmorCount[2] = %SHOArmorCount[2] = %SHDArmorCount[2] = 0; %SOffensive[1] = %SOffensive[2] = %SDefensive[1] = %SDefensive[2] = 0; %ScapperCount[1] = %ScapperCount[2] = %SbaseOpCount[1] = %SbaseOpCount[2] = 0; for(%i =0; %i < ClientGroup.getCount(); %i++){ - %client = ClientGroup.getObject(%i); + %client = ClientGroup.getObject(%i); %dtStats = %client.dtStats; %team = %client.team; - + if(isObject(%dtStats)){ %armorBD = getField(getArmorBreakDown(%game, %dtStats),4); %offKills = getGameDataAvg(%game,%dtStats,"OffKillsTG"); @@ -7448,12 +7728,12 @@ function statsMenu(%client,%game){ %ScapperCount[%team]++; } else if( %offKills > %defKills){ // off - %SLOArmorClients[%SLOArmorCount[%team],%team] = %client; + %SLOArmorClients[%SLOArmorCount[%team],%team] = %client; %SLOArmorCount[%team]++; %SOffensive[%team]++; } else if( %offKills <%defKills){// def - %SLDArmorClients[%SLDArmorCount[%team],%team] = %client; + %SLDArmorClients[%SLDArmorCount[%team],%team] = %client; %SLDArmorCount[%team]++; %SDefensive[%team]++; } @@ -7464,12 +7744,12 @@ function statsMenu(%client,%game){ %SbaseOpCount[%team]++; } else if(%offKills > %defKills){ // off - %SMOArmorClients[%MOArmorCount[%team],%team] = %client; + %SMOArmorClients[%MOArmorCount[%team],%team] = %client; %SMOArmorCount[%team]++; %SOffensive[%team]++; } else if(%offKills < %defKills){// def - %SMDArmorClients[%SMDArmorCount[%team],%team] = %client; + %SMDArmorClients[%SMDArmorCount[%team],%team] = %client; %SMDArmorCount[%team]++; %SDefensive[%team]++; } @@ -7480,19 +7760,19 @@ function statsMenu(%client,%game){ %SbaseOpCount[%team]++; } else if(%offKills > %defKills){ // off - %SHOArmorClients[%SHOArmorCount[%team],%team] = %client; + %SHOArmorClients[%SHOArmorCount[%team],%team] = %client; %SHOArmorCount[%team]++; %SOffensive[%team]++; } else if(%offKills < %defKills){// def - %SHDArmorClients[%SHDArmorCount[%team],%team] = %client; + %SHDArmorClients[%SHDArmorCount[%team],%team] = %client; %SHDArmorCount[%team]++; %SDefensive[%team]++; } } } - - + + if(isObject(%client.player)){ %armor = %client.player.getArmorSize(); if(%armor $= "Light"){ @@ -7505,12 +7785,12 @@ function statsMenu(%client,%game){ %capperCount[%team]++; } else if(%dtStats.stat["OffKills"] > %dtStats.stat["DefKills"]){ // off - %LOArmorClients[%LOArmorCount[%team],%team] = %client; + %LOArmorClients[%LOArmorCount[%team],%team] = %client; %LOArmorCount[%team]++; %Offensive[%team]++; } else if(%dtStats.stat["OffKills"] < %dtStats.stat["DefKills"]){// def - %LDArmorClients[%LDArmorCount[%team],%team] = %client; + %LDArmorClients[%LDArmorCount[%team],%team] = %client; %LDArmorCount[%team]++; %Defensive[%team]++; } @@ -7521,12 +7801,12 @@ function statsMenu(%client,%game){ %baseOpCount[%team]++; } else if(%dtStats.stat["OffKills"] > %dtStats.stat["DefKills"]){ // off - %MOArmorClients[%MOArmorCount[%team],%team] = %client; + %MOArmorClients[%MOArmorCount[%team],%team] = %client; %MOArmorCount[%team]++; %Offensive[%team]++; } else if(%dtStats.stat["OffKills"] < %dtStats.stat["DefKills"]){// def - %MDArmorClients[%MDArmorCount[%team],%team] = %client; + %MDArmorClients[%MDArmorCount[%team],%team] = %client; %MDArmorCount[%team]++; %Defensive[%team]++; } @@ -7537,12 +7817,12 @@ function statsMenu(%client,%game){ %baseOpCount[%team]++; } else if(%dtStats.stat["OffKills"] > %dtStats.stat["DefKills"]){ // off - %HOArmorClients[%HOArmorCount[%team],%team] = %client; + %HOArmorClients[%HOArmorCount[%team],%team] = %client; %HOArmorCount[%team]++; %Offensive[%team]++; } else if(%dtStats.stat["OffKills"] < %dtStats.stat["DefKills"]){// def - %HDArmorClients[%HDArmorCount[%team],%team] = %client; + %HDArmorClients[%HDArmorCount[%team],%team] = %client; %HDArmorCount[%team]++; %Defensive[%team]++; } @@ -7552,7 +7832,7 @@ function statsMenu(%client,%game){ %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, "Current", "Team 1", "Team 2", "Stats Calc", "Team 1", "Team 2"); - + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; %na = 0; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"Light Off", %LOArmorCount[1], %LOArmorCount[2], "|", %SLOArmorCount[1], %SLOArmorCount[2],"","",""); @@ -7570,7 +7850,7 @@ function statsMenu(%client,%game){ case "SP": if(!%client.isSuperAdmin){ error(%client.nameBase SPC "failed to access server panel"); - return; + return; } %opt1 = %client.GlArg4; %opt2 = %client.GlArg5; @@ -7588,11 +7868,11 @@ function statsMenu(%client,%game){ //$dtJoinListCount++; if(!%client.curPage) %client.curPage = 1; - + messageClient(%client, 'SetScoreHudHeader', "", "Auth Queue"); - + //rmvFailJoin(%index) - + if(getWord(%opt2,0) $= "GUID"){ %data = $dtJoinList[getWord(%opt2,1)]; //$dtJoinList[0] = %name TAB %guid TAB %ip TAB %reason TAB %type; @@ -7604,8 +7884,8 @@ function statsMenu(%client,%game){ } %client.GlArg5 = 0; %f = 48 * (%client.curPage - 1); - } - else{ + } + else{ switch$(%opt2){ case "NP"://next page %client.curPage++; @@ -7616,19 +7896,19 @@ function statsMenu(%client,%game){ %client.GlArg5 = 0; %f = 48 * (%client.curPage - 1); case "CLR"://back page - deleteVariables("$dtJoinList*"); + deleteVariables("$dtJoinList*"); $dtJoinListCount = 0; %client.curPage = 1; %client.GlArg5 = 0; %f = 0; case "CLRP": - for(%x = 0; %x < $dtJoinListCount ; %x++) { + for(%x = 0; %x < $dtJoinListCount ; %x++) { %guid = getField($dtJoinList[%x],1); if(isObject($dtWhtList::WhiteList[%guid])){ $dtJoinListGuid[%guid] = ""; - for(%i = %x; %i < $dtJoinListCount - 1; %i++) { - $dtJoinList[%i] =$dtJoinList[%i+1]; - } + for(%i = %x; %i < $dtJoinListCount - 1; %i++) { + $dtJoinList[%i] =$dtJoinList[%i+1]; + } $dtJoinList[%i] = ""; $dtJoinListCount--; %x--; @@ -7638,16 +7918,16 @@ function statsMenu(%client,%game){ %client.GlArg5 = 0; default: %client.curPage = 1; - %f = 0; - + %f = 0; + } } - + %amount = $dtJoinListCount; %lns = mFloor(%amount/3); %leftOver = %amount - (%lns * 3); %numPages = mCeil(%amount/48); - + if(%numPages > 1){ if(%client.curPage < %numPages && %client.curPage == 1){// %line = ' Back - Return To Score Screen - Next Page >'; @@ -7661,24 +7941,24 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page'; messageClient( %client, 'SetScoreHudSubheader', "", %line ,0, "WLQUEUE"); } - + } else{ - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); } %line = 'Sorted recent to old with a rolling cap of %4 '; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"WLQUEUE","CLR",$dtStats::joinHist,"CLRP"); - + for(%i = (%client.curPage - 1) * 16; %i < %client.curPage * 16 && %i < %lns; %i++){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %vsc3 = %f; %f++; - + %AR1 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc1],1)]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; + %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc2],1)]) ? "Remove" : "Add"; - %plr2 = %vsc2 @ ":" @ getField($dtJoinList[%vsc2],0) SPC %AR2; + %plr2 = %vsc2 @ ":" @ getField($dtJoinList[%vsc2],0) SPC %AR2; %AR3 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc3],1)]) ? "Remove" : "Add"; %plr3 = %vsc3 @ ":" @ getField($dtJoinList[%vsc3],0) SPC %AR3; - + %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WLQUEUE", %plr1, %plr2, %plr3, "GUID" SPC %vsc1, "GUID" SPC %vsc2, "GUID" SPC %vsc3, 1); } @@ -7686,27 +7966,27 @@ function statsMenu(%client,%game){ if(%leftOver == 2){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc1],1)]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; + %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc2],1)]) ? "Remove" : "Add"; %plr2 = %vsc2 @ ":" @ getField($dtJoinList[%vsc2],0) SPC %AR2; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WLQUEUE", %plr1, %plr2, "", "GUID" SPC %vsc1, "GUID" SPC %vsc2, ""); - } + } else if(%leftOver == 1){ %vsc1 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc1],1)]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; + %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WLQUEUE", %plr1, "", "", "GUID" SPC %vsc1, "", ""); } - } + } return; case "STATS"://add from stats if(!%client.curPage) %client.curPage = 1; messageClient(%client, 'SetScoreHudHeader', "", "White List Add From Stats"); - + if(getWord(%opt2,0) $= "GUID"){// make sure its valid client and guid if(!isObject($dtWhtList::WhiteList[getWord(%opt2,1)])) pushWhiteList(getWord(%opt2,1), getField($guidInfo[getWord(%opt2,1)],0)); @@ -7714,8 +7994,8 @@ function statsMenu(%client,%game){ rmvWhiteListGuid(getWord(%opt2,1)); %client.GlArg5 = 0; %f = 45 * (%client.curPage - 1); - } - else{ + } + else{ switch$(%opt2){ case "NP"://next page %client.curPage++; @@ -7764,7 +8044,7 @@ function statsMenu(%client,%game){ if(%gameCountM >= 48){ pushWhiteList(%guid, getField($guidInfo[%guid],0)); } - } + } case "A64": for(%i = 0; %i < $guidListCount; %i++){ %guid = $guidList[%i]; @@ -7774,22 +8054,22 @@ function statsMenu(%client,%game){ } } default: - %client.curPage = 1; - %f = 0; + %client.curPage = 1; + %f = 0; } } - + %line = 'Add all, games played monthly - <8><16><24><32><48><64>'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"STATS"); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"STATS"); + %line = 'Game count: Player Name, Server averages: Day %3, Week %4, Month %5.'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"STATS",getField($guidAvgs,0),getField($guidAvgs,1),getField($guidAvgs,2)); - + %amount = $guidListCount;// safer method instead of client group do to how offton it changes %lns = mFloor(%amount/3); %leftOver = %amount - (%lns * 3); %numPages = mCeil(%amount/45); - + if(%numPages > 1){ if(%client.curPage < %numPages && %client.curPage == 1){// %line = ' Back - Return To Score Screen - Next Page >'; @@ -7803,22 +8083,22 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page'; messageClient( %client, 'SetScoreHudSubheader', "", %line ,0, "STATS"); } - + } else{ - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen', 0, "WHITELIST"); + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen', 0, "WHITELIST"); } - + for(%i = (%client.curPage - 1) * 15; %i < %client.curPage * 15 && %i < %lns; %i++){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %vsc3 = %f; %f++; - + %AR1 = isObject($dtWhtList::WhiteList[$guidList[%vsc1]]) ? "Remove" : "Add"; - %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; + %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[$guidList[%vsc2]]) ? "Remove" : "Add"; - %plr2 = getField($guidInfo[$guidList[%vsc2]],3) @ ":" @ getField($guidInfo[$guidList[%vsc2]],0) SPC %AR2; + %plr2 = getField($guidInfo[$guidList[%vsc2]],3) @ ":" @ getField($guidInfo[$guidList[%vsc2]],0) SPC %AR2; %AR3 = isObject($dtWhtList::WhiteList[$guidList[%vsc3]]) ? "Remove" : "Add"; %plr3 = getField($guidInfo[$guidList[%vsc3]],3) @ ":" @ getField($guidInfo[$guidList[%vsc3]],0) SPC %AR3; - + %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "STATS", %plr1, %plr2, %plr3, "GUID" SPC $guidList[%vsc1], "GUID" SPC $guidList[%vsc2], "GUID" SPC $guidList[%vsc3]); } @@ -7826,16 +8106,16 @@ function statsMenu(%client,%game){ if(%leftOver == 2){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[$guidList[%vsc1]]) ? "Remove" : "Add"; - %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; + %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[$guidList[%vsc2]]) ? "Remove" : "Add"; %plr2 = getField($guidInfo[$guidList[%vsc2]],3) @ ":" @ getField($guidInfo[$guidList[%vsc2]],0) SPC %AR2; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "STATS", %plr1, %plr2, "", "GUID" SPC $guidList[%vsc1], "GUID" SPC $guidList[%vsc2], ""); - } + } else if(%leftOver == 1){ %vsc1 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[$guidList[%vsc1]]) ? "Remove" : "Add"; - %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; + %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "STATS", %plr1, "", "", "GUID" SPC $guidList[%vsc1], "", ""); } @@ -7844,9 +8124,9 @@ function statsMenu(%client,%game){ case "SERVER"://add from current server if(!%client.curPage) %client.curPage = 1; - + messageClient(%client, 'SetScoreHudHeader', "", "White List Add From Server"); - + if(getWord(%opt2,0) $= "RMV"){// make sure its valid client and guid %clObj = getWord(%opt2,1); if(!isObject($dtWhtList::WhiteList[%clObj.guid])) @@ -7856,7 +8136,7 @@ function statsMenu(%client,%game){ %client.GlArg5 = 0; %f = 51 * (%client.curPage - 1); } - else{ + else{ switch$(%opt2){ case "NP"://next page %client.curPage++; @@ -7870,16 +8150,16 @@ function statsMenu(%client,%game){ case "RM": default: %client.curPage = 1; - %f = 0; - + %f = 0; + } } - + %amount = isObject(statsGroup) ? statsGroup.getCount() : 0;// safer method instead of client group do to how offton it changes %lns = mFloor(%amount/3); %leftOver = %amount - (%lns * 3); %numPages = mCeil(%amount/51); - + if(%numPages > 1){ if(%client.curPage < %numPages && %client.curPage == 1){// %line = ' Back - Return To Score Screen - Next Page > - '; @@ -7893,22 +8173,22 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page - '; messageClient( %client, 'SetScoreHudSubheader', "", %line ,0, "SERVER"); } - + } else{ - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen - ',0, "WHITELIST"); + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen - ',0, "WHITELIST"); } - + for(%i = (%client.curPage - 1) * 17; %i < %client.curPage * 17 && %i < %lns; %i++){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %vsc3 = %f; %f++; - + %AR1 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc1).guid]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; + %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc2).guid]) ? "Remove" : "Add"; - %plr2 = %vsc2 @ ":" @ statsGroup.getObject(%vsc2).name SPC %AR2; + %plr2 = %vsc2 @ ":" @ statsGroup.getObject(%vsc2).name SPC %AR2; %AR3 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc3).guid]) ? "Remove" : "Add"; %plr3 = %vsc3 @ ":" @ statsGroup.getObject(%vsc3).name SPC %AR3; - + %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "SERVER", %plr1, %plr2, %plr3, "RMV" SPC statsGroup.getObject(%vsc1), "RMV" SPC statsGroup.getObject(%vsc2), "RMV" SPC statsGroup.getObject(%vsc3)); } @@ -7916,16 +8196,16 @@ function statsMenu(%client,%game){ if(%leftOver == 2){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc1).guid]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; + %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc2).guid]) ? "Remove" : "Add"; - %plr2 = %vsc2 @ ":" @ statsGroup.getObject(%vsc2).name SPC %AR2; + %plr2 = %vsc2 @ ":" @ statsGroup.getObject(%vsc2).name SPC %AR2; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "SERVER", %plr1, %plr2, "", "RMV" SPC statsGroup.getObject(%vsc1), "RMV" SPC statsGroup.getObject(%vsc2), ""); - } + } else if(%leftOver == 1){ %vsc1 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc1).guid]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; + %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "SERVER", %plr1, "", "", "RMV" SPC statsGroup.getObject(%vsc1), "", ""); } @@ -7934,15 +8214,15 @@ function statsMenu(%client,%game){ case "WHITELIST": if(!%client.curPage) %client.curPage = 1; - + messageClient( %client, 'SetScoreHudHeader', "", "White List"); - + if(getWord(%opt2,0) $= "RMV" && isObject(serverSafeList.getObject(getWord(%opt2,1)))){ rmvWhiteListIndex(getWord(%opt2,1)); %client.GlArg5 = 0; %f = 51 * (%client.curPage - 1); - } - else{ + } + else{ switch$(%opt2){ case "NP"://next page %client.curPage++; @@ -7954,15 +8234,15 @@ function statsMenu(%client,%game){ %f = 51 * (%client.curPage - 1); default: %client.curPage = 1; - %f = 0; + %f = 0; } } - + %amount = isObject(serverSafeList) ? serverSafeList.getCount() : 0; %lns = mFloor(%amount/3); %leftOver = %amount - (%lns * 3); %numPages = mCeil(%amount/51); - + if(%numPages > 1){ if(%client.curPage < %numPages && %client.curPage == 1){// %line = ' Back - Return To Score Screen - Next Page > - Add/Rmv From '; @@ -7976,32 +8256,32 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page'; messageClient( %client, 'SetScoreHudSubheader', "", %line ,0, "WHITELIST"); } - + } else{ - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen - Add/Rmv From ',0); + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen - Add/Rmv From ',0); } - + for(%i = (%client.curPage - 1) * 17; %i < %client.curPage * 17 && %i < %lns; %i++){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %vsc3 = %f; %f++; - %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; - %plr2 = %vsc2 @ ":" @ serverSafeList.getObject(%vsc2).name SPC "Remove"; + %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; + %plr2 = %vsc2 @ ":" @ serverSafeList.getObject(%vsc2).name SPC "Remove"; %plr3 = %vsc3 @ ":" @ serverSafeList.getObject(%vsc3).name SPC "Remove"; - + %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WHITELIST", %plr1, %plr2, %plr3, "RMV" SPC %vsc1, "RMV" SPC %vsc2, "RMV" SPC %vsc3); } if(%numPages == %client.curPage){ if(%leftOver == 2){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; - %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; - %plr2 = %vsc2 @ ":" @ serverSafeList.getObject(%vsc2).name SPC "Remove"; + %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; + %plr2 = %vsc2 @ ":" @ serverSafeList.getObject(%vsc2).name SPC "Remove"; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WHITELIST", %plr1, %plr2, "", "RMV" SPC %vsc1, "RMV" SPC %vsc2, ""); - } + } else if(%leftOver == 1){ %vsc1 = %f; %f++; - %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; + %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WHITELIST", %plr1, "", "", "RMV" SPC %vsc1, "", ""); } @@ -8010,9 +8290,9 @@ function statsMenu(%client,%game){ case "BL": if(!%client.curPage) %client.curPage = 1; - + messageClient( %client, 'SetScoreHudHeader', "", "Ban/Kick List"); - + if(getWord(%opt2,0) $= "RMV" && dtBanList.getObject(getWord(%opt2,0) != -1)){ unbanUserObj(dtBanList.getObject(getWord(%opt2,1)));//function makes echo report %client.GlArg5 = 0; @@ -8025,19 +8305,19 @@ function statsMenu(%client,%game){ saveBanList(); } - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); - + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); + %banlistCount = 0; for(%i = 0; %i < dtBanList.getCount(); %i++){ %banObj = dtBanList.getObject(%i); if(!%banObj.hide){ if(!(%banlistCount % 3)){ - %plrLine = "\t" @ %banObj.name @ ":" @ numReduce(%banObj.banLengthMin - getBanCount(%banObj.banDateTime),0); + %plrLine = "\t" @ %banObj.name @ ":" @ numReduce(%banObj.banLengthMin - getTimeDelta(%banObj.banDateTime),0); %line = "\tUnban - Perma"; } else{ - %plrLine = %plrLine @ "\t" @ %banObj.name @ ":" @ numReduce(%banObj.banLengthMin - getBanCount(%banObj.banDateTime),0); - %line = %line @ "\tUnban - Perma"; + %plrLine = %plrLine @ "\t" @ %banObj.name @ ":" @ numReduce(%banObj.banLengthMin - getTimeDelta(%banObj.banDateTime),0); + %line = %line @ "\tUnban - Perma"; } %banlistCount++; if(!(%banlistCount % 3)){ @@ -8052,7 +8332,7 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetLineHud', "", %tag, %index++, %plrLine); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } - + return; case "RESET": %client.GlArg4 = 0; @@ -8064,11 +8344,11 @@ function statsMenu(%client,%game){ case "WLRESET": messageClient( %client, 'SetScoreHudHeader', "", "Confirm?"); messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); - messageClient( %client, 'SetLineHud', "", %tag, %index++, ''); + messageClient( %client, 'SetLineHud', "", %tag, %index++, ''); %line = ' DELETE WHITELIST? '; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"WLRESETSTEP2"); return; - + case "buildStats": if(!$dtStats::building){ compileStats(); @@ -8079,14 +8359,7 @@ function statsMenu(%client,%game){ $dtStats::tmMode = 0; else $dtStats::tmMode = 1; - - $dtStats::tmModeGC = 0; - %client.GlArg4 = 0; - case "tmCompile": - if(!$dtStats::tmCompile){ - preLoadTurStats(0); - messageAll('MsgStats', '\c3Tournament stats build started, server preformance may degrade for a few minutes~wfx/misc/hunters_greed.wav'); - } + %client.GlArg4 = 0; case "plotEnable": %start = startPlayerPlot(%client.GlArg5*1000); @@ -8128,62 +8401,83 @@ function statsMenu(%client,%game){ } //------------------------------------------------------------------------------ if(%game $= "CTFGame" || %game $= "LCTFGame" || %game $= "SCtFGame"){ - if(!$Host::TournamentMode){ - if(!$dtStats::tmMode){ - %line = ' + Enable Tournament Map Stats - Auto enables with tournament mode'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"tmEnable"); + if(!$dtStats::tmMode){ + %line = ' + Enable Tournament Map Stats - records to separate stats'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"tmEnable"); + } + else{ + %line = ' + Disable Tournament Map Stats - records to normal stats'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"tmEnable"); + } + %tlist = 0; + for(%i = 0; %i < pugList.getCount(); %i++){ + %gobj = pugList.getObject(%i); + %tlist += %gobj.getCount(); + } + if(%tlist > 0){ + if(!$Host::TournamentMode){ + if(!$dtStats::tmCompile){ + %line = ' + Compile Tournament Stats - %1 games await compiling '; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"tmCompile", %tlist); + } + else{ + %line = ' + Tournament Stats Compiling '; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"tmCompile"); + } } else{ - %line = ' + Disable Tournament Map Stats - Auto disables after 6 games'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"tmEnable"); + %line = ' + Disable tournament mode to compile stats'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } } else{ - %line = ' + Map Stats - already enabled because of tournament bode'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ' + No Tournament Map Stats To Compile'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } - } - else{ - %line = ' + Map Stats - can only be enabled in CTF or LCTF'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - } - if(getFieldCount($dtServerVars::pugIDS["CTFGame"]) || getFieldCount($dtServerVars::pugIDS["LCTFGame"]) || getFieldCount($dtServerVars::pugIDS["SCtFGame"]) ){ - if(!$Host::TournamentMode && !$dtStats::tmMode){ - if(!$dtStats::tmCompile){ - %line = ' + Compile Tournament Stats - %2 Games await compiling '; - %gameAmount += getFieldCount($dtServerVars::pugIDS["CTFGame"]); - %gameAmount += getFieldCount($dtServerVars::pugIDS["LCTFGame"]); - %gameAmount += getFieldCount($dtServerVars::pugIDS["SCtFGame"]); - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"tmCompile",%gameAmount); + %glist = 0; + for(%i = 0; %i < pubList.getCount(); %i++){ + %gobj = pubList.getObject(%i); + %glist += %gobj.getCount(); + } + if(%glist > 0){ + if(!$Host::TournamentMode){ + if(!$dtStats::tmCompile){ + %line = ' + Compile Map Stats - %1 games await compiling '; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, %glist); + } + else{ + %line = ' + Stats Compiling '; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + } } else{ - %line = ' + Tournament Stats Compiling '; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"tmCompile"); + %line = ' + Disable tournament mode to compile stats'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } } else{ - %line = ' + No Compiling Tournament Map Stats At This Time'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ' + No Map Stats To Compile'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } } else{ - %line = ' + No Tournament Map Stats To Compile'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ' + Map stats can only be enabled in CTF - LCTF'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } - %line = ' + Map Play Statistics'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%game,1); %line = ' + Custom Map Rotation'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,1, ML.TypeIndex[$CurrentMissionType]); //------------------------------------------------------------------------------ // messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - - + %line = ' + Server Health Info - Last Event = %1 Minutes'; %evTime = ((getSimTime() - $dtStats:lastEvent)/1000)/60; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%evTime); - + + %line = ' + Team Balancer'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); // if(!$pathMaps::running){ // %line = ' Start Player Plot + 30k + 60k + 90k + 120k'; // messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"plotEnable"); @@ -8192,10 +8486,10 @@ function statsMenu(%client,%game){ // %line = ' + Stop Player Plot'; // messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"plotDisable"); // } - + messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - - + + if($dtServerVars::WhiteListMode){ %line = ' + Disable Whitelist - Disabling will open the server to anyone'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"LISTENABLE",0); @@ -8204,7 +8498,7 @@ function statsMenu(%client,%game){ %line = ' + Enable Whitelist - Enabling will locked the server to approve accounts only'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"LISTENABLE",1); } - + if(isFile($dtStats::IPBanListFile)){ if($dtServerVars::IPBanListMode){ %line = ' + Disable IP Ban List - Disables only this feature'; @@ -8215,23 +8509,152 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"IPBANLISTENABLE",1); } } - + %line = ' + View Ban List - Unban a player'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "BL", "RS"); - + %line = ' + View White List - Add or Remove player from list, ban/kick auto removes'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"WHITELIST", "RS"); - + %line = ' + White List Queue - There are %4 accounts that need approval'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"WLQUEUE", "RS",$dtJoinListCount); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - + %line = ' + Reset White List - Clears everything'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"WLRESET",0); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); + + + case "CST": + %opt0 = %client.GlArg3; + %opt1 = %client.GlArg4; + %opt2 = %client.GlArg5; + + switch$(%opt0){ + case "tmc": + if(!$dtStats::tmCompile){ + buildTest(0); + messageAll('MsgStats', '\c3Tournament stats build started, server preformance will degrade for a few minutes~wfx/misc/hunters_greed.wav'); + } + %client.GlArg3 = 0; + case "rmv": + %opt1.select = 0; + case "add": + %opt1.select = 1; + case "del": + if(isObject(%opt1)){ + %opt1.delete(); + pugList.schedule(1000,"save","serverStats/pugLog.cs", 0); + } + } + + messageClient( %client, 'SetScoreHudHeader', "", "Map Stats Compile"); + if($dtStatsImgBuild || $dtStats::tmCompile){ + %line = ' Back - Return To Score Screen Stats Compiling '; + messageClient( %client, 'SetScoreHudSubheader', "", %line,0); + } + else{ + if(($HostGamePlayerCount - $HostGameBotCount) < 6){ + %line = ' Back - Return To Score Screen Compile Selected Stats'; + messageClient( %client, 'SetScoreHudSubheader', "", %line,0); + } + else{ + %line = ' Back - Return To Score Screen Compile Stats Locked'; + messageClient( %client, 'SetScoreHudSubheader', "", %line,0); + } + } + + %hasCount = 0; %line = ""; + for(%i = 0; %i < pugList.getCount(); %i++){ + %grpObj = pugList.getObject(%i); + for(%x = 0; %x < %grpObj.getCount(); %x++){ + %mid = %grpObj.getObject(%x); + if(%client.statSlot == %mid.statSlot){ + %line = %mid.mapName SPC %mid.teamOne SPC %mid.teamTwo SPC %mid.gameType SPC %mid.date; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + if(!%mid.select){ + %line = " "; + } + else{ + %line = " "; + } + + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + } + } + } + + //%so = new scriptObject(){ + //pugID = $dtStats::gameID; + //mapName = $MissionDisplayName; + //date = formattimestring("M-d-yy"); + //teamOne = $TeamScore[1]; + //teamTwo = $TeamScore[2]; + //gameType = %game.class; + //}; + + case "CSG": + %opt0 = %client.GlArg3; + %opt1 = %client.GlArg4; + %opt2 = %client.GlArg5; + + switch$(%opt0){ + case "gmc": + if(!$dtStats::tmCompile){ + buildTest(0); + messageAll('MsgStats', '\Map stats build started, server preformance will degrade for a few minutes~wfx/misc/hunters_greed.wav'); + } + %client.GlArg3 = 0; + case "rmv": + %opt1.select = 0; + case "add": + %opt1.select = 1; + case "del": + if(isObject(%opt1)){ + %opt1.delete(); + pubList.schedule(1000,"save","serverStats/pubLog.cs", 0); + } + } + + messageClient( %client, 'SetScoreHudHeader', "", "Map Stats Compile"); + if($dtStatsImgBuild || $dtStats::tmCompile){ + %line = ' Back - Return To Score Screen Stats Compiling '; + messageClient( %client, 'SetScoreHudSubheader', "", %line,0); + } + else{ + if(($HostGamePlayerCount - $HostGameBotCount) < 6){ + %line = ' Back - Return To Score Screen Compile Selected Stats'; + messageClient( %client, 'SetScoreHudSubheader', "", %line,0); + } + else{ + %line = ' Back - Return To Score Screen Compile Stats Locked'; + messageClient( %client, 'SetScoreHudSubheader', "", %line,0); + } + } + + + %hasCount = 0; %line = ""; + for(%i = 0; %i < pubList.getCount(); %i++){ + %grpObj = pubList.getObject(%i); + for(%x = 0; %x < %grpObj.getCount(); %x++){ + %mid = %grpObj.getObject(%x); + if(%client.statSlot == %mid.statSlot){ + %line = %mid.mapName SPC %mid.teamOne SPC %mid.teamTwo SPC %mid.gameType SPC %mid.date; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + if(!%mid.select){ + %line = " "; + } + else{ + %line = " "; + } + + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + } + } + } case "MAP": %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; @@ -8274,14 +8697,14 @@ function statsMenu(%client,%game){ %client.GlArg3 = 0; %client.GlArg4 = 0; if( ML.curMapList $= ""){ - ML.curMapList = 0; + ML.curMapList = 0; } messageClient( %client, 'SetScoreHudHeader', "", "Map Config"); %line = ' Back - Return To Score Screen Reset All To Default '; - + messageClient( %client, 'SetScoreHudSubheader', "", %line,0); - messageClient( %client, 'SetLineHud', "", %tag, %index++, 'Number of maps for given player numbers'); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, 'Number of maps for given player numbers'); + if(!$dtMapRebuild && ML.curMapList != 3){ deleteVariables("$dtMapMinMax*"); for ( %i = 0; %i < ML.getCount(); %i++ ){ @@ -8290,17 +8713,17 @@ function statsMenu(%client,%game){ if(getField(%ms,0)){ for ( %r = getField(%ms,2); %r <= getField(%ms,3); %r++ ){ if(!getFieldCount($dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList])){ - $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] = %i; + $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] = %i; } else{ - $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] = $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] TAB %i; + $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] = $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] TAB %i; } } } } $dtMapRebuild = 1; } - + %vv = 70; %line = ""; for(%z = 0; %z < 64; %z++){ @@ -8313,18 +8736,18 @@ function statsMenu(%client,%game){ %line = %line @ %z+1 @ "-" @ getFieldCount(%maps) @ "\t"; } if((%z % 8) == 7){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); %line = ""; } } - + if((%z-1 % 8) < 7) - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - - + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + + %vv = 100; %line = ""; - for(%z = 0; %z < ML.TypeCount; %z++){ + for(%z = 0; %z < ML.TypeCount; %z++){ if(%z $= %client.gmType){ %line = %line @ "|" @ ML.TypeName[%z]@ "|\t"; } @@ -8332,15 +8755,15 @@ function statsMenu(%client,%game){ %line = %line @ "|" @ ML.TypeName[%z] @ "|\t"; } if((%z % 5) == 4){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - %line = ""; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ""; } } if((%z-1 % 5) != 4){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } - - //messageClient( %client, 'SetLineHud', "", %tag, %index++, ''); + + //messageClient( %client, 'SetLineHud', "", %tag, %index++, ''); if(ML.enable){ if(!ML.saveMapPlayed){ %line = ' + Disable Map Custom Rotation - Enable Non Repeat Map Rotation'; @@ -8356,9 +8779,9 @@ function statsMenu(%client,%game){ %line = ' + Enable Map Custom Rotation - overrides other map systems for this one'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%client.gmType,3,0); } - + messageClient( %client, 'SetLineHud', "", %tag, %index++, ''); - + %mapList = ML.curMapList; switch(%mapList){ case 0: @@ -8376,24 +8799,24 @@ function statsMenu(%client,%game){ } %line = ' |Edit Rotation|\t |Edit Rotation|\t |Edit Rotation|\t |Edit Rotation|'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - + case "MF": %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; %opt2 = %client.GlArg5; - switch(%opt0){ + switch(%opt0){ case 1:// page next %client.curPageMF++; - case 2:// page back; - %client.curPageMF--; + case 2:// page back; + %client.curPageMF--; if(%client.curPageMF < 0){ - %client.curPageMF = 0; + %client.curPageMF = 0; } - case 3: + case 3: %client.curPageMF = 0; case 4: %fields = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; - $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = setField(%fields,2, %opt2); + $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = setField(%fields,2, %opt2); case 5:// remove fixed if($dtFixedMapCount[ML.TypeName[%client.gmType]]){ $dtFixedMapCount[ML.TypeName[%client.gmType]]--; @@ -8403,19 +8826,19 @@ function statsMenu(%client,%game){ } case 6://move up if(%opt1-1 > -1){ - %A = $dtFixedMapList[%opt1-1, ML.TypeName[%client.gmType]]; - %B = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; + %A = $dtFixedMapList[%opt1-1, ML.TypeName[%client.gmType]]; + %B = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; $dtFixedMapList[%opt1-1, ML.TypeName[%client.gmType]] = %B; $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = %A; } case 7://move down if(%opt1+1 < $dtFixedMapCount[ML.TypeName[%client.gmType]]){ - %A = $dtFixedMapList[%opt1+1, ML.TypeName[%client.gmType]]; - %B = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; + %A = $dtFixedMapList[%opt1+1, ML.TypeName[%client.gmType]]; + %B = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; $dtFixedMapList[%opt1+1, ML.TypeName[%client.gmType]] = %B; $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = %A; } - case 8://first + case 8://first if($dtFixedMapCount[ML.TypeName[%client.gmType]] > 1){ %element = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; for (%i = %opt1; %i > 0; %i--) { @@ -8425,7 +8848,7 @@ function statsMenu(%client,%game){ } case 9://last if($dtFixedMapCount[ML.TypeName[%client.gmType]] > 1){ - %element = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; + %element = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; %size = $dtFixedMapCount[ML.TypeName[%client.gmType]] - 1; for (%i = %opt1; %i < %size; %i++) { $dtFixedMapList[%i, ML.TypeName[%client.gmType]] = $dtFixedMapList[%i + 1, ML.TypeName[%client.gmType]]; @@ -8436,12 +8859,12 @@ function statsMenu(%client,%game){ if(%opt0 > 3){ saveMapRot(); if(ML.enable && %client.curMapList == ML.curMapList ){ - buildMissionList(); + buildMissionList(); } } - %client.GlArg3 = 0; + %client.GlArg3 = 0; messageClient( %client, 'SetScoreHudHeader', "", " Fixed Map Rotation"); - + if((%client.curPageMF+1) * 16 < $dtFixedMapCount[ML.TypeName[%client.gmType]]){ if(%client.curPageMF == 0){ %line = ' Back - Return To Score Screen - Next Page >'; @@ -8455,7 +8878,7 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page'; messageClient( %client, 'SetScoreHudSubheader', "", %line ,%Client); } - + } else{ if(%client.curPageMF > 0){ @@ -8463,29 +8886,29 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetScoreHudSubheader', "", %line); } else{ - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen'); + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen'); } } - - - + + + %line = 'Map List \t Rmv-Remove A-Allow Vote X-Deny F-First L-Last'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %r = 0; - for(%i = %client.curPageMF * 16; %i < $dtFixedMapCount[ML.TypeName[%client.gmType]] && %r < 16; %i++){ + for(%i = %client.curPageMF * 16; %i < $dtFixedMapCount[ML.TypeName[%client.gmType]] && %r < 16; %i++){ %mapFields = $dtFixedMapList[%i, ML.TypeName[%client.gmType]]; %name2 = getField(%mapFields,1); %name2 = (strLen(%name2) > 21) ? getSubStr(%name2, 0, 21) @ ".." : %name2; - + %vote = (getField(%mapFields,2) == 0) ? "A" : "X"; %move = "U" SPC "D"; %first = "F" SPC "L"; %line = ""@ %i @ ":" @ %name2 @ "\tRmv" SPC %vote SPC %move SPC %first; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - %r++; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %r++; } - + case "M": %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; @@ -8499,10 +8922,10 @@ function statsMenu(%client,%game){ %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 0); } else{ - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); } } - $dtMapRebuild = 0; + $dtMapRebuild = 0; if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); } @@ -8512,11 +8935,11 @@ function statsMenu(%client,%game){ %client.curPage = 0; %client.pageZ[%client.curPage] = 0; case 3://next page - %client.curPage++; + %client.curPage++; case 4://back page %client.curPage--; if(%client.curPage == 0){ - %client.pageZ[%client.curPage] = 0; + %client.pageZ[%client.curPage] = 0; } if(%client.curPage < 0){ %client.curPage = 0; @@ -8544,11 +8967,11 @@ function statsMenu(%client,%game){ %mapObj = ML.getObject(%z); if(%mapObj.typeList[ML.TypeName[%client.gmType]]){ %options = %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList]; - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); } } } - $dtMapRebuild = 0; + $dtMapRebuild = 0; if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); } @@ -8564,7 +8987,7 @@ function statsMenu(%client,%game){ $dtFixedMapCount[ML.TypeName[%client.gmType]]--; if($dtFixedMapCount[ML.TypeName[%client.gmType]] < 1){ $dtFixedMapCount[ML.TypeName[%client.gmType]] = 0; - break; + break; } } } @@ -8575,11 +8998,11 @@ function statsMenu(%client,%game){ %mapObj = ML.getObject(%z); if(%mapObj.typeList[ML.TypeName[%client.gmType]]){ %options = %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList]; - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 0); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 0); } } } - $dtMapRebuild = 0; + $dtMapRebuild = 0; if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); } @@ -8594,7 +9017,7 @@ function statsMenu(%client,%game){ if(!isEventPending($saveMR)){ $saveMR = schedule(5000, 0, "export", "$dtFixedMap*", "serverStats/fixMapRot.cs", false ); } - $dtMapRebuild = 0; + $dtMapRebuild = 0; if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); } @@ -8602,7 +9025,7 @@ function statsMenu(%client,%game){ case 9:// remove fixed case 10://vote %fields = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; - $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = setField(%fields,2, %opt2); + $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = setField(%fields,2, %opt2); case 11: // add all bots maps if(%client.curMapList == 3){ for(%z = 0; %z < ML.getCount(); %z++){ @@ -8621,11 +9044,11 @@ function statsMenu(%client,%game){ %bot = isFile("terrains/" @ %mapObj.file @".nav"); if(%mapObj.typeList[ML.TypeName[%client.gmType]] && %bot){ %options = %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList]; - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); } } } - $dtMapRebuild = 0; + $dtMapRebuild = 0; if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); } @@ -8641,10 +9064,10 @@ function statsMenu(%client,%game){ %line = "Click Here To View Fixed Map List - Current Map Count =" SPC $dtFixedMapCount[ML.TypeName[%client.gmType]]; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } - - %line = ""; - %r = 0; - %lineCount = 0; + + %line = ""; + %r = 0; + %lineCount = 0; %dtmc = (%client.curPage) * 16; for(%z = %client.pageZ[%client.curPage]; %z < ML.getCount(); %z++){ %mapObj = ML.getObject(%z); @@ -8657,11 +9080,11 @@ function statsMenu(%client,%game){ %name = (strLen(%name) > %clip) ? getSubStr(%name, 0,%clip) @ ".." : %name; %line = %line @ %line = "" @ %name @ "\t|Add|\t"; if((%r % 2) == 1){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - %line = ""; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ""; if( %lineCount++ > 15){ - %client.pageZ[%client.curPage+1] = %z;// the next page stoping point - break; + %client.pageZ[%client.curPage+1] = %z;// the next page stoping point + break; } } %r++; @@ -8675,11 +9098,11 @@ function statsMenu(%client,%game){ %A = (getField(%options,0) == 0) ? "|Add" : "|Rmv"; %line = %line @ %name @ "\t" @ %A @ "|Opt|\t"; if((%r % 2) == 1){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - %line = ""; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ""; if( %lineCount++ > 16){ - %client.pageZ[%client.curPage+1] = %z;// the next page stoping point - break; + %client.pageZ[%client.curPage+1] = %z;// the next page stoping point + break; } } %r++; @@ -8687,7 +9110,7 @@ function statsMenu(%client,%game){ } } } - + if(%z < ML.getCount()){ if(%client.curPage == 0){ %line = ' Back - Return To Score Screen - Next Page > * = Bot Support'; @@ -8701,7 +9124,7 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page * = Bot Support'; messageClient( %client, 'SetScoreHudSubheader', "", %line ,%Client); } - + } else{ if(%client.curPage > 0){ @@ -8709,10 +9132,10 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetScoreHudSubheader', "", %line); } else{ - messageClient( %client, 'SetScoreHudSubheader', "", '> Back - Return To Score Screen * = Bot Support'); + messageClient( %client, 'SetScoreHudSubheader', "", '> Back - Return To Score Screen * = Bot Support'); } } - case "MO":// map options + case "MO":// map options %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; %opt2 = %client.GlArg5; @@ -8726,26 +9149,26 @@ function statsMenu(%client,%game){ %max = getField(%options,3); %p = getField(%options,2) + 4; if(%p > %max){ - %p = %max-1; + %p = %max-1; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 2, %p); case 3://- %p = getField(%options,2) - 4; if(%p < 0){ - %p = 0; + %p = 0; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 2, %p); case 4://+ %p = getField(%options,3) + 4; if(%p > 63){ - %p = 64; + %p = 64; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 3, %p); case 5://- %min = getField(%options,2); %p = getField(%options, 3) - 4; - if(%p < %min){// cant be smaller then min - %p = %min + 1; + if(%p < %min){// cant be smaller then min + %p = %min + 1; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 3, %p); case 6:// prio @@ -8755,8 +9178,8 @@ function statsMenu(%client,%game){ %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,5, 0); } else{ - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = %options = setField(%options,5,1); - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,7,0); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = %options = setField(%options,5,1); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,7,0); } case 8:// week select %week = getField(%options,6); @@ -8774,8 +9197,8 @@ function statsMenu(%client,%game){ %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,7,0); } else{ - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = %options = setField(%options,7,1); - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,5, 0); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = %options = setField(%options,7,1); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,5, 0); } case 10:// Month select %month = getField(%options,8); @@ -8794,14 +9217,14 @@ function statsMenu(%client,%game){ if(%opt2){ %p = getField(%options,10) + 1; if(%p > 24){ - %p = 0; + %p = 0; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 10, %p); } else{ %p = getField(%options,10) - 1; if(%p < 0){ - %p = 24; + %p = 24; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 10, %p); } @@ -8809,14 +9232,14 @@ function statsMenu(%client,%game){ if(%opt2){ %p = getField(%options,11) + 1; if(%p > 60){ - %p = 0; + %p = 0; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 11, %p); } else{ %p = getField(%options,11) - 1; if(%p < 0){ - %p = 60; + %p = 60; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 11, %p); } @@ -8824,14 +9247,14 @@ function statsMenu(%client,%game){ if(%opt2){ %p = getField(%options,12) + 1; if(%p > 31){ - %p = 0; + %p = 0; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 12, %p); } else{ %p = getField(%options,12) - 1; if(%p < 0){ - %p = 31; + %p = 31; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 12, %p); } @@ -8839,14 +9262,14 @@ function statsMenu(%client,%game){ if(%opt2){ %p = getField(%options,13) + 1; if(%p > 12){ - %p = 1; + %p = 1; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 13, %p); } else{ %p = getField(%options,13) - 1; if(%p < 0){ - %p = 12; + %p = 12; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 13, %p); } @@ -8863,20 +9286,20 @@ function statsMenu(%client,%game){ %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,15, %opt2); case 18:// year if(%opt2){ - %p = getField(%options,16) + 5; + %p = getField(%options,16) + 5; %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 16, %p); } else{ %p = getField(%options,16) - 5; if(%p < 0){ - %p = 0; + %p = 0; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 16, %p); } } if(%opt1 > 0){ - $dtMapRebuild = 0; + $dtMapRebuild = 0; saveMapRot(); if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); @@ -8886,10 +9309,10 @@ function statsMenu(%client,%game){ %client.GlArg5 = 0; %options = %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList]; messageClient( %client, 'SetScoreHudHeader', "", "" @ %mapObj.name); - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); - + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); + %vote = getField(%options,1); // (getField(%options,1) == 0) ? "Enable" : "Disable"; - //messageClient( %client, 'SetLineHud', "", %tag, %index++, "Vote Only " @ %vote @ " - Removes map from rotation but can be voted on"); + //messageClient( %client, 'SetLineHud', "", %tag, %index++, "Vote Only " @ %vote @ " - Removes map from rotation but can be voted on"); switch(%vote){ case 0: messageClient( %client, 'SetLineHud', "", %tag, %index++, "Vote Option |Normal| Vote Only Rotation Only"); @@ -8898,13 +9321,13 @@ function statsMenu(%client,%game){ case 2: messageClient( %client, 'SetLineHud', "", %tag, %index++, "Vote Option Normal Vote Only |Rotation Only|"); } - + messageClient( %client, 'SetLineHud', "", %tag, %index++, "Min Players < "@ getField(%options,2) @" > - Minium number of players"); messageClient( %client, 'SetLineHud', "", %tag, %index++, "Max Players < "@ getField(%options,3) @" > - Maxium number of players"); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, "--------------------------------------------Advance Settings--------------------------------------------"); - - %prio = getField(%options,4); + + %prio = getField(%options,4); switch(%prio){ case 1: messageClient( %client, 'SetLineHud', "", %tag, %index++, "Priority Level |1| 2 3 4 5 - how often a map shows up, 3 being normal"); @@ -8917,13 +9340,13 @@ function statsMenu(%client,%game){ case 5: messageClient( %client, 'SetLineHud', "", %tag, %index++, "Priority Level 1 2 3 4 |5| - how often a map shows up, 3 being normal"); } - + %week = (getField(%options,5) == 0) ? "Enable" : "Disable"; messageClient( %client, 'SetLineHud', "", %tag, %index++, "Weekly Restrictions " @ %week @ " - Contorl which day of the week a map will show up"); - + %weekDay = getField(%options,6); %wd[0] = "Sun";%wd[1] = "Mon";%wd[2] = "Tue";%wd[3] = "Wed";%wd[4] = "Thu";%wd[5] = "Fri";%wd[6] = "Sat"; - %line = ""; + %line = ""; for(%i =0; %i < 7; %i++){ %w = getSubStr(%weekDay,%i,1); if(%w){ @@ -8933,13 +9356,13 @@ function statsMenu(%client,%game){ %line = %line @ " " @ %wd[%i] @ " "; } } - + %month = (getField(%options,7) == 0) ? "Enable" : "Disable"; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, "Monthly Restrictions "@ %month @" - Control how often a map can show up during a month"); - %mw = getField(%options,8); - %line = ""; + %mw = getField(%options,8); + %line = ""; for(%i =0; %i < 31; %i++){ %w = getSubStr(%mw,%i,1); if(%w){ @@ -8949,24 +9372,24 @@ function statsMenu(%client,%game){ %line = %line @ " " @ %i+1 @ ""; } if((%i % 7) == 6){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); %line = ""; } } - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line @ "- Note maps will only show up on these if month allows"); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line @ "- Note maps will only show up on these if month allows"); + %event = (getField(%options,9) == 0) ? "Enable" : "Disable"; if(getField(%options,15)){ - %etype ="Set next - Force switch - "; + %etype ="Set next - Force switch - "; } else{ - %etype ="Set Next - Force switch - "; + %etype ="Set Next - Force switch - "; } - + messageClient( %client, 'SetLineHud', "", %tag, %index++, "Event Map - " @ %event @ " - " @ %etype @ " maps at set time and day "); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, "Current Server Time and Date" SPC formattimestring("HH:nn d-m-yy")); - + %hour = "<" @ getField(%options,10) @ "H>"; %min = "<" @ getField(%options,11) @ "m>"; %eventTime = "Event Length <" @ getField(%options,16) @ "m>"; @@ -8980,10 +9403,10 @@ function statsMenu(%client,%game){ case "EV": %opt1 = %client.GlArg4; %opt2 = %client.GlArg5; - + messageClient( %client, 'SetScoreHudHeader', "", "Event Panel"); messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); - + for(%i = $dtStats::eventMax; %i > 0; %i--){ %v = (%i+$dtServer::eventLogCount) % $dtStats::eventMax; %log = $dtServer::eventLog[%v]; @@ -9022,7 +9445,7 @@ function statsMenu(%client,%game){ $dtServer::teamOneLoss[%map, %client.lgame] = 0; $dtServer::teamTwoWin[%map, %client.lgame] = 0; $dtServer::teamTwoLoss[%map, %client.lgame] = 0; - + $dtServerVars::serverCrash[%map, %client.lgame] = 0; } $dtServer::serverHangTotal = 0; @@ -9214,7 +9637,7 @@ function statsMenu(%client,%game){ "Max-Plr", "Lag", "Hitch" TAB - "T1 W/L" TAB + "T1 W/L" TAB "T2 W/L"); for(%z = (%vLPage - 1) * %perPage; %z < %vLPage * %perPage && %z < $mapID::countGame[%client.lgame]; %z++){ %map = $mapID::IDNameGame[%z+1,%client.lgame]; @@ -9226,12 +9649,12 @@ function statsMenu(%client,%game){ %mp = $dtServer::maxPlayers[%map,%client.lgame]; %cr = $dtServer::hostHangMap[%map,%client.lgame]; %sh = $dtServer::serverHangMap[%map,%client.lgame]; - + %t1w= $dtServer::teamOneWin[%map,%client.lgame]; %t1l= $dtServer::teamOneLoss[%map,%client.lgame]; %t2w= $dtServer::teamTwoWin[%map,%client.lgame]; %t2l= $dtServer::teamTwoLoss[%map,%client.lgame]; - + %v1 = %pc ? %pc : 0; %v2 = %sc ? %sc : 0; %v3 = %vc ? %vc : 0; @@ -9239,12 +9662,12 @@ function statsMenu(%client,%game){ %v5 = %mp ? %mp : 0; %v6 = %cr ? %cr : 0; %v7 = %sh ? %sh : 0; - + %v8 = %t1w ? %t1w : 0; %v9 = %t1l ? %t1l : 0; %v10 = %t2w ? %t2w : 0; %v11 = %t2l ? %t2l : 0; - + %line = '%1 %2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%z+1,%map,%v1,%v2,%v3,%v4 @ " / " @ %v44,%v5,%v6,%v7 TAB %v8 @ " / " @ %v9 TAB %v10 @ " / " @ %v11); } @@ -9273,10 +9696,10 @@ function statsMenu(%client,%game){ } if(%hasCount > 0) messageClient( %client, 'SetLineHud', "", %tag, %index++, "" SPC %line); - - - - + + + + case "SZ":////////////////////////////////////////////////////////////////////////////////////////////////// %vLPage = %client.GlArg4; %field5 = strreplace(%client.GlArg5,"-","\t"); @@ -9299,8 +9722,8 @@ function statsMenu(%client,%game){ switch$(%cat){ case 1://kills for (%j = %i+1; %j < statsGroup.getCount(); %j++){ - %dtStatsJ = statsGroup.getObject(%j); - %dtStatsM = statsGroup.getObject(%maxCount); + %dtStatsJ = statsGroup.getObject(%j); + %dtStatsM = statsGroup.getObject(%maxCount); %pc1 = getGameDataAvg(%client.lgame,%dtStatsJ,"killsTG"); %pc2 = getGameDataAvg(%client.lgame,%dtStatsM,"killsTG"); if (%pc1 > %pc2) @@ -9313,7 +9736,7 @@ function statsMenu(%client,%game){ } %client.GlArg5 = %client.roll @ "-C"; } - + messageClient( %client, 'SetScoreHudHeader', "", "8 Game Averages"); %line = 'Return To Score Screen [Capper] [Offensive] [Defensive] [Base Ops]'; messageClient( %client, 'SetScoreHudSubheader', "",%line,0); @@ -9342,12 +9765,12 @@ function statsMenu(%client,%game){ %v6 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v7 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v8 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); - + if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 1){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 2){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else{ %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; @@ -9376,12 +9799,12 @@ function statsMenu(%client,%game){ %v6 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v7 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v8 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); - + if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 1){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 2){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else{ %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; @@ -9410,12 +9833,12 @@ function statsMenu(%client,%game){ %v6 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v7 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v8 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); - + if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 1){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 2){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else{ %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; @@ -9444,12 +9867,12 @@ function statsMenu(%client,%game){ %v6 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v7 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v8 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); - + if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 1){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 2){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else{ %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; @@ -9488,9 +9911,9 @@ function statsMenu(%client,%game){ %mon = $lData::mon[%lType, %client.lgame, %page]; if(%build $= "Build" && !$dtStatsImgBuild){ - genBigStats(%client.lgame, getField(%mon,0),getField(%mon,1)); + genBigStats(%client.lgame, %lType, getField(%mon,0),getField(%mon,1)); messageAll('MsgStats', '\c3Stats build started, server preformance may degrade for a few minutes~wfx/misc/hunters_greed.wav'); - $dtStatsImgBuild = 1; + $dtStatsImgBuild = 1; } } else if(!%page){ @@ -9506,27 +9929,32 @@ function statsMenu(%client,%game){ switch$(%lType){ case "day": %lTypeName = "Daily"; + %lTypeNameShort = "Day"; messageClient( %client, 'SetScoreHudHeader', "", '%1 Leaderboards For %2',%lTypeName,"Day:" @ %mon); case "week": %lTypeName = "Weekly"; + %lTypeNameShort = "Week"; messageClient( %client, 'SetScoreHudHeader', "", '%1 Leaderboards For %2',%lTypeName,"Week:" @ %mon); case "month": %lTypeName = "Monthly"; + %lTypeNameShort = "Month"; messageClient( %client, 'SetScoreHudHeader', "", '%1 Leaderboards For %2',%lTypeName,monthString(%mon)); case "quarter": %lTypeName = "Quarterly"; + %lTypeNameShort = "Quarter"; messageClient( %client, 'SetScoreHudHeader', "", '%1 Leaderboards For %2',%lTypeName,"Q:" @ %mon); case "year": %lTypeName = "Yearly"; + %lTypeNameShort = "Year"; messageClient( %client, 'SetScoreHudHeader', "", '%1 Leaderboards For %2',%lTypeName,%year); } if(%client.isSuperAdmin){ - if($dtStatsImgBuild) - messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,monthString(%mon),%page); + if($dtStatsImgBuild || $dtStats::tmCompile) + messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,%lType $= "month" ? monthString(%mon) : ("Week" SPC %mon),%page,%lType); else - messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,monthString(%mon),%page); + messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,%lType $= "month" ? monthString(%mon) : ("Week" SPC %mon) , %page, %lType); } - else + else messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen',0,%game,1); @@ -9568,29 +9996,38 @@ function statsMenu(%client,%game){ } if($lData::monCount[%client.lgame,%lType] > 1){ + %vw = (%lType $= "week") ? "month" : "week"; if(%page == 1){ - %line = 'Previous Month'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page+1,%client.lgame); + %line = ' [View %5 Stats] Previous %5'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page+1,%client.lgame,%lTypeNameShort,%vw); } else if(%page >= $lData::monCount[%client.lgame,%lType]){ - %line = 'Next Month'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page-1,%client.lgame); + %line = ' [View %5 Stats] Next %5'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page-1,%client.lgame,%lTypeNameShort,%vw); } else{ - %line = 'Previous Month | Next Month'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page-1,%page+1,%client.lgame); + %line = ' [View %6 Stats] Previous %6 | Next %6'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page-1,%page+1,%client.lgame,%lTypeNameShort,%vw); + } + } + else{ + if(%lType !$= "week"){ + messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Weekly Stats]"); + } + else{ + messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Monthly Stats]"); } } } else{//no data for selected game type - + if(%client.isSuperAdmin){ - if($dtStatsImgBuild) + if($dtStatsImgBuild || $dtStats::tmCompile) messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,monthString(%mon),%page); else messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,monthString(%mon),%page); } - else + else messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen',0,%game,1); %header = 'No data at this time, check in 24 hours'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %header,%i1,%i2,%i3,%i4++,%i5,%i6,%i7); @@ -9606,6 +10043,12 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetLineHud', "", %tag, %index++, 'View other gametypes'); messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ %line); } + if(%lType !$= "week"){ + messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Weekly Stats]"); + } + else{ + messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Monthly Stats]"); + } } case "GLBOARDS": %lType = %client.curLType; @@ -9874,7 +10317,7 @@ function statsMenu(%client,%game){ %nameTitle2 = "" @ %var2Title SPC "" @ %i2; %nameTitle3 = "" @ %var3Title SPC "" @ %i3; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3); - + case "LCTFGame" or "SCtFGame": //1 %var1 = "scoreTG"; %var1Title = "Score Total:"; %var1Name = "Score Total"; %var1TypeName = "Total"; @@ -11198,9 +11641,20 @@ function getTimeDelta(%d, %year){ return %days; } +function autoCompileStats(){ + if(!$Host::TournamentMode){ + if(!$dtStats::building){ + lStatsCycle(1, 1); + } + else{ + error("Stats Already Compiling"); + } + } +} + function compileStats(){ if(!$dtStats::building){ - lStatsCycle(1, 1); + lStatsCycle(1, 1); } else{ error("Stats Already Compiling"); @@ -11299,7 +11753,6 @@ function lStatsCycle(%build,%runReset){ // starts and manages the build/sort cyc messageAll( 'MsgStats', '\c3Stats build complete, reverting time back to normal'); $dtStats::timeChange = 0; } - preLoadTurStats(0); } } // only load one gameType/leaderboard at at time to reduce memory allocation @@ -11479,8 +11932,8 @@ function sortLStats(%c,%game,%lType){ LFData.writeLine(%n); LFData.writeLine(%s); LFData.writeLine(%g); - } - + } + if(%c++ < $statsVars::count[%game]){ schedule($dtStats::sortSpeed,0,"sortLStats",%c,%game,%lType); } @@ -11499,7 +11952,7 @@ function loadLeaderboards(%reset){ // loads up leaderboards markNewDay();//called when server starts and when build completes dtCleanUp(0); if(!isEventPending($dtStats::buildEvent)) - $dtStats::buildEvent = schedule(getTimeDif($dtStats::buildSetTime),0,"compileStats"); + $dtStats::buildEvent = schedule(getTimeDif($dtStats::buildSetTime),0,"autoCompileStats"); $dtStats::building = 0; if(isFile("serverStats/saveVars.cs")) exec("serverStats/saveVars.cs"); @@ -11835,16 +12288,41 @@ function clearStatFile(%file,%filepath,%i,%count, %stats,%type){ %file.close(); } } + +function buildTest(%mode){ + if(!$dtStats::tmCompile){ + %list = !%mode ? pubList : pugList; + for(%i = 0; %i < %list.getCount(); %i++){ + %gameType = %list.getObject(%i); + $dtStats::pugCount[%gameType.game] = 0; + for(%x = 0; %x < %gameType.getCount(); %x++){ + %game = %gameType.getObject(%x); + if(%game.select){ + %count = $dtStats::pugCount[%gameType.game]; + $dtStats::pugIDS[%gameType.game,%count] = %game.pugID; + $dtStats::pugMap[%gameType.game,%count] = %game.mapName; + $dtStats::pugDate[%gameType.game,%count] = %game.date; + $dtStats::pugFS[%gameType.game,%count] = %game.teamOne SPC %game.teamTwo; + $dtStats::pugCount[%gameType.game]++; + error( $dtStats::pugCount[%gameType.game]); + } + } + } + $dtStats::path = (!%mode) ? "stats" : "statsTM"; + preLoadTurStats(0); + } +} + function preLoadTurStats(%gameIndex){ //queue up files for processing if(!%gameIndex){ $dtGameIndex = 0; - $dtStats::tmCompile = 1; + $dtStats::tmCompile = 1; } if(%gameIndex < $dtStats::gameTypeCount){ %game = $dtStats::gameType[$dtGameIndex]; - if($dtStats::debugEchos){error("preLoadTurStats queuing up files for" SPC %game SPC getFieldCount($dtServerVars::pugIDS[%game]));} - if(getFieldCount($dtServerVars::pugIDS[%game]) > 0){ - %folderPath = "serverStats/stats/" @ %game @ "/*g.cs"; + if($dtStats::debugEchos){error("preLoadTurStats queuing up files for" SPC %game SPC $dtStats::pugCount[%game]);} + if($dtStats::pugCount[%game] > 0){ + %folderPath = "serverStats/" @ $dtStats::path @ "/" @ %game @ "/*g.cs"; %total = getFileCount(%folderPath); if(!%total){ return; @@ -11860,10 +12338,9 @@ function preLoadTurStats(%gameIndex){ //queue up files for processing preLoadTurStats($dtGameIndex++); } } - else{ - $dtStats::tmCompile = 0; + else{ dtSaveServerVars(); - compileGameImage(0); + compileGameImage(-1); } } @@ -11874,7 +12351,7 @@ function loadTurStatsData(%file,%game,%fileNum,%total){ RootGroup.add(%fObj); %fObj.OpenForRead(%file); %guid = getField(strreplace(getField(strreplace(%file,"/","\t"),3),"g","\t"),0); - + %playerName = getField(strreplace(%fObj.readline(),"%t","\t"),1);//1 %statsOverWrite = getField(strreplace(%fObj.readline(),"%t","\t"),1);//2 %totalGames = getField(strreplace(%fObj.readline(),"%t","\t"),1);//3 @@ -11895,20 +12372,20 @@ function loadTurStatsData(%file,%game,%fileNum,%total){ //%dtTeamGame = strreplace(%fObj.readline(),"%t","\t");//18 %found = 0; - for(%x = 0; %x < getFieldCount($dtServerVars::pugIDS[%game]); %x++){ + for(%x = 0; %x < $dtStats::pugCount[%game]; %x++){ for(%i = 0; %i < getFieldCount(%gameIDLine); %i++){ %gid = getField(%gameIDLine,%i); - if(%gid $= getField($dtServerVars::pugIDS[%game],%x)){ + if(%gid $= $dtStats::pugIDS[%game,%x]){ %gameList[%x] = %i; %found = 1; break; } else{ - %gameList[%x] = -1; + %gameList[%x] = -1; } } } - + %gListCount = 0; if(%found){// only if we found a matching ID %obj = new scriptObject(); @@ -11920,7 +12397,7 @@ function loadTurStatsData(%file,%game,%fileNum,%total){ %var = getField(%line,0); %cat = $statsVars::varType[%var,%game]; %gListCount = 0; - for(%x = 0; %x < getFieldCount($dtServerVars::pugIDS[%game]); %x++){ + for(%x = 0; %x < $dtStats::pugCount[%game]; %x++){ %gameIndex = %gameList[%x]; if(%gameIndex != -1){ %gListCount++; @@ -11929,10 +12406,10 @@ function loadTurStatsData(%file,%game,%fileNum,%total){ case "TG"://ttl is not used in game stats %obj.LStatsT[%var] += getField(%line,%gameList[%x]); case "Max": - if(getField(%line,%gameList[%x]) > %obj.LStatsT[%var] || %gListCount == 0) + if(getField(%line,%gameList[%x]) > %obj.LStatsT[%var] || %gListCount == 0) %obj.LStatsT[%var] = getField(%line,%gameList[%x]); case "Min": - if(getField(%line,%gameList[%x]) < %obj.LStatsT[%var] || %gListCount == 0) + if(getField(%line,%gameList[%x]) < %obj.LStatsT[%var] || %gListCount == 0) %obj.LStatsT[%var] = getField(%line,%gameList[%x]); case "Avg" or "AvgI": %temp[%var] += getField(%line,%gameList[%x]); @@ -11940,12 +12417,12 @@ function loadTurStatsData(%file,%game,%fileNum,%total){ } } else{ - %obj.LStats[%var] = setField(%obj.LStats[%var],%x, 0); + %obj.LStats[%var] = setField(%obj.LStats[%var],%x, 0); } } } } - + %fObj.close(); %fObj.delete(); if(%fileNum >= %total-1){ @@ -11966,11 +12443,11 @@ function sortTurStats(%c, %gameIndex, %game){ if(!isObject(LFData)){ new FileObject(LFData); RootGroup.add(LFData); - LFData.openForWrite("serverStats/pugData/" @ cleanMapName(getField($dtServerVars::pugMap[%game],%gameIndex)) @ "-" @ %game @ "-" @ getField($dtServerVars::pugIDS[%game],%gameIndex) @ "-G.cs"); - LFData.writeLine(getField($dtServerVars::pugMap[%game],%gameIndex) @ "%t" @ %game @ "%t" @ getField($dtServerVars::pugIDS[%game],%gameIndex) @ "%t" @ getField($dtServerVars::pugDate[%game],%gameIndex) @ "%t" @ getField($dtServerVars::pugFS[%game],%gameIndex)); - - // build out header - %var = "scoreTG"; + LFData.openForWrite("serverStats/gmData/" @ cleanMapName($dtStats::pugMap[%game, %gameIndex]) @ "-" @ %game @ "-" @ $dtStats::pugIDS[%game, %gameIndex] @ "-G.cs"); + LFData.writeLine($dtStats::pugMap[%game,%gameIndex] @ "%t" @ %game @ "%t" @ $dtStats::pugIDS[%game,%gameIndex] @ "%t" @ $dtStats::pugDate[%game, %gameIndex] @ "%t" @ $dtStats::pugFS[%game,%gameIndex]); + + // build out header + %var = "scoreTG"; %len = serverStats.getCount(); for (%i = 0; %i < %len - 1; %i++) { for (%j = 0; %j < %len - %i - 1; %j++) { @@ -11983,27 +12460,27 @@ function sortTurStats(%c, %gameIndex, %game){ serverStats.bringToFront(%bObj); } } - } + } - %teamOneNameLine[0] = 1 TAB "name"; + %teamOneNameLine[0] = 1 TAB "name"; %teamOneDataLine[1] = 1 TAB "score"; %teamOneDataLine[2] = 1 TAB "off"; %teamOneDataLine[3] = 1 TAB "def"; %teamOneDataLine[4] = 1 TAB "kills"; %teamOneDataLine[5] = 1 TAB "caps"; - - %teamTwoNameLine[0] = 2 TAB "name"; + + %teamTwoNameLine[0] = 2 TAB "name"; %teamTwoDataLine[1] = 2 TAB "score"; %teamTwoDataLine[2] = 2 TAB "off"; %teamTwoDataLine[3] = 2 TAB "def"; %teamTwoDataLine[4] = 2 TAB "kills"; %teamTwoDataLine[5] = 2 TAB "caps"; - + for (%i = 0; %i < %len; %i++) { %sObj = serverStats.getObject(%i); %team = getField(%sObj.LStats["dtTeamGame"], %gameIndex); if(%team == 1){ - %teamOneNameLine[0] = %teamOneNameLine[0] TAB %sObj.name; + %teamOneNameLine[0] = %teamOneNameLine[0] TAB %sObj.name; %teamOneDataLine[1] = %teamOneDataLine[1] TAB getField(%sObj.LStats[%var], %gameIndex); %teamOneDataLine[2] = %teamOneDataLine[2] TAB getField(%sObj.LStats["offenseScoreTG"], %gameIndex); %teamOneDataLine[3] = %teamOneDataLine[3] TAB getField(%sObj.LStats["defenseScoreTG"], %gameIndex); @@ -12011,7 +12488,7 @@ function sortTurStats(%c, %gameIndex, %game){ %teamOneDataLine[5] = %teamOneDataLine[5] TAB getField(%sObj.LStats["flagCapsTG"], %gameIndex); } else if(%team == 2){ - %teamTwoNameLine[0] = %teamTwoNameLine[0] TAB %sObj.name; + %teamTwoNameLine[0] = %teamTwoNameLine[0] TAB %sObj.name; %teamTwoDataLine[1] = %teamTwoDataLine[1] TAB getField(%sObj.LStats[%var], %gameIndex); %teamTwoDataLine[2] = %teamTwoDataLine[2] TAB getField(%sObj.LStats["offenseScoreTG"], %gameIndex); %teamTwoDataLine[3] = %teamTwoDataLine[3] TAB getField(%sObj.LStats["defenseScoreTG"], %gameIndex); @@ -12025,15 +12502,15 @@ function sortTurStats(%c, %gameIndex, %game){ LFData.writeLine(strreplace(%teamOneDataLine[3],"\t","%t")); LFData.writeLine(strreplace(%teamOneDataLine[4],"\t","%t")); //LFData.writeLine(strreplace(%teamOneDataLine[5],"\t","%t")); - + LFData.writeLine(strreplace(%teamTwoNameLine[0],"\t","%t")); LFData.writeLine(strreplace(%teamTwoDataLine[1],"\t","%t")); LFData.writeLine(strreplace(%teamTwoDataLine[2],"\t","%t")); LFData.writeLine(strreplace(%teamTwoDataLine[3],"\t","%t")); LFData.writeLine(strreplace(%teamTwoDataLine[4],"\t","%t")); //LFData.writeLine(strreplace(%teamTwoDataLine[5],"\t","%t")); - } - + } + %var = $statsVars::varNameType[%c,%game]; %cat = $statsVars::varType[%var,%game]; if(%cat !$= "Game"){ @@ -12050,7 +12527,7 @@ function sortTurStats(%c, %gameIndex, %game){ serverStats.bringToFront(%bObj); } } - } + } } else{ %len = serverStats.getCount(); @@ -12065,20 +12542,20 @@ function sortTurStats(%c, %gameIndex, %game){ serverStats.bringToFront(%bObj); } } - } + } } + - - %teamOneNameLine = 1 TAB "name" TAB %var; + %teamOneNameLine = 1 TAB "name" TAB %var; %teamOneDataLine = 1 TAB "data" TAB %var; - - %teamTwoNameLine = 2 TAB "name" TAB %var; - %teamTwoDataLine = 2 TAB "data" TAB %var; - - %teamAllNameLine = 0 TAB "name" TAB %var; - %teamAllDataLine = 0 TAB "data" TAB %var; - %teamAllTeamLine = 0 TAB "team" TAB %var; - + + %teamTwoNameLine = 2 TAB "name" TAB %var; + %teamTwoDataLine = 2 TAB "data" TAB %var; + + %teamAllNameLine = 0 TAB "name" TAB %var; + %teamAllDataLine = 0 TAB "data" TAB %var; + %teamAllTeamLine = 0 TAB "team" TAB %var; + %write0 = 0; %write1 = 0; %write2 = 0; @@ -12125,7 +12602,7 @@ function sortTurStats(%c, %gameIndex, %game){ } if(%c++ < $statsVars::count[%game]) schedule($dtStats::sortSpeed,0,"sortTurStats",%c,%gameIndex,%game); - else if(%gameIndex++ < getFieldCount($dtServerVars::pugIDS[%game])){ + else if(%gameIndex++ < $dtStats::pugCount[%game]){ LFData.close(); LFData.delete(); schedule($dtStats::sortSpeed,0,"sortTurStats",0,%gameIndex,%game); @@ -12142,13 +12619,15 @@ function sortTurStatsT(%c, %game){ if(!isObject(LFData)){ new FileObject(LFData); RootGroup.add(LFData); - LFData.openForWrite("serverStats/pugData/" @ "-" @ %game @ "-" @ formattimestring("dd-mm-yy") @"-T.cs"); - LFData.writeLine(strreplace($dtServerVars::pugIDS[%game],"\t","%t")); - LFData.writeLine(strreplace($dtServerVars::pugMap[%game],"\t","%t")); - LFData.writeLine(strreplace($dtServerVars::pugDate[%game],"\t","%t")); - LFData.writeLine(strreplace($dtServerVars::pugFS[%game],"\t","%t")); - } - + %file = "serverStats/gmData/" @ "-" @ %game @ "-" @ dtMarkDate() @"-T.cs"; + $dtStats::totalPath = %file; + LFData.openForWrite(%file); + //LFData.writeLine(strreplace($dtStats::pugIDS[%game],"\t","%t")); + //LFData.writeLine(strreplace($dtStats::pugMap[%game],"\t","%t")); + //LFData.writeLine(strreplace($dtStats::pugDate[%game],"\t","%t")); + //LFData.writeLine(strreplace($dtStats::pugFS[%game],"\t","%t")); + } + %var = $statsVars::varNameType[%c,%game]; %cat = $statsVars::varType[%var,%game]; if(%cat !$= "Game"){ @@ -12159,33 +12638,34 @@ function sortTurStatsT(%c, %game){ // If the current element is less than the next element, bring the next element to the front %aObj = serverStats.getObject(%j); %bObj = serverStats.getObject(%j + 1); - %A = getField(%aObj.LStats[%var],%gameIndex); - %B = getField(%bObj.LStats[%var],%gameIndex); + %A = %aObj.LStatsT[%var]; + %B = %bObj.LStatsT[%var]; if (%A > %B) { serverStats.bringToFront(%bObj); } } - } + } } else{ + %len = serverStats.getCount(); for (%i = 0; %i < %len - 1; %i++) { for (%j = 0; %j < %len - %i - 1; %j++) { // If the current element is less than the next element, bring the next element to the front %aObj = serverStats.getObject(%j); %bObj = serverStats.getObject(%j + 1); - %A = getField(%aObj.LStats[%var],%gameIndex); - %B = getField(%bObj.LStats[%var],%gameIndex); + %A = %aObj.LStatsT[%var]; + %B = %bObj.LStatsT[%var]; if (%A < %B) { serverStats.bringToFront(%bObj); } } - } - } - - %teamAllNameLine = 0 TAB "name" TAB %var; - %teamAllDataLine = 0 TAB "data" TAB %var; - + } + } + + %teamAllNameLine = "name" TAB %var; + %teamAllDataLine = "data" TAB %var; + %write = 0; for (%i = 0; %i < %len; %i++) { %sObj = serverStats.getObject(%i); @@ -12199,6 +12679,8 @@ function sortTurStatsT(%c, %game){ if(%write){ LFData.writeLine(strreplace(%teamAllNameLine,"\t","%t")); LFData.writeLine(strreplace(%teamAllDataLine,"\t","%t")); + $gData::data[%var,%game] = getFields(%teamAllDataLine, 2, getFieldCount(%teamAllDataLine)-1); + $gData::name[%var,%game] = getFields(%teamAllNameLine, 2, getFieldCount(%teamAllNameLine)-1); } } if(%c++ < $statsVars::count[%game]) @@ -12210,9 +12692,6 @@ function sortTurStatsT(%c, %game){ preLoadTurStats($dtGameIndex++); } } - - - //////////////////////////////////////////////////////////////////////////////// //Server Stats //////////////////////////////////////////////////////////////////////////////// @@ -12222,7 +12701,7 @@ $dtStats::prefTestIdleTime = 60*1000;// if no one is playing just run slow $dtStats::prefTolerance = 128;//this number is to account for base line preformance and differences between engine simTime and realtime $dtStats::prefLog = 0; // enable logging of server hangs $dtStats::eventLockout = 15*1000;//every 10 sec -$dtStats::tsLimit = 0.22; //note this value is heavly effected by packet rate so if you change this be sure to test low and high client rates +$dtStats::tsLimit = 0.22; //note this value is heavly effected by packet rate so if you change this be sure to test low and high client rates $dtStats::tsCountLimit = 8; $dtStats::tsStat = 0; function prefTest(%time,%skip){ @@ -12259,7 +12738,7 @@ function getRealFlagPos(%team){ %pos = $TeamFlag[%team].carrier.getPosition(); } else{ - %pos = $TeamFlag[%team].getPosition(); + %pos = $TeamFlag[%team].getPosition(); } return %pos; } @@ -12284,20 +12763,20 @@ function dtPingStats(){ %cl.dtStats.stat["timeNearTeamFS"] += ($dtStats::prefTestTime/1000)/60; } else{ - %cl.dtStats.stat["timeFarTeamFS"] += ($dtStats::prefTestTime/1000)/60; + %cl.dtStats.stat["timeFarTeamFS"] += ($dtStats::prefTestTime/1000)/60; } - + %feDist = vectorDist(%fePos,getWords(%tform,0,2)); if(%fDist < 50){ %cl.dtStats.stat["timeNearEnemyFS"] += ($dtStats::prefTestTime/1000)/60; } else{ - %cl.dtStats.stat["timeFarEnemyFS"] += ($dtStats::prefTestTime/1000)/60; + %cl.dtStats.stat["timeFarEnemyFS"] += ($dtStats::prefTestTime/1000)/60; } %rfpos = getRealFlagPos(%cl.team); %oTeam = (%cl.team == 1) ? 2 : 1; %rfEPos = getRealFlagPos(%oTeam); - + if(vectorDist(%rfpos, getWords(%tform,0,2)) < 50){ %cl.dtStats.stat["timeNearFlag"] += ($dtStats::prefTestTime/1000)/60; } @@ -12359,7 +12838,7 @@ function dtPingStats(){ %speed = vectorLen(%vel); %iVel = VectorLen(%player.dtLV) / %factor; %fVel = %speed / %factor; - + %player.vdot[%player.vdotCount++ % 3] = VectorDot(VectorNormalize(%vel), VectorNormalize(%player.lastVelocity)); %dotTotal = (%player.vdotCount > 3) ? ((%player.vdot[0] + %player.vdot[1] + %player.vdot[2])/3) : 0; if (%speed > 6 && %iVel > 0.01 && %fVel > 0.01 && %deltaP > 0.01 && %dotTotal > 0.9){ @@ -12367,32 +12846,32 @@ function dtPingStats(){ %least2 = mAbs(%fVel - %deltaP); %least = (%least2 < %least) ? %least2 : %least; %distortion = (%least / %deltaP); - + %client.tsDistortion = %distortion; - + if(%distortion < 1){// clamp it so random large values dont mess things up %client.dstTotal += %distortion; %client.dstCount++; %client.dstAvg = %client.dstTotal / %client.dstCount; - + if(%client.dstCount > 30){// limit sample size - %client.dstTotal *= (1 - 0.3); - %client.dstCount *= (1 - 0.3); + %client.dstTotal *= (1 - 0.3); + %client.dstCount *= (1 - 0.3); } - - if( %client.dstAvg > $tsLimit && %client.dstCount > 15){ + + if( %client.dstAvg > $tsLimit && %client.dstCount > 15){ %client.dstHighAvg++; } - + if(%distortion > $dtStats::tsLimit){ if(%client.distortionCount < $dtStats::tsCountLimit){ - %client.distortionCount++; + %client.distortionCount++; } - if(%client.distortionCount >= $tsCountLimit){ + if(%client.distortionCount >= $tsCountLimit){ %client.tsc++; } } else if(%distortion < $tsLimit && %client.distortionCount > 0) - %client.distortionCount--; + %client.distortionCount--; } } } @@ -12462,7 +12941,7 @@ function dtPingStats(){ } $dtStats::eventMax = 32; function dtEventLog(%log,%save){ - + if(%count >= $dtStats::eventMax){ $dtServer::eventLogCount = 0; } @@ -12501,6 +12980,8 @@ function dtSaveServerVars(){ schedule(1000 * %i++,0,"export", "$dtServer::team*", "serverStats/teamWL.cs", false ); schedule(1000 * %i++,0,"export", "$mapID::*", "serverStats/mapIDList.cs", false ); schedule(1000 * %i++,0,"export", "$dtServer::event*", "serverStats/eventLog.cs", false ); + pugList.schedule(1000 * %i++,"save","serverStats/pugLog.cs", 0); + pubList.schedule(1000 * %i++,"save","serverStats/pubLog.cs", 0); if($dtStats::ctfTimes) schedule(1000 * %i++,0,"export", "$dtServer::capTimes*", "serverStats/capTimes.cs", false ); } @@ -12528,6 +13009,7 @@ function dtLoadServerVars(){// keep function at the bottom $dtServerVars::crashLog[$dtServerVars::crashLogCount++] = %date @ "-" @ %upTime @ "-" @ %mis @ "-" @ $dtServerVars::lastGameType @ "-" @ $dtServerVars::lastPlayerCount; schedule(30000,0,"dtEventLog","Server Crash" SPC %date SPC "Pl Count =" SPC $dtServerVars::lastPlayerCount SPC "Map =" SPC %mis, 0); } + schedule(30001,0,"dtEventLog","Last Server Uptime =" SPC %date SPC "Up Time =" SPC %upTime, 0); } if($dtServerVars::upTimeCount >= 30) $dtServerVars::upTimeCount = 0; @@ -12559,15 +13041,18 @@ function dtLoadServerVars(){// keep function at the bottom if(isFile("serverStats/teamWL.cs")) exec("serverStats/teamWL.cs"); if(isFile("serverStats/capTimes.cs") && $dtStats::ctfTimes) - exec("serverStats/capTimes.cs"); + exec("serverStats/capTimes.cs"); if(isFile("serverStats/mapPlayRot.cs")) - exec("serverStats/mapPlayRot.cs"); - + exec("serverStats/mapPlayRot.cs"); + if(isFile("serverStats/pugLog.cs")) + exec("serverStats/pugLog.cs"); + if(isFile("serverStats/pubLog.cs")) + exec("serverStats/pubLog.cs"); $dtServer::eventLogCount = 0; if(isFile("serverStats/eventLog.cs")) exec("serverStats/eventLog.cs"); - - + + dtEventLog("Server Start" SPC formattimestring("hh:nn:a mm-dd-yy"), 0); @@ -12597,7 +13082,7 @@ function savePrx(){ $DemoFile = %file; pathMapData.OpenForWrite(%file); writePrx(0); - + } function writePrx(%x){ $pathMaps::saving = 1; @@ -12653,7 +13138,7 @@ function pathDataPoint(%client){ } } else{ - stopPlayerPlot(); + stopPlayerPlot(); } } @@ -12665,12 +13150,12 @@ function scanHeightMap(){ for(%x = -512; %x < 512; %x++){ %xO = %x * 2; %rayStart = %xO SPC %yO SPC 5000; // +5000 - %rayEnd = %xO SPC %yO SPC -5000; //- 5000 for 45 + %rayEnd = %xO SPC %yO SPC -5000; //- 5000 for 45 %ground = ContainerRayCast(%rayStart, %rayEnd, %mask, 0); if(%ground){ %pos = getWords(%ground, 1, 3); %depth = 5000 - vectorDist(%rayStart,%pos);// getTerrainHeight(%x SPC %y SPC 0); - $depth::min = $depthMin = ($depthMin < %depth) ? $depthMin : %depth; // find are min and max elevation + $depth::min = $depthMin = ($depthMin < %depth) ? $depthMin : %depth; // find are min and max elevation $depth::max = $depthMax = ($depthMax > %depth) ? $depthMax : %depth; $depth::array[%x,%y] = %depth; } @@ -12705,7 +13190,7 @@ function pathMapSave(%x){ // save for (%y = -512; %y < 512; %y++){ %depth =$depth::array[%x,%y]; %col = mFloor((%depth - $depth::min) * %colRange); - %color = %col SPC %col SPC %col; + %color = %col SPC %col SPC %col; pathFileObj.writeLine(%color @ "\n"); } if($pathMaps::debugEcho){error("pathMapSave" SPC %x SPC "out of" SPC 128);} @@ -12714,7 +13199,7 @@ function pathMapSave(%x){ // save } else{ pathFileObj.close(); - pathFileObj.delete(); + pathFileObj.delete(); $pathMaps::SaveStart = 0; error("Finished Path Map"); if($pm::buildCount++ <= $pm::count){ @@ -12746,9 +13231,9 @@ function loadDTBanlist(){ exec($dtStats::BanListFile); if(isObject(dtBanList)){ RootGroup.add(dtBanList); - for (%i = 0; %i < dtBanList.getCount(); %i++){//keeps less junk in the ban file + for (%i = 0; %i < dtBanList.getCount(); %i++){//keeps less junk in the ban file %obj = dtBanList.getObject(%i); - %delta = getBanCount(%obj.banDateTime); + %delta = getTimeDelta(%obj.banDateTime); if (%delta > %obj.banLengthMin){ unbanUserObj(%obj); %i = 0;// reset @@ -12757,12 +13242,12 @@ function loadDTBanlist(){ if(%obj.guid !$= "") $dtBanTemp::GUID[%obj.guid ] = %obj; if(%obj.ip !$= "") - $dtBanTemp::IP[%obj.ip] = %obj; + $dtBanTemp::IP[%obj.ip] = %obj; } } } } - + if(isFile($dtStats::WhtListFile)){ $dtWhtList:WLCount = 0; exec($dtStats::WhtListFile); @@ -12771,10 +13256,10 @@ function loadDTBanlist(){ for (%i = 0; %i < serverSafeList.getCount(); %i++){ %obj = serverSafeList.getObject(%index); $dtWhtList::WhiteList[%obj.guid] = %obj; - } + } } } - + loadIPListM(); } } @@ -12788,7 +13273,7 @@ function loadIPListM(){ RootGroup.add(%file); %file.OpenForRead($dtStats::IPBanListFile); schedule(10000, 0,"loadIPBanList",%file); - } + } } function loadIPBanList(%file){ %i = 0; @@ -12797,8 +13282,8 @@ function loadIPBanList(%file){ while( !%file.isEOF() && %i++ < 1000 && !$ipcountLimit){ %line = %file.readline(); if(strLen(%line) > 7){ - if(strstr(%line, "/") != -1){ - %real = getRealTime(); + if(strstr(%line, "/") != -1){ + %real = getRealTime(); %amount = getCIDRRange(trim(%line)); } else{ @@ -12806,7 +13291,7 @@ function loadIPBanList(%file){ $dtIPList[%ip] = 1; $ipcount++; if($ipcount > 2000000){ - $ipcountLimit =1; + $ipcountLimit =1; } } } @@ -12816,7 +13301,7 @@ function loadIPBanList(%file){ } else{ %file.close(); - %file.delete(); + %file.delete(); } } function getCIDRRange(%ip) { @@ -12829,9 +13314,9 @@ function getCIDRRange(%ip) { } // Convert IP address to integer %ipArray = strreplace(%ip, ".", "\t"); - - %binIP = decToBin2(getField(%ipArray,0)) @ decToBin2(getField(%ipArray,1)) @ decToBin2(getField(%ipArray,2)) @ decToBin2(getField(%ipArray,3)); - %h = getSubStr(%binIP, 0, %ipMask) @ %host; + + %binIP = decToBin2(getField(%ipArray,0)) @ decToBin2(getField(%ipArray,1)) @ decToBin2(getField(%ipArray,2)) @ decToBin2(getField(%ipArray,3)); + %h = getSubStr(%binIP, 0, %ipMask) @ %host; %b = getSubStr(%binIP, 0, %ipMask) @ %broad; %start = binToDec2(getSubStr(%h,0,8)) TAB binToDec2(getSubStr(%h,8,8)) TAB binToDec2(getSubStr(%h,16,8)) TAB binToDec2(getSubStr(%h,24,8)); %end = binToDec2(getSubStr(%b,0,8)) TAB binToDec2(getSubStr(%b,8,8)) TAB binToDec2(getSubStr(%b,16,8)) TAB binToDec2(getSubStr(%b,24,8)); @@ -12855,16 +13340,16 @@ function getCIDRRange(%ip) { for (%l = getField(%start,3); %l <= getField(%end,3); %l++) { %currentIP = %i @ "_" @ %j @ "_" @ %k @ "_" @ %l; $dtIPList[%currentIP] = 1; - $ipcount++; + $ipcount++; %ipcount++; if($ipcount > 2000000){ - $ipcountLimit = 1; + $ipcountLimit = 1; } } } } } - return %ipcount; + return %ipcount; } function decToBin2(%dec){ @@ -12899,7 +13384,7 @@ package dtBanSys{ //Reapply the gag function GameConnection::onConnect( %client, %name, %raceGender, %skin, %voice, %voicePitch ){ parent::onConnect( %client, %name, %raceGender, %skin, %voice, %voicePitch ); - + %client.isGagged = ($chatGagged[getClientCleanIP(%client)] || $chatGagged[%client.guid]); //restore status } @@ -12921,7 +13406,7 @@ package dtBanSys{ banDateTime = dtMarkDate(); banLengthMin = %time; }; - dtBanList.add(%banObj); + dtBanList.add(%banObj); if(!%bareIP) $dtBanTemp::IP[%bareIP] = %banObj; if(%guid){ @@ -12937,7 +13422,7 @@ package dtBanSys{ %obj = $dtBanTemp::GUID[%bareIP]; %obj.guid = %guid; } - + saveBanList(); } @@ -12945,9 +13430,9 @@ package dtBanSys{ %ip = getClientCleanIP(%client); %obj = $dtBanTemp::IP[%ip]; if(isObject(%obj) && %obj.banDateTime > 0){ - %delta = getBanCount(%obj.banDateTime); + %delta = getTimeDelta(%obj.banDateTime); if (%delta < %obj.banLengthMin){ - pushFailJoin(%obj.name, %obj.gui, 0, "Kick/Ban" SPC %obj.banDateTime - %delta SPC "Minutes Left", 1); + pushFailJoin(%obj.name, %obj.gui, 0, "Kick/Ban" SPC %obj.banDateTime - %delta SPC "Minutes Left", 1); return 1; } else{ @@ -12980,14 +13465,14 @@ package dtBanSys{ function dtIsAdmin(%client,%guid){ - %totalRecords = getFieldCount( $Host::AdminList ); + %totalRecords = getFieldCount( $Host::AdminList ); for(%i = 0; %i < %totalRecords; %i++) { %record = getField( getRecord( $Host::AdminList, 0 ), %i); if(%record == %guid) return true; } - + %totalRecords = getFieldCount( $Host::superAdminList ); for(%i = 0; %i < %totalRecords; %i++) { @@ -12995,35 +13480,35 @@ function dtIsAdmin(%client,%guid){ if(%record == %guid) return true; } - + return false; } -function banList_checkClientGUID(%client, %guid){// only one we care about in whitelist mode +function banList_checkClientGUID(%client, %guid){// only one we care about in whitelist mode %obj = $dtBanTemp::GUID[%guid]; if (isObject(%obj) && %obj.banDateTime > 0){ - %delta = getBanCount(%obj.banDateTime); + %delta = getTimeDelta(%obj.banDateTime); if (%delta < %obj.banLengthMin){ pushFailJoin(%obj.name, %guid, 0, "Kick/Ban" SPC %obj.banLengthMin - %delta SPC "Minutes Left",1); - + %client.setDisconnectReason("You are not allowed to play on this server."); %client.delete(); return 1; } else{ - unbanUserObj(%obj); + unbanUserObj(%obj); } } - + %realName = getField(%client.t2csri_authInfo, 0 ); if(%realName !$= "") %name = trim(%realName); else %name = trim(stripChars( detag( getTaggedString( %fc.name ) ), "\cp\co\c6\c7\c8\c9\c0" )); - %safe = ( dtIsAdmin(%client,%guid) || isObject($dtWhtList::WhiteList[%guid])); + %safe = ( dtIsAdmin(%client,%guid) || isObject($dtWhtList::WhiteList[%guid])); if(!%safe){ pushFailJoin(%name, %guid, 0, "Not Whitelisted", 0); if($dtServerVars::WhiteListMode){ @@ -13032,32 +13517,32 @@ function banList_checkClientGUID(%client, %guid){// only one we care about in wh return 1; } } - - %ip = getClientCleanIP(%client);// this is here in case of banned ip is a whitelisted account + + %ip = getClientCleanIP(%client);// this is here in case of banned ip is a whitelisted account if($dtServerVars::IPBanListMode && $dtIPList[%ip] && !isObject($dtWhtList::WhiteList[%guid])){ pushFailJoin(%name, %client.guid, %ip, "IP Ban List", 2); %client.setDisconnectReason("You are not allowed to play on this server."); %client.delete(); - return 1; + return 1; } return 0; } -function pushFailJoin(%name, %guid, %ip, %reason, %type){// rolling buffer +function pushFailJoin(%name, %guid, %ip, %reason, %type){// rolling buffer if(%guid && ! $dtJoinListGuid[%guid]){ - if($dtJoinListCount < $dtStats::joinHist){// limit the list size + if($dtJoinListCount < $dtStats::joinHist){// limit the list size if($dtJoinListCount > 0){ for (%i = $dtJoinListCount - 1; %i >= 0; %i--) { - $dtJoinList[%i + 1] = $dtJoinList[%i]; + $dtJoinList[%i + 1] = $dtJoinList[%i]; } } $dtJoinListGuid[%guid] = 1; $dtJoinList[0] = %name TAB %guid TAB %ip TAB %reason TAB %type; - $dtJoinListCount++; + $dtJoinListCount++; } else{ for (%i = $dtJoinListCount - 1; %i >= 0; %i--) { - $dtJoinList[%i + 1] = $dtJoinList[%i]; + $dtJoinList[%i + 1] = $dtJoinList[%i]; } $dtJoinListGuid[getField($dtJoinList[$dtJoinListCount],1)] = "";// clear out the last one $dtJoinList[0] = %name TAB %guid TAB %ip TAB %reason TAB %type; @@ -13073,8 +13558,8 @@ function pushWhiteList(%guid,%name){ } if(!$dtWhtList::WhiteList[%guid]){ if(%name $= "") - %name = "NONAME" @ %guid; - + %name = "NONAME" @ %guid; + %id = new scriptObject(){ name = %name; guid = %guid; @@ -13089,7 +13574,7 @@ function rmvWhiteListGuid(%guid){ %obj = $dtWhtList::WhiteList[%guid]; if(isObject(%obj)){ error("Player" SPC %obj.name SPC %obj.guid SPC "Removed"); - $dtWhtList::WhiteList[%guid] = ""; + $dtWhtList::WhiteList[%guid] = ""; %obj.delete(); saveWhtList(); } @@ -13107,7 +13592,7 @@ function rmvWhiteListIndex(%index){ function unbanUserObj(%obj){ if(isObject(%obj)){ $dtBanTemp::IP[%obj.ip] = ""; - $dtBanTemp::GUID[%obj.guid] = ""; + $dtBanTemp::GUID[%obj.guid] = ""; error(%obj.name SPC %obj.guid SPC "UNBANNED"); %obj.delete(); saveBanList(); @@ -13116,7 +13601,7 @@ function unbanUserObj(%obj){ function unbanIndex(%index){ if(!%index){ - for (%i = 0; %i < dtBanList.getCount(); %i++){//keeps less junk in the ban file + for (%i = 0; %i < dtBanList.getCount(); %i++){//keeps less junk in the ban file %obj = dtBanList.getObject(%i); error(%i SPC %obj.name SPC %obj.guid SPC strReplace(%obj.ip, "_", ".")); } @@ -13126,7 +13611,7 @@ function unbanIndex(%index){ %obj = dtBanList.getObject(%index); if(isObject(%obj)){ $dtBanTemp::IP[%obj.ip] = ""; - $dtBanTemp::GUID[%obj.guid] = ""; + $dtBanTemp::GUID[%obj.guid] = ""; error(%obj.name SPC %obj.guid SPC "UNBANNED"); %obj.delete(); saveBanList(); @@ -13155,49 +13640,49 @@ function getClientBanName(%guid, %ip){ } return "NONAME"; } - + function getClientCleanIP(%client){// variable access bug workaround %ip = %client.getAddress(); %ip = getSubStr(%ip, 3, strLen(%ip)); %ip = getSubStr(%ip, 0, strstr(%ip, ":")); - %ip = strReplace(%ip, ".", "_"); - return %ip; + %ip = strReplace(%ip, ".", "_"); + return %ip; } function getCleanIP(%ip){ // variable access bug workaround if (getSubStr(%ip, 0, 3) $= "IP:"){ %ip = getSubStr(%ip, 3, strLen(%ip)); %ip = getSubStr(%ip, 0, strstr(%ip, ":")); - %ip = strReplace(%ip, ".", "_"); - return %ip; + %ip = strReplace(%ip, ".", "_"); + return %ip; } return 0; } -function getBanCount(%dateTime){ +function getTimeDelta(%dateTime){ //banDateTime = "05\t01\t2024\t13\t00"; %d = getWord(%dateTime,0); %m = getWord(%dateTime,1); %y = getWord(%dateTime,2); %h = getWord(%dateTime,3); %n = getWord(%dateTime,4); - - %curDD = formattimestring("dd");%curMM = formattimestring("mm");%curYY = formattimestring("yy"); + + %curDD = formattimestring("dd");%curMM = formattimestring("mm");%curYY = formattimestring("yy"); %dcA = %dcB = 0; - + %days[2] = (%y % 4 == 0) ? "29" : "28"; - %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[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++){ %dcA += %days[%i]; - } - + } + %dcA += %d; - + %days[2] = (%curYY % 4 == 0) ? "29" : "28"; for(%i = 1; %i <= %curMM-1; %i++){ %dcB += %days[%i]; - } + } %dcB += %curDD; %dif = formattimestring("yy") - %y; @@ -13244,7 +13729,7 @@ function banSaveExport(%file){ } %fobj.writeLine("};"); %fobj.close(); - %fobj.delete(); + %fobj.delete(); } function saveWhtList(){ @@ -13270,11 +13755,11 @@ function buildServerGuidList(){ %guid = getField(strreplace(getField(strreplace(%file,"/","\t"),3),"t","\t"),0); if(getFieldCount($dtBanTemp::GUID[%guid]) > 0)// skip banned clients continue; - + %fobj.openForRead(%file); %fobj.readline(); //skip %gameCount = strreplace(%fobj.readline(),"%t","\t"); - + %d0 = getField(%gameCount,1);%d1 = getField(%gameCount,2); %d = (%d0 > %d1) ? %d0 : %d1; %w0 = getField(%gameCount,3);%w1 = getField(%gameCount,4); @@ -13283,12 +13768,12 @@ function buildServerGuidList(){ %m = (%m0 > %m1) ? %m0 : %m1; %q0 = getField(%gameCount,7);%q1 = getField(%gameCount,8); %q = (%q0 > %q1) ? %q0 : %q1; - %y0 = getField(%gameCount,9);%y1 = getField(%gameCount,10); - %y = (%y0 > %y1) ? %y0 : %y1; - + %y0 = getField(%gameCount,9);%y1 = getField(%gameCount,10); + %y = (%y0 > %y1) ? %y0 : %y1; + if(getFieldCount($guidInfo[%guid]) == 6){ if(getField($guidInfo[%guid],5) < %y){// update if this info is better - $guidInfo[%guid] = %name TAB %d TAB %w TAB %m TAB %q TAB %y; + $guidInfo[%guid] = %name TAB %d TAB %w TAB %m TAB %q TAB %y; } } else{ @@ -13296,24 +13781,25 @@ function buildServerGuidList(){ %td += %d; %tw += %w; %tm += %m; %tq += %q; %ty += %y; %name = getField(strreplace(%fobj.readline(),"%t","\t"),1); $guidInfo[%guid] = %name TAB %d TAB %w TAB %m TAB %q TAB %y; - $guidList[$guidListCount]= %guid; $guidListCount++; + $guidList[$guidListCount]= %guid; $guidListCount++; $guidAvgs = mFloor(%td/$guidListCount) TAB mFloor(%tw/$guidListCount) TAB mFloor(%tm/$guidListCount) TAB mFloor(%tq/$guidListCount) TAB mFloor(%ty/$guidListCount); - } + } } %fobj.close(); - } + } } } %fobj.delete(); -} +} if (!isActivePackage(dtBanSys)){ if(!isFile("scripts/autoexec/dtBanSystem.cs")){ activatePackage(dtBanSys); } - else + else{ error("Error old ban system in place, delete scripts/autoexec/dtBanSystem.cs and its .dso"); + } loadDTBanlist(); buildServerGuidList(); } @@ -13322,14 +13808,14 @@ if (!isActivePackage(dtBanSys)){ function genFakeWhiteList(%amount){ deleteVariables("$dtWhtList::WhiteList*"); serverSafeList.delete(); - for (%i = 0; %i < %amount; %i++){ + for (%i = 0; %i < %amount; %i++){ pushWhiteList(20056 + %i, "ThisIsALongName" @ %i); } -} +} function genFakeBanList(%amount){ dtBanList.delete(); - for (%i = 0; %i < %amount; %i++){ + for (%i = 0; %i < %amount; %i++){ BanList::add(20056 + %i, "IP:192.168.0." @ %i @":28000", getRandom(10,500)); } } @@ -13337,7 +13823,7 @@ function genFakeBanList(%amount){ //function genFakeJoinList(%amount){ //deleteVariables("$dtJoinList*"); //$dtJoinListCount = 0; - //for (%i = 0; %i < %amount; %i++){ + //for (%i = 0; %i < %amount; %i++){ //pushFailJoin("ThisIsALongName" @ %i, 2005+%i, 0, "Test Message",getRandom(0,2)); //} //} @@ -13347,13 +13833,13 @@ function banList_bareIP(%ip){ %ip = strReplace(%ip, ".", "_"); if($dtIPList[%ip]){ pushFailJoin(%name, %client.guid, %ip, "IP Ban List", 2); - return 2; + return 2; } %obj = $dtBanTemp::IP[%ip]; if(isObject(%obj) && %obj.banDateTime > 0){ - %delta = getBanCount(%obj.banDateTime); + %delta = getTimeDelta(%obj.banDateTime); if (%delta < %obj.banLengthMin){ - pushFailJoin(%obj.name, %obj.gui, 0, "Kick/Ban" SPC %obj.banDateTime - %delta SPC "Minutes Left", 1); + pushFailJoin(%obj.name, %obj.gui, 0, "Kick/Ban" SPC %obj.banDateTime - %delta SPC "Minutes Left", 1); return 1; } else{ @@ -15268,12 +15754,12 @@ $fontInfo["remapTable","T2",32] = "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -// 0 1 2 3 4 5 6 +// 0 1 2 3 4 5 6 //xOffset yOffset width height xOrigin yOrigin xIncrement -//glyph font type rendering +//glyph font type rendering function addGLText(%text, %sX, %sY, %color, %type, %size, %clipLimit) { if ($fontInfo["fontHeight",%type,%size] > 0){ - %line = %sY;// are line postion + %line = %sY;// are line postion %cc = strCmp(".",""); %rm = getWord($fontInfo["remapTable",%type,%size],strCmp(".","")); %pinfo =$fontInfo["charInfoList",%type,%size,%rm]; @@ -15286,7 +15772,7 @@ function addGLText(%text, %sX, %sY, %color, %type, %size, %clipLimit) { %charInfo = $fontInfo["charInfoList",%type,%size,%charIndex]; %sY = ($fontInfo["baseLine",%type,%size] - getWord(%charInfo,5)) + %line; %sX += getWord(%charInfo,4); - //if (sX > this.width) // we have hit the end of are image + //if (sX > this.width) // we have hit the end of are image // return 0; %ln += getWord(%charInfo,6) - getWord(%charInfo,4); if (%ln < %clipLimit) { @@ -15295,7 +15781,7 @@ function addGLText(%text, %sX, %sY, %color, %type, %size, %clipLimit) { %pixel = getWord($fontInfo["bitmap",%type,%size,%y + getWord(%charInfo,1)],%x + getWord(%charInfo,0)); if (%pixel > 0) { $textColor[(%sX + %x),(%sY + %y)] = %pixel SPC %color; - } + } else { $textColor[(%sX + %x),(%sY + %y)] = "0 0 0 0"; } @@ -15303,7 +15789,7 @@ function addGLText(%text, %sX, %sY, %color, %type, %size, %clipLimit) { } %sX += getWord(%charInfo,6) - getWord(%charInfo,4); } - else {// adds .. becuase of clip limit + else {// adds .. becuase of clip limit for (%z = 0; %z < 2; %z++) { %sY = ($fontInfo["baseLine",%type,%size] - getWord(%pinfo,5)) + %line; %sX += getWord(%pinfo,4); @@ -15312,7 +15798,7 @@ function addGLText(%text, %sX, %sY, %color, %type, %size, %clipLimit) { %pixel = getWord($fontInfo["bitmap",%type,%size,%y + getWord(%pinfo,1)],%x + getWord(%pinfo,0)); if (%pixel > 0) { $textColor[(%sX + %x),(%sY + %y)] = %pixel SPC %color; - } + } else { $textColor[(%sX + %x),(%sY + %y)] = "0 0 0 0"; } @@ -15339,14 +15825,14 @@ function getTextPosPixels(%text, %sX, %sY, %type, %size) { %charInfo = $fontInfo["charInfoList",%type,%size,%charIndex]; %sY = ($fontInfo["baseLine",%type,%size] - getWord(%charInfo,5)) + %line; %sX += getWord(%charInfo,4); - //if (sX > this.width) // we have hit the end of are image + //if (sX > this.width) // we have hit the end of are image // return 0; %ln += getWord(%charInfo,6) - getWord(%charInfo,4); %sX += getWord(%charInfo,6) - getWord(%charInfo,4); %length += getWord(%charInfo,6) - getWord(%charInfo,4); } } - return %sX TAB %length; + return %sX TAB %length; } } @@ -15367,7 +15853,7 @@ function getTextLengthInPixels(%text, %type, %size) { return 0; } -function genBigStats(%game, %mon, %year){ +function genBigStats(%game, %lType, %mon, %year){ if(%game $= "" || %mon $= "" || %year $= ""){ %game = "CTFGame"; %mon = 1; @@ -15376,15 +15862,19 @@ function genBigStats(%game, %mon, %year){ %callCount = 0; %callTime = 16; deleteVariables("$textColor*"); - %lType = "month"; %mainXSize =1860; %mainySize = 1115; %leftmargin = 4; - %header = "Monthly Stats For" SPC monthString(%mon) SPC %year SPC "-" SPC $dtStats::gtNameLong[%game]; + if(%lType $= "month"){ + %header = "Monthly Stats For" SPC monthString(%mon) SPC %year SPC "-" SPC $dtStats::gtNameLong[%game]; + } + else if(%lType $= "week"){ + %header = "Weekly Stats For week" SPC %mon SPC %year SPC "-" SPC $dtStats::gtNameLong[%game]; + } %hsize = getTextLengthInPixels(%header, "RC", 30);//30 schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%mainXSize / 2) - mFloor(%hsize / 2), 50, "11 239 231", "RC", 30, 500);//30 - %gameOutput = %game;// in case its renamed we stil want the output file to have the gametype - if($smallPanel[0,%game] $= ""){// if we have no data for this gametype switch to are default list + %gameOutput = %game;// in case its renamed we stil want the output file to have the gametype + if($smallPanel[0,%game] $= ""){// if we have no data for this gametype switch to are default list %game = "DefaultGame"; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -15429,7 +15919,7 @@ function genBigStats(%game, %mon, %year){ %panelYSize = 330; %y = 1; %r = -1; - %uwpCount = (%game $= "CTFGame" || %game $= "DefaultGame") ? 4 : 8; + %uwpCount = mFloor($upperWepPanelCount[%game] / 3); for (%x = 0; %x < %xPanels; %x++) { for (%i = 0; %i < %uwpCount; %i++) { %varname = $upperWepPanel[%r++,%game]; @@ -15461,18 +15951,26 @@ function genBigStats(%game, %mon, %year){ schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); %weapons = "Blaster\tPlasma Rifle\tChaingun\tSpinfusor\tGrenade Launcher\tShocklance\tMine\tHand Grenade"; } + else if(%game $= "ArenaGame"){ + schedule(%callTime * %callCount++,0,"addGLText","Weapon", %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Kills", (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","MidAirs", (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Distance", (%tabspace * 3) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + %weapons = "Blaster\tPlasma Rifle\tChaingun\tSpinfusor\tGrenade Launcher\tLaser Rifle\tShocklance\tHand Grenade"; + } else{ schedule(%callTime * %callCount++,0,"addGLText","Weapon", %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Accuracy", (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Wep Combo", (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Speed", (%tabspace * 3) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); - schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); %weapons = "Blaster\tPlasma Rifle\tSpinfusor\tGrenade Launcher\tMortar\tShocklance\tMine\tHand Grenade"; - } + } - %wepLn = (%game $= "CTFGame" || %game $= "DefaultGame") ? 13 : 9; + %wepLn = mFloor($wepGridCount[%game] / 4) + 1; %wepCount = %i + %wepLn; %w = -1; %r = -1; @@ -15480,16 +15978,16 @@ function genBigStats(%game, %mon, %year){ for (%i = %i + 1; %i < %wepCount; %i++) { %varname = $wepGrid[%r++,%game]; %nameData1 = $lData::name[%varname,%gameOutput,%lType,%mon,%year]; - + %varname = $wepGrid[%r++,%game]; %nameData2 = $lData::name[%varname,%gameOutput,%lType,%mon,%year]; - + %varname = $wepGrid[%r++,%game]; %nameData3 = $lData::name[%varname,%gameOutput,%lType,%mon,%year]; - + %varname = $wepGrid[%r++,%game]; %nameData4 = $lData::name[%varname,%gameOutput,%lType,%mon,%year]; - + schedule(%callTime * %callCount++,0,"addGLText",getField(%weapons, %w++), %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, %maxNameSize); schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData1, 0), (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, %maxNameSize); schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData2, 0), (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, %maxNameSize); @@ -15507,7 +16005,7 @@ function genBigStats(%game, %mon, %year){ %gridYOffset = 330; %y = 2; %r = -1; - for (%i = 0; %i < 16; %i++) { + for (%i = 0; %i < mFloor($panelThreeCount[%game]/3); %i++) { for (%x = 0; %x < 3; %x++) { %varname = $panelThree[%r++,%game]; //%data = $lData::data[%varname,%gameOutput,%lType,%mon,%year]; @@ -15551,29 +16049,13 @@ function genBigStats(%game, %mon, %year){ } } - } - schedule(%callTime * %callCount++, 0, "dumpImg",%gameOutput @ "-" @ %mon @ "-" @ %year); + } + schedule(%callTime * %callCount++, 0, "dumpImg",%gameOutput @ "-" @ %lType @ "-" @ %mon @ "-" @ %year); } - -function dumpTest(){ - deleteVariables("$textColor*"); - addGLText("abcdefghijklmnop", 0, 30, "3 213 151", 15, 500); - new fileObject(img); - img.openForWrite("serverStats/statsImg/test.ppm"); - img.x = 256; - img.y = 256; - img.writeLine("P3"); - img.writeLine(img.x SPC img.y); - img.writeLine("255"); - img.yc = 0; - img.py = 0; - imgCycle(img); -} - - function dumpImg(%name){ new fileObject(img); + RootGroup.add(img); img.openForWrite("serverStats/statsImg/" @ %name @ ".ppm"); img.x = 1860; img.y = 1115; @@ -15586,53 +16068,234 @@ function dumpImg(%name){ imgCycle(img); } -function isInsideBorder(%img,%x, %y) { - %borderSize = 20; - %imgx = %img.x; - %imgy = %img.y; - %right = %x >= (%imgx - %borderSize); - %left = %x <= %borderSize; - %top = %y <= %borderSize; - %bottom = %y >= (%imgy - %borderSize); - //error(%right SPC %left SPC %top SPC %bottom); - return %right || %left || %top || %bottom; +function genBigMapStats(%count){ + error("genBigMapStats" SPC %count); + if(%count < $dtStats::gameTypeCount){ + %game = $dtStats::gameType[%count]; + if(getFieldCount($gData::data["scoreTG",%game])){ + genMapStatsImg(%game, %count); + } + else{ + genBigMapStats(%count++); + } + } + else{ + $dtStats::tmCompile = 0; + error("map stats compile done"); + } } -function isInsideBorderO(%img, %x, %y, %offsetX, %offsetY, %borderSize) { - // %borderSize = 4; - %imgx = %img.x; - %imgy = %img.y; +function genMapStatsImg(%game,%count){ + if(%game $= ""){ + return; + } + %callCount = 0; + %callTime = 16; + deleteVariables("$textColor*"); + %mainXSize =1860; + %mainySize = 1115; + %leftmargin = 4; + %header = "Map Stats For" SPC $dtStats::pugDate[%game, 0] SPC "-" SPC $dtStats::gtNameLong[%game]; + %hsize = getTextLengthInPixels(%header, "RC", 30);//30 + schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%mainXSize / 2) - mFloor(%hsize / 2), 50, "11 239 231", "RC", 30, 500);//30 + %gameOutput = %game;// in case its renamed we stil want the output file to have the gametype + if($smallPanel[0,%game] $= ""){// if we have no data for this gametype switch to are default list + %game = "DefaultGame"; + } + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //Large panels Game Type + %xOffset = 48 + %leftmargin; + %yOffset = 76; + %xPanels = 2; + %yPanels = 1; + %gridXOffset = 240; + %gridYOffset = 330; + %y = 0; + schedule(%callTime * %callCount++,0,"addGLText","#. Score", %xOffset, 20 + %yOffset, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Total", 160 + %xOffset, 20 + %yOffset, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Kills", 240 + %xOffset, 20 + %yOffset, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Total", 400 + %xOffset, 20 + %yOffset, "11 239 231", "RC", 15, 500); + for (%x = 0; %x < %xPanels; %x++) { + if (%x == 0) { + %data = $gData::data["scoreTG",%gameOutput]; + %nameData = $gData::name["scoreTG",%gameOutput]; + } + else { + %data = $gData::data["killsTG",%gameOutput]; + %nameData = $gData::name["killsTG",%gameOutput]; + } + %r = 0; + for (%i = 0; %i < 15; %i++) { + if (%r < getFieldCount(%nameData)) { + schedule(%callTime * %callCount++,0,"addGLText",(%i + 1) @ "." SPC getField(%nameData, %i), (%xOffset) + (%x * %gridXOffset), ((20 * (%i + 2)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText",getField(%data, %i), (160 + %xOffset) + (%x * %gridXOffset), ((20 * (%i + 2)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, 500); + } + } + } +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//Large panels Weapon + %xOffset = 48 + %leftmargin; + %yOffset = 76; + %xPanels = 3; + %yPanels = 2; + %gridXOffset = 160; + %gridYOffset = 330; + %panelXSize = 161; + %panelYSize = 330; + %y = 1; + %r = -1; + %uwpCount = mFloor($upperWepPanelCount[%game] / 3); + for (%x = 0; %x < %xPanels; %x++) { + for (%i = 0; %i < %uwpCount; %i++) { + %varname = $upperWepPanel[%r++,%game]; + %data = $gData::data[%varname,%gameOutput]; + %nameData = $gData::name[%varname,%gameOutput] !$= "" ? $gData::name[%varname,%gameOutput] : "NA"; + %valueName = getField($statsName[%varname],0) @ ": "; - %left = %x >= %offsetX && %x <= %borderSize + %offsetX && %y >= %offsetY && %y <= %imgy - %offsetY; - %right = %x >= %imgx - %offsetX - %borderSize && %x <= %imgx - %offsetX && %y >= %offsetY && %y <= %imgy - %offsetY; - %top = %y >= %offsetY && %y <= %borderSize + %offsetY && %x >= %offsetX && %x <= %imgx - %offsetX; - %bottom = %y >= %imgy - %offsetY - %borderSize && %y <= %imgy - %offsetY && %x >= %offsetX && %x <= %imgx - %offsetX; + schedule(%callTime * %callCount++,0,"addGLText",%valueName, ((%xOffset) + (%x * %gridXOffset)), ((19 * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + //%pxSize = getTextLengthInPixels(%valueName, "RC", 15); + %pxSize = getTextPosPixels(%valueName, ((%xOffset) + (%x * %gridXOffset)), ((19 * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "RC", 15); + schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData, 0), getField(%pxSize,0), ((19 * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, 155 - getField(%pxSize,1)); + } + } + %tabspace = 95; + %vertSpace = 19; + if(%game $= "CTFGame" || %game $= "DefaultGame"){ + schedule(%callTime * %callCount++,0,"addGLText","Weapon", %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Kills", (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","MidAirs", (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Distance", (%tabspace * 3) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + %weapons = "Blaster\tPlasma Rifle\tChaingun\tSpinfusor\tGrenade Launcher\tLaser Rifle\tFusion Mortar\tMissile Launcher\tShocklance\tMine\tHand Grenade\tSatchel Charge"; + } + else if(%game $= "LCTFGame" || %game $= "SCtFGame" ){ + schedule(%callTime * %callCount++,0,"addGLText","Weapon", %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Kills", (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","MidAirs", (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Distance", (%tabspace * 3) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + %weapons = "Blaster\tPlasma Rifle\tChaingun\tSpinfusor\tGrenade Launcher\tShocklance\tMine\tHand Grenade"; + } + else if(%game $= "ArenaGame"){ + schedule(%callTime * %callCount++,0,"addGLText","Weapon", %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Kills", (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","MidAirs", (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Distance", (%tabspace * 3) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + %weapons = "Blaster\tPlasma Rifle\tChaingun\tSpinfusor\tGrenade Launcher\tLaser Rifle\tShocklance\tHand Grenade"; + } + else{ + schedule(%callTime * %callCount++,0,"addGLText","Weapon", %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Accuracy", (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Wep Combo", (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Speed", (%tabspace * 3) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + %weapons = "Blaster\tPlasma Rifle\tSpinfusor\tGrenade Launcher\tMortar\tShocklance\tMine\tHand Grenade"; + } - return %left || %right || %top || %bottom; + + + %wepLn = mFloor($wepGridCount[%game] / 4) + 1; + %wepCount = %i + %wepLn; + %w = -1; + %r = -1; + %maxNameSize = 90; + for (%i = %i + 1; %i < %wepCount; %i++) { + %varname = $wepGrid[%r++,%game]; + %nameData1 = $gData::name[%varname,%gameOutput] !$= "" ? $gData::name[%varname,%gameOutput] : "NA"; + + %varname = $wepGrid[%r++,%game]; + %nameData2 = $gData::name[%varname,%gameOutput] !$= "" ? $gData::name[%varname,%gameOutput] : "NA"; + + %varname = $wepGrid[%r++,%game]; + %nameData3 = $gData::name[%varname,%gameOutput] !$= "" ? $gData::name[%varname,%gameOutput] : "NA"; + + %varname = $wepGrid[%r++,%game]; + %nameData4 = $gData::name[%varname,%gameOutput] !$= "" ? $gData::name[%varname,%gameOutput] : "NA"; + + schedule(%callTime * %callCount++,0,"addGLText",getField(%weapons, %w++), %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, %maxNameSize); + schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData1, 0), (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, %maxNameSize); + schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData2, 0), (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, %maxNameSize); + schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData3, 0), (%tabspace * 3) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, %maxNameSize); + schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData4, 0), (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, %maxNameSize); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //Large Game Type Panel + %xOffset = 48 + %leftmargin; + %yOffset = 76; + %xPanels = 3; + %yPanels = 4; + %gridXOffset = 160; + %gridYOffset = 330; + %y = 2; + %r = -1; + for (%i = 0; %i < mFloor($panelThreeCount[%game]/3); %i++) { + for (%x = 0; %x < 3; %x++) { + %varname = $panelThree[%r++,%game]; + //%data = $lData::data[%varname,%gameOutput]; + %nameData = $gData::name[%varname,%gameOutput] !$= "" ? $gData::name[%varname,%gameOutput] : "NA"; + %valueName = $statsName[%varname]; + %valueName = getField(%valueName,0) @ ": "; + schedule(%callTime * %callCount++,0,"addGLText",%valueName, (%xOffset) + (%x * %gridXOffset), ((20 * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + %pxSize = getTextPosPixels(%valueName, (%xOffset) + (%x * %gridXOffset), ((20 * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "RC", 15); + schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData, 0), getField(%pxSize,0), ((20 * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, 155 - getField(%pxSize,1)); + } + } + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //small panels + %xOffset = 531; + %yOffset = 76; + %xPanels = 8; + %yPanels = 3; + %gridXOffset = %panelXSize; + %gridYOffset = %panelYSize; + %r = -1; + for (%y = 0; %y < %yPanels; %y++) { + for (%x = 0; %x < %xPanels; %x++) { + %varname = $smallPanel[%r++,%game]; + %valueName = $statsName[%varname]; + %data = $gData::data[%varname,%gameOutput]; + %nameData = $gData::name[%varname,%gameOutput]; + schedule(%callTime * %callCount++,0,"addGLText","#." SPC getField(%valueName,0), ((%xOffset) + (%x * %gridXOffset)) + %leftmargin, (20 + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 155); + for (%i = 0; %i < getFieldCount(%nameData) && %i < 15; %i++) { + %name = (%i + 1) @ "." SPC getField(%nameData,%i); + schedule(%callTime * %callCount++,0,"addGLText",%name, ((%xOffset) + (%x * %gridXOffset)) + %leftmargin, ((20 * (%i + 2)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 110); + if (getField(%valueName,1) $= "PCT") { + %svalue = getField(%data,%i); + if (strLen(%svalue) > 5) { + %svalue = getSubStr(%svalue, 0, 5); + } + } + else { + %svalue = mFloor(getField(%data,%i)); + } + schedule(%callTime * %callCount++,0,"addGLText",%svalue, (115 + %xOffset) + (%x * %gridXOffset), ((20 * (%i + 2)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, 500); + } + + } + } + schedule(%callTime * %callCount++, 0, "dumpMapImg",%gameOutput @ "-" @ dtMarkDate(), %count); } -function lerpColor(%color1, %color2, %t) { - if(%t > 1) %t = 1; - else if (%t < 0) %t = 0; - - %r1 = getWord(%color1,0); - %g1 = getWord(%color1,1); - %b1 = getWord(%color1,2); - - %r2 = getWord(%color2,0); - %g2 = getWord(%color2,1); - %b2 = getWord(%color2,2); - - %lerpedR = mFloor(%r1 + (%r2 - %r1) * %t); - %lerpedG = mFloor(%g1 + (%g2 - %g1) * %t); - %lerpedB = mFloor(%b1 + (%b2 - %b1) * %t); - - return %lerpedR SPC %lerpedG SPC %lerpedB; +function dumpMapImg(%name, %count){ + new fileObject(img); + RootGroup.add(img); + img.openForWrite("serverStats/statsImg/" @ %name @ ".ppm"); + img.x = 1860; + img.y = 1115; + img.writeLine("P3"); + img.writeLine(img.x SPC img.y); + img.writeLine("255"); + img.yc = 0; + img.py = 0; + img.pct = 0; + imgCycle3(img, %count); } -function imgCycle(%img){ - +function imgCycle3(%img, %count){ + %pct = mFloor((%img.yc / %img.y) * 100); if(%pct != %img.pct){ error("Saving Stats image" SPC %pct @ "%"); @@ -15645,7 +16308,7 @@ function imgCycle(%img){ %border = 45; %headersize = 42; %leftmargin = 4; - + %px = 0; %py = 0; %y = %img.yc; @@ -15653,15 +16316,15 @@ function imgCycle(%img){ %img.py++; } for (%x = 0; %x < %img.x; %x++) { - %color = "0 0 0"; + %color = "20 45 45"; if(isInsideBorderO(%img, %x-1, %y-5, 22, 17, 20)){ - %color = "0 118 118"; - %color = lerpColor("0 0 0", %color, (%img.yc / %img.y)*1.5); + %color = "0 118 118"; + %color = lerpColor("32 60 69", %color, (%img.yc / %img.y)*1.5); } if(isInsideBorderO(%img, %x-1, %y-5, 42, 37, 4)){ - %color = "0 150 160"; - %color = lerpColor(%color, "0 0 0", (%img.yc / %img.y) * 0.25); + %color = "0 150 160"; + %color = lerpColor(%color, "32 60 69", (%img.yc / %img.y) * 0.25); } if (%x > %border && %y > %border && %px < (%img.x - 88)) { %px++; @@ -15683,7 +16346,7 @@ function imgCycle(%img){ } %fd = $textColor[%x,%y]; if(getWord(%fd,0) > 0){ - %opacity = 1 - (getWord(%fd,0) / 255); + %opacity = 1 - (getWord(%fd,0) / 255); %r = mFloor((1 - %opacity) * getWord(%fd,1) + %opacity * getWord(%color,0)); %g = mFloor((1 - %opacity) * getWord(%fd,2) + %opacity * getWord(%color,1)); %b = mFloor((1 - %opacity) * getWord(%fd,3) + %opacity * getWord(%color,2)); @@ -15694,11 +16357,146 @@ function imgCycle(%img){ } } %img.yc++; - if(%img.yc < %img.y) + if(%img.yc < %img.y) + schedule(32,0,"imgCycle3",%img); + else{ + %img.close(); + %img.delete(); + deleteVariables("$textColor*"); + error("Stats Image Done"); + genBigMapStats(%count++); + } +} + +function dumpTest(){ + deleteVariables("$textColor*"); + addGLText("abcdefghijklmnop", 0, 30, "3 213 151", 15, 500); + new fileObject(img); + img.openForWrite("serverStats/statsImg/test.ppm"); + img.x = 256; + img.y = 256; + img.writeLine("P3"); + img.writeLine(img.x SPC img.y); + img.writeLine("255"); + img.yc = 0; + img.py = 0; + imgCycle(img); +} + + +function isInsideBorder(%img,%x, %y) { + %borderSize = 20; + %imgx = %img.x; + %imgy = %img.y; + + %right = %x >= (%imgx - %borderSize); + %left = %x <= %borderSize; + %top = %y <= %borderSize; + %bottom = %y >= (%imgy - %borderSize); + //error(%right SPC %left SPC %top SPC %bottom); + return %right || %left || %top || %bottom; +} + +function isInsideBorderO(%img, %x, %y, %offsetX, %offsetY, %borderSize) { + // %borderSize = 4; + %imgx = %img.x; + %imgy = %img.y; + + %left = %x >= %offsetX && %x <= %borderSize + %offsetX && %y >= %offsetY && %y <= %imgy - %offsetY; + %right = %x >= %imgx - %offsetX - %borderSize && %x <= %imgx - %offsetX && %y >= %offsetY && %y <= %imgy - %offsetY; + %top = %y >= %offsetY && %y <= %borderSize + %offsetY && %x >= %offsetX && %x <= %imgx - %offsetX; + %bottom = %y >= %imgy - %offsetY - %borderSize && %y <= %imgy - %offsetY && %x >= %offsetX && %x <= %imgx - %offsetX; + + return %left || %right || %top || %bottom; +} + +function lerpColor(%color1, %color2, %t) { + if(%t > 1) %t = 1; + else if (%t < 0) %t = 0; + + %r1 = getWord(%color1,0); + %g1 = getWord(%color1,1); + %b1 = getWord(%color1,2); + + %r2 = getWord(%color2,0); + %g2 = getWord(%color2,1); + %b2 = getWord(%color2,2); + + %lerpedR = mFloor(%r1 + (%r2 - %r1) * %t); + %lerpedG = mFloor(%g1 + (%g2 - %g1) * %t); + %lerpedB = mFloor(%b1 + (%b2 - %b1) * %t); + + return %lerpedR SPC %lerpedG SPC %lerpedB; +} + +function imgCycle(%img){ + + %pct = mFloor((%img.yc / %img.y) * 100); + if(%pct != %img.pct){ + error("Saving Stats image" SPC %pct @ "%"); + %img.pct = %pct; + } + %panelXSize = 161; + %panelYSize = 330; + %bigPanelXSize = 483; + %bigPanelYSize = 330; + %border = 45; + %headersize = 42; + %leftmargin = 4; + + %px = 0; + %py = 0; + %y = %img.yc; + if (%y > (%border + %headersize + 3) && %img.py < (%img.y - 124)) { + %img.py++; + } + for (%x = 0; %x < %img.x; %x++) { + %color = "20 45 45"; + if(isInsideBorderO(%img, %x-1, %y-5, 22, 17, 20)){ + %color = "0 118 118"; + %color = lerpColor("32 60 69", %color, (%img.yc / %img.y)*1.5); + } + + if(isInsideBorderO(%img, %x-1, %y-5, 42, 37, 4)){ + %color = "0 150 160"; + %color = lerpColor(%color, "32 60 69", (%img.yc / %img.y) * 0.25); + } + if (%x > %border && %y > %border && %px < (%img.x - 88)) { + %px++; + if (%px > 2 && %x < 1816 && (%y - %border) < %headersize) {// render top header disable if bg has it + %color = "33 87 97"; + } + else { + if (%px > 484) { + if ((%px % %panelXSize) > 2 && (%img.py % %panelYSize) > 2) { + %color = "33 87 97"; + } + } + else { + if ((%px % %bigPanelXSize) > 2 && (%img.py % %bigPanelYSize) > 2) { + %color = "33 87 97"; + } + } + } + } + %fd = $textColor[%x,%y]; + if(getWord(%fd,0) > 0){ + %opacity = 1 - (getWord(%fd,0) / 255); + %r = mFloor((1 - %opacity) * getWord(%fd,1) + %opacity * getWord(%color,0)); + %g = mFloor((1 - %opacity) * getWord(%fd,2) + %opacity * getWord(%color,1)); + %b = mFloor((1 - %opacity) * getWord(%fd,3) + %opacity * getWord(%color,2)); + img.writeLine(%r SPC %g SPC %b); + } + else{ + img.writeLine(%color); + } + } + %img.yc++; + if(%img.yc < %img.y) schedule(32,0,"imgCycle",%img); else{ %img.close(); - %img.delete(); + %img.delete(); deleteVariables("$textColor*"); error("Stats Image Done"); $dtStatsImgBuild = 0; @@ -15706,70 +16504,73 @@ function imgCycle(%img){ } function compileGameImage(%gameIndex){ - if(!%gameIndex){ + if(%gameIndex== -1){ $dtGameIndex = 0; $idPugIndex = 0; } if($dtStats::debugEchos){error("compileGameImage" SPC $idPugIndex SPC $dtGameIndex);} - if(%gameIndex < $dtStats::gameTypeCount){ + if($dtGameIndex < $dtStats::gameTypeCount){ %game = $dtStats::gameType[$dtGameIndex]; - if(getFieldCount($dtServerVars::pugIDS[%game]) > 0 && $idPugIndex < getFieldCount($dtServerVars::pugIDS[%game])){ - %id = getField($dtServerVars::pugIDS[%game],$idPugIndex); + if($dtStats::pugCount[%game] > 0 && $idPugIndex < $dtStats::pugCount[%game]){ + %id = $dtStats::pugIDS[%game, $idPugIndex]; deleteVariables("$pugMap*"); - %folderPath = "serverStats/pugData/*"@ %id @ "-G.cs"; + %folderPath = "serverStats/gmData/*"@ %id @ "-G.cs"; %total = getFileCount(%folderPath); if(%total){ %file = findNextfile(%folderPath); %fobj = new fileObject(); + RootGroup.add(%fobj); %fobj.openForRead(%file); $pugMapInfo = strreplace(%fobj.readLine(),"%t","\t"); - + %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapName[1] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapName[1] = getFields(%line, 2, getFieldCount(%line)-1); + %line = strreplace(%fobj.readLine(),"%t","\t"); + $pugMapScore[1] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapScore[1] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapOff[1] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapOff[1] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapDef[1] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapDef[1] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapKills[1] = getFields(%line, 2, getFieldCount(%line)-1); + + %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapKills[1] = getFields(%line, 2, getFieldCount(%line)-1); - - + $pugMapName[2] = getFields(%line, 2, getFieldCount(%line)-1); + %line = strreplace(%fobj.readLine(),"%t","\t"); + $pugMapScore[2] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapName[2] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapOff[2] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapScore[2] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapDef[2] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapOff[2] = getFields(%line, 2, getFieldCount(%line)-1); - %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapDef[2] = getFields(%line, 2, getFieldCount(%line)-1); - %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapKills[2] = getFields(%line, 2, getFieldCount(%line)-1); - + $pugMapKills[2] = getFields(%line, 2, getFieldCount(%line)-1); + while ( !%fobj.isEOF() ){ %line = strreplace(%fobj.readLine(),"%t","\t"); %team = getField(%line,0); %type = getField(%line,1); %var = getField(%line,2); - $pugMapData[%team,%type,%var] = getFields(%line, 3, getFieldCount(%line)-1); + $pugMapData[%team,%type,%var] = getFields(%line, 3, getFieldCount(%line)-1); } switch$(%game){ case "CTFGame": renderCTFMapTextTM(%id); case "LCTFGame" or "SCtFGame": renderLCTFMapTextTM(%id); + //case "ArenaGame": renderArenaMapTextTM(%id); + default: + $dtGameIndex++; + compileGameImage(0); } - $idPugIndex++; } - - } + + }// we are out of pugs of this game type so lets reset and advance game type else{ - compileGameImage($dtGameIndex++); + $dtGameIndex++; + compileGameImage(0); } } else{ - // finish out - error("done game images"); - $dtStats::tmCompile = 0; + genBigMapStats(0); } } @@ -15785,44 +16586,43 @@ function hasValueC(%val,%return,%return2,%x){ if(!%x) return %int @ %return2; %dec = getSubStr(%val, %dot + 1, %x); - return %int @ "." @ %dec @ %return2; + return %int @ "." @ %dec @ %return2; } } return %val @ %return2; } - -function renderLCTFMapTextTM(%id){ - if($dtStats::debugEchos){error("renderCTFMapTextTM" SPC %id);} +function renderArenaMapTextTM(%id){ + if($dtStats::debugEchos){error("renderArenaMapTextTM" SPC %id);} deleteVariables("$textColor*"); %sizeX = 1280+20; %sizeY = 810; - + %callTime = 8; %spaceing = 20; %justLeft = 355; %justLeft2 = 55; - %header = getField($pugMapInfo,0) SPC "LCTF"; + %header = getField($pugMapInfo,0) SPC "ARENA"; %header = stripChars(%header, "!\"#$%&'()*+,./:;<=>?@[\\]^'{|}~\t\n\r1234567890"); %header = strreplace(%header,"-", " "); %header = strreplace(%header,"_", " "); - + %hsize = getTextLengthInPixels(%header, "T2", 32);//30 - schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 55, "11 239 231", "T2", 32, 1000);//30 - + schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 55, "11 239 231", "T2", 32, 1000);//30 + %date = getField($pugMapInfo,3); %hsize = getTextLengthInPixels(%date, "RC", 12); schedule(%callTime * %callCount++,0,"addGLText",%date, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 85, "11 239 231", "RC", 12, 500); - - %line = "Storm"; + + %line = "Team 1"; schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 100, "11 239 231", "RC", 30, 500); - %line = getWord(getField($pugMapInfo,4),0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+100, 100, "11 239 231", "RC", 30, 500); - %line = "Inferno"; + %line = getWord(getField($pugMapInfo,4),0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+100, 100, "11 239 231", "RC", 30, 500); + %line = "Team 2"; schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 100, "11 239 231", "RC", 30, 500); - %line = getWord(getField($pugMapInfo,4),1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+400, 100, "11 239 231", "RC", 30, 500); - + %line = getWord(getField($pugMapInfo,4),1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+400, 100, "11 239 231", "RC", 30, 500); + schedule(%callTime * %callCount++,0,"addGLText","Player", %justLeft, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Score", %justLeft+130, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+170, 130, "11 239 231", "RC", 15, 500); @@ -15833,574 +16633,574 @@ function renderLCTFMapTextTM(%id){ schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+470, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Def", %justLeft+510, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Kills", %justLeft+550, 130, "11 239 231", "RC", 15, 500); - + %team1Size = getFieldCount($pugMapName[1]); %team2Size = getFieldCount($pugMapName[2]); - %teamsize = (%team1Size >%team2Size) ? %team1Size :%team2Size; + %teamsize = (%team1Size >%team2Size) ? %team1Size :%team2Size; %teamsize = %teamsize <= 32 ? %teamsize : 32; for(%i=0; %i < %teamsize; %i++){ if(%i < %team1Size && %i < %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[1],%i); + %line = %i+1 @ "." @ getField($pugMapName[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[1],%i); + %line = getField($pugMapDef[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[1],%i); + %line = getField($pugMapKills[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = %i+1 @ "." @ getField($pugMapName[2],%i); + %line = %i+1 @ "." @ getField($pugMapName[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); - %line = getField($pugMapScore[2],%i); + %line = getField($pugMapScore[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapOff[2],%i); + %line = getField($pugMapOff[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[2],%i); + %line = getField($pugMapDef[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[2],%i); + %line = getField($pugMapKills[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); } else if(%i < %team1Size && %i >= %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[1],%i); + %line = %i+1 @ "." @ getField($pugMapName[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[1],%i); + %line = getField($pugMapDef[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[1],%i); + %line = getField($pugMapKills[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); } else if(%i >= %team1Size && %i < %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[2],%i); + %line = %i+1 @ "." @ getField($pugMapName[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[2],%i); + %line = getField($pugMapDef[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[2],%i); + %line = getField($pugMapKills[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); } - } - - - //%line = getTaggedString($teamName[1]) SPC "Team"; - //schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft2, 100, "11 239 231", "RC", 30, 500); - + } + + + //%line = getTaggedString($teamName[1]) SPC "Team"; + //schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft2, 100, "11 239 231", "RC", 30, 500); + %noValue = "NA"; %nameOffset = 120; %dataOffset = 130; %lineCount = 0; - %lineCountTeam2 = 0; + %lineCountTeam2 = 0; %justLeftTeam2 = 955; //%textln = getTextPosPixels(%line, 0, 0, "RC", 15); - %line = "Flag Grabs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagGrabsTG"],0),%noValue,"",-1); + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","grabSpeedMax"],0),%noValue," Kmh",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue," Sec",2); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","escortAssistsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","escortAssistsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Catch Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCatchSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag MA Catches:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercepted Flags:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercept Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","interceptSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","interceptSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercepted Flags MA:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","distMovTG"],0),%noValue," Km",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maxSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Concuss Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Weapon Combos:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","comboCountTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","comboCountTG"],0),%noValue,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "First Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Last Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Best KDR:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Shots Fired:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Total Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","totalWepDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","totalWepDmgTG"],0),%noValue,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Kill Streak:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Mine + Disc Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Rear Shocklance:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","shockRearShotTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - %line = "Flag Caps:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Grab Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","grabSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","grabSpeedMax"],0),%noValue," Kmh",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Catch:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue," Sec",2); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Carrier Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Defends:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Escort Assists:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","escortAssistsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","escortAssistsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flags Thrown:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Returns:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Concuss:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Catch Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCatchSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag MA Catches:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","maFlagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","maFlagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Intercepted Flags:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","interceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","interceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Intercept Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","interceptSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","interceptSpeedMax"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Intercepted Flags MA:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","maInterceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","maInterceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Offensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Defensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Kill Assist:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Distance Moved:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","distMovTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","distMovTG"],0),%noValue," Km",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Highest Avg Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","avgSpeedAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","avgSpeedAvg"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Highest Top Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","maxSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","maxSpeedMax"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Concuss Hits:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Weapon Combos:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","comboCountTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","comboCountTG"],0),%noValue,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "First Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","firstKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","firstKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Last Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","lastKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","lastKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Best KDR:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","kdrAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","kdrAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Shots Fired:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","shotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","shotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Total Damage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","totalWepDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","totalWepDmgTG"],0),%noValue,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Kill Streak:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","killStreakMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","killStreakMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Mine + Disc Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","minePlusDiscKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","minePlusDiscKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Rear Shocklance:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","shockRearShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","shockRearShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - - - %line = "Flag Grabs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagGrabsTG"],0),%noValue,"",-1); + + + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagGrabsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Caps:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCapsTG"],0),%noValue,"",-1); + + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCapsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Grab Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","grabSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","grabSpeedMax"],0),%noValue," Kmh",1); + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","grabSpeedMax"],0),%noValue," Kmh",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Catch:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue," Sec",1); + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue," Sec",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Carrier Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","carrierKillsTG"],0),%noValue,"",-1); + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","carrierKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Defends:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagDefendsTG"],0),%noValue,"",-1); + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagDefendsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Escort Assists:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","escortAssists"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","escortAssists"],0),%noValue,"",-1); + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","escortAssists"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","escortAssists"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flags Thrown:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagTossTG"],0),%noValue,"",-1); + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagTossTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Returns:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagReturnsTG"],0),%noValue,"",-1); + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagReturnsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Concuss:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","concussFlagTG"],0),%noValue,"",-1); + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","concussFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Catch Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCatchSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); + + %line = "Flag Catch Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCatchSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag MA Catches:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","maFlagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","maFlagCatchTG"],0),%noValue,"",-1); + + %line = "Flag MA Catches:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maFlagCatchTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Intercepted Flags:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","interceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","interceptedFlagTG"],0),%noValue,"",-1); + + %line = "Intercepted Flags:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","interceptedFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Intercept Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","interceptSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","interceptSpeedMax"],0),%noValue," Kmh",0); + + %line = "Intercept Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","interceptSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","interceptSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Intercepted Flags MA:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","maInterceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","maInterceptedFlagTG"],0),%noValue,"",-1); + + %line = "Intercepted Flags MA:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maInterceptedFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Offensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","OffKillsTG"],0),%noValue,"",-1); + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","OffKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Defensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","DefKillsTG"],0),%noValue,"",-1); + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","DefKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Kill Assist:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","assistTG"],0),%noValue,"",-1); + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","assistTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Distance Moved:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","distMovTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","distMovTG"],0),%noValue," Km",0); + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","distMovTG"],0),%noValue," Km",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Highest Avg Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","avgSpeedAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","avgSpeedAvg"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Highest Top Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","maxSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","maxSpeedMax"],0),%noValue," Kmh",0); + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maxSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Concuss Hits:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","concussHitTG"],0),%noValue,"",0); + + %line = "Concuss Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","concussHitTG"],0),%noValue,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Weapon Combos:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","comboCountTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","comboCountTG"],0),%noValue,"",-1); + + %line = "Weapon Combos:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","comboCountTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","comboCountTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "First Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","firstKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","firstKillTG"],0),%noValue,"",-1); + + %line = "First Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","firstKillTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Last Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","lastKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","lastKillTG"],0),%noValue,"",-1); + + %line = "Last Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","lastKillTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Best KDR:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","kdrAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","kdrAvg"],0),%noValue,"",-1); + + %line = "Best KDR:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","kdrAvg"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Shots Fired:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","shotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","shotsFiredTG"],0),%noValue,"",-1); + + %line = "Shots Fired:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Total Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","totalWepDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","totalWepDmgTG"],0),%noValue,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Total Damage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","totalWepDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","totalWepDmgTG"],0),%noValue,"",0); + + %line = "Kill Streak:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","killStreakMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Kill Streak:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","killStreakMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","killStreakMax"],0),%noValue,"",-1); + + %line = "Mine + Disc Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","minePlusDiscKillTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Mine + Disc Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","minePlusDiscKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","minePlusDiscKillTG"],0),%noValue,"",-1); + + %line = "Rear Shocklance:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","shockRearShotTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Rear Shocklance:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","shockRearShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","shockRearShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %lineCountTeam2++; - + %wepLineCount = %vehLineCount = 24; - - + + %killOffSet = 50; %killValue = 150; %midAirs =185; @@ -16409,152 +17209,153 @@ function renderLCTFMapTextTM(%id){ %damageValue = 420; %dist = 455; %distValue = 555; - %line = "Weapons"; + %line = "Weapons"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = "Kills"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "Kills"; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = "MidAirs"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "MidAirs"; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = "MA Distance"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "MA Distance"; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = "Damage"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "Damage"; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); %wepLineCount++; - - - %line = "Blaster"; + + + %line = "Blaster"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","blasterKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","blasterKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","blasterMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","blasterMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","blasterDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); %wepLineCount++; - - %line = "Plasma"; + + %line = "Plasma"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","plasmaKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","plasmaKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","plasmaDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); %wepLineCount++; - - %line = "Chaingun"; + + %line = "Chaingun"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","cgKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","cgKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","cgMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","cgMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","cgDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Spinfusor"; + %wepLineCount++; + + %line = "Spinfusor"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","discKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","discKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","discKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","discMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","discMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","discMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","discMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","discDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","discDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Grenade"; + %wepLineCount++; + + %line = "Grenade"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","grenadeKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","grenadeKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","grenadeKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","grenadeDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","grenadeDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; + %wepLineCount++; - %line = "Shock"; + %line = "Shock"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","shockKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","shockKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","shockKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","shockMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","shockMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","shockMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockMAHitDistMax"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","shockMAHitDistMax"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","shockDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","shockDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; + %wepLineCount++; %wepLineCount++; - + if(%id $= "") return; %img = new fileObject(); + RootGroup.add(%img); %img.openForWrite("serverStats/statsImg/" @ %id @ ".ppm"); %img.x = %sizeX; %img.y = %sizeY; @@ -16564,41 +17365,41 @@ function renderLCTFMapTextTM(%id){ %img.yc = 0; %img.py = 0; %img.pct = 0; - schedule(%callTime * %callCount++, 0, "pugImgCycle2",%img); + schedule(%callTime * %callCount++, 0, "pugImgCycle2",%img); } -function renderCTFMapTextTM(%id){ +function renderLCTFMapTextTM(%id){ if($dtStats::debugEchos){error("renderCTFMapTextTM" SPC %id);} deleteVariables("$textColor*"); %sizeX = 1280+20; - %sizeY = 1115; - + %sizeY = 810; + %callTime = 8; %spaceing = 20; %justLeft = 355; %justLeft2 = 55; - %header = getField($pugMapInfo,0) SPC "CTF"; + %header = getField($pugMapInfo,0) SPC "LCTF"; %header = stripChars(%header, "!\"#$%&'()*+,./:;<=>?@[\\]^'{|}~\t\n\r1234567890"); %header = strreplace(%header,"-", " "); %header = strreplace(%header,"_", " "); - + %hsize = getTextLengthInPixels(%header, "T2", 32);//30 - schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 55, "11 239 231", "T2", 32, 1000);//30 - + schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 55, "11 239 231", "T2", 32, 1000);//30 + %date = getField($pugMapInfo,3); %hsize = getTextLengthInPixels(%date, "RC", 12); schedule(%callTime * %callCount++,0,"addGLText",%date, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 85, "11 239 231", "RC", 12, 500); - - %line = "Storm"; + + %line = "Storm"; schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 100, "11 239 231", "RC", 30, 500); - %line = getWord(getField($pugMapInfo,4),0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+100, 100, "11 239 231", "RC", 30, 500); - %line = "Inferno"; + %line = getWord(getField($pugMapInfo,4),0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+100, 100, "11 239 231", "RC", 30, 500); + %line = "Inferno"; schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 100, "11 239 231", "RC", 30, 500); - %line = getWord(getField($pugMapInfo,4),1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+400, 100, "11 239 231", "RC", 30, 500); - + %line = getWord(getField($pugMapInfo,4),1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+400, 100, "11 239 231", "RC", 30, 500); + schedule(%callTime * %callCount++,0,"addGLText","Player", %justLeft, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Score", %justLeft+130, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+170, 130, "11 239 231", "RC", 15, 500); @@ -16609,545 +17410,1322 @@ function renderCTFMapTextTM(%id){ schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+470, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Def", %justLeft+510, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Kills", %justLeft+550, 130, "11 239 231", "RC", 15, 500); - + %team1Size = getFieldCount($pugMapName[1]); %team2Size = getFieldCount($pugMapName[2]); - %teamsize = (%team1Size >%team2Size) ? %team1Size :%team2Size; + %teamsize = (%team1Size >%team2Size) ? %team1Size :%team2Size; %teamsize = %teamsize <= 32 ? %teamsize : 32; for(%i=0; %i < %teamsize; %i++){ if(%i < %team1Size && %i < %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[1],%i); + %line = %i+1 @ "." @ getField($pugMapName[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[1],%i); + %line = getField($pugMapDef[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[1],%i); + %line = getField($pugMapKills[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = %i+1 @ "." @ getField($pugMapName[2],%i); + %line = %i+1 @ "." @ getField($pugMapName[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); - %line = getField($pugMapScore[2],%i); + %line = getField($pugMapScore[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapOff[2],%i); + %line = getField($pugMapOff[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[2],%i); + %line = getField($pugMapDef[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[2],%i); + %line = getField($pugMapKills[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); } else if(%i < %team1Size && %i >= %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[1],%i); + %line = %i+1 @ "." @ getField($pugMapName[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[1],%i); + %line = getField($pugMapDef[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[1],%i); + %line = getField($pugMapKills[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); } else if(%i >= %team1Size && %i < %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[2],%i); + %line = %i+1 @ "." @ getField($pugMapName[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[2],%i); + %line = getField($pugMapDef[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[2],%i); + %line = getField($pugMapKills[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); } - } - - - //%line = getTaggedString($teamName[1]) SPC "Team"; - //schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft2, 100, "11 239 231", "RC", 30, 500); - + } + + + //%line = getTaggedString($teamName[1]) SPC "Team"; + //schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft2, 100, "11 239 231", "RC", 30, 500); + %noValue = "NA"; %nameOffset = 120; %dataOffset = 130; %lineCount = 0; - %lineCountTeam2 = 0; + %lineCountTeam2 = 0; %justLeftTeam2 = 955; //%textln = getTextPosPixels(%line, 0, 0, "RC", 15); - %line = "Flag Grabs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagGrabsTG"],0),%noValue,"",-1); + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","grabSpeedMax"],0),%noValue," Kmh",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue," Sec",2); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","escortAssistsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","escortAssistsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Catch Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCatchSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag MA Catches:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercepted Flags:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercept Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","interceptSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","interceptSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercepted Flags MA:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","distMovTG"],0),%noValue," Km",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maxSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Concuss Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Weapon Combos:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","comboCountTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","comboCountTG"],0),%noValue,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "First Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Last Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Best KDR:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Shots Fired:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Total Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","totalWepDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","totalWepDmgTG"],0),%noValue,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Kill Streak:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Mine + Disc Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Rear Shocklance:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","shockRearShotTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - %line = "Flag Caps:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCapsTG"],0),%noValue,"",-1); + + + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","grabSpeedMax"],0),%noValue," Kmh",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue," Sec",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","escortAssists"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","escortAssists"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Flag Catch Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCatchSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Flag MA Catches:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Intercepted Flags:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Intercept Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","interceptSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","interceptSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Intercepted Flags MA:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","distMovTG"],0),%noValue," Km",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maxSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Concuss Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","concussHitTG"],0),%noValue,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Weapon Combos:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","comboCountTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","comboCountTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "First Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Last Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Best KDR:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Shots Fired:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Total Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","totalWepDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","totalWepDmgTG"],0),%noValue,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Kill Streak:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Mine + Disc Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Rear Shocklance:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %wepLineCount = %vehLineCount = 24; + + + + + %killOffSet = 50; + %killValue = 150; + %midAirs =185; + %midAirValue = 285; + %damage = 320; + %damageValue = 420; + %dist = 455; + %distValue = 555; + %line = "Weapons"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = "Kills"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = ""; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = "MidAirs"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = ""; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = "MA Distance"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = ""; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = "Damage"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = ""; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %wepLineCount++; + + + %line = "Blaster"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","blasterKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","blasterKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","blasterMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","blasterMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","blasterMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","blasterMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","blasterDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","blasterDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Plasma"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","plasmaKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","plasmaDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Chaingun"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","cgKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","cgMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","cgMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","cgDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Spinfusor"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","discKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Grenade"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","grenadeKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Shock"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","shockKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockMAHitDistMax"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + %wepLineCount++; + + + if(%id $= "") + return; + %img = new fileObject(); + RootGroup.add(%img); + %img.openForWrite("serverStats/statsImg/" @ %id @ ".ppm"); + %img.x = %sizeX; + %img.y = %sizeY; + %img.writeLine("P3"); + %img.writeLine(%sizeX SPC %sizeY); + %img.writeLine("255"); + %img.yc = 0; + %img.py = 0; + %img.pct = 0; + schedule(%callTime * %callCount++, 0, "pugImgCycle2",%img); +} + +function renderCTFMapTextTM(%id){ + if($dtStats::debugEchos){error("renderCTFMapTextTM" SPC %id);} + deleteVariables("$textColor*"); + %sizeX = 1280+20; + %sizeY = 1115; + + %callTime = 8; + %spaceing = 20; + %justLeft = 355; + %justLeft2 = 55; + %header = getField($pugMapInfo,0) SPC "CTF"; + %header = stripChars(%header, "!\"#$%&'()*+,./:;<=>?@[\\]^'{|}~\t\n\r1234567890"); + %header = strreplace(%header,"-", " "); + %header = strreplace(%header,"_", " "); + + %hsize = getTextLengthInPixels(%header, "T2", 32);//30 + schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 55, "11 239 231", "T2", 32, 1000);//30 + + %date = getField($pugMapInfo,3); + %hsize = getTextLengthInPixels(%date, "RC", 12); + schedule(%callTime * %callCount++,0,"addGLText",%date, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 85, "11 239 231", "RC", 12, 500); + + + %line = "Storm"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 100, "11 239 231", "RC", 30, 500); + %line = getWord(getField($pugMapInfo,4),0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+100, 100, "11 239 231", "RC", 30, 500); + %line = "Inferno"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 100, "11 239 231", "RC", 30, 500); + %line = getWord(getField($pugMapInfo,4),1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+400, 100, "11 239 231", "RC", 30, 500); + + schedule(%callTime * %callCount++,0,"addGLText","Player", %justLeft, 130, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Score", %justLeft+130, 130, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+170, 130, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Def", %justLeft+210, 130, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Kills", %justLeft+250, 130, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Player", %justLeft+300, 130, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Score", %justLeft+430, 130, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+470, 130, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Def", %justLeft+510, 130, "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Kills", %justLeft+550, 130, "11 239 231", "RC", 15, 500); + + %team1Size = getFieldCount($pugMapName[1]); + %team2Size = getFieldCount($pugMapName[2]); + %teamsize = (%team1Size >%team2Size) ? %team1Size :%team2Size; + %teamsize = %teamsize <= 32 ? %teamsize : 32; + for(%i=0; %i < %teamsize; %i++){ + if(%i < %team1Size && %i < %team2Size){ + %line = %i+1 @ "." @ getField($pugMapName[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); + %line = getField($pugMapScore[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapOff[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapDef[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapKills[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = %i+1 @ "." @ getField($pugMapName[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); + %line = getField($pugMapScore[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapOff[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapDef[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapKills[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); + } + else if(%i < %team1Size && %i >= %team2Size){ + %line = %i+1 @ "." @ getField($pugMapName[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); + %line = getField($pugMapScore[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapOff[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapDef[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapKills[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); + } + else if(%i >= %team1Size && %i < %team2Size){ + %line = %i+1 @ "." @ getField($pugMapName[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); + %line = getField($pugMapScore[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapOff[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapDef[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapKills[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); + } + } + + + //%line = getTaggedString($teamName[1]) SPC "Team"; + //schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft2, 100, "11 239 231", "RC", 30, 500); + + %noValue = "NA"; + %nameOffset = 120; + %dataOffset = 130; + %lineCount = 0; + %lineCountTeam2 = 0; + %justLeftTeam2 = 955; + //%textln = getTextPosPixels(%line, 0, 0, "RC", 15); + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagGrabsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flag Grab Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","grabSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","grabSpeedMax"],0),%noValue," Kmh",1); + + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCapsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flag Catch:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue," Sec",2); + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","grabSpeedMax"],0),%noValue," Kmh",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Carrier Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","carrierKillsTG"],0),%noValue,"",-1); + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue," Sec",2); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flag Defends:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagDefendsTG"],0),%noValue,"",-1); + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","carrierKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Escort Assists:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","escortAssistsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","escortAssistsTG"],0),%noValue,"",-1); + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagDefendsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flags Thrown:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagTossTG"],0),%noValue,"",-1); + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","escortAssistsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","escortAssistsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flag Returns:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagReturnsTG"],0),%noValue,"",-1); + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagTossTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flag Concuss:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","concussFlagTG"],0),%noValue,"",-1); + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagReturnsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Offensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","OffKillsTG"],0),%noValue,"",-1); + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","concussFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Defensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","DefKillsTG"],0),%noValue,"",-1); + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","OffKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Repairs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","repairsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","repairsTG"],0),%noValue,"",-1); + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","DefKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Destruction:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + + %line = "Repairs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","repairsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","repairsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Destruction:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %line = hasValueC(getField($pugMapData[1,"name","destructionTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","destructionTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","destructionTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Gens Destroyed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","genDestroysTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","genDestroysTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Gens Repairs"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","genSolRepairsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","genSolRepairsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Indoor Turret Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","indoorDepTurretKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","indoorDepTurretKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Gens Destroyed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","genDestroysTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","genDestroysTG"],0),%noValue,"",-1); + + %line = "Outdoor Turret Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","outdoorDepTurretKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","outdoorDepTurretKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Gens Repairs"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","genSolRepairsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","genSolRepairsTG"],0),%noValue,"",-1); + + %line = "Deploy Invy Use:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","depInvyUseTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","depInvyUseTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Indoor Turret Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","indoorDepTurretKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","indoorDepTurretKillsTG"],0),%noValue,"",-1); + + %line = "Inventorys Deployed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","InventoryDepTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","InventoryDepTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Outdoor Turret Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","outdoorDepTurretKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","outdoorDepTurretKillsTG"],0),%noValue,"",-1); + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","assistTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Deploy Invy Use:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","depInvyUseTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","depInvyUseTG"],0),%noValue,"",-1); + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","distMovTG"],0),%noValue," Km",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Inventorys Deployed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","InventoryDepTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","InventoryDepTG"],0),%noValue,"",-1); + + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","avgSpeedAvg"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Kill Assist:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","assistTG"],0),%noValue,"",-1); + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maxSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Distance Moved:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","distMovTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","distMovTG"],0),%noValue," Km",0); + + %line = "Sensors Deployed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","SensorsDepTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","SensorsDepTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - - %line = "Highest Avg Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","avgSpeedAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + + %line = "Shield Block Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","shieldPackDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","shieldPackDmgTG"],0),%noValue,"",2); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Highest Top Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","maxSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","maxSpeedMax"],0),%noValue," Kmh",0); + + %line = "Stealth Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","cloakerKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","cloakerKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Sensors Deployed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","SensorsDepTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","SensorsDepTG"],0),%noValue,"",-1); + + %line = "Cloakers Killed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","cloakersKilledTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","cloakersKilledTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Shield Block Damage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","shieldPackDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","shieldPackDmgTG"],0),%noValue,"",2); + + %line = "Sensor Jammer:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","jammerTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","jammerTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Stealth Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","cloakerKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","cloakerKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Cloakers Killed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","cloakersKilledTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","cloakersKilledTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Sensor Jammer:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","jammerTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","jammerTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - - - - - - - %line = "Flag Grabs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagGrabsTG"],0),%noValue,"",-1); + + + + + + + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagGrabsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Caps:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCapsTG"],0),%noValue,"",-1); + + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCapsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Grab Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","grabSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","grabSpeedMax"],0),%noValue," Kmh",1); + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","grabSpeedMax"],0),%noValue," Kmh",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Catch:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue," Sec",1); + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue," Sec",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Carrier Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","carrierKillsTG"],0),%noValue,"",-1); + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","carrierKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Defends:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagDefendsTG"],0),%noValue,"",-1); + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagDefendsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Escort Assists:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","escortAssists"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","escortAssists"],0),%noValue,"",-1); + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","escortAssists"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","escortAssists"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flags Thrown:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagTossTG"],0),%noValue,"",-1); + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagTossTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Returns:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagReturnsTG"],0),%noValue,"",-1); + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagReturnsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Concuss:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","concussFlagTG"],0),%noValue,"",-1); + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","concussFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Offensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","OffKillsTG"],0),%noValue,"",-1); + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","OffKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Defensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","DefKillsTG"],0),%noValue,"",-1); + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","DefKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Repairs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","repairsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","repairsTG"],0),%noValue,"",-1); + + %line = "Repairs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","repairsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","repairsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - - %line = "Destruction:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","destructionTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","destructionTG"],0),%noValue,"",-1); + + + %line = "Destruction:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","destructionTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","destructionTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Gens Destroyed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","genDestroysTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","genDestroysTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Gens Repairs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","genSolRepairsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","genSolRepairsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Gens Destroyed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","genDestroysTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","genDestroysTG"],0),%noValue,"",-1); + + %line = "Indoor Turret Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","indoorDepTurretKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","indoorDepTurretKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Gens Repairs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","genSolRepairsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","genSolRepairsTG"],0),%noValue,"",-1); + + %line = "Outdoor Turret Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","outdoorDepTurretKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","outdoorDepTurretKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Indoor Turret Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","indoorDepTurretKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","indoorDepTurretKillsTG"],0),%noValue,"",-1); + + %line = "Deploy Invy Use:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","depInvyUseTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","depInvyUseTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Outdoor Turret Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","outdoorDepTurretKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","outdoorDepTurretKillsTG"],0),%noValue,"",-1); + + %line = "Inventorys Deployed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","InventoryDepTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","InventoryDepTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Deploy Invy Use:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","depInvyUseTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","depInvyUseTG"],0),%noValue,"",-1); + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","assistTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Inventorys Deployed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","InventoryDepTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","InventoryDepTG"],0),%noValue,"",-1); + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","distMovTG"],0),%noValue," Km",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Kill Assist:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","assistTG"],0),%noValue,"",-1); + + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","avgSpeedAvg"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Distance Moved:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","distMovTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","distMovTG"],0),%noValue," Km",0); + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maxSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - - %line = "Highest Avg Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","avgSpeedAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + + %line = "Sensors Deployed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","SensorsDepTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","SensorsDepTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Highest Top Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","maxSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","maxSpeedMax"],0),%noValue," Kmh",0); + + %line = "Shield Block Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","shieldPackDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","shieldPackDmgTG"],0),%noValue,"",2); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Sensors Deployed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","SensorsDepTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","SensorsDepTG"],0),%noValue,"",-1); + + %line = "Stealth Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","cloakerKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","cloakerKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Shield Block Damage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","shieldPackDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","shieldPackDmgTG"],0),%noValue,"",2); + + %line = "Cloakers Killed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","cloakersKilledTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","cloakersKilledTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Stealth Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","cloakerKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","cloakerKillsTG"],0),%noValue,"",-1); + + %line = "Sensor Jammer:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","jammerTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","jammerTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %lineCountTeam2++; - - %line = "Cloakers Killed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","cloakersKilledTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","cloakersKilledTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %lineCountTeam2++; - - %line = "Sensor Jammer:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","jammerTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","jammerTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - - - - - + + + + + %lineCount++; %lineCount++; %lineCount++; @@ -17162,313 +18740,314 @@ function renderCTFMapTextTM(%id){ %damageValue = 420; %dist = 455; %distValue = 555; - %line = "Weapons"; + %line = "Weapons"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = "Kills"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "Kills"; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = "MidAirs"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "MidAirs"; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = "MA Distance"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "MA Distance"; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = "Damage"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "Damage"; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); %wepLineCount++; - - - %line = "Blaster"; + + + %line = "Blaster"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","blasterKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","blasterKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","blasterMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","blasterMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","blasterDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); %wepLineCount++; - - %line = "Plasma"; + + %line = "Plasma"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","plasmaKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","plasmaKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","plasmaDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); %wepLineCount++; - - %line = "Chaingun"; + + %line = "Chaingun"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","cgKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","cgKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","cgMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","cgMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","cgDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Spinfusor"; + %wepLineCount++; + + %line = "Spinfusor"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","discKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","discKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","discKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","discMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","discMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","discMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","discMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","discDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","discDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Grenade"; + %wepLineCount++; + + %line = "Grenade"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","grenadeKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","grenadeKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","grenadeKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","grenadeDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","grenadeDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Laser"; + %wepLineCount++; + + %line = "Laser"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","laserKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","laserKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","laserKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","laserKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","laserMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","laserMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","laserMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","laserMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","laserMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","laserMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","laserMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","laserMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","laserDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","laserDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","laserDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","laserDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; + %wepLineCount++; - %line = "Mortar"; + %line = "Mortar"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","mortarKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","mortarKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","mortarKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","mortarKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","mortarMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","mortarMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","mortarMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","mortarMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","mortarMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","mortarMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","mortarMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","mortarMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","mortarDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","mortarDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","mortarDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","mortarDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; + %wepLineCount++; - %line = "Missile"; + %line = "Missile"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","missileKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","missileKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","missileKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","missileKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","missileMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","missileMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","missileMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","missileMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","missileMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","missileMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","missileMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","missileMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","missileDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","missileDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","missileDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","missileDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; + %wepLineCount++; + - - %line = "Shock"; + %line = "Shock"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","shockKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","shockKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","shockKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","shockMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","shockMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","shockMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockMAHitDistMax"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","shockMAHitDistMax"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","shockDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","shockDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; %wepLineCount++; - %wepLineCount++; - + %justLeft3 = %justLeft2 + 320; - %nameAdjust = -15; - - %line = "Hand Grenade:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","hGrenadeKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","hGrenadeKillsTG"],0),0,"",-1); + %nameAdjust = -15; + + %line = "Hand Grenade:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","hGrenadeKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","hGrenadeKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - - %line = "Concuss Hits:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","concussHitTG"],0),0,"",-1); + + %line = "Concuss Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","concussHitTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - + %wepLineCount++; - - %line = "Mine:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","concussHitTG"],0),0,"",-1); + + %line = "Mine:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","concussHitTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - - %line = "Mine + Disc:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","minePlusDiscTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","minePlusDiscTG"],0),0,"",-1); + + %line = "Mine + Disc:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","minePlusDiscTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","minePlusDiscTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); %wepLineCount++; - - %line = "Satchel Charge:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","satchelKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","satchelKillsTG"],0),0,"",-1); + + %line = "Satchel Charge:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","satchelKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","satchelKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - - %line = "Sniper Head Shots:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","laserHeadShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","laserHeadShotTG"],0),0,"",-1); + + %line = "Sniper Head Shots:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","laserHeadShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","laserHeadShotTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); %wepLineCount++; - - %line = "ELF Usage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","elfShotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","elfShotsFiredTG"],0),0,"",-1); + + %line = "ELF Usage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","elfShotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","elfShotsFiredTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - - - %line = "Shock Rear Hits:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","shockRearShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","shockRearShotTG"],0),0,"",-1); + + + %line = "Shock Rear Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","shockRearShotTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); %wepLineCount++; + + - - - + %justLeft5 = 650; %justLeft6 = 650+320; - %nameAdjust = 0; - %nameAdjust2 = -15; - + %nameAdjust = 0; + %nameAdjust2 = -15; + %vc = 0; for(%a = 0; %a < $imgStatListCount && %vc < 28; %a++){ %var = $imgStatList[%a]; %name = hasValueC(getField($pugMapData[0,"name",%var],0),0,"",-1); %value = hasValueC(getField($pugMapData[0,"data",%var],0),0,"",1); - - if(%value){ + + if(%value){ if((%vc % 2) == 0){ - %line = getField($statsName[%var], 0) @ ":"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft5, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); - %line = %name; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 130); - %line = %value; + %line = getField($statsName[%var], 0) @ ":"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft5, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); + %line = %name; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 130); + %line = %value; schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); } else{ - %line = getField($statsName[%var], 0) @ ":"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft6, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); - %line = %name; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust2, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 130); - %line = %value; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); + %line = getField($statsName[%var], 0) @ ":"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft6, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); + %line = %name; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust2, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 130); + %line = %value; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); %vehLineCount++; } %vc++; } } - + if(%id $= "") return; %img = new fileObject(); + RootGroup.add(%img); %img.openForWrite("serverStats/statsImg/" @ %id @ ".ppm"); %img.x = %sizeX; %img.y = %sizeY; @@ -17478,39 +19057,39 @@ function renderCTFMapTextTM(%id){ %img.yc = 0; %img.py = 0; %img.pct = 0; - schedule(%callTime * %callCount++, 0, "pugImgCycle",%img); -} + schedule(%callTime * %callCount++, 0, "pugImgCycle",%img); +} function pugImgCycle(%img){ %pct = mFloor((%img.yc / %img.y) * 100); if(%pct != %img.pct){ if($dtStats::debugEchos){error("pugImgCycle Saving Stats image" SPC %pct @ "%");} %img.pct = %pct; } - + %y = %img.yc; for (%x = 0; %x < %img.x; %x++) { - %color = "0 0 0"; - if(%x >= 48 && %x <= 1235+20 && %y >= 47 && %y <= %img.y -20){ + %color = "20 45 45"; + if(%x >= 48 && %x <= 1235+20 && %y >= 47 && %y <= %img.y -20){ if(%x >= %img.x/2 && %y < 780) %color = "33 86 96"; - else if(%x <= %img.x/2 && %y < 780) + else if(%x <= %img.x/2 && %y < 780) %color = "29 74 82"; - else + else %color = "21 55 61"; } - + if(isInsideBorderO(%img, %x-1, %y-5, 26, 21, 15)){ - %color = "0 118 118"; - %color = lerpColor("0 0 0", %color, (%img.yc / %img.y)*1.5); + %color = "0 118 118"; + %color = lerpColor("20 45 45", %color, (%img.yc / %img.y)*1.5); } if(isInsideBorderO(%img, %x-1, %y-5, 42, 37, 4)){ - %color = "0 150 160"; - %color = lerpColor(%color, "0 0 0", (%img.yc / %img.y) * 0.25); + %color = "0 150 160"; + %color = lerpColor(%color, "20 45 45", (%img.yc / %img.y) * 0.25); } %fd = $textColor[%x,%y]; if(getWord(%fd,0) > 0){ - %opacity = 1 - (getWord(%fd,0) / 255); + %opacity = 1 - (getWord(%fd,0) / 255); %r = mFloor((1 - %opacity) * getWord(%fd,1) + %opacity * getWord(%color,0)); %g = mFloor((1 - %opacity) * getWord(%fd,2) + %opacity * getWord(%color,1)); %b = mFloor((1 - %opacity) * getWord(%fd,3) + %opacity * getWord(%color,2)); @@ -17518,17 +19097,17 @@ function pugImgCycle(%img){ } else{ %img.writeLine(%color); - } + } } %img.yc++; - if(%img.yc < %img.y) + if(%img.yc < %img.y) schedule(16,0,"pugImgCycle",%img); else{ %img.close(); - %img.delete(); + %img.delete(); deleteVariables("$textColor*"); compileGameImage($idPugIndex++); - } + } } function pugImgCycle2(%img){ %pct = mFloor((%img.yc / %img.y) * 100); @@ -17536,34 +19115,34 @@ function pugImgCycle2(%img){ if($dtStats::debugEchos){error("pugImgCycle Saving Stats image" SPC %pct @ "%");} %img.pct = %pct; } - + %y = %img.yc; for (%x = 0; %x < %img.x; %x++) { - %color = "0 0 0"; - if(%x >= 48 && %x <= 1235+20 && %y >= 47 && %y <= %img.y -20){ + %color = "20 45 45"; + if(%x >= 48 && %x <= 1235+20 && %y >= 47 && %y <= %img.y -20){ if(%x >= %img.x/2 && %y < 780) %color = "33 86 96"; - else if(%x <= %img.x/2 && %y < 780) + else if(%x <= %img.x/2 && %y < 780) %color = "29 74 82"; - else + else %color = "21 55 61"; } - + if(isInsideBorderO(%img, %x-1, %y-5, 26, 21, 15)){ - %color = "0 118 118"; - %color = lerpColor("0 0 0", %color, (%img.yc / %img.y)*1.5); + %color = "0 118 118"; + %color = lerpColor("20 45 45", %color, (%img.yc / %img.y)*1.5); } if(isInsideBorderO(%img, %x-1, %y-5, 42, 37, 4)){ - %color = "0 150 160"; - %color = lerpColor(%color, "0 0 0", (%img.yc / %img.y) * 0.25); + %color = "0 150 160"; + %color = lerpColor(%color, "20 45 45", (%img.yc / %img.y) * 0.25); } if(%x > 355 && %y > 633 && %x < 950 && %y < 764){ - + } %fd = $textColor[%x,%y]; if(getWord(%fd,0) > 0){ - %opacity = 1 - (getWord(%fd,0) / 255); + %opacity = 1 - (getWord(%fd,0) / 255); %r = mFloor((1 - %opacity) * getWord(%fd,1) + %opacity * getWord(%color,0)); %g = mFloor((1 - %opacity) * getWord(%fd,2) + %opacity * getWord(%color,1)); %b = mFloor((1 - %opacity) * getWord(%fd,3) + %opacity * getWord(%color,2)); @@ -17571,17 +19150,17 @@ function pugImgCycle2(%img){ } else{ %img.writeLine(%color); - } + } } %img.yc++; - if(%img.yc < %img.y) + if(%img.yc < %img.y) schedule(16,0,"pugImgCycle",%img); else{ %img.close(); - %img.delete(); + %img.delete(); deleteVariables("$textColor*"); compileGameImage($idPugIndex++); - } + } } //////////////////////////////////////////////////////////////////////////////// @@ -17590,26 +19169,27 @@ function dtBuildMissionList(%reset){ ML.delete(); } if(isFile("serverStats/mapRot.cs") && !%reset){ - exec("serverStats/mapRot.cs"); + exec("serverStats/mapRot.cs"); RootGroup.add(ML); } if(!isObject(ML)){ - new simGroup(ML); + new simGroup(ML); RootGroup.add(ML); ML.curMapList = 0; } %search = "missions/*.mis"; %fobject = new FileObject(); + RootGroup.add(%fobject); for( %file = findFirstFile( %search ); %file !$= ""; %file = findNextFile( %search ) ){ %fileName = fileBase( %file ); // get the name - %name = cleanMapName(%fileName); - if(!isObject(%name)){ + %name = cleanMapName(%fileName); + if(!isObject(%name)){ if ( !%fobject.openForRead( %file ) ) - continue; + continue; %mObj = new scriptObject(%name){ file = %fileName; - name = %name; - }; + name = %name; + }; %typeList = "None"; while ( !%fobject.isEOF() ){ @@ -17623,14 +19203,14 @@ function dtBuildMissionList(%reset){ } } %fobject.close(); - + // Don't include single player missions: if ( strstr( %typeList, "SinglePlayer" ) != -1 || (strstr( %typeList, "TR2" ) != -1 && !$Host::ClassicLoadTR2Gametype)){ %mObj.delete(); continue; } - - + + %mObj.typeList = %typeList; for( %word = 0; ( %misType = strlwr(getWord( %typeList, %word )) ) !$= ""; %word++ ){ @@ -17641,36 +19221,36 @@ function dtBuildMissionList(%reset){ ML.TypeCount++; ML.TypeName[%i] = %misType; ML.TypeIndex[%misType] = %i; - } + } %mObj.typeList[%misType] = 1; //%mObj.typeList = (%i == 0) ? ML.TypeIndex[%misType] : (%mObj.typeList SPC ML.TypeIndex[%misType]); - // enable 0 voteOption 1 min 2 max 3 prio 4 week 5 weekBitAsk 6 monthRes 7 monthBitMask 8 eventMap 9 hour 10 min 11 month 12 day 13 year 14 eventSwitch 15 eventTime 16; - %mObj.typeOptions[%misType,0] = 0 TAB 0 TAB 0 TAB 64 TAB 3 TAB 0 TAB "1000000" TAB 0 TAB "1000000000000000000000000000000" TAB 0 TAB 12 TAB 60 TAB 28 TAB 12 TAB 2024 TAB 0 TAB 60; - %mObj.typeOptions[%misType,1] = 0 TAB 0 TAB 0 TAB 64 TAB 3 TAB 0 TAB "1000000" TAB 0 TAB "1000000000000000000000000000000" TAB 0 TAB 12 TAB 60 TAB 28 TAB 12 TAB 2024 TAB 0 TAB 60; - %mObj.typeOptions[%misType,2] = 0 TAB 0 TAB 0 TAB 64 TAB 3 TAB 0 TAB "1000000" TAB 0 TAB "1000000000000000000000000000000" TAB 0 TAB 12 TAB 60 TAB 28 TAB 12 TAB 2024 TAB 0 TAB 60; + // enable 0 voteOption 1 min 2 max 3 prio 4 week 5 weekBitAsk 6 monthRes 7 monthBitMask 8 eventMap 9 hour 10 min 11 month 12 day 13 year 14 eventSwitch 15 eventTime 16 unsued 17 + %mObj.typeOptions[%misType,0] = 0 TAB 0 TAB 0 TAB 64 TAB 3 TAB 0 TAB "1000000" TAB 0 TAB "1000000000000000000000000000000" TAB 0 TAB 12 TAB 60 TAB 28 TAB 12 TAB 2024 TAB 0 TAB 60 TAB 0; + %mObj.typeOptions[%misType,1] = 0 TAB 0 TAB 0 TAB 64 TAB 3 TAB 0 TAB "1000000" TAB 0 TAB "1000000000000000000000000000000" TAB 0 TAB 12 TAB 60 TAB 28 TAB 12 TAB 2024 TAB 0 TAB 60 TAB 0; + %mObj.typeOptions[%misType,2] = 0 TAB 0 TAB 0 TAB 64 TAB 3 TAB 0 TAB "1000000" TAB 0 TAB "1000000000000000000000000000000" TAB 0 TAB 12 TAB 60 TAB 28 TAB 12 TAB 2024 TAB 0 TAB 60 TAB 0; } ML.add(%mObj); } } %fobject.delete(); - + $dtFixedMapCycle = 0; for ( %i = 0; %i < ML.TypeCount; %i++ ){ $dtFixedMapCount[ ML.TypeName[%i]] = 0; } if(isFile("serverStats/fixMapRot.cs") && !%reset){ - exec("serverStats/fixMapRot.cs"); - } - + exec("serverStats/fixMapRot.cs"); + } + for ( %i = 0; %i < ML.getCount(); %i++ ){// cleanup %mapObj = ML.getObject(%i); if(!isFile("missions/"@ %mapObj.file @".mis")){ - %mapObj.delete(); + %mapObj.delete(); %i--; } } - + if(!isEventPending($saveML)){ $saveML = ML.schedule(2000,"save", "serverStats/mapRot.cs" , 0); ML.schedule(1000,"save", "serverStats/mapRotBackup.cs" , 0); @@ -17679,20 +19259,20 @@ function dtBuildMissionList(%reset){ function saveMapRot(){ if(!isEventPending($saveML)) - $saveML = ML.schedule(1000,"save", "serverStats/mapRot.cs" , 0); + $saveML = ML.schedule(1000,"save", "serverStats/mapRot.cs" , 0); if(!isEventPending($saveMR)) $saveMR = schedule(2000, 0, "export", "$dtFixedMap*", "serverStats/fixMapRot.cs", false ); } function eventGameStart(%time){ Game.gameOver(); - CycleMissions(); + CycleMissions(); } function mapEventCheck(){ - //if(%event && getField(%ms,0)){//eventMap 9 hour 10 min 11 month 12 day 13 year 14; + //if(%event && getField(%ms,0)){//eventMap 9 hour 10 min 11 month 12 day 13 year 14; //$dtEventMap[$dtEventMapCount] = (%event == 3) TAB %mapObj.file TAB %gameType TAB getFields(%ms,10,14); - //$dtEventMapCount++; + //$dtEventMapCount++; //} %time = formattimestring("H\tn\td\tm\tyy"); for(%i = 0; %i < $dtEventMapCount; %i++){ @@ -17707,14 +19287,14 @@ function mapEventCheck(){ deleteVariables("$HostMission*"); deleteVariables("$HostType*"); if(getField(%fields,0)){// next map - messageAll('MsgEventMap', '\c2 The next map will be %1 do to a scheduled event, map voteing has been diabled~wfx/misc/hunters_horde.wav',%mapObj.name); + messageAll('MsgEventMap', '\c2 The next map will be %1 do to a scheduled event, map voteing has been diabled~wfx/misc/hunters_horde.wav',%mapObj.name); $dtEventMap = %mapObj TAB %mapType TAB getField(%fields,1); $dtEventMapOldTime = $Host::TimeLimit; $dtEventMapOldType = $CurrentMissionType; } - else{// force change + else{// force change %min = 5; - messageAll('MsgEventMap', '\c2 Do to a sheduled event, the sever will force change to %1 in %2 min, map voteing has been diabled~wfx/misc/hunters_horde.wav',%mapObj.name,%min); + messageAll('MsgEventMap', '\c2 Do to a sheduled event, the sever will force change to %1 in %2 min, map voteing has been diabled~wfx/misc/hunters_horde.wav',%mapObj.name,%min); schedule(60000*%min, 0, "eventGameStart",getField(%fields,1)); %ms = $Host::TimeLimit * 60 * 1000; $missionStartTime = getSimTime() - (%ms - (60000*%min)); @@ -17735,7 +19315,7 @@ function pushMissionList(){ deleteVariables("$HostType*"); deleteVariables("$dtEventMap*"); $dtEventMapCount = 0; - if(ML.curMapList == 3){// Fixed rotation list + if(ML.curMapList == 3){// Fixed rotation list for(%x = 0; %x < ML.TypeCount; %x++){ %gameType = ML.TypeName[%x]; for(%i = 0; %i < $dtFixedMapCount[strlwr(%gameType)]; %i++){ @@ -17793,12 +19373,12 @@ function pushMissionList(){ if(isFile("missions/"@ %mapObj.file @".mis")){ for( %w = 0; ( %gameType = getWord( %mapObj.typeList, %w ) ) !$= ""; %w++ ){ %ms = %mapObj.typeOptions[strlwr(%gameType), ML.curMapList]; - - if(getField(%ms,9) && getField(%ms,0)){//eventMap 9 hour 10 min 11 month 12 day 13 year 14; + + if(getField(%ms,9) && getField(%ms,0)){//eventMap 9 hour 10 min 11 month 12 day 13 year 14; $dtEventMap[$dtEventMapCount] = getField(%ms,15) TAB getField(%ms,16) TAB %mapObj TAB %gameType TAB getFields(%ms,10,14); - $dtEventMapCount++; + $dtEventMapCount++; } - + if(getField(%ms,0) && getField(%ms,1) != 2){ %found = false; for (%mis = 0; %mis < $HostMissionCount; %mis++){ @@ -17850,33 +19430,33 @@ function pushMissionList(){ package dtMapRotation{ function loadMission( %missionName, %missionType, %firstMission ){ parent::loadMission( %missionName, %missionType, %firstMission ); - + %cName = cleanMapName(%missionName); if(ML.curMapList != 3){ $dtMapPlayed[$CurrentMissionType,%cName] = 1; if(ML.saveMapPlayed && !isEventPending($saveMapRot)){ $saveMapRot = schedule(15000, 0, "export", "$dtMapPlayed*", "serverStats/mapPlayRot.cs", false ); } - } + } else if(ML.curMapList == 3){ if(!$dtMissionCycle){//map did not cycle lets update are pointer; %mapCount = $dtFixedMapCount[strlwr(%missionType)]; for(%i = 0; %i < %mapCount; %i++){ - %mn = getField($dtFixedMapList[%i, strlwr(%missionType)],0); + %mn = getField($dtFixedMapList[%i, strlwr(%missionType)],0); if(%mn $= %missionName){ $dtFixedMapCycle = (%i + 1) % %mapCount; error("TEST" SPC %missionName); if(!isEventPending($saveMR)){ $saveMR = schedule(15000, 0, "export", "$dtFixedMap*", "serverStats/fixMapRot.cs", false ); - } + } break; } } - } + } } $dtMissionCycle = 0; } - + function CycleMissions(){ $dtMissionCycle = 1; if(!ML.enable){ @@ -17897,7 +19477,7 @@ package dtMapRotation{ $Host::TimeLimit = $dtEventMapOldTime; $CurrentMissionType = $dtEventMapOldType; $lastMapEvent = 0; - buildMissionList();// rebuild vote list + buildMissionList();// rebuild vote list } if(Game.scheduleVote !$= "") // a vote is still running, stop it stopCurrentVote(); @@ -17918,10 +19498,10 @@ package dtMapRotation{ pushMissionList(); } else{ - parent::buildMissionList(); + parent::buildMissionList(); } } - + }; if (!isActivePackage(dtMapRotation)){ @@ -17943,32 +19523,32 @@ function dtNextMission(%gameType){ } return getField(%missionName,0); } - + %gindex = ML.TypeIndex[%gameType]; %plrCount = ClientGroup.getCount(); %mapListA = 0; %mapListB = 0; %mapListF = 0; - %prioA = 0; - %prioB = 0; + %prioA = 0; + %prioB = 0; %wIndex["Sun"] = 0;%wIndex["Mon"] = 1;%wIndex["Tue"] = 2;%wIndex["Wed"] = 3;%wIndex["Thu"] = 5;%wIndex["Fri"] = 5;%wIndex["Sat"] = 6; for ( %i = 0; %i < ML.getCount(); %i++ ){ %mapObj = ML.getObject(%i); - // enable 0 voteonly 1 min 2 max 3 prio 4 week 5 weekBitMask 6 monthRes 7 monthBitMask 8 eventMap 9 hour 10 min 11 month 12 day 13 year 14; + // enable 0 voteonly 1 min 2 max 3 prio 4 week 5 weekBitMask 6 monthRes 7 monthBitMask 8 eventMap 9 hour 10 min 11 month 12 day 13 year 14; %options = %mapObj.typeOptions[%gameType,ML.curMapList]; %cName = cleanMapName(%mapObj.file); if(getField(%options,0) && getField(%options,1) != 1){ // enable and voteonly check if(!$dtMapPlayed[%gameType,%cName]){ - if(%plrCount >= getField(%options,2) && %plrCount <= getField(%options,3) || (%plrCount > 64 && getField(%options,2) > 32)){// min max player + if(%plrCount >= getField(%options,2) && %plrCount <= getField(%options,3) || (%plrCount > 64 && getField(%options,2) > 32)){// min max player if(getField(%options,5)){// week limits - %dindex = %wIndex[formattimestring("D")]; + %dindex = %wIndex[formattimestring("D")]; if(getSubStr(getField(%options,6),%dindex,1) == 1){ %prio += getField(%options,4); %mapList[%mapListA] = %mapObj; %mapListA++; } - } + } else if(getField(%options,7)){ // month limits if(getSubStr(getField(%options,8),formattimestring("m")-1,1) == 1){ %prioA += getField(%options,4); @@ -17982,15 +19562,15 @@ function dtNextMission(%gameType){ %mapListA++; } } - else{// does not fit are min max condition + else{// does not fit are min max condition if(getField(%options,5)){ - %dindex = %wIndex[formattimestring("D")]; + %dindex = %wIndex[formattimestring("D")]; if(getSubStr(getField(%options,6),%dindex,1) == 1){ %prioB += getField(%options,4); %outlier[%mapListB] = %mapObj; %mapListB++; } - } + } else if(getField(%options,7)){ if(getSubStr(getField(%options,8),formattimestring("m")-1,1) == 1){ %prioB += getField(%options,4); @@ -18012,7 +19592,7 @@ function dtNextMission(%gameType){ } } } - + if(%mapListA){ // min max list %randomNum = getRandom() * %prioA; %weight = 0; @@ -18023,9 +19603,9 @@ function dtNextMission(%gameType){ return %mapObj.file; } } - return %mapList[getRandom(0, %mapListA-1)].file; + return %mapList[getRandom(0, %mapListA-1)].file; } - if(%mapListB){// Fail safe list + if(%mapListB){// Fail safe list deleteVariables("$dtMapPlayed*"); %random = getRandom() * %prioB; %weight = 0; @@ -18038,7 +19618,7 @@ function dtNextMission(%gameType){ } return %outlier[getRandom(0, %mapListB-1)].file; } - if(%mapListF){// Fail safe list + if(%mapListF){// Fail safe list error("Ran out of valid maps using fail safe list, add more maps for the system to pick from"); deleteVariables("$dtMapPlayed*"); return %failSafe[getRandom(0, %mapListF-1)].file; @@ -18085,9 +19665,9 @@ function mapCyleTest(){ if(ML.curMapList != 3){ $dtMapPlayed[$CurrentMissionType,%cName] = 1; error(%cName); - } + } else{ - error("Mode 0" SPC %cName); + error("Mode 0" SPC %cName); } } @@ -18371,34 +19951,34 @@ function mapCyleTest(){ // Added a check to prevent stats building during tournament mode or games with more than 6 players. // Big stats generation outputs a ppm image file of the monthly stats. CTF/LCTF only // Removed stats that are unused, uninteresting, or confusing. -// Server Admin Panel rework. -// Added Custom map rotatons -// Convert TTL type stats to TG,for tournament stats +// Server Admin Panel rework. +// Added Custom map rotatons +// Convert TTL type stats to TG,for tournament stats // Added custom two team debrief as well as a evo style extended stats // Reworked enable disable, only disables stats saving and stats access, do to systems relying on systems // // 10.1 - 10.2 - 10.3 -// Ban system changes +// Ban system changes // Fix bad loop in ban system // Misc arena things -// Added LCTF Naming +// Added LCTF Naming // serverPrefs Support //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////Storage///////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// -//function testVarsRandomAll(%max){ - //%game = Game.class; - //for(%q = 0; %q < $statsVars::count[%game]; %q++){ - //%varNameType = $statsVars::varNameType[%q,%game]; - //%varName = $statsVars::varName[%q,%game]; - //for(%i = 0; %i < ClientGroup.getCount(); %i++){ - //%client = ClientGroup.getObject(%i); - //%val = getRandom(0,%max); - //%client.dtStats.stat[%varName] = %val; - //dtMinMax(%varName, "wep", 1, %val, %client); - //dtMinMax(%varName, "flag", 1, %val, %client); - //dtMinMax(%varName, "misc", 1, %val, %client); - //} - //} -//} \ No newline at end of file +function testVarsRandomAll(%max){ + %game = Game.class; + for(%q = 0; %q < $statsVars::count[%game]; %q++){ + %varNameType = $statsVars::varNameType[%q,%game]; + %varName = $statsVars::varName[%q,%game]; + for(%i = 0; %i < ClientGroup.getCount(); %i++){ + %client = ClientGroup.getObject(%i); + %val = getRandom(0,%max); + %client.dtStats.stat[%varName] = %val; + dtMinMax(%varName, "wep", 1, %val, %client); + dtMinMax(%varName, "flag", 1, %val, %client); + dtMinMax(%varName, "misc", 1, %val, %client); + } + } +} \ No newline at end of file From 827261ee7a5698d563bd031deb0d0d14ba894445 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 8 Feb 2025 14:34:31 -0500 Subject: [PATCH 05/60] Lak OOB Anti-Run --- Classic/scripts/LakRabbitGame.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Classic/scripts/LakRabbitGame.cs b/Classic/scripts/LakRabbitGame.cs index c7c9e5c..e7cfe1d 100644 --- a/Classic/scripts/LakRabbitGame.cs +++ b/Classic/scripts/LakRabbitGame.cs @@ -2188,8 +2188,16 @@ function plzBounceOffGrid(%obj, %bounceForce, %count) %vec = VectorNormalize(%vec); %vec = VectorScale(%vec, 25); } - else if (%oldSpeed < 60) //Max speed a boost gets applied to a bounce: Added so runners cant abuse - %vec = VectorScale(%vec, 1.15); + else if (%oldSpeed < 75) //Max speed a boost gets applied to a bounce: Added so runners cant abuse //was 60 + %vec = VectorScale(%vec, 0.95); //was 1.15 + else if (%oldSpeed < 100) //Slow down runners + %vec = VectorScale(%vec, 0.85); + else if (%oldSpeed < 125) //Slow down runners + %vec = VectorScale(%vec, 0.75); + else if (%oldSpeed < 150) //Slow down runners + %vec = VectorScale(%vec, 0.65); + else if (%oldSpeed > 175) //Slow down runners + %vec = VectorScale(%vec, 0.55); // apply the impulse to the object //%obj.applyImpulse(%obj.getWorldBoxCenter(), %vec); From d252b2cd80150d264b6482943b3c4be31c320c56 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 8 Feb 2025 15:01:11 -0500 Subject: [PATCH 06/60] Update MapRotation.cs --- Classic/prefs/MapRotation.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Classic/prefs/MapRotation.cs b/Classic/prefs/MapRotation.cs index 7e32180..3cb786d 100644 --- a/Classic/prefs/MapRotation.cs +++ b/Classic/prefs/MapRotation.cs @@ -373,6 +373,8 @@ addRotationMap("WhiteDwarfDeluxe", "CTF",1,0,-1,14); addRotationMap("SmallSpit", "CTF",1,1,-1,20); addRotationMap("MisadventureV2", "CTF",1,1,12,28); addRotationMap("El_Fin", "CTF",1,1,-1,14); +addRotationMap("HogansRun24", "CTF",1,0,-1,14); +addRotationMap("SignalDX", "CTF",1,0,8,24); // _ _ _ _ _ _ // | | | | | | | | (_) | @@ -530,6 +532,7 @@ addRotationMap("SuperiorWaterworks", "LCTF",1,0,-1,12); addRotationMap("FrozenForgeLT", "LCTF",1,1,-1,20); addRotationMap("TWL2_CelerityLT", "LCTF",1,1,-1,20); addRotationMap("El_Fin", "LCTF",1,1,-1,14); +addRotationMap("CapriLT", "LCTF",1,1,-1,14); // _____ _ _ _ _ From 0971369060f57f091ab4a64ecce299710c3cfc21 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 15 Feb 2025 10:46:54 -0500 Subject: [PATCH 07/60] Loops Crash Fix --- Classic/scripts/autoexec/MemPatches.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Classic/scripts/autoexec/MemPatches.cs b/Classic/scripts/autoexec/MemPatches.cs index f638eb4..ea21e3f 100644 --- a/Classic/scripts/autoexec/MemPatches.cs +++ b/Classic/scripts/autoexec/MemPatches.cs @@ -52,6 +52,8 @@ function serverCmd(%client) //Disable UE box on crash //Used if a clean crash is desired //memPatch("7dc7fc","90"); +//Loops Crash patch (Prevent the Uncaught Exception dialog from appearing) +//memPatch("006ff376", "909090909090"); //Show Linux Icon in server list //memPatch("5C9628","80CB05"); From 6af8009735523e3610c3917df038d5f3500e1192 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 15 Feb 2025 10:47:03 -0500 Subject: [PATCH 08/60] Update flagTunnelingFix.cs --- Classic/scripts/autoexec/flagTunnelingFix.cs | 271 +++++++++---------- 1 file changed, 121 insertions(+), 150 deletions(-) diff --git a/Classic/scripts/autoexec/flagTunnelingFix.cs b/Classic/scripts/autoexec/flagTunnelingFix.cs index 3a1d66b..e8fa9ec 100644 --- a/Classic/scripts/autoexec/flagTunnelingFix.cs +++ b/Classic/scripts/autoexec/flagTunnelingFix.cs @@ -1,73 +1,68 @@ -//Fixes for collision tunneling and other issues, note only tested in classic +//Fixes for collision tunneling and other issues, note only tested in classic //Script By:DarkTiger -//v3.4 switch over to using SAT/OBB for hitbox detection accuracy, also heavy optimizations becuase of this change +//v3.7 - removed bypass code +//v3.6 - lctf and SCtFGame +//v3.5 - tweaks +//v3.4 - switch over to using SAT/OBB for hitbox detection accuracy, also heavy optimizations becuase of this change //v3.3 - fixed ceiling deadstoping,fixed wall and ceiling tunneling $antiObjTunnel //V3.2 - script refactor, removed flag sim in favor of just an offset on toss - -$ftEnable = 1;//disables all + +$ftEnable = 1;//disables all $limitFlagCalls = 1; // prevents frame perfect events witch can cause bad outcomes $antiCeiling = 1; // note this is auto enabled with $boxStuckFix as it needs to check for this $antiObjTunnel = 0;//prevents terrain and interior tunneling more thigns can be added see first part of DefaultGame::flagColTest $antiFlagImpluse = 1000;//time out period to prevent explosions from effecting flags on drop/toss -$boxStuckFix = 1;// enables flag offset, spawns the flag outside of the player to keep it from getting stuck -$flagOffset = 1;// how far to offset the flag 1m seems like it works 90% of the time +$boxStuckFix = 1;// enables flag offset, spawns the flag outside of the player to keep it from getting stuck +$flagOffset = 1;// how far to offset the flag 1m seems like it works 90% of the time // adds initial update to setVelocity and setTransform to updates its parameters across clients -//enable $flagResetTime with setting it to 5000 if you disable a mempatch - -//expermental flag static fix +//enable $flagResetTime with setting it to 5000 if you disable a mempatch + +//expermental flag static fix //memPatch("60456c","11000018");//transform memPatch("6040ff","01"); //setVelocity -$flagResetTime = 0;// 1000-5000 if you want this feature enabled, resets flag to stand in case of desync should not be needed +$flagResetTime = 0;// 1000-5000 if you want this feature enabled, resets flag to stand in case of desync should not be needed -//best to leave these values alone unless you understand what the code is doing -$flagSimTime = 64;//note a higher the time, the larger the sweep scans will be -$flagCheckRadius = 50; +//best to leave these values alone unless you understand what the code is doing +$flagSimTime = 64;//note a higher the time, the larger the sweep scans will be +$flagCheckRadius = 50; $playerSizeBox = "1.2 1.2 2.3"; $flagBoxSize = "0.796666 0.139717 2.46029"; //0 = old AABB method uses fixed box size makes the player bit narrow //1 = new OBB method uses perfect box intersection -//2 = AABB method but uses boundbox can make the player larger then it is given there direction -//3 = AABB fixed sizes uses $playerSizeBox and $flagBoxSize to do the box checking +//2 = AABB method but uses boundbox can make the player larger then it is given there direction +//3 = AABB fixed sizes uses $playerSizeBox and $flagBoxSize to do the box checking $boxCollision = 1;// off is the old AABB method aka the old method -$flagColBypass = 0;//bypass all other collision methods other then this one package flagFix{ - //because the fade is 2000ms we can compensate the delayed reset not to mess with client timers - function Flag::onCollision(%data,%obj,%col){ - if(!$flagColBypass){ - parent::onCollision(%data,%obj,%col); - } - } - function ShapeBase::throwObject(%this,%obj){ parent::throwObject(%this,%obj); %data = %obj.getDatablock(); if($ftEnable && %data.getName() $= "Flag"){ - %tpos = %obj.getTransform(); - %fpos = getWords(%tpos,0, 2); + %tpos = %obj.getTransform(); + %fpos = getWords(%tpos,0, 2); %obj.dtLastPos = %fpos; %vel = %obj.getVelocity(); %posOffset = VectorAdd(%fpos, VectorScale(VectorNormalize(%vel), 2)); - + if($antiCeiling){//flag height 2.46029 - //0.1 offset any fp errors with the flag position being at ground level, 2.4 offset flag height offset + some extra + //0.1 offset any fp errors with the flag position being at ground level, 2.4 offset flag height offset + some extra %upRay = containerRayCast(vectorAdd(%fpos,"0 0 0.1"), vectorAdd(%fpos,"0 0 2.5"), $TypeMasks::InteriorObjectType | $TypeMasks::StaticTSObjectType | $TypeMasks::ForceFieldObjectType, %obj); if(%upRay){ %obj.setTransform(vectorSub(%this.getPosition(),"0 0" SPC 0.3) SPC getWords(%this.getTransform(),3,6)); %obj.setVelocity(getWords(%vel,0,1) SPC 0); - } - } + } + } if($boxStuckFix && !%upRay){ %wallMask = $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::StaticObjectType | $TypeMasks::ForceFieldObjectType | $TypeMasks::VehicleObjectType; %wallRay = containerRayCast(%fpos, %posOffset, %wallMask, %obj); - + %fwoPos = VectorAdd(%fpos, VectorScale(VectorNormalize(%vel), $flagOffset)); - + %upRay = containerRayCast(vectorAdd(%fwoPos,"0 0 0.1"), vectorAdd(%fwoPos,"0 0 2.5"), $TypeMasks::InteriorObjectType | $TypeMasks::StaticTSObjectType | $TypeMasks::ForceFieldObjectType, %obj); - + if(!%wallRay){// make sure we dont end up in a wall if(!%upRay){ %obj.setTransform(%fwoPos SPC getWords(%this.getTransform(),3,6)); @@ -76,7 +71,7 @@ package flagFix{ } } } - } + } function CTFGame::startMatch(%game){ parent::startMatch(%game); @@ -87,6 +82,15 @@ package flagFix{ } } + function LCTFGame::startMatch(%game){ + parent::startMatch(%game); + if(!isEventPending(Game.flagLoop)){ + $TeamFlag[1].resetTime = 0; + $TeamFlag[2].resetTime = 0; + %game.atHomeFlagLoop(); + } + } + function SCtFGame::startMatch(%game){ parent::startMatch(%game); if(!isEventPending(Game.flagLoop)){ @@ -95,7 +99,7 @@ package flagFix{ %game.atHomeFlagLoop(); } } - + function PracticeCTFGame::startMatch(%game){ parent::startMatch(%game); if(!isEventPending(Game.flagLoop)){ @@ -109,60 +113,77 @@ package flagFix{ function CTFGame::playerTouchFlag(%game, %player, %flag){ if(%flag.lastFlagCallms > 0 && $limitFlagCalls){ %timeDif = getSimTime() - %flag.lastFlagCallms; - if(%timeDif < 32){ - return; + if(%timeDif < 32){ + return; } } %flag.lastFlagCallms = getSimTime(); parent::playerTouchFlag(%game, %player, %flag); } - + + function LCTFGame::playerTouchFlag(%game, %player, %flag){ + if(%flag.lastFlagCallms > 0 && $limitFlagCalls){ + %timeDif = getSimTime() - %flag.lastFlagCallms; + if(%timeDif < 32){ + return; + } + } + %flag.lastFlagCallms = getSimTime(); + parent::playerTouchFlag(%game, %player, %flag); + } + function SCtFGame::playerTouchFlag(%game, %player, %flag){ if(%flag.lastFlagCallms > 0 && $limitFlagCalls){ %timeDif = getSimTime() - %flag.lastFlagCallms; if(%timeDif < 32){ - return; + return; } } %flag.lastFlagCallms = getSimTime(); parent::playerTouchFlag(%game, %player, %flag); } - + function PracticeCTFGame::playerTouchFlag(%game, %player, %flag){ if(%flag.lastFlagCallms > 0 && $limitFlagCalls){ %timeDif = getSimTime() - %flag.lastFlagCallms; if(%timeDif < 32){ - return; + return; } } %flag.lastFlagCallms = getSimTime(); parent::playerTouchFlag(%game, %player, %flag); } - + function CTFGame::playerDroppedFlag(%game, %player){ %flag = %player.holdingFlag; %flag.lastDropTime = getSimTime(); parent::playerDroppedFlag(%game, %player); } - + + function LCTFGame::playerDroppedFlag(%game, %player){ + %flag = %player.holdingFlag; + %flag.lastDropTime = getSimTime(); + parent::playerDroppedFlag(%game, %player); + } + function SCtFGame::playerDroppedFlag(%game, %player){ %flag = %player.holdingFlag; %flag.lastDropTime = getSimTime(); parent::playerDroppedFlag(%game, %player); } - + function PracticeCTFGame::playerDroppedFlag(%game, %player){ %flag = %player.holdingFlag; %flag.lastDropTime = getSimTime(); parent::playerDroppedFlag(%game, %player); } - + function Flag::shouldApplyImpulse(%data, %obj){ - %val = parent::shouldApplyImpulse(%data, %obj); + %val = parent::shouldApplyImpulse(%data, %obj); if(%val && $antiFlagImpluse > 0 && %obj.lastDropTime > 0){ %time = getSimTime() - %obj.lastDropTime; if(%time < $antiFlagImpluse){ - %val = 0; + %val = 0; } } return %val; @@ -170,47 +191,15 @@ package flagFix{ }; activatePackage(flagFix); -function FlagCollision(%data,%obj,%col){ - if($flagColBypass){ - if (%col.getDataBlock().className $= Armor) - { - if (%col.isMounted()) - return; - - // z0dd - ZOD, 6/13/02. Touch the flag and your invincibility and cloaking goes away. - if(%col.station $= "" && %col.isCloaked()) - { - if( %col.respawnCloakThread !$= "" ) - { - Cancel(%col.respawnCloakThread); - %col.setCloaked( false ); - %col.respawnCloakThread = ""; - } - } - if( %col.client > 0 ) - { - %col.setInvincibleMode(0, 0.00); - %col.setInvincible( false ); - } - - // a player hit the flag - Game.playerTouchFlag(%col, %obj); - } - } - else{ - %data.onCollision(%flag, %player); - } -} - function vectorMul(%a,%b){ %x = getWords(%a,0) * getWords(%b,0); %y = getWords(%a,1) * getWords(%b,1); %z = getWords(%a,2) * getWords(%b,2); - return %x SPC %y SPC %z; + return %x SPC %y SPC %z; } function generateBoxData(){ - + %playerSize = $playerSizeBox; //"1.2 1.2 2.3"; %halfSize = vectorMul(%playerSize, "0.5 0.5 0"); $plrBoxMin = %minA = VectorSub("0 0 0", %halfSize); @@ -233,12 +222,12 @@ function generateBoxData(){ %box[5] = "1 0 1"; %box[6] = "0 1 1"; %box[7] = "1 1 1"; - + for(%i = 0; %i < 8; %i++){ $playerBoxData[%i] = vectorAdd(%minA, vectorMul(%vSubA, %box[%i])); $flagBoxData[%i] = vectorAdd(%minB, vectorMul(%vSubB, %box[%i])); } - + }generateBoxData(); function vectorLerp(%point1, %point2, %t) { @@ -247,12 +236,8 @@ function vectorLerp(%point1, %point2, %t) { function boxIntersectAABB(%plr, %flg, %lerpPos){ if($boxCollision == 2){ - %a = %plr.getWorldBox(); - %b = %flg.getWorldBox(); - } - else if($boxCollision == 3){ %fpos = %flg.getPosition(); - + %a = vectorAdd($plrBoxMin, %lerpPos) SPC vectorAdd($plrBoxMax, %lerpPos); %b = vectorAdd($flagBoxMin, %fpos) SPC vectorAdd($flagBoxMax, %fpos); } @@ -261,7 +246,7 @@ function boxIntersectAABB(%plr, %flg, %lerpPos){ %a = vectorAdd(getWords(%plrMinMax,0,2), %lerpPos) SPC vectorAdd(getWords(%plrMinMax,3,5), %lerpPos); %b = %flg.getWorldBox(); } - + return (getWord(%a, 0) <= getWord(%b, 3) && getWord(%a, 3) >= getWord(%b, 0)) && (getWord(%a, 1) <= getWord(%b, 4) && getWord(%a, 4) >= getWord(%b, 1)) && (getWord(%a, 2)<= getWord(%b, 5) && getWord(%a, 5) >= getWord(%b, 2)); @@ -274,7 +259,7 @@ function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ if(!%flag.isHome && $antiObjTunnel){ %fOffset =vectorAdd(%flagPos,"0 0 0.1"); %dist = vectorDist(%flag.dtLastPos, %fOffset); - if(%dist > 2.5){//2.5 is the rough flag height + if(%dist > 2.5){//2.5 is the rough flag height %wallMask = $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType; %terRay = containerRayCast(%flag.dtLastPos, %fOffset, %wallMask, %flag); if(%terRay){ @@ -290,6 +275,7 @@ function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ InitContainerRadiusSearch( %flagPos, $flagCheckRadius, $TypeMasks::PlayerObjectType); while((%player = containerSearchNext()) != 0){ %playerPos = %player.getPosition(); + //%rot = getWords(%player.getTransform(),3,6); if((%rsTeam && %flag.team != %player.team) || !%rsTeam || %player == %ext){ %flagDist = vectorDist(%flagPos, %playerPos); if(%player.lastSim > 0 && (%player.getState() !$= "Dead")){// only check at speed @@ -297,22 +283,20 @@ function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ // %tickDist = vectorLen(%player.getVelocity()) * ($flagSimTime/1000); %sweepCount = mFloor(vectorDist(%playerPos, %player.oldPos) + 1.5); if((getSimTime() - %player.lastSim) <= 128 && %flagDist-2 < %sweepCount){//make sure are last position is valid - //error(%player SPC %flagDist SPC %sweepCount); + //schedule(1000,0,"drawBeamItem", %player.oldPos,%playerPos,15000); for(%i = 0; %i < %sweepCount; %i++){// sweep behind us to see if we should have hit something %lerpPos = vectorLerp(%playerPos, %player.oldPos, %i/(%sweepCount-1));//back sweep - if($boxCollision == 1){ - if(boxIntersect(%player, %flag, %lerpPos)){ - //error("flag hit"); - FlagCollision(%flag.getDataBlock(),%flag, %player); - break; - } + //%point = MatrixMulPoint(%lerpPos SPC %rot, "-0.6 -0.6 0"); + //schedule(1000+(%i*128), 0, "drawBoxItemC", %point, %rot, "1.2 1.2 2.3", 15000); + if($boxCollision == 1 && boxIntersect(%player, %flag, %lerpPos)){ + // %point = MatrixMulPoint(%flagPos SPC %rot,"-0.398 -0.069 0"); + // schedule(1000+(%i*128), 0, "drawBoxItemC", %point, %rot, "0.796666 0.139717 4", 15000); + %flag.getDataBlock().onCollision(%flag, %player); + break; } - else{ - if(boxIntersectAABB(%player, %flag, %lerpPos)){ - //error("flag hit"); - FlagCollision(%flag.getDataBlock(),%flag, %player); - break; - } + else if($boxCollision > 1 && boxIntersectAABB(%player, %flag, %lerpPos)){ + %flag.getDataBlock().onCollision(%flag, %player); + break; } } } @@ -322,7 +306,7 @@ function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ %player.lastSim = getSimTime(); } //error("scan count" SPC %scanCount SPC %scanPlrCount); -} +} function DefaultGame::atHomeFlagLoop(%game){ if(isObject($TeamFlag[1]) && isObject($TeamFlag[2])){ @@ -337,36 +321,36 @@ function DefaultGame::atHomeFlagLoop(%game){ %game.flagResetTime = 0; } %game.flagResetTime += $flagSimTime; - } - + } + if($TeamFlag[1].isHome && $TeamFlag[2].isHome){//11 - %game.flagColTest($TeamFlag[1],1,0);// only look at the other team - %game.flagColTest($TeamFlag[2],1,0);// only look at the other team + %game.flagColTest($TeamFlag[1],1,0);// only look at the other team + %game.flagColTest($TeamFlag[2],1,0);// only look at the other team } else if(!$TeamFlag[1].isHome && $TeamFlag[2].isHome){//01 if(isObject($TeamFlag[1].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[2],1, $TeamFlag[1].carrier); //scan for other team expect for are carrier + %game.flagColTest($TeamFlag[2],1, $TeamFlag[1].carrier); //scan for other team expect for are carrier } else{ - %game.flagColTest($TeamFlag[1],0,0);// scan for everyone can touch it - %game.flagColTest($TeamFlag[2],1,0);// team 2 flag is still at home so only scan for the other team + %game.flagColTest($TeamFlag[1],0,0);// scan for everyone can touch it + %game.flagColTest($TeamFlag[2],1,0);// team 2 flag is still at home so only scan for the other team } } else if($TeamFlag[1].isHome && !$TeamFlag[2].isHome){//10 if(isObject($TeamFlag[2].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[1],1, $TeamFlag[2].carrier); //scan for other team expect for are carrier + %game.flagColTest($TeamFlag[1],1, $TeamFlag[2].carrier); //scan for other team expect for are carrier } else{ - %game.flagColTest($TeamFlag[1],1,0);// team 1 flag is still at home so only scan for the other team - %game.flagColTest($TeamFlag[2],0,0);// scan for everyone can touch it + %game.flagColTest($TeamFlag[1],1,0);// team 1 flag is still at home so only scan for the other team + %game.flagColTest($TeamFlag[2],0,0);// scan for everyone can touch it } } else if(!$TeamFlag[1].isHome && !$TeamFlag[2].isHome){//00 if(!isObject($TeamFlag[1].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[1],0,0);// scan for everyone can touch it + %game.flagColTest($TeamFlag[1],0,0);// scan for everyone can touch it } if(!isObject($TeamFlag[2].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[2],0,0);// scan for everyone can touch it + %game.flagColTest($TeamFlag[2],0,0);// scan for everyone can touch it } } } @@ -378,94 +362,81 @@ function DefaultGame::atHomeFlagLoop(%game){ function boxIntersect(%objA, %objB, %scanPos) { // Retrieve the 8 corners of the box for both objects - %matrixA = %objA.getTransform(); - if(getWordCount(%scanPos)){// need to check a postion other then default + %matrixA = %objA.getTransform(); + if(getWordCount(%scanPos)){// need to check a postion other then default %matrixA = %scanPos SPC getWords(%matrixA,3,6); } - %matrixB = %objB.getTransform(); - + %matrixB = %objB.getTransform(); + %cornerA[0] = MatrixMulPoint(%matrixA, "-0.6 -0.6 0"); %cornerA[1] = MatrixMulPoint(%matrixA, "0.6 -0.6 0"); %cornerA[2] = MatrixMulPoint(%matrixA, "-0.6 0.6 0"); %cornerA[3] = MatrixMulPoint(%matrixA, "0.6 0.6 0"); - + %cornerA[4] = MatrixMulPoint(%matrixA, "-0.6 -0.6 2.3"); %cornerA[5] = MatrixMulPoint(%matrixA, "0.6 -0.6 2.3"); %cornerA[6] = MatrixMulPoint(%matrixA, "-0.6 0.6 2.3"); - %cornerA[7] = MatrixMulPoint(%matrixA, "0.6 0.6 2.3"); - - + %cornerA[7] = MatrixMulPoint(%matrixA, "0.6 0.6 2.3"); + + %cornerB[0] = MatrixMulPoint(%matrixB, "-0.398333 -0.0698583 -0.1"); %cornerB[1] = MatrixMulPoint(%matrixB, "0.398333 -0.0698583 -0.1"); %cornerB[2] = MatrixMulPoint(%matrixB, "-0.398333 0.0698587 -0.1"); %cornerB[3] = MatrixMulPoint(%matrixB, "0.398333 0.0698587 -0.1"); - + %cornerB[4] = MatrixMulPoint(%matrixB, "-0.398333 -0.0698583 2.46029"); %cornerB[5] = MatrixMulPoint(%matrixB, "0.398333 -0.0698583 2.46029"); %cornerB[6] = MatrixMulPoint(%matrixB, "-0.398333 0.0698587 2.46029"); - %cornerB[7] = MatrixMulPoint(%matrixB, "0.398333 0.0698587 2.46029"); - + %cornerB[7] = MatrixMulPoint(%matrixB, "0.398333 0.0698587 2.46029"); + // Define the axes to test (these are the edges of both boxes) %ax[0] = vectorNormalize(vectorSub(%cornerA[1], %cornerA[0]));//X cross forward and up %ax[1] = vectorNormalize(vectorSub(%cornerA[2], %cornerA[0]));//Y forward vector %ax[2] = "0 0 1"; - + %ax[3] = vectorNormalize(vectorSub(%cornerB[1], %cornerB[0]));//X cross forward and up %ax[4] = vectorNormalize(vectorSub(%cornerB[2], %cornerB[0])); //Y forward vector %ax[5] = "0 0 1"; - + // For each axis for (%i = 0; %i < 6; %i++) { %axis = %ax[%i]; - + // Project each corner of box A onto the axis %minProjA = vectorDot(%cornerA[0], %axis); %maxProjA = %minProjA; - + for (%j = 1; %j < 8; %j++) { %projA = vectorDot(%cornerA[%j], %axis); - + %minProjA = (%projA < %minProjA) ? %projA : %minProjA; %maxProjA = (%projA > %maxProjA) ? %projA : %maxProjA; } - + // Project each corner of box B onto the axis %minProjB = vectorDot(%cornerB[0], %axis); %maxProjB = %minProjB; - + for (%j = 1; %j < 8; %j++) { %projB = vectorDot(%cornerB[%j], %axis); %minProjB = (%projB < %minProjB) ? %projB : %minProjB; %maxProjB = (%projB > %maxProjB) ? %projB : %maxProjB; } - + // Check for overlap if (%maxProjA < %minProjB || %maxProjB < %minProjA) { return false; // No overlap on this axis, boxes do not intersect } } - + return true; // Overlap on all axes, boxes intersect } -function colFlagTest(){ - %conObj = LocalClientConnection.player; //LocalClientConnection.getControlObject(); - %flag1 = boxIntersect(%conObj,$TeamFlag[1]); - %flag2 = boxIntersect(%conObj,$TeamFlag[2]); - - %flag1AABB = boxIntersectAABB(%conObj, $TeamFlag[1], %conObj.getPosition()); - %flag2AABB = boxIntersectAABB(%conObj, $TeamFlag[2], %conObj.getPosition()); - - error("test" SPC "Flag 1" SPC %flag1 SPC "Flag 2" SPC %flag2); - error("test" SPC "Flag 1A" SPC %flag1AABB SPC "Flag 2A" SPC %flag2AABB); - bottomprint(%conObj.client, "FlagS" SPC %flag1 SPC "FlagI" SPC %flag2 SPC "FlagS AABB" SPC %flag1AABB SPC "FlagI AABB" SPC %flag2AABB, 5, 1); -} - function testFlagSpeed(%speed){ - %player = LocalClientConnection.player; + %player = LocalClientConnection.player; %fvec = %player.getForwardVector(); %vel = vectorScale(%fvec,%speed); %player.setVelocity(%vel); -} \ No newline at end of file +} From 41f11d5abac25da200811ec0d2e72fea1623e8ea Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 15 Feb 2025 10:47:31 -0500 Subject: [PATCH 09/60] dtStats 10.52 --- Classic/scripts/autoexec/z_dtStats.cs | 2195 ++++++++++++++++--------- 1 file changed, 1389 insertions(+), 806 deletions(-) diff --git a/Classic/scripts/autoexec/z_dtStats.cs b/Classic/scripts/autoexec/z_dtStats.cs index e7770ce..8670323 100644 --- a/Classic/scripts/autoexec/z_dtStats.cs +++ b/Classic/scripts/autoexec/z_dtStats.cs @@ -15,14 +15,14 @@ // Note See bottom of file for full log ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //-----------Settings----------- -$dtStats::version = 10.47; +$dtStats::version = 10.52; //disable stats system $dtStats::Enable = $Host::dtStatsEnable $= "" ? ($Host::dtStatsEnable = 1) : $Host::dtStatsEnable; if(!$dtStats::Enable){ return;}// so it disables with a restart //set max number of individual game to record //Note only tested to 100 games, hard cap at 300 $dtStats::MaxNumOfGames = 100; - + //how high the player has to be off the ground before it will count $dtStats::midAirHeight = 10; @@ -31,7 +31,7 @@ $dtStats::midAirMessage = $Host::dtStatsMidAirMessage $= "" ? ($Host::dtStatsMi //capture best cap times restart required if changed //only enable if evo system is not available -$dtStats::ctfTimes = $Host::dtStatsCTFTimes $= "" ? ($Host::dtStatsCTFTimes = 1) : $Host::dtStatsCTFTimes; +$dtStats::ctfTimes = $Host::dtStatsCTFTimes $= "" ? ($Host::dtStatsCTFTimes = 0) : $Host::dtStatsCTFTimes; //number of players before it starts counting captimes $dtStats::ctfTimesPlayerLimit = $Host::dtStatsCTFTimesPlayerLimit $= "" ? ($Host::dtStatsCTFTimesPlayerLimit = 8) : $Host::dtStatsCTFTimesPlayerLimit; @@ -40,8 +40,6 @@ $dtStats::teamDebrief = $Host::dtStatsTeamDebrief $= "" ? ($Host::dtStatsTeamDeb //extends the debrief with extra stats done in the evo style $dtStats::evoStyleDebrief = $Host::dtStatsEvoStyleDebrief $= "" ? ($Host::dtStatsEvoStyleDebrief = 1) : $Host::dtStatsEvoStyleDebrief ; -//extends the debrief with extra stats done in the evo style -$dtStats::arenaKDRStats = $Host::dtStatsArenaKDRStats $= "" ? ($Host::dtStatsArenaKDRStats = 1) : $Host::dtStatsArenaKDRStats ; // 30 sec min after not making an action reset $dtStats::returnToMenuTimer = (60*1000); @@ -53,13 +51,15 @@ $dtStats::saveTime = 64; //Note atm tournament stats is hard coded and setup only for CTF //outputs a ppm image in serverStats/statsImg this can be open/converted with most editors $dtStats::tmModeCompile = 1; -$dtStats::tmMode = 0; +$dtStats::tmMode =0; //minimum number avg data to consider for leaderboards -$dtStats::minAvg = 8; +$dtStats::minAvg = 4; //minimum number of games for leaderboards $dtStats::minGame = 1; +$dtStats::TBMinPlayers = 8; + //sorting speed $dtStats::sortSpeed = 64; @@ -81,10 +81,11 @@ $dtStats::WhtListFile = $Host::dtStatsWhtListFile $= "" ? ($Host::dtStatsWhtList $dtStats::fm = 1; //Set 2 or more to enable, this also contorls how much history you want, best to keep this count low $dtStats::day = 0;//not used -$dtStats::week = 12;//~53 +$dtStats::week = 0;//~53 $dtStats::month = 4; //-12 $dtStats::quarter = 0;//not used -$dtStats::year = 0;//not used +$dtStats::year = 0;//not +$dtStats::custom = 12;//not used // you gain extra days based on time played extra days = gameCount * expireFactor; // example being 100 games * factor of 0.596 = will gain you 60 extra days but if its over the 90 day max it will be deleted $dtStats::expireMax = 90; @@ -110,7 +111,7 @@ $dtStats::returnToMenuTimer = ($dtStats::dev == 1) ? ((60*1000) * 30) : ((60*10 //--------------------------------- //Sets the current font to the indicated name and size. Example: //Set a tag to which we can scroll a GuiScrollContentCtrl (parent control of the guiMLTextCtrl) -//Sets text color. Example: will display red text. +//Sets text color. Example: will display red text. //Sets the color of a hyperlink. //Sets the color of a hyperlink that is being clicked. //Add a shadow to the text, displaced by (x, y). @@ -341,7 +342,7 @@ $dtStats::FV[$dtStats::FC["CTFGame","TG"]++,"CTFGame","TG"] = "heavyTransportDes $dtStats::FV[$dtStats::FC["CTFGame","TG"]++,"CTFGame","TG"] = "stalemateReturn"; $dtStats::FV[$dtStats::FC["CTFGame","TG"]++,"CTFGame","TG"] = "flagTimeMin"; - +$dtStats::FV[$dtStats::FC["CTFGame","TG"]++,"CTFGame","TG"] = "flagGrabAtStand"; /////////////////////////////////////////////////////////////////////////////// // LCTF @@ -438,7 +439,7 @@ $dtStats::FV[$dtStats::FC["LCTFGame","TG"]++,"LCTFGame","TG"] = "timeFarEnemyFS" $dtStats::FV[$dtStats::FC["LCTFGame","TG"]++,"LCTFGame","TG"] = "timeNearFlag"; $dtStats::FV[$dtStats::FC["LCTFGame","TG"]++,"LCTFGame","TG"] = "timeNearEnemyFlag"; $dtStats::FV[$dtStats::FC["LCTFGame","TG"]++,"LCTFGame","TG"] = "flagTimeMin"; - +$dtStats::FV[$dtStats::FC["LCTFGame","TG"]++,"LCTFGame","TG"] = "flagGrabAtStand"; ////////////////////////////////////////////////////////////////////////////////// $dtStats::FVG[$dtStats::FCG["SCtFGame","TG"]++,"SCtFGame","TG"] = "score"; $dtStats::FVG[$dtStats::FCG["SCtFGame","Avg"]++,"SCtFGame","Avg"] = "score"; @@ -532,6 +533,7 @@ $dtStats::FV[$dtStats::FC["SCtFGame","TG"]++,"SCtFGame","TG"] = "timeFarEnemyFS" $dtStats::FV[$dtStats::FC["SCtFGame","TG"]++,"SCtFGame","TG"] = "timeNearFlag"; $dtStats::FV[$dtStats::FC["SCtFGame","TG"]++,"SCtFGame","TG"] = "timeNearEnemyFlag"; $dtStats::FV[$dtStats::FC["SCtFGame","TG"]++,"SCtFGame","TG"] = "flagTimeMin"; +$dtStats::FV[$dtStats::FC["SCtFGame","TG"]++,"SCtFGame","TG"] = "flagGrabAtStand"; /////////////////////////////////////////////////////////////////////////////// // LakRabbit /////////////////////////////////////////////////////////////////////////////// @@ -1018,7 +1020,6 @@ $dtStats::FV[$dtStats::FC["Avg"]++,"Avg"] = "grenadeDmgACC"; $dtStats::FV[$dtStats::FC["Avg"]++,"Avg"] = "mortarDmgACC"; - $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "null";//rng number for testing //////////////////////////////////////////////////////////////////////////////// //Unused vars that are not tracked but used for other things and need to be reset every round @@ -1028,6 +1029,391 @@ $dtStats::unused[$dtStats::unusedCount++] = "ksCounter"; //////////////////////////////////////////////////////////////////////////////// +$dtStats::TBGC["CTF"] = -1; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "score"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "defenseScore"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "offenseScore"; + +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "kills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "deaths"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "suicides"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "teamKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "friendlyFire"; + +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "flagCaps"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "flagGrabs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "flagGrabAtStand"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "carrierKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "flagReturns"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "escortAssists"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "flagDefends"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "concussFlag"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "depInvyUse"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "concussFlag"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "flagCatch"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "flagToss"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "interceptedFlag"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "stalemateReturn"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "flagTimeMin"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "timeNearTeamFS"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "timeFarTeamFS"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "timeNearEnemyFS"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "timeFarEnemyFS"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "timeNearFlag"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "timeNearEnemyFlag"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "capEfficiency"; + + +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "genRepairs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "genSolRepairs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "SensorRepairs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "TurretRepairs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "StationRepairs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "VStationRepairs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "solarRepairs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "sentryRepairs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "depSensorRepairs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "depInvRepairs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "depTurretRepairs"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "repairs"; + +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "tkDestroys"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "genDestroys"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "sensorDestroys"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "turretDestroys"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "iStationDestroys"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "vstationDestroys"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "solarDestroys"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "sentryDestroys"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "depSensorDestroys"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "depTurretDestroys"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "depStationDestroys"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "destruction"; + +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "genDefends"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "turretKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "mannedTurretKills"; + + + + +//$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "MotionSensorDep"; +//$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "PulseSensorDep"; +//$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "SensorsDep"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "InventoryDep"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "TurretOutdoorDep"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "TurretIndoorDep"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "TurretsDep"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "TotalDep"; + + +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "OffKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "DefKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "OffKillsL"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "OffKillsM"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "OffKillsH"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "DefKillsL"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "DefKillsM"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "DefKillsH"; + + +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "roadKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "gravCycleDes"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "assaultTankDes"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "MPBDes"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "turbogravDes"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "bomberDes"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "heavyTransportDes"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "wildRK"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "assaultRK"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "scoutFlyerRK"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "bomberFlyerRK"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "hapcFlyerRK"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "tankMortarDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "tankChaingunDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "bomberBombsDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "bellyTurretDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "shrikeBlasterDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "shrikeBlasterKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "bellyTurretKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "bomberBombsKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "tankChaingunKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "tankMortarKills"; + + +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "kdr"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "assist"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "cgKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "discKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "grenadeKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "hGrenadeKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "laserKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "mortarKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "missileKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "shockKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "plasmaKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "blasterKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "mineKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "explosionKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "satchelKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "inventoryKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "cgDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "laserDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "blasterDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "discDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "grenadeDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "hGrenadeDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "mortarDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "missileDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "plasmaDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "shockDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "mineDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "satchelDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "indoorDepTurretDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "outdoorDepTurretDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "totalWepDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "elfShotsFired"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "laserHeadShot"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "shockRearShot"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "minePlusDisc"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "minePlusDiscKill"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "totalMA"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "airTime"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "groundTime"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "timeTL"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "killStreak"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "avgSpeed"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "concussHit"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "concussTaken"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "idleTime"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "repairEnemy"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "revenge"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "shieldPackDmg"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "cloakerKills"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "cloakersKilled"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "jammer"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "flipflopCount"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "repairpackpickupCount"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "repairpackpickupEnemy"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "invyEatRepairPack"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "lagSpikes"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "packetLoss"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "txStop"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "pingAvg"; + +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorL"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorM"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorH"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorLK"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorMK"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorHK"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorLL"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorLM"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorLH"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorML"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorMM"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorMH"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorHL"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorHM"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "armorHH"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "discMA"; +$dtStats::TBG[$dtStats::TBGC["CTF"]++,"CTF"] = "laserKillDist"; +$dtStats::TBGC["CTF"]++; + +$dtStats::TBGC["LCTF"] = -1; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "score"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "defenseScore"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "offenseScore"; + +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "kills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "deaths"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "suicides"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "teamKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "friendlyFire"; + +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "flagCaps"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "flagGrabs"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "flagGrabAtStand"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "carrierKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "flagReturns"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "escortAssists"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "flagDefends"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "concussFlag"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "depInvyUse"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "concussFlag"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "flagCatch"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "flagToss"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "interceptedFlag"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "stalemateReturn"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "flagTimeMin"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "timeNearTeamFS"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "timeFarTeamFS"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "timeNearEnemyFS"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "timeFarEnemyFS"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "timeNearFlag"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "timeNearEnemyFlag"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "capEfficiency"; + +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "OffKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "DefKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "OffKillsL"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "OffKillsM"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "OffKillsH"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "DefKillsL"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "DefKillsM"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "DefKillsH"; + +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "kdr"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "assist"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "cgKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "discKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "grenadeKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "hGrenadeKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "laserKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "mortarKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "missileKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "shockKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "plasmaKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "blasterKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "mineKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "explosionKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "satchelKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "inventoryKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "cgDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "laserDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "blasterDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "discDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "grenadeDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "hGrenadeDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "mortarDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "missileDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "plasmaDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "shockDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "mineDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "satchelDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "indoorDepTurretDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "outdoorDepTurretDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "totalWepDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "elfShotsFired"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "laserHeadShot"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "shockRearShot"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "minePlusDisc"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "minePlusDiscKill"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "totalMA"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "airTime"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "groundTime"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "timeTL"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "killStreak"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "avgSpeed"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "concussHit"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "concussTaken"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "idleTime"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "repairEnemy"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "revenge"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "shieldPackDmg"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "cloakerKills"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "cloakersKilled"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "jammer"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "flipflopCount"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "repairpackpickupCount"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "repairpackpickupEnemy"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "invyEatRepairPack"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "lagSpikes"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "packetLoss"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "txStop"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "pingAvg"; + +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "armorL"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "discMA"; +$dtStats::TBG[$dtStats::TBGC["LCTF"]++,"LCTF"] = "laserKillDist"; +$dtStats::TBGC["LCTF"]++; + + +$dtStats::TBGC["Arena"] = -1; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "score"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "kills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "deaths"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "suicides"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "teamKills"; + +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "kdr"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "assist"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "cgKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "discKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "grenadeKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "hGrenadeKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "laserKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "mortarKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "missileKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "shockKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "plasmaKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "blasterKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "mineKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "explosionKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "satchelKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "inventoryKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "cgDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "laserDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "blasterDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "discDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "grenadeDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "hGrenadeDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "mortarDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "missileDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "plasmaDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "shockDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "mineDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "satchelDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "indoorDepTurretDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "outdoorDepTurretDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "totalWepDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "elfShotsFired"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "laserHeadShot"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "shockRearShot"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "minePlusDisc"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "minePlusDiscKill"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "totalMA"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "airTime"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "groundTime"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "timeTL"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "killStreak"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "avgSpeed"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "concussHit"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "concussTaken"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "idleTime"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "repairEnemy"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "revenge"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "shieldPackDmg"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "cloakerKills"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "cloakersKilled"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "jammer"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "flipflopCount"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "repairpackpickupCount"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "repairpackpickupEnemy"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "invyEatRepairPack"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "lagSpikes"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "packetLoss"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "txStop"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "pingAvg"; + +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "armorL"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "armorM"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "armorLK"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "armorMK"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "armorLL"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "armorLM"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "armorML"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "armorMM"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "armorHL"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "armorHM"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "discMA"; +$dtStats::TBG[$dtStats::TBGC["Arena"]++,"Arena"] = "laserKillDist"; + +$dtStats::TBGC["Arena"]++; + + + + @@ -2044,12 +2430,8 @@ package dtStats{ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); - if($dtStats::arenaKDRStats){ - messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLSDEATHSKDRASSISTSDISC MA' ); - } - else{ - messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLSASSISTSTOTAL DMGROUNDS FIREDDISC MA' ); - } + messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLSKDRASSISTSDISC MA' ); + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) %count[%team] = 0; @@ -2072,14 +2454,14 @@ package dtStats{ %score = %cl.score $= "" ? 0 : %cl.score; %kills = %cl.kills $= "" ? 0 : %cl.kills; %deaths = %cl.deaths $= "" ? 0 : %cl.deaths; - if($dtStats::arenaKDRStats){ - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, %game.getTeamName(%cl.team), %score, %kills , %deaths, cropFloat(%cl.dtStats.stat["kdr"],2), %cl.dtStats.stat["assist"], %cl.dtStats.stat["discMA"] ); + if(%client == %cl){ + %line = '%1 %2%3%4%6%7%8'; } else{ - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, %game.getTeamName(%cl.team), %score, %kills, %cl.dtStats.stat["assist"], cropFloat(%cl.dtStats.stat["totalWepDmg"],1), %cl.dtStats.stat["shotsFired"], %cl.dtStats.stat["discMA"] ); + %line = '%1 %2%3%4%6%7%8'; } + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(getTaggedString(%cl.name)), %game.getTeamName(%cl.team), %score, %kills , %deaths, cropFloat(%cl.dtStats.stat["kdr"],2), %cl.dtStats.stat["assist"], %cl.dtStats.stat["discMA"] ); + %count[%highTeam]++; %notDone = false; for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) @@ -2107,25 +2489,21 @@ package dtStats{ %score = %cl.score $= "" ? 0 : %cl.score; %kills = %cl.kills $= "" ? 0 : %cl.kills; %deaths = %cl.deaths $= "" ? 0 : %cl.deaths; - if($dtStats::arenaKDRStats){ - messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCOREKILLSDEATHSKDRASSISTSDISC MA'); - } - else{ - messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCOREKILLSASSISTSTOTAL DMGROUNDS FIREDDISC MA'); - } + + messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCOREKILLSKDRASSISTSDISC MA'); + } //print out the client - if($dtStats::arenaKDRStats){ %score = %cl.score $= "" ? 0 : %cl.score;// - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, "", %score, %kills , %deaths, cropFloat(%cl.dtStats.stat["kdr"],2), %cl.dtStats.stat["assist"], %cl.dtStats.stat["discMA"] ); - } - else { - %score = %cl.score $= "" ? 0 : %cl.score;// - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, "", %score, %kills, %cl.dtStats.stat["assist"], cropFloat(%cl.dtStats.stat["totalWepDmg"],1), %cl.dtStats.stat["shotsFired"], %cl.dtStats.stat["discMA"] ); - } + if(%client == %cl){ + %line = '%1 %2%3%4%6%7%8'; + } + else{ + %line = '%1 %2%3%4%6%7%8'; + } + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(getTaggedString(%cl.name)), "", %score, %kills , %deaths, cropFloat(%cl.dtStats.stat["kdr"],2), %cl.dtStats.stat["assist"], %cl.dtStats.stat["discMA"] ); + } } extendedDebrief(%game, %client); @@ -2232,7 +2610,7 @@ package dtStats{ } function SCtFGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation){ clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %damageLocation);//for stats collection - if(%clKiller.team != %clVictim.team){ + if(%clKiller.team != %clVictim.team && isObject(%clKiller.player)){ %dist = vectorDist($dtStats::FlagPos[%clKiller.team], %clKiller.player.getPosition()); if(%dist > ($dtStats::FlagTotalDist*0.5)){// kill made closer to the enemy flag %clKiller.dtStats.stat["OffKills"]++; @@ -2275,7 +2653,11 @@ package dtStats{ $dtStats::gameID = formattimestring("yymmddHHnnss"); if($dtStats::debugEchos) error("GAME ID" SPC $dtStats::gameID SPC "//////////////////////////////"); - } + if($TB::TBEnable[$dtStats::gtNameShort[%game.class]] && !$Host::TournamentMode){// note this happens before clients start there load + ballenceTeams(%game,0); + } + } + function DefaultGame::forceObserver( %game, %client, %reason ){ parent::forceObserver( %game, %client, %reason ); if(%reason $= "spawnTimeout"){ @@ -3097,101 +3479,7 @@ function CTFGame::sendDebriefing(%game, %client){ } messageClient( %client, 'MsgClearDebrief', "" ); if($dtStats::teamDebrief == 1){ - %topScore = ""; - %topCount = 0; - for ( %team = 1; %team <= %game.numTeams; %team++ ) - { - if ( %topScore $= "" || $TeamScore[%team] > %topScore ) - { - %topScore = $TeamScore[%team]; - %firstTeam = %team; - %topCount = 1; - } - else if ( $TeamScore[%team] == %topScore ) - { - %secondTeam = %team; - %topCount++; - } - } - - // Mission result: - if ( %topCount == 1 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 wins!', %game.getTeamName(%firstTeam) ); - else if ( %topCount == 2 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); - else - messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); - - // Team scores: - messageClient( %client, 'MsgDebriefAddLine', "", 'TEAMSCORE' ); - for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) - { - if ( $TeamScore[%team] $= "" ) - %score = 0; - else - %score = $TeamScore[%team]; - messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %game.getTeamName(%team), %score ); - } - - // Player scores: - messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLSAssistsOffKillsDefKillsDisc MA' ); - for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) - %count[%team] = 0; - - %notDone = true; - while ( %notDone ) - { - // Get the highest remaining score: - %highScore = ""; - for ( %team = 1; %team <= %game.numTeams; %team++ ) - { - if ( %count[%team] < $TeamRank[%team, count] && ( %highScore $= "" || $TeamRank[%team, %count[%team]].score > %highScore ) ) - { - %highScore = $TeamRank[%team, %count[%team]].score; - %highTeam = %team; - } - } - - // Send the debrief line: - %cl = $TeamRank[%highTeam, %count[%highTeam]]; - %score = %cl.score $= "" ? 0 : %cl.score; - %kills = %cl.kills $= "" ? 0 : %cl.kills; - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, %game.getTeamName(%cl.team), %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"] ); - - %count[%highTeam]++; - %notDone = false; - for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) - { - if ( %count[%team] < $TeamRank[%team, count] ) - { - %notDone = true; - break; - } - } - } - - //now go through an list all the observers: - %count = ClientGroup.getCount(); - %printedHeader = false; - for (%i = 0; %i < %count; %i++) - { - %cl = ClientGroup.getObject(%i); - if (%cl.team <= 0) - { - //print the header only if we actually find an observer - if (!%printedHeader) - { - %printedHeader = true; - messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCOREKILLSAssistsOffKillsDefKillsDisc MA'); - } - - //print out the client - %score = %cl.score $= "" ? 0 : %cl.score;// - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, "", %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"] ); - } - } + %game.sendCTFDebrif(%client); extendedDebrief(%game, %client); } else{ @@ -3206,101 +3494,7 @@ function LCTFGame::sendDebriefing(%game, %client){ } messageClient( %client, 'MsgClearDebrief', "" ); if($dtStats::teamDebrief == 1){ - %topScore = ""; - %topCount = 0; - for ( %team = 1; %team <= %game.numTeams; %team++ ) - { - if ( %topScore $= "" || $TeamScore[%team] > %topScore ) - { - %topScore = $TeamScore[%team]; - %firstTeam = %team; - %topCount = 1; - } - else if ( $TeamScore[%team] == %topScore ) - { - %secondTeam = %team; - %topCount++; - } - } - - // Mission result: - if ( %topCount == 1 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 wins!', %game.getTeamName(%firstTeam) ); - else if ( %topCount == 2 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); - else - messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); - - // Team scores: - messageClient( %client, 'MsgDebriefAddLine', "", 'TEAMSCORE' ); - for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) - { - if ( $TeamScore[%team] $= "" ) - %score = 0; - else - %score = $TeamScore[%team]; - messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %game.getTeamName(%team), %score ); - } - - // Player scores: - messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLSAssistsOffKillsDefKillsDisc MA' ); - for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) - %count[%team] = 0; - - %notDone = true; - while ( %notDone ) - { - // Get the highest remaining score: - %highScore = ""; - for ( %team = 1; %team <= %game.numTeams; %team++ ) - { - if ( %count[%team] < $TeamRank[%team, count] && ( %highScore $= "" || $TeamRank[%team, %count[%team]].score > %highScore ) ) - { - %highScore = $TeamRank[%team, %count[%team]].score; - %highTeam = %team; - } - } - - // Send the debrief line: - %cl = $TeamRank[%highTeam, %count[%highTeam]]; - %score = %cl.score $= "" ? 0 : %cl.score; - %kills = %cl.kills $= "" ? 0 : %cl.kills; - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, %game.getTeamName(%cl.team), %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"] ); - - %count[%highTeam]++; - %notDone = false; - for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) - { - if ( %count[%team] < $TeamRank[%team, count] ) - { - %notDone = true; - break; - } - } - } - - //now go through an list all the observers: - %count = ClientGroup.getCount(); - %printedHeader = false; - for (%i = 0; %i < %count; %i++) - { - %cl = ClientGroup.getObject(%i); - if (%cl.team <= 0) - { - //print the header only if we actually find an observer - if (!%printedHeader) - { - %printedHeader = true; - messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCOREKILLSAssistsOffKillsDefKillsDisc MA'); - } - - //print out the client - %score = %cl.score $= "" ? 0 : %cl.score;// - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, "", %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"] ); - } - } + %game.sendCTFDebrif(%client); extendedDebrief(%game, %client); } else{ @@ -3315,252 +3509,306 @@ function SCtFGame::sendDebriefing(%game, %client){ } messageClient( %client, 'MsgClearDebrief', "" ); if($dtStats::teamDebrief == 1){ - %topScore = ""; - %topCount = 0; - for ( %team = 1; %team <= %game.numTeams; %team++ ) - { - if ( %topScore $= "" || $TeamScore[%team] > %topScore ) - { - %topScore = $TeamScore[%team]; - %firstTeam = %team; - %topCount = 1; - } - else if ( $TeamScore[%team] == %topScore ) - { - %secondTeam = %team; - %topCount++; - } - } - - // Mission result: - if ( %topCount == 1 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 wins!', %game.getTeamName(%firstTeam) ); - else if ( %topCount == 2 ) - messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); - else - messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); - - // Team scores: - messageClient( %client, 'MsgDebriefAddLine', "", 'TEAMSCORE' ); - for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) - { - if ( $TeamScore[%team] $= "" ) - %score = 0; - else - %score = $TeamScore[%team]; - messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %game.getTeamName(%team), %score ); - } - - // Player scores: - messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLSAssistsOffKillsDefKillsDisc MA' ); - for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) - %count[%team] = 0; - - %notDone = true; - while ( %notDone ) - { - // Get the highest remaining score: - %highScore = ""; - for ( %team = 1; %team <= %game.numTeams; %team++ ) - { - if ( %count[%team] < $TeamRank[%team, count] && ( %highScore $= "" || $TeamRank[%team, %count[%team]].score > %highScore ) ) - { - %highScore = $TeamRank[%team, %count[%team]].score; - %highTeam = %team; - } - } - - // Send the debrief line: - %cl = $TeamRank[%highTeam, %count[%highTeam]]; - %score = %cl.score $= "" ? 0 : %cl.score; - %kills = %cl.kills $= "" ? 0 : %cl.kills; - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, %game.getTeamName(%cl.team), %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"] ); - - %count[%highTeam]++; - %notDone = false; - for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) - { - if ( %count[%team] < $TeamRank[%team, count] ) - { - %notDone = true; - break; - } - } - } - - //now go through an list all the observers: - %count = ClientGroup.getCount(); - %printedHeader = false; - for (%i = 0; %i < %count; %i++) - { - %cl = ClientGroup.getObject(%i); - if (%cl.team <= 0) - { - //print the header only if we actually find an observer - if (!%printedHeader) - { - %printedHeader = true; - messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCOREKILLSAssistsOffKillsDefKillsDisc MA'); - } - - //print out the client - %score = %cl.score $= "" ? 0 : %cl.score;// - %line = '%1 %2%3%4%5%6%7%8'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, %cl.name, "", %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"] ); - } - } + %game.sendCTFDebrif(%client); extendedDebrief(%game, %client); } else{ parent::sendDebriefing(%game, %client); } } +function DefaultGame::sendCTFDebrif(%game,%client){ + %topScore = ""; + %topCount = 0; + for ( %team = 1; %team <= %game.numTeams; %team++ ) + { + if ( %topScore $= "" || $TeamScore[%team] > %topScore ) + { + %topScore = $TeamScore[%team]; + %firstTeam = %team; + %topCount = 1; + } + else if ( $TeamScore[%team] == %topScore ) + { + %secondTeam = %team; + %topCount++; + } + } + // Mission result: + if ( %topCount == 1 ) + messageClient( %client, 'MsgDebriefResult', "", 'Team %1 wins!', %game.getTeamName(%firstTeam) ); + else if ( %topCount == 2 ) + messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); + else + messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); + + // Team scores: + messageClient( %client, 'MsgDebriefAddLine', "", 'TEAMSCORE' ); + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) + { + if ( $TeamScore[%team] $= "" ) + %score = 0; + else + %score = $TeamScore[%team]; + messageClient( %client, 'MsgDebriefAddLine', "", ' %1 %2', %game.getTeamName(%team), %score ); + } + + // Player scores: + messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLSAssistsOffKillsDefKillsDisc MA' ); + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) + %count[%team] = 0; + + %notDone = true; + while ( %notDone ) + { + // Get the highest remaining score: + %highScore = ""; + for ( %team = 1; %team <= %game.numTeams; %team++ ) + { + if ( %count[%team] < $TeamRank[%team, count] && ( %highScore $= "" || $TeamRank[%team, %count[%team]].score > %highScore ) ) + { + %highScore = $TeamRank[%team, %count[%team]].score; + %highTeam = %team; + } + } + + // Send the debrief line: + %cl = $TeamRank[%highTeam, %count[%highTeam]]; + %score = %cl.score $= "" ? 0 : %cl.score; + %kills = %cl.kills $= "" ? 0 : %cl.kills; + %nameColor = %cl == %client ? "" : "";// + if(%cl == %client){ + %line = '%9%1 %2%3%4%5%6%7%8'; + + }else{ + %line = '%9%1 %2%3%4%5%6%7%8'; + } + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(getTaggedString(%cl.name)), %game.getTeamName(%cl.team), %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"],%nameColor); + + %count[%highTeam]++; + %notDone = false; + for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) + { + if ( %count[%team] < $TeamRank[%team, count] ) + { + %notDone = true; + break; + } + } + } + + //now go through an list all the observers: + %count = ClientGroup.getCount(); + %printedHeader = false; + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if (%cl.team <= 0) + { + //print the header only if we actually find an observer + if (!%printedHeader) + { + %printedHeader = true; + messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCOREKILLSAssistsOffKillsDefKillsDisc MA'); + } + + //print out the client + %score = %cl.score $= "" ? 0 : %cl.score;// + %nameColor = %cl == %client ? "" : ""; + if(%cl == %client){ + %line = '%9%1 %2%3%4%5%6%7%8'; + } + else{ + %line = '%9%1 %2%3%4%5%6%7%8'; + } + messageClient( %client, 'MsgDebriefAddLine', "", %line,StripMLControlChars(getTaggedString(%cl.name)), "", %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"],%nameColor ); + } + } +} function extendedDebrief(%game, %client){ if($dtStats::evoStyleDebrief && !%client.isWatchOnly){ if(dtGameStat.gc["flag"] > 0){ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); - messageClient( %client, 'MsgDebriefAddLine', "", 'FLAG STATS\tPLAYER\t' ); + messageClient( %client, 'MsgDebriefAddLine', "", 'FLAG STATS\tPLAYER\t' ); if(dtGameStat.stat["heldTimeSec"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Fastest Cap\t%1\t%2 Sec', dtGameStat.name["heldTimeSec"], dtGameStat.stat["heldTimeSec"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'Fastest Cap\t%3%1\t%2 Sec', StripMLControlChars(hasValueS(dtGameStat.name["heldTimeSec"],"NA")), dtGameStat.stat["heldTimeSec"],(%client == dtGameStat.client["heldTimeSec"]) ? "" : ""); if(dtGameStat.stat["grabSpeed"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Flaming Ass\t%1\t%2 Kmh', dtGameStat.name["grabSpeed"], dtGameStat.stat["grabSpeed"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'Flaming Ass\t%3%1\t%2 Kmh', StripMLControlChars(hasValueS(dtGameStat.name["grabSpeed"],"NA")), dtGameStat.stat["grabSpeed"],(%client == dtGameStat.client["grabSpeed"]) ? "" : ""); if(dtGameStat.stat["flagCaps"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Cap Mastah\t%1\t%2', dtGameStat.name["flagCaps"], dtGameStat.stat["flagCaps"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'Cap Mastah\t%3%1\t%2', StripMLControlChars(hasValueS(dtGameStat.name["flagCaps"],"NA")), dtGameStat.stat["flagCaps"],(%client == dtGameStat.client["flagCaps"]) ? "" : ""); if(dtGameStat.stat["flagGrabs"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Grabz0r\t%1\t%2', dtGameStat.name["flagGrabs"], dtGameStat.stat["flagGrabs"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'Grabz0r\t%3%1\t%2', StripMLControlChars(hasValueS(dtGameStat.name["flagGrabs"],"NA")), dtGameStat.stat["flagGrabs"],(%client == dtGameStat.client["flagGrabs"]) ? "" : ""); if(dtGameStat.stat["carrierKills"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'FC killer\t%1\t%2', dtGameStat.name["carrierKills"], dtGameStat.stat["carrierKills"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'FC killer\t%3%1\t%2', StripMLControlChars(hasValueS(dtGameStat.name["carrierKills"],"NA")), dtGameStat.stat["carrierKills"],(%client == dtGameStat.client["carrierKills"]) ? "" : ""); if(dtGameStat.stat["flagDefends"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Flag Guardian\t%1\t%2', dtGameStat.name["flagDefends"], dtGameStat.stat["flagDefends"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'Flag Guardian\t%3%1\t%2', StripMLControlChars(hasValueS(dtGameStat.name["flagDefends"],"NA")), dtGameStat.stat["flagDefends"],(%client == dtGameStat.client["flagDefends"]) ? "" : ""); if(dtGameStat.stat["escortAssists"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Flag Escort\t%1\t%2', dtGameStat.name["escortAssists"], dtGameStat.stat["escortAssists"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'Flag Escort\t%3%1\t%2', StripMLControlChars(hasValueS(dtGameStat.name["escortAssists"],"NA")), dtGameStat.stat["escortAssists"],(%client == dtGameStat.client["escortAssists"]) ? "" : ""); if(dtGameStat.stat["stalemateReturn"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Stalemate Breaker\t%1\t%2', dtGameStat.name["stalemateReturn"], dtGameStat.stat["stalemateReturn"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'Stalemate Breaker\t%3%1\t%2', StripMLControlChars(hasValueS(dtGameStat.name["stalemateReturn"],"NA")), dtGameStat.stat["stalemateReturn"],(%client == dtGameStat.client["stalemateReturn"]) ? "" : ""); if(dtGameStat.stat["flagReturns"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Flag Returns\t%1\t%2', dtGameStat.name["flagReturns"], dtGameStat.stat["flagReturns"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'Flag Returns\t%3%1\t%2', StripMLControlChars(hasValueS(dtGameStat.name["flagReturns"],"NA")), dtGameStat.stat["flagReturns"],(%client == dtGameStat.client["flagReturns"]) ? "" : ""); } if(dtGameStat.gc["ma"] > 0){ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); - messageClient( %client, 'MsgDebriefAddLine', "", '\tPLAYER\tMA\tPLAYER\tDISTANCE'); + messageClient( %client, 'MsgDebriefAddLine', "", '\tPLAYER\tMA\tPLAYER\tDISTANCE'); if(dtGameStat.stat["discMA"] > 0){ - %line = 'Disc\t%1\t%2\t%3\t%4m'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["discMA"], dtGameStat.stat["discMA"], dtGameStat.name["discMAHitDist"], mFormatFloat(dtGameStat.stat["discMAHitDist"], "%.2f")); + %line = 'Disc\t%5%1\t%2\t%6%3\t%4m'; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["discMA"],"NA")), dtGameStat.stat["discMA"], StripMLControlChars(hasValueS(dtGameStat.name["discMAHitDist"],"NA")), mFormatFloat(dtGameStat.stat["discMAHitDist"], "%.2f"),(%client == dtGameStat.client["discMA"]) ? "" : "", (%client == dtGameStat.client["discMAHitDist"]) ? "" : ""); } if(dtGameStat.stat["plasmaMA"] > 0){ - %line = 'Plasma\t%1\t%2\t%3\t%4m'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["plasmaMA"], dtGameStat.stat["plasmaMA"], dtGameStat.name["plasmaMAHitDist"], mFormatFloat(dtGameStat.stat["plasmaMAHitDist"], "%.2f")); + %line = 'Plasma\t%5%1\t%2\t%6%3\t%4m'; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["plasmaMA"],"NA")), dtGameStat.stat["plasmaMA"], StripMLControlChars(hasValueS(dtGameStat.name["plasmaMAHitDist"],"NA")), mFormatFloat(dtGameStat.stat["plasmaMAHitDist"], "%.2f"),(%client == dtGameStat.client["plasmaMA"]) ? "" : "", (%client == dtGameStat.client["plasmaMAHitDist"]) ? "" : ""); } if(dtGameStat.stat["blasterMA"] > 0){ - %line = 'Blaster\t%1\t%2\t%3\t%4m'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["blasterMA"], dtGameStat.stat["blasterMA"], dtGameStat.name["blasterMAHitDist"], mFormatFloat(dtGameStat.stat["blasterMAHitDist"], "%.2f")); + %line = 'Blaster\t%5%1\t%2\t%6%3\t%4m'; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["blasterMA"],"NA")), dtGameStat.stat["blasterMA"], StripMLControlChars(hasValueS(dtGameStat.name["blasterMAHitDist"],"NA")), mFormatFloat(dtGameStat.stat["blasterMAHitDist"], "%.2f"),(%client == dtGameStat.client["blasterMA"]) ? "" : "", (%client == dtGameStat.client["blasterMAHitDist"]) ? "" : ""); } if(dtGameStat.stat["grenadeMA"] > 0){ - %line = 'Grenade Launcher\t%1\t%2\t%3\t%4m'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["grenadeMA"], dtGameStat.stat["grenadeMA"], dtGameStat.name["grenadeMAHitDist"], mFormatFloat(dtGameStat.stat["grenadeMAHitDist"], "%.2f")); + %line = 'Grenade Launcher\t%5%1\t%2\t%6%3\t%4m'; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["grenadeMA"],"NA")), dtGameStat.stat["grenadeMA"], StripMLControlChars(hasValueS(dtGameStat.name["grenadeMAHitDist"],"NA")), mFormatFloat(dtGameStat.stat["grenadeMAHitDist"], "%.2f"),(%client == dtGameStat.client["grenadeMA"]) ? "" : "", (%client == dtGameStat.client["grenadeMAHitDist"]) ? "" : ""); } if(dtGameStat.stat["mortarMA"] > 0){ - %line = 'Mortar\t%1\t%2\t%3\t%4m'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["mortarMA"], dtGameStat.stat["mortarMA"], dtGameStat.name["mortarMAHitDist"], mFormatFloat(dtGameStat.stat["mortarMAHitDist"], "%.2f")); + %line = 'Mortar\t%5%1\t%2\t%6%3\t%4m'; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["mortarMA"],"NA")), dtGameStat.stat["mortarMA"], StripMLControlChars(hasValueS(dtGameStat.name["mortarMAHitDist"],"NA")), mFormatFloat(dtGameStat.stat["mortarMAHitDist"], "%.2f"),(%client == dtGameStat.client["mortarMA"]) ? "" : "", (%client == dtGameStat.client["mortarMAHitDist"]) ? "" : ""); } } if(dtGameStat.gc["misc"] > 0){ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); messageClient( %client, 'MsgDebriefAddLine', "", 'MISC' ); if(dtGameStat.stat["laserHeadShot"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Headhunter \t%1\t%2',dtGameStat.name["laserHeadShot"],dtGameStat.stat["laserHeadShot"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'Headhunter\t%3%1\t%2',StripMLControlChars(dtGameStat.name["laserHeadShot"]),dtGameStat.stat["laserHeadShot"],(%client == dtGameStat.client["flagReturns"]) ? "" : ""); if(dtGameStat.stat["laserHitDist"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Longest Snipeshot\t%1\t%2m',dtGameStat.name["laserHitDist"],mFormatFloat(dtGameStat.stat["laserHitDist"], "%.2f")); + messageClient( %client, 'MsgDebriefAddLine', "", 'Longest Snipe\t%3%1\t%2m',StripMLControlChars(dtGameStat.name["laserHitDist"]),mFormatFloat(dtGameStat.stat["laserHitDist"], "%.2f"),(%client == dtGameStat.client["laserHitDist"]) ? "" : ""); if(dtGameStat.stat["shockRearShot"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Taser Tailgater\t%1\t%2',dtGameStat.name["shockRearShot"],dtGameStat.stat["shockRearShot"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'Taser Tailgater\t%3%1\t%2',StripMLControlChars(dtGameStat.name["shockRearShot"]),dtGameStat.stat["shockRearShot"],(%client == dtGameStat.client["shockRearShot"]) ? "" : ""); if(dtGameStat.stat["repairs"] > 0) - messageClient( %client, 'MsgDebriefAddLine', "", 'Fixer Upper\t%1\t%2',dtGameStat.name["repairs"],dtGameStat.stat["repairs"]); + messageClient( %client, 'MsgDebriefAddLine', "", 'Fixer Upper\t%3%1\t%2',StripMLControlChars(dtGameStat.name["repairs"]),dtGameStat.stat["repairs"],(%client == dtGameStat.client["repairs"]) ? "" : ""); } if(dtGameStat.gc["wep"] > 0){ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); - messageClient( %client, 'MsgDebriefAddLine', "", '\tPLAYER\tDAMAGE\tPLAYER\tKILLS'); + messageClient( %client, 'MsgDebriefAddLine', "", '\tPLAYER\tDMG\tPLAYER\tKILLS'); - if(dtGameStat.stat["blasterDmg"] > 0){ - %line = 'Blaster Master\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["blasterDmg"], mFormatFloat(dtGameStat.stat["blasterDmg"], "%.2f"), dtGameStat.name["blasterKills"], dtGameStat.stat["blasterKills"]); + if(dtGameStat.stat["blasterKills"] > 0){ + %line = 'Blaster Master\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["blasterDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["blasterKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["blasterDmg"],"NA")), mFormatFloat(dtGameStat.stat["blasterDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["blasterKills"],"NA")), dtGameStat.stat["blasterKills"],%color1,%color2); } - if(dtGameStat.stat["plasmaDmg"] > 0){ - %line = 'Plasma Roaster\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["plasmaDmg"], mFormatFloat(dtGameStat.stat["plasmaDmg"], "%.2f"), dtGameStat.name["plasmaKills"], dtGameStat.stat["plasmaKills"]); + if(dtGameStat.stat["plasmaKills"] > 0){ + %line = 'Plasma Roaster\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["plasmaDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["plasmaKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["plasmaDmg"],"NA")), mFormatFloat(dtGameStat.stat["plasmaDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["plasmaKills"],"NA")), dtGameStat.stat["plasmaKills"],%color1,%color2); } - if(dtGameStat.stat["discDmg"] > 0){ - %line = 'Disc-O-maniac\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["discDmg"], mFormatFloat(dtGameStat.stat["discDmg"], "%.2f"), dtGameStat.name["discKills"], dtGameStat.stat["discKills"]); + if(dtGameStat.stat["discKills"] > 0){ + %line = 'Disc-O-maniac\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["discDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["discKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["discDmg"],"NA")), mFormatFloat(dtGameStat.stat["discDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["discKills"],"NA")), dtGameStat.stat["discKills"],%color1,%color2); } - if(dtGameStat.stat["cgDmg"] > 0){ - %line = 'Chainwh0re\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["cgDmg"], mFormatFloat(dtGameStat.stat["cgDmg"], "%.2f"), dtGameStat.name["cgKills"], dtGameStat.stat["cgKills"]); + if(dtGameStat.stat["cgKills"] > 0){ + %line = 'Chainwh0re\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["cgDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["cgKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["cgDmg"],"NA")), mFormatFloat(dtGameStat.stat["cgDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["cgKills"],"NA")), dtGameStat.stat["cgKills"],%color1,%color2); } - if(dtGameStat.stat["hGrenadeDmg"] > 0){ - %line = 'Grenade puppy\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["hGrenadeDmg"], mFormatFloat(dtGameStat.stat["hGrenadeDmg"], "%.2f"), dtGameStat.name["hGrenadeKills"], dtGameStat.stat["hGrenadeKills"]); + if(dtGameStat.stat["hGrenadeKills"] > 0){ + %line = 'Grenade puppy\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["hGrenadeDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["hGrenadeKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["hGrenadeDmg"],"NA")), mFormatFloat(dtGameStat.stat["hGrenadeDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["hGrenadeKills"],"NA")), dtGameStat.stat["hGrenadeKills"],%color1,%color2); } - if(dtGameStat.stat["laserDmg"] > 0){ - %line = 'Laser Turret\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["laserDmg"], mFormatFloat(dtGameStat.stat["laserDmg"], "%.2f"), dtGameStat.name["laserKills"], dtGameStat.stat["laserKills"]); + if(dtGameStat.stat["laserKills"] > 0){ + %line = 'Laser Turret\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["laserDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["laserKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["laserDmg"],"NA")), mFormatFloat(dtGameStat.stat["laserDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["laserKills"],"NA")), dtGameStat.stat["laserKills"],%color1,%color2); } - if(dtGameStat.stat["mortarDmg"] > 0){ - %line = 'Mortar Maniac\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["mortarDmg"], mFormatFloat(dtGameStat.stat["mortarDmg"], "%.2f"), dtGameStat.name["mortarKills"], dtGameStat.stat["mortarKills"]); + if(dtGameStat.stat["mortarKills"] > 0){ + %line = 'Mortar Maniac\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["mortarDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["mortarKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["mortarDmg"],"NA")), mFormatFloat(dtGameStat.stat["mortarDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["mortarKills"],"NA")), dtGameStat.stat["mortarKills"],%color1,%color2); } - if(dtGameStat.stat["missileDmg"] > 0){ - %line = 'Missile Lamer\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["missileDmg"], mFormatFloat(dtGameStat.stat["missileDmg"], "%.2f"), dtGameStat.name["missileKills"], dtGameStat.stat["missileKills"]); + if(dtGameStat.stat["missileKills"] > 0){ + %line = 'Missile Lamer\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["missileDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["missileKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["missileDmg"],"NA")), mFormatFloat(dtGameStat.stat["missileDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["missileKills"],"NA")), dtGameStat.stat["missileKills"],%color1,%color2); } - if(dtGameStat.stat["shockDmg"] > 0){ - %line = 'Shocklance Bee\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["shockDmg"], mFormatFloat(dtGameStat.stat["shockDmg"], "%.2f"), dtGameStat.name["shockKills"], dtGameStat.stat["shockKills"]); + if(dtGameStat.stat["shockKills"] > 0){ + %line = 'Shocklance Bee\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["shockDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["shockKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["shockDmg"],"NA")), mFormatFloat(dtGameStat.stat["shockDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["shockKills"],"NA")), dtGameStat.stat["shockKills"],%color1,%color2); } - if(dtGameStat.stat["mineDmg"] > 0){ - %line = 'Mine Mayhem\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["mineDmg"], mFormatFloat(dtGameStat.stat["mineDmg"], "%.2f"), dtGameStat.name["mineKills"], dtGameStat.stat["mineKills"]); + if(dtGameStat.stat["mineKills"] > 0){ + %line = 'Mine Mayhem\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["mineDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["mineKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["mineDmg"],"NA")), mFormatFloat(dtGameStat.stat["mineDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["mineKills"],"NA")), dtGameStat.stat["mineKills"],%color1,%color2); } - if(dtGameStat.stat["outdoorDepTurretDmg"] > 0){ - %line = 'Road Killer\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["outdoorDepTurretDmg"], mFormatFloat(dtGameStat.stat["outdoorDepTurretDmg"], "%.2f"), dtGameStat.name["outdoorDepTurretKills"], dtGameStat.stat["outdoorDepTurretKills"]); + if(dtGameStat.stat["outdoorDepTurretKills"] > 0){ + %line = 'Spike Farmer\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["outdoorDepTurretDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["outdoorDepTurretKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["outdoorDepTurretDmg"],"NA")), mFormatFloat(dtGameStat.stat["outdoorDepTurretDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["outdoorDepTurretKills"],"NA")), dtGameStat.stat["outdoorDepTurretKills"],%color1,%color2); } - if(dtGameStat.stat["indoorDepTurretDmg"] > 0){ - %line = 'Clamp Farmer\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["indoorDepTurretDmg"], mFormatFloat(dtGameStat.stat["indoorDepTurretDmg"], "%.2f"), dtGameStat.name["indoorDepTurretKills"], dtGameStat.stat["indoorDepTurretKills"]); + if(dtGameStat.stat["indoorDepTurretKills"] > 0){ + %line = 'Clamp Farmer\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["indoorDepTurretDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["indoorDepTurretKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["indoorDepTurretDmg"],"NA")), mFormatFloat(dtGameStat.stat["indoorDepTurretDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["indoorDepTurretKills"],"NA")), dtGameStat.stat["indoorDepTurretKills"],%color1,%color2); } - if(dtGameStat.stat["roadDmg"] > 0){ - %line = 'Spike Farmer\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["roadDmg"], mFormatFloat(dtGameStat.stat["roadDmg"], "%.2f"), dtGameStat.name["roadKills"], dtGameStat.stat["roadKills"]); + if(dtGameStat.stat["roadKills"] > 0){ + %line = 'Road Killer\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["roadDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["roadKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["roadDmg"],"NA")), mFormatFloat(dtGameStat.stat["roadDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["roadKills"],"NA")), dtGameStat.stat["roadKills"],%color1,%color2); } - if(dtGameStat.stat["shrikeBlasterDmg"] > 0){ - %line = 'Shrike Gunner\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["shrikeBlasterDmg"], mFormatFloat(dtGameStat.stat["shrikeBlasterDmg"], "%.2f"), dtGameStat.name["shrikeBlasterKills"], dtGameStat.stat["shrikeBlasterKills"]); + if(dtGameStat.stat["shrikeBlasterKills"] > 0){ + %line = 'Shrike Gunner\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["shrikeBlasterDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["shrikeBlasterKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["shrikeBlasterDmg"],"NA")), mFormatFloat(dtGameStat.stat["shrikeBlasterDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["shrikeBlasterKills"],"NA")), dtGameStat.stat["shrikeBlasterKills"],%color1,%color2); } - if(dtGameStat.stat["bellyTurretDmg"] > 0){ - %line = 'Tailgunner\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["bellyTurretDmg"], mFormatFloat(dtGameStat.stat["bellyTurretDmg"], "%.2f"), dtGameStat.name["bellyTurretKills"], dtGameStat.stat["bellyTurretKills"]); + if(dtGameStat.stat["bellyTurretKills"] > 0){ + %line = 'Tailgunner\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["bellyTurretDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["bellyTurretKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["bellyTurretDmg"],"NA")), mFormatFloat(dtGameStat.stat["bellyTurretDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["bellyTurretKills"],"NA")), dtGameStat.stat["bellyTurretKills"],%color1,%color2); } - if(dtGameStat.stat["bomberBombsDmg"] > 0){ - %line = 'Clamp Farmer\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["bomberBombsDmg"], mFormatFloat(dtGameStat.stat["bomberBombsDmg"], "%.2f"), dtGameStat.name["bomberBombsKills"], dtGameStat.stat["bomberBombsKills"]); + if(dtGameStat.stat["bomberBombsKills"] > 0){ + %line = 'Clamp Farmer\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["bomberBombsDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["bomberBombsKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["bomberBombsDmg"],"NA")), mFormatFloat(dtGameStat.stat["bomberBombsDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["bomberBombsKills"],"NA")), dtGameStat.stat["bomberBombsKills"],%color1,%color2); } - if(dtGameStat.stat["tankChaingunDmg"] > 0){ - %line = 'Tank Gunner (chain)\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["tankChaingunDmg"], mFormatFloat(dtGameStat.stat["tankChaingunDmg"], "%.2f"), dtGameStat.name["tankChaingunKills"], dtGameStat.stat["tankChaingunKills"]); + if(dtGameStat.stat["tankChaingunKills"] > 0){ + %line = 'Tank Gunner (chain)\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["tankChaingunDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["tankChaingunKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["tankChaingunDmg"],"NA")), mFormatFloat(dtGameStat.stat["tankChaingunDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["tankChaingunKills"],"NA")), dtGameStat.stat["tankChaingunKills"],%color1,%color2); } - if(dtGameStat.stat["tankMortarDmg"] > 0){ - %line = 'Tank Gunner (mortar)\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["tankMortarDmg"], mFormatFloat(dtGameStat.stat["tankMortarDmg"], "%.2f"), dtGameStat.name["tankMortarKills"], dtGameStat.stat["tankMortarKills"]); + if(dtGameStat.stat["tankMortarKills"] > 0){ + %line = 'Tank Gunner (mortar)\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["tankMortarDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["tankMortarKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["tankMortarDmg"],"NA")), mFormatFloat(dtGameStat.stat["tankMortarDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["tankMortarKills"],"NA")), dtGameStat.stat["tankMortarKills"],%color1,%color2); } - if(dtGameStat.stat["satchelDmg"] > 0){ - %line = 'Satchel Punk\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["satchelDmg"], mFormatFloat(dtGameStat.stat["satchelDmg"], "%.2f"), dtGameStat.name["satchelKills"], dtGameStat.stat["satchelKills"]); + if(dtGameStat.stat["satchelKills"] > 0){ + %line = 'Satchel Punk\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["satchelDmg"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["satchelKills"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["satchelDmg"],"NA")), mFormatFloat(dtGameStat.stat["satchelDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["satchelKills"],"NA")), dtGameStat.stat["satchelKills"],%color1,%color2); } - if(dtGameStat.stat["minePlusDisc"] > 0){ - %line = 'Combo King\t%1\t%2\t%3\t%4'; - messageClient( %client, 'MsgDebriefAddLine', "", %line, dtGameStat.name["minePlusDisc"], mFormatFloat(dtGameStat.stat["minePlusDisc"], "%.2f"), dtGameStat.name["minePlusDiscKill"], dtGameStat.stat["minePlusDiscKill"]); + if(dtGameStat.stat["minePlusDiscKill"] > 0){ + %line = 'Combo King\t%5%1\t%2\t%6%3\t%4'; + %color1 = (%client == dtGameStat.client["minePlusDisc"]) ? "" : ""; + %color2 = (%client == dtGameStat.client["minePlusDiscKill"]) ? "" : ""; + messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["minePlusDisc"],"NA")), mFormatFloat(dtGameStat.stat["minePlusDisc"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["minePlusDiscKill"],"NA")), dtGameStat.stat["minePlusDiscKill"],%color1,%color2); } } } @@ -3590,7 +3838,7 @@ package dtStatsGame{ %missionType = $HostTypeName[%arg4] @ "Game"; %map = cleanMapName(%mission); $dtServer::voteFor[%map,%missionType]++; - getMapID(%map,%missionType,0,0); + getMapID(%map,%missionType,0); } } } @@ -3788,6 +4036,7 @@ package dtStatsGame{ function CTFGame::playerTouchEnemyFlag(%game, %player, %flag){ if(%flag.isHome){ %game.dtTotalFlagTime[%flag] = getSimTime(); + %player.client.dtStats.stat["flagGrabAtStand"]++; } if(!%player.flagTossWait){ if(%flag.speed > 10 && %flag.pass && %player.client.dtStats != %flag.lastDTStat){ @@ -3850,7 +4099,7 @@ package dtStatsGame{ dtMinMax("heldTimeSec", "flag", 2, %heldTime, %player.client); - } + } if($dtStats::ctfTimes){ %heldTimeMS = getSimTime() - %game.dtTotalFlagTime[%flag]; %fTime = %game.formatTime(%heldTimeMS, true); @@ -3919,6 +4168,7 @@ package dtStatsGame{ function LCTFGame::playerTouchEnemyFlag(%game, %player, %flag){ if(%flag.isHome){ %game.dtTotalFlagTime[%flag] = getSimTime(); + %player.client.dtStats.stat["flagGrabAtStand"]++; } if(!%player.flagTossWait){ if(%flag.speed > 10 && %flag.pass && %player.client.dtStats != %flag.lastDTStat){ @@ -4041,6 +4291,7 @@ package dtStatsGame{ function SCtFGame::playerTouchEnemyFlag(%game, %player, %flag){ if(%flag.isHome){ %game.dtTotalFlagTime[%flag] = getSimTime(); + %player.client.dtStats.stat["flagGrabAtStand"]++; } if(!%player.flagTossWait){ if(%flag.speed > 10 && %flag.pass && %player.client.dtStats != %flag.lastDTStat){ @@ -4262,7 +4513,7 @@ function ArenaHud( %game, %client, %tag ) if ( %cl == %client ) if ( %cl.isAlive ) - %clStyle = ""; + %clStyle = ""; else %clStyle = ""; else if ( %cl.isAlive ) @@ -4321,8 +4572,8 @@ function ArenaHud( %game, %client, %tag ) // Arena Footer messageClient( %client, 'SetLineHud', "", %tag, %index++, '\t[View Server Stats]', %game.class); - messageClient( %client, 'SetLineHud', "", %tag, %index++, "\tTribes 2 Arena - 1.0 Final - http://www.planettribes.com/t2arena/" ); -// messageClient( %client, 'SetLineHud', "", %tag, %index++, "\thttp://www.planettribes.com/t2arena/" ); + messageClient( %client, 'SetLineHud', "", %tag, %index++, "\tTribes 2 Arena - 1.0 Final - http://www.planettribes.com/t2arena/" ); +// messageClient( %client, 'SetLineHud', "", %tag, %index++, "\thttp://www.planettribes.com/t2arena/" ); messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); // Clear the rest of HUD so we don't get old lines hanging around... @@ -4355,7 +4606,7 @@ function DMHud(%game, %client, %tag){// note in this game type the score hud can %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 ? "" : ""; + %clStyle = %cl == %client ? "" : ""; //%BonusValue = %client.Bonus * %game.SCORE_PER_BONUS; //%MidAirValue = %client.MidAir * %game.SCORE_PER_MIDAIR; @@ -4462,7 +4713,7 @@ function LakRabbitHud(%game, %client, %tag){ { %col1ClientTimeMS = %col1Client.flagTimeMS; if ( %col1Client == %client ) - %col1Style = ""; + %col1Style = ""; } if (%col1ClientTimeMS <= 0) @@ -4503,7 +4754,7 @@ function LakRabbitHud(%game, %client, %tag){ { %col2ClientTimeMS = %col2Client.flagTimeMS; if ( %col2Client == %client ) - %col2Style = ""; + %col2Style = ""; } if (%col2ClientTimeMS <= 0) @@ -4545,9 +4796,9 @@ function LakRabbitHud(%game, %client, %tag){ %col2Client.name, %col2ClientScore, %col2ClientTime, %col1Style, %col1Client, %col2Client ); } - else if (%col2Style $= "") + else if (%col2Style $= "") { - messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3%4%5%6', + messageClient( %client, 'SetLineHud', "", %tag, %index, '%7\t%1%2%3%4%5%6', %col1Client.name, %col1ClientScore, %col1ClientTime, %col2Client.name, %col2ClientScore, %col2ClientTime, %col1Style, %col1Client, %col2Client ); @@ -4671,7 +4922,7 @@ function CTFHud(%game, %client, %tag){// defaultGame/evo else %team1ClientScore = %team1Client.score $= "" ? 0 : %team1Client.score; - %col1Style = %team1Client == %client ? "" : ""; + %col1Style = %team1Client == %client ? "" : ""; if(!$Host::TournamentMode && !$Host::ShowIngamePlayerScores) %team1playersTotalScore = 0; @@ -4700,7 +4951,7 @@ function CTFHud(%game, %client, %tag){// defaultGame/evo else %team2ClientScore = %team2Client.score $= "" ? 0 : %team2Client.score; - %col2Style = %team2Client == %client ? "" : ""; + %col2Style = %team2Client == %client ? "" : ""; if(!$Host::TournamentMode && !$Host::ShowIngamePlayerScores) %team2playersTotalScore = 0; @@ -4795,17 +5046,20 @@ function dtStatsMissionDropReady(%game, %client){ // called when client has fini %client.dtStats = %dtStats; %dtStats.client = %client; %dtStats.clientLeft = 0; - %dtStats.stat["clientQuit"] = 0; + %dtStats.stat["clientQuit"] = 0; %dtStats.markForDelete = 0; - if(%dtStats.leftID == $dtStats::leftID) + if(%dtStats.leftID == $dtStats::leftID){ $dtServer::mapReconnects[cleanMapName($CurrentMission),%game.class]++; - if(isGameRun() && %dtStats.leftID == $dtStats::leftID && %dtStats.stat["score"] != 0)// make sure game is running and we are on the same map + } + if(isGameRun() && %dtStats.leftID == $dtStats::leftID && %dtStats.stat["score"] != 0){// make sure game is running and we are on the same map resGameStats(%client,%game.class); // restore stats; - else + } + else{ resetDtStats(%dtStats,%game.class,1); - - if(%client.stat["score"] != 0) + } + if(%client.stat["score"] != 0){ messageClient(%client, 'MsgClient', '\crWelcome back %1. Your score has been restored.~wfx/misc/rolechange.wav', %client.name); + } break; } } @@ -4819,11 +5073,13 @@ function dtStatsMissionDropReady(%game, %client){ // called when client has fini %dtStats.stat["clientQuit"] = 0; %dtStats.markForDelete = 0; %dtStats.name = %name; + $dtStats::tbLookUP[%client.guid] = %dtStats; } } - else + else{ %dtStats = %client.dtStats; - + } + %dtStats.joinPCT = (isGameRun() == 1) ? %game.getGamePct() : 0; updateTeamTime(%dtStats, -1); %dtStats.team = %client.team;// should be 0 @@ -4834,6 +5090,7 @@ function dtStatsMissionDropReady(%game, %client){ // called when client has fini resetDtStats(%dtStats,%game.class,1); %dtStats.gameData[%game.class] = 0; } + %dtStats.mapTime = getSimTime(); } function dtStatsClientLeaveGame(%client){ @@ -4869,9 +5126,10 @@ function dtStatsGameOver( %game ){ $dtStats::LastMissionDN = $MissionDisplayName; $dtStats::LastMissionCM = $CurrentMission; $dtStats::LastGameType = %game.class; - if($Host::TournamentMode){ - $dtStats::tmMode = (%game.getGamePct() > 50); - } + $dtStats::LastGameID = $dtStats::gameID; + + $dtStats::tmMode = $Host::TournamentMode; + if(%game.class $= "CTFGame" || %game.class $= "LCTFGame" || %game.class $= "SCtFGame" || %game.class $= "ArenaGame" ){ if($dtStats::tmMode){ if(!isObject(pugList)){ @@ -4896,7 +5154,7 @@ function dtStatsGameOver( %game ){ mark = dtMarkDate(); }; %tmClass.add(%so); - if(%tmClass.getCount() > 100){ + if(%tmClass.getCount() > 50){ %max = 0; for(%i = 0; %i < %tmClass.getCount(); %i++){ %obj = %tmClass.getObject(%i); @@ -4950,6 +5208,7 @@ function dtStatsGameOver( %game ){ } } } + if(%game.getGamePct() > 90){ $dtServer::playCount[cleanMapName($CurrentMission),%game.class]++; $dtServer::lastPlay[cleanMapName($CurrentMission),%game.class] = getDayNum() TAB getYear() TAB formattimestring("mm/dd/yy hh:nn:a"); @@ -4987,6 +5246,10 @@ function dtStatsGameOver( %game ){ %time += $dtStats::saveTime; schedule(%time,0,"loadGameStats",%dtStats,%game.class); } + else if($dtStats::reloadTotal){ + %time += $dtStats::saveTime; + schedule(%time,0,"loadGameTotalStats",%dtStats,%game.class); + } %time += $dtStats::saveTime; schedule(%time,0,"incGameStats",%dtStats,%game.class); %time += $dtStats::saveTime; @@ -5004,6 +5267,10 @@ function dtStatsGameOver( %game ){ if(!%dtStats.gameData[%game.class, $dtStats::tmMode]){ %time += $dtStats::saveTime; schedule(%time,0,"loadGameStats",%dtStats,%game.class); + } + else if($dtStats::reloadTotal){ + %time += $dtStats::saveTime; + schedule(%time,0,"loadGameTotalStats",%dtStats,%game.class); } %time += $dtStats::saveTime; // this will chain them schedule(%time ,0,"incGameStats",%dtStats,%game.class); //resetDtStats after incGame @@ -5021,9 +5288,432 @@ function dtStatsGameOver( %game ){ } %time += $dtStats::saveTime; schedule(%time,0,"dtSaveDone"); + endGameTB(%game); + $dtStats::reloadTotal = 0; } } +// happens in gameover +function CTFGame::setupClientTeams(%game){ + if(!$TB::TBEnable[$dtStats::gtNameShort[%game.class]]){ + parent::setupClientTeams(%game); + } +} +function LCTFGame::setupClientTeams(%game){ + if(!$TB::TBEnable[$dtStats::gtNameShort[%game.class]]){ + parent::setupClientTeams(%game); + } +} +function SCtFGame::setupClientTeams(%game){ + if(!$TB::TBEnable[$dtStats::gtNameShort[%game.class]]){ + parent::setupClientTeams(%game); + } +} +function ArenaGame::setupClientTeams(%game){ + if(!$TB::TBEnable[$dtStats::gtNameShort[%game.class]]){ + parent::setupClientTeams(%game); + } +} + +function endGameTB(%game){ + if($TB::TBLog[$dtStats::gtNameShort[%game.class]]){ + logTB(%game);// log the outcome + for(%x = 0; %x < statsGroup.getCount(); %x++){ + %dtStats = statsGroup.getObject(%x); + calcTBScores(%dtStats,%game); + } + saveTBMap(%game);// save map stats + } +} + +function calcTBScores(%dtStats,%game){ + if(%game.class $= "CTFGame" || %game.class $= "LCTFGame" || %game.class $= "SCtFGame" || %game.class $= "ArenaGame"){ + if($dtStats::debugEchos){error("calcTBScores" SPC %dtStats SPC %game);} + + if(%dtStats.tScore $= ""){ + %dtStats.tScore = 0; + } + if(%dtStats.mTScore $= ""){ + %dtStats.mTScore = 0; + } + if(!getFieldCount(%dtStats.gScore)){ + %dtStats.gScore = "0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0"; + } + if(!getFieldCount(%dtStats.mGScore)){ + %dtStats.mGScore = "0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0"; + } + + if(isObject(%dtStats) && ((getSimTime() - $missionStartTime) > ((15 * 60) * 1000))){// make sre we dident short cycle + %tgame = $dtStats::gtNameShort[%game.class]; + %tScore = 0; + for(%i = 0; %i < $TB::statGroupCount[%tgame]; %i++){ + %gScore = 0; + if($TB::statCount[%tgame, %i] !$= ""){ + for(%x = 0; %x < $TB::statCount[%tgame, %i]; %x++){ + %var = $TB::statName[%x,%tgame, %i]; + %w = $TB::statWeight[%x,%tgame, %i]; + %gScore += %dtstats.stat[%var] * (%w/100); + %tScore += %dtstats.stat[%var] * (%w/100); + } + } + + if(%tScore > 0){ + %dtStats.tScore = expoMovAvg(%dtStats.tScore, %tScore); + %dtStats.mTScore = expoMovAvg(%dtStats.mTScore, %tScore); + } + + if(%gScore > 0){ + + %value = getField(%dtStats.gScore,%i); + %newValue = expoMovAvg(%value , %gScore); + %dtStats.gScore = setField(%dtStats.gScore, %i, %newValue); + + + %value = getField(%dtStats.mGScore,%i); + %newValue = expoMovAvg(%value , %gScore); + %dtStats.mGScore = setField(%dtStats.mGScore, %i, %newValue); + } + + } + } + } +} + + +function logTB(%game) { + %log = new fileObject(); + RootGroup.add(%log); + %log.openForWrite("serverStats/TB/Logs/" @ $dtStats::gameID @ ".txt"); + %numRoles = statCol.getCount(); + %log.writeLine($dtStats::LastMissionCM); + for (%t = 1; %t <= %game.numTeams; %t++) { // teams + %log.writeLine("Game Score" SPC $TeamScore[%t]); + %output = "Team" @ %t SPC "Rating" SPC $dtTeamScore[%t] @ %t; + + // Print role headers + for (%r = 0; %r < %numRoles; %r++) { + %output = %output @ "\tRole" @ %r; + } + echo(%output); + %log.writeLine(%output); + %maxClients = 0; + + // Find the max number of clients in any role to determine rows needed + for (%r = 0; %r < %numRoles; %r++) { + if ($TT::LOGC[%t, %r] > %maxClients) { + %maxClients = $TT::LOGC[%t, %r]; + } + } + // Print users under each role in rows + for (%c = 0; %c < %maxClients; %c++) { + %row = " "; // First column is blank for alignment + for (%r = 0; %r < %numRoles; %r++) { + if (%c < $TT::LOGC[%t, %r]) { + %dt = $TT::LOG[%t, %r, %c]; + %row = %row @ "\t" @ %dt.name @ "-" @ getField(%dt.mGScore,%r); + } else { + %row = %row @ "\t"; // Empty space for alignment + } + } + echo(%row); + %log.writeLine(%row); + } + + echo("\n"); // Extra line break for clarity + } + + %log.writeLine(""); + %log.writeLine(""); + %log.writeLine("Teams Summary:"); + for (%i = 0; %i < %game.numTeams; %i++) { + %log.writeLine("Team " @ %i + 1 @ " - " @ $dtTeamScore[%i + 1]); + // Print role headers + %output = "\t"; + for (%r = 0; %r < %numRoles; %r++) { + %output = %output @ "\tRole" @ %r; + } + %log.writeLine(%output); + for (%j = 0; %j < $dtTeamCount[%i+1]; %j++) { + %dtStats = $dtTeamList[%i+1,%j]; + %msg = "\t" SPC %dtStats.name; + for (%v = 0; %v < %numRoles; %v++) { + %msg = %msg SPC "\t" SPC getField(%dtStats.mGScore,%v); + %teamStats[%i+1,%v] += getField(%dtStats.mGScore,%v); + } + %log.writeLine(%msg); + } + %teamMsg ="\t"; + for (%v = 0; %v < $weightsTestCount; %v++) { + %teamMsg = %teamMsg SPC "\t" SPC %teamStats[%i+1,%v]; + } + %log.writeLine(%teamMsg); + } + %log.writeLine("Team Score Dif" SPC mabs($dtTeamScore[1] - $dtTeamScore[2])); + + %log.close(); + %log.delete(); +} + +function listTBInfo(%val){ + for(%x = 0; %x < statsGroup.getCount(); %x++){ + %dtStats = statsGroup.getObject(%x); + if(%val){ + calcTBScores(%dtStats,Game); + } + echo(%dtStats.sel SPC "Score" SPC %dtStats.name SPC %dtStats.tScore SPC %dtStats.gScore); + } + if(%val == 2){ + ballenceTeams(Game,0); + } +} +function listStat(){ + for(%x = 0; %x < statsGroup.getCount(); %x++){ + %dtStats = statsGroup.getObject(%x); + echo(%dtStats.name SPC %dtStats.stat["flagGrabs"] SPC %dtStats.client.flagGrabs); + } +} +function forceTeamBal(){ + for(%x = 0; %x < statsGroup.getCount(); %x++){ + %dtStats = statsGroup.getObject(%x); + calcTBScores(%dtStats,Game); + } + ballenceTeams(Game,1); +} +function ballenceTeams(%game,%forceTeam){ + if(%game.class $= "CTFGame" || %game.class $= "LCTFGame" || %game.class $= "SCtFGame" || %game.class $= "ArenaGame"){ + if($dtStats::debugEchos){error("ballenceTeams" SPC %game.class SPC %forceTeam);} + if(statsGroup.getCount() < 1){ + return; + } + loadTBMap(%game);// load up exisitng map stats + %tgame = $dtStats::gtNameShort[%game.class]; + if(isObject(statCol)){ + statCol.delete(); + } + new simGroup(statCol); + statCol.tzc = 0; + statCol.rbc = 0; + RootGroup.add(statCol); + + for (%i = 0; %i < ClientGroup.getCount(); %i++){ + %client = ClientGroup.getObject(%i); + if(!%client.team){ + statCol.teamZero[statCol.tzc] = %client; + statCol.tzc++; + } + } + + + for (%y = 0; %y < $TB::statGroupCount[%tgame]; %y++) { + %set = new simSet(); + %set.rbc = 0; + statCol.add(%set); + for(%x = 0; %x < statsGroup.getCount(); %x++){ + %dtStats = statsGroup.getObject(%x); + %dtStats.sel = 0; + if(isObject(%dtStats.client)){ + %map = getField(%dtStats.mGScore,%y); + %lg = getField(%dtStats.gScore,%y); + %rateing = (%map > (%lg*0.75)) ? %map :%lg;//0.75 makes it so it favors map stats unless theres a massive disparity + if(%dtStats.client.team != 0 && (%rateing > 0 || %y == 0)){ + %set.add(%dtStats); + } + } + } + + %len = %set.getCount(); + // sort are groups by there group scores + for (%i = 0; %i < %len - 1; %i++) { + for (%j = 0; %j < %len - %i - 1; %j++) { + %aObj = %set.getObject(%j); + %bObj = %set.getObject(%j + 1); + + %aMap = getField(%aObj.mGScore,%y); %aLG = getField(%aObj.gScore,%y); + %A = (%aMap > (%aLG * 0.75)) ? %aMap : %aLG;//derate the last game score so it favors the map score unless it not avalable or lacking + + %bMap = getField(%bObj.mGScore,%y); %bLG = getField(%bObj.gScore,%y); + %B = (%bMap > (%bLG * 0.75)) ? %bMap : %bLG; + if (%A < %B) { + %set.bringToFront(%bObj); + } + } + } + } + + deleteVariables("$TT::*"); + for (%i = 0; %i < %game.numTeams; %i++) { + $dtTeamScore[%i+1] = 0; + $dtTeamCount[%i+1] = 0; + for(%x = 0; %x < statsGroup.getCount(); %x++){ + $TT::LOGC[%i+1,%x] = 0; + } + } + + %i = 0; + %rtfc = 0; + %x = (statCol.getCount() > 1) ? 1 : 0; // Start at 1 if more than one role + %rt = 0; + %end = 0; + %lockedGroups = 0; + + while (!%end) { + %x = (%rt++ % %game.numTeams == 0) ? %x + 1 : %x; // Cycle every `numTeams` loops + if (%x >= statCol.getCount()) { + %x = 1; + %rt = 1; + if (%lockedGroups >= statCol.getCount() - 1) { // All groups are empty + %x = 0; + } + } + + + %role = statCol.getObject(%x); + if (!%role || %role.rbc) { // If group is locked, continue + if (%x == 0) { + %end = 1; + } + continue; + } + + %found = 0; + for (%w = 0; %w < %role.getCount(); %w++) { + %dtStats = %role.getObject(%w); + if (!%dtStats.sel) { + %dtStats.sel = 1; + %found = 1; + break; + } + } + + if (!%found) { + %role.rbc = 1; // Lock this group + %lockedGroups++; + continue; + } + + if (isObject(%dtStats.client)) { + %y = (%i % %game.numTeams) + 1; + %i++; + $dtTeamList[%y, $dtTeamCount[%y]] = %dtStats; + $dtTeamCount[%y]++; + $dtTeamScore[%y] += %dtStats.tScore; + $TT::LOG[%y, %x, $TT::LOGC[%y, %x]] = %dtStats; + $TT::LOGC[%y, %x]++; + + if(%forceTeam){ + Game.clientChangeTeam( %dtStats.client, %y, 0); + } + else{ + %dtStats.client.lastTeam = %y; + } + } + } + + + // team zero + for(%i = 0; %i < statCol.tzc; %i++){ + %client = statCol.teamZero[%i]; + %client.lastTeam = 0; + } + } +} + +function expoMovAvg(%ema, %value){ + %alpha = 0.2; + return %alpha * %value + (1 - %alpha) * %ema; +} + + +function saveTBVars(){ + if($dtStats::debugEchos){error("saveTBVars");} + if(!isEventPending($tbSystem)) + $tbSystem = schedule(10000, 0, "export", "$TB::*", "serverStats/tbVars.cs", false); +} + +function saveTBMap(%game){ + if($dtStats::debugEchos){error("saveTBMap" SPC %game);} + if($TB::TBEnable[$dtStats::gtNameShort[%game.class]]){//($HostGamePlayerCount - $HostGameBotCount) >= $dtStats::TBMinPlayers) + %fobj = new fileObject(); + RootGroup.add(%fobj); + %path = "serverStats/TB/map/" @ $dtStats::LastMissionCM @ "-" @ %game.class @ ".cs"; //note $dtStats::LastMissionCM is set in gameover + %fobj.openForWrite(%path); + %fobj.writeLine("res"); + %fobj.writeLine("res"); + %fobj.writeLine("res"); + %fobj.writeLine("res"); + %fobj.writeLine("res"); + %fobj.writeLine("res"); + %fobj.writeLine("res"); + %fobj.writeLine("res"); + + for(%x = 0; %x < statsGroup.getCount(); %x++){ + %dtStats = statsGroup.getObject(%x); + if(getFieldCount($tempMap::data[%dtStats.guid]) < 5){ // write new entires + %newData = %dtStats.guid TAB %dtStats.name TAB dtMarkDate() TAB %dtStats.mTScore TAB %dtStats.mGScore; + %line = strreplace(%newData ,"\t","%t"); + %fobj.writeLine(%line); + } + } + for(%i = 0; %i < $tempMap::count; %i++){ + %guid = $tempMap::guid[%i]; + %dtStats = $dtStats::tbLookUP[%guid]; + if(isObject(%dtStats)){ + %newData = %guid TAB %dtStats.name TAB dtMarkDate() TAB %dtStats.mTScore TAB %dtStats.mGScore; + %line = strreplace(%newData ,"\t","%t"); + %fobj.writeLine(%line); + } + else{ + %date = getField($tempMap::data[%guid],2); + if(getTimeDelta(%date) < (1440*180)){// skip over old old stuff + %line = strreplace($tempMap::data[%guid],"\t","%t"); + %fobj.writeLine(%line); + } + } + } + %fobj.close(); + %fobj.delete(); + } +} + +function loadTBMap(%game){ + if($dtStats::debugEchos){error("loadTBMap" SPC %game);} + if($TB::TBEnable[$dtStats::gtNameShort[%game.class]]){ + deleteVariables("$tempMap::*"); + %path = "serverStats/TB/map/" @ $CurrentMission @ "-" @ %game.class @ ".cs"; + if(isFile(%path)){ + %fobj = new fileObject(); + RootGroup.add(%fobj); + %fobj.openForRead(%path); + %unused = %fobj.readline(); //reserved + %unused = %fobj.readline(); + %unused = %fobj.readline(); + %unused = %fobj.readline(); + %unused = %fobj.readline(); + %unused = %fobj.readline(); + %unused = %fobj.readline(); + %unused = %fobj.readline(); + $tempMap::count = 0; + while( !%fobj.isEOF() ){ + %line = strreplace(%fobj.readline(),"%t","\t"); + %guid = getField(%line, 0); + %name = getField(%line, 1); + %date = getField(%line, 2); + %tScore = getField(%line, 3); + %gScore = getFields(%line, 4 ,4+16); + $tempMap::guid[$tempMap::count] = %guid; + $tempMap::count++; + $tempMap::data[%guid] = %line; + %dtStats = $dtStats::tbLookUP[%guid]; + if(isObject(%dtStats)){ + %dtStats.mGScore = %gScore; + %dtStats.mTScore = %tScore; + } + } + %fobj.close(); + %fobj.delete(); + } + } +} function dtSaveDone(){ $dtStats::statsSave = 0; @@ -5454,13 +6144,11 @@ function setGUIDName(%client){ return 1; } } -function getMapID(%map,%game,%type,%clean){ +function getMapID(%map,%game,%clean){ if(%clean) %map = cleanMapName(%map); if(%game !$= "" && %map !$= ""){ - if($mapID::IDGame[%map,%game] && %type) - return $mapID::IDGame[%map,%game]; - else if($mapID::ID[%map,%game]) + if($mapID::ID[%map,%game]) return $mapID::ID[%map,%game]; else{ $mapID::count++; @@ -5472,11 +6160,8 @@ function getMapID(%map,%game,%type,%clean){ $mapID::IDNameGame[$mapID::countGame[%game],%game] = %map; $mapID::IDName[$mapID::count] = %map; - export( "$mapID::*", "serverStats/mapIDList.cs", false ); - if(%type) - return $mapID::IDGame[%map,%game]; - else - return $mapID::ID[%map,%game]; + export( "$mapID::*", "serverStats/mapIDList.cs", false); + return $mapID::ID[%map,%game]; } } else @@ -5574,13 +6259,13 @@ function loadGameTotalStats(%dtStats,%game){ else{ %filename = "serverStats/stats/" @ %game @ "/" @ %dtStats.guid @ "t.cs"; } - %d = $dtStats::curDay; %w = $dtStats::curWeek; %m = $dtStats::curMonth; %q = $dtStats::curQuarter; %y = $dtStats::curYear; + %d = $dtStats::curDay; %w = $dtStats::curWeek; %m = $dtStats::curMonth; %q = $dtStats::curQuarter; %y = $dtStats::curYear; %c = $dtStats::curCustom; if(isFile(%filename)){ %file = new FileObject(); RootGroup.add(%file); %file.OpenForRead(%filename); - %day = %week = %month = %quarter = %year = 0; + %day = %week = %month = %quarter = %year = %custom = 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 @@ -5588,19 +6273,22 @@ function loadGameTotalStats(%dtStats,%game){ if(getField(%dateLine,6) != %m){%month = 1;} if(getField(%dateLine,8) != %q){%quarter = 1;} if(getField(%dateLine,10) != %y){%year = 1;} + if(getField(%dateLine,12) != %c){%custom = 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); - + %c0 = getField(%dateLine,11);%c1 = getField(%dateLine,12); + 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,$dtStats::tmMode] = %d0 TAB %d1 TAB %w0 TAB %w1 TAB %m0 TAB %m1 TAB %q0 TAB %q1 TAB %y0 TAB %y1; // update line + if(%custom){ %c0 = %c1; %c1 = %c;} + %dtStats.gameStats["dwmqy","t",%game,$dtStats::tmMode] = %d0 TAB %d1 TAB %w0 TAB %w1 TAB %m0 TAB %m1 TAB %q0 TAB %q1 TAB %y0 TAB %y1 TAB %c0 TAB %c1; // update line } while( !%file.isEOF() ){ %line = strreplace(%file.readline(),"%t","\t"); @@ -5611,21 +6299,22 @@ function loadGameTotalStats(%dtStats,%game){ %m0 = getField(%line,5);%m1 = getField(%line,6); %q0 = getField(%line,7);%q1 = getField(%line,8); %y0 = getField(%line,9);%y1 = getField(%line,10); - + %c0 = getField(%line,11);%c1 = getField(%line,12); + 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;} - - %dtStats.gameStats[%var,"t",%game,$dtStats::tmMode] = %d0 TAB %d1 TAB %w0 TAB %w1 TAB %m0 TAB %m1 TAB %q0 TAB %q1 TAB %y0 TAB %y1; + if(%custom){ %c0 = %c1;%c1 = 0;} + %dtStats.gameStats[%var,"t",%game,$dtStats::tmMode] = %d0 TAB %d1 TAB %w0 TAB %w1 TAB %m0 TAB %m1 TAB %q0 TAB %q1 TAB %y0 TAB %y1 TAB %c0 TAB %c1; } } %file.close(); %file.delete(); } else// must be new person so be sure to set the dates - %dtStats.gameStats["dwmqy","t",%game, $dtStats::tmMode] = %d TAB %d TAB %w TAB %w TAB %m TAB %m TAB %q TAB %q TAB %y TAB %y; + %dtStats.gameStats["dwmqy","t",%game, $dtStats::tmMode] = %d TAB %d TAB %w TAB %w TAB %m TAB %m TAB %q TAB %q TAB %y TAB %y TAB %c TAB %c; } function saveGameTotalStats(%dtStats,%game){ if($dtStats::debugEchos){error("saveGameTotalStats GUID = " SPC %dtStats.guid);} @@ -5692,18 +6381,11 @@ function saveGameTotalStats(%dtStats,%game){ } if(%dtStats.markForDelete){ if($dtStats::debugEchos){error("Client Left, Deleting Stat Object = " SPC %dtStats SPC %dtStats.guid);} + $dtStats::tbLookUP[%dtStats.guid] = ""; %dtStats.delete(); } } -function getMapIDName(%game){ - %map = cleanMapName($dtStats::LastMissionCM); - %mid = getMapID(%map,%game,0,1); - %gid = getMapID(%map,%game,1,1); - %mapNameID = %map @ "-" @ %mid @ "-" @ %gid; - return %mapNameID; -} - function incGameStats(%dtStats,%game) {// record that games stats and inc by one if($dtStats::debugEchos){error("incGameStats GUID = " SPC %dtStats.guid);} @@ -5725,6 +6407,8 @@ function incGameStats(%dtStats,%game) {// record that games stats and inc by one setValueField(%dtStats,"gameCount","t",%game,7,%c90++); %c365 = getField(%dtStats.gameStats["gameCount","t",%game,$dtStats::tmMode],9); setValueField(%dtStats,"gameCount","t",%game,9,%c365++); + %cc = getField(%dtStats.gameStats["gameCount","t",%game,$dtStats::tmMode],11); + setValueField(%dtStats,"gameCount","t",%game,11,%cc++); setValueField(%dtStats,"dayStamp","g",%game,%c,$dtStats::curDay); setValueField(%dtStats,"weekStamp","g",%game,%c,$dtStats::curWeek); @@ -5734,8 +6418,8 @@ function incGameStats(%dtStats,%game) {// record that games stats and inc by one 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")); setValueField(%dtStats,"map","g",%game,%c,$dtStats::LastMissionDN); - setValueField(%dtStats,"mapID","g",%game,%c,getMapID($dtStats::LastMissionCM,%game,0,1)); - setValueField(%dtStats,"mapGameID","g",%game,%c,getMapID($dtStats::LastMissionCM,%game,1,1)); + setValueField(%dtStats,"mapID","g",%game,%c,getMapID($dtStats::LastMissionCM,%game,1)); + setValueField(%dtStats,"mapGameID","g",%game,%c,getMapID($dtStats::LastMissionCM,%game,1)); setValueField(%dtStats,"gameID","g",%game,%c,$dtStats::gameID); setValueField(%dtStats,"gamePCT","g",%game,%c,%dtStats.gamePCT); setValueField(%dtStats,"versionNum","g",%game,%c,$dtStats::version); @@ -5754,20 +6438,20 @@ function incGameStats(%dtStats,%game) {// record that games stats and inc by one %val = %dtStats.stat[%varName]; setValueField(%dtStats,%varNameType,"g",%game,%c,%val); - for(%x = 1; %x <= 9; %x+=2){ + for(%x = 1; %x <= 11; %x+=2){ %t = getField(%dtStats.gameStats[%varNameType,"t",%game,$dtStats::tmMode],%x); setValueField(%dtStats,%varNameType,"t",%game,%x,addNum(%t,%val)); } case "TTL": %val = %dtStats.stat[%varName]; - for(%x = 1; %x <= 9; %x+=2){ + for(%x = 1; %x <= 11; %x+=2){ %t = getField(%dtStats.gameStats[%varNameType,"t",%game,$dtStats::tmMode],%x); setValueField(%dtStats,%varNameType,"t",%game,%x,addNum(%t,%val)); } case "Max": %val = %dtStats.stat[%varName]; setValueField(%dtStats,%varNameType,"g",%game,%c,%val); - for(%x = 1; %x <= 9; %x+=2){ + for(%x = 1; %x <= 11; %x+=2){ %t = getField(%dtStats.gameStats[%varNameType,"t",%game,$dtStats::tmMode],%x); if(%val > %t){ setValueField(%dtStats,%varNameType,"t",%game,%x,%val); @@ -5780,7 +6464,7 @@ function incGameStats(%dtStats,%game) {// record that games stats and inc by one %val = %dtStats.stat[%varName]; setValueField(%dtStats,%varNameType,"g",%game,%c,%val); - for(%x = 1; %x <= 9; %x+=2){ + for(%x = 1; %x <= 11; %x+=2){ %t = getField(%dtStats.gameStats[%varNameType,"t",%game,$dtStats::tmMode],%x); if(%val < %t && %val != 0 || !%t){ setValueField(%dtStats,%varNameType,"t",%game,%x,%val); @@ -5793,7 +6477,7 @@ function incGameStats(%dtStats,%game) {// record that games stats and inc by one %val = %dtStats.stat[%varName]; setValueField(%dtStats,%varNameType,"g",%game,%c,%val); - for(%x = 1; %x <= 9; %x+=2){ + for(%x = 1; %x <= 11; %x+=2){ %t = strreplace(getField(%dtStats.gameStats[%varNameType,"t",%game,$dtStats::tmMode],%x),"%a","\t"); if(%val != 0){ %total = getField(%t,1) + %val; @@ -5996,7 +6680,7 @@ function genBlanks(){ // optimization thing saves on haveing to do it with every for(%i=0; %i < $dtStats::MaxNumOfGames-1; %i++){ $dtStats::blank["g"] = $dtStats::blank["g"] TAB 0; } - for(%i=0; %i < 9; %i++){ + for(%i=0; %i < 11; %i++){ $dtStats::blank["t"] = $dtStats::blank["t"] TAB 0; } } @@ -6388,7 +7072,7 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d armorTimer(%victimDT, 0, 1); //------------------------------------------------------------------------------ %victimDT.timeToLive += getSimTime() - %clVictim.spawnTime; - %victimDT.stat["timeTL"] = mFloor((%victimDT.timeToLive/(%clVictim.stat["deaths"]+%clVictim.stat["suicides"] ? %clVictim.stat["deaths"]+%clVictim.stat["suicides"] : 1))/1000); + %victimDT.stat["timeTL"] = mFloor(((%victimDT.timeToLive/(%clVictim.stat["deaths"]+%clVictim.stat["suicides"] ? %clVictim.stat["deaths"]+%clVictim.stat["suicides"] : 1))/1000)/60); //------------------------------------------------------------------------------ if(%clKiller.team == %clVictim.team && %clKiller != %clVictim){ %killerDT.stat["teamkillCount"]++; @@ -6860,7 +7544,6 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT } return; } - //------------------------------------------------------------------------------ if(%amount > 0 && %damageType > 0){ if(isObject(%sourceObject)){ @@ -6895,7 +7578,8 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT %sourceDT.stat["friendlyFire"]++; if(getSimTime() - %sourceClient.stat["flareHit"] < 256){%sourceClient.flareSource.dtStats.stat["flareHit"]++;} } - if(%sourceClass $= "Player" && %targetClient.team != %sourceClient.team && %sourceObject != %targetObject){ + %ssc = (%sourceClass $= "VehicleTurret" || %sourceClass $= "FlyingVehicle" || %sourceClass $= "HoverVehicle" || %sourceClass $= "WheeledVehicle" || %sourceClass $= "Player" || %sourceClass $= "Turret"); + if(%ssc && %targetClient.team != %sourceClient.team && %sourceObject != %targetObject){ if((getSimTime() - %sourceClient.lastExpTime) < 32){ %dis = vectorDist(getField(%sourceClient.lastExp,1),getField(%sourceClient.lastExp,2)); } @@ -7167,28 +7851,28 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT dtMinMax("satchelDmg", "wep", 1, %sourceDT.stat["satchelDmg"], %sourceClient); case $DamageType::Impact: %sourceDT.stat["roadDmg"] += %amount; - dtMinMax("roadDmg", "wep", 1, %killerDT.stat["roadDmg"], %sourceClient); + dtMinMax("roadDmg", "wep", 1, %sourceDT.stat["roadDmg"], %sourceClient); case $DamageType::IndoorDepTurret: %sourceDT.stat["indoorDepTurretDmg"] += %amount; - dtMinMax("indoorDepTurretDmg", "wep", 1, %killerDT.stat["indoorDepTurretDmg"], %sourceClient); + dtMinMax("indoorDepTurretDmg", "wep", 1, %sourceDT.stat["indoorDepTurretDmg"], %sourceClient); case $DamageType::OutdoorDepTurret: %sourceDT.stat["outdoorDepTurretDmg"] += %amount; - dtMinMax("outdoorDepTurretDmg", "wep", 1, %killerDT.stat["outdoorDepTurretDmg"], %sourceClient); + dtMinMax("outdoorDepTurretDmg", "wep", 1, %sourceDT.stat["outdoorDepTurretDmg"], %sourceClient); case $DamageType::TankMortar: %sourceDT.stat["tankMortarDmg"] += %amount; - dtMinMax("tankMortarDmg", "wep", 1, %killerDT.stat["tankMortarDmg"], %sourceClient); + dtMinMax("tankMortarDmg", "wep", 1, %sourceDT.stat["tankMortarDmg"], %sourceClient); case $DamageType::TankChaingun: %sourceDT.stat["tankChaingunDmg"] += %amount; - dtMinMax("tankChaingunDmg", "wep", 1, %killerDT.stat["tankChaingunDmg"], %sourceClient); + dtMinMax("tankChaingunDmg", "wep", 1, %sourceDT.stat["tankChaingunDmg"], %sourceClient); case $DamageType::BomberBombs: %sourceDT.stat["bomberBombsDmg"] += %amount; - dtMinMax("bomberBombsDmg", "wep", 1, %killerDT.stat["bomberBombsDmg"], %sourceClient); + dtMinMax("bomberBombsDmg", "wep", 1, %sourceDT.stat["bomberBombsDmg"], %sourceClient); case $DamageType::BellyTurret: %sourceDT.stat["bellyTurretDmg"] += %amount; - dtMinMax("bellyTurretDmg", "wep", 1, %killerDT.stat["bellyTurretDmg"], %sourceClient); + dtMinMax("bellyTurretDmg", "wep", 1, %sourceDT.stat["bellyTurretDmg"], %sourceClient); case $DamageType::ShrikeBlaster: %sourceDT.stat["shrikeBlasterDmg"] += %amount; - dtMinMax("shrikeBlasterDmg", "wep", 1, %killerDT.stat["shrikeBlasterDmg"], %sourceClient); + dtMinMax("shrikeBlasterDmg", "wep", 1, %sourceDT.stat["shrikeBlasterDmg"], %sourceClient); } } } @@ -7223,17 +7907,10 @@ function dtLaserShotMessage(%client,%distance){ function clientShotsFired(%data, %sourceObject, %projectile){ // could do a fov check to see if we are trying to aim at a player - if(isObject(%projectile.sourceObject) && isObject(%sourceObject)){ - if(%projectile.sourceObject.getClassName() !$= "Player"){ - %sourceClient = %projectile.sourceObject.getControllingClient(); - } - else - %sourceClient = %sourceObject.client; - } - if(!isObject(%sourceClient.dtStats)) + + %dtStats = %sourceObject.client.dtStats; + if(!isObject(%dtStats)) return; - - %dtStats = %sourceClient.dtStats; if(%data.hasDamageRadius || %data $= "BasicShocker") %damageType = %data.radiusDamageType; else @@ -7435,43 +8112,23 @@ function statsMenu(%client,%game){ messageClient( %client, 'ClearHud', "", 'scoreScreen', 0 ); switch$(%menu){ - case "View": - messageClient( %client, 'SetScoreHudHeader', "", "" @ getTaggedString(0.name) @ "'s Stats"); - messageClient( %client, 'SetScoreHudSubheader', "", ' Back',0); + case "TBNOTES": + %line = 'Team Balancer Read Me'; + messageClient( %client, 'SetScoreHudHeader', "",%line); + %line = ' Back - Return To Score Screen'; + messageClient( %client, 'SetScoreHudSubheader', "",%line); + messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Group 0 is the default catch-all group; avoid crossover with this."); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Groups 1-11 are custom roles; use higher numbers mean more niche roles."); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Players are sorted within groups by their weighted stats for that role."); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Players are picked from role groups in a round-robin method for each team"); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Roles swap after both teams pick, repeating until groups are empty."); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Any remaining players are pulled from Group 0 to complete the selection."); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Fewer groups improve balance accuracy, especially in smaller game modes."); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Try your best to use different stats in groups 1-11"); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Limit crossover for important roles; use it more for niche ones."); + messageClient(%client, 'SetLineHud', "", %tag, %index++, "Stat crossover between groups can pull players into unintended roles."); - messageClient( %client, 'SetLineHud', "", %tag, %index++, "View Player and Game Stats at https://stats.playt2.com/"); - messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - - if(%isAdmin && %game $= "CTFGame") - messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + Running Game Averages (Experimental)',0); - - if(%isAdmin && %game $= "CTFGame") - messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + Team Ballance (Experimental)',0); - - if(%client.isSuperAdmin && $dtStats::liveStats)// for testing - messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + %2 Live Stats',0,$dtStats::gtNameShort[%game]); - - messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + PUGs/Tournaments/Recorded Games',0,%game,$dtStats::curMonth); - - if($dtStats::day > 1) - messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + %3 Daily Leaderboards ',0,%game,$dtStats::gtNameShort[%game]); - if($dtStats::week > 1) - messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + %3 Weekly Leaderboards ',0,%game,$dtStats::gtNameShort[%game]); - if($dtStats::month > 1) - messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + %3 Monthly Leaderboards ',0,%game,$dtStats::gtNameShort[%game]); - if($dtStats::quarter > 1) - messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + %3 Quarterly Leaderboards ',0,%game,$dtStats::gtNameShort[%game]); - if($dtStats::year > 1) - messageClient( %client, 'SetLineHud', "", %tag, %index++, ' + %3 Yearly Leaderboards ',0,%game,$dtStats::gtNameShort[%game]); - messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - if(%client.isSuperAdmin){ - %line = ' + Server Admin Panel'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%game,1); - } - - for(%v = %index; %v < 15; %v++) - messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, 'Stats Update Daily.'); case "TBX": %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; @@ -7479,29 +8136,44 @@ function statsMenu(%client,%game){ if(%client.tgame $= ""){ %client.tgame = $dtStats::gtNameShort[%game]; } - if($TB::statGroupCount[%client.tgame] $= ""){ - $TB::statGroupCount[%client.tgame] = 1; - } switch$(%opt0){ case "AG": $TB::statGroupCount[%client.tgame]++; - if($TB::statGroupCount[%client.tgame] > 7){//cap it no need for this many - $TB::statGroupCount[%client.tgame] = 8; + if($TB::statGroupCount[%client.tgame] > 11){//cap it no need for this many + $TB::statGroupCount[%client.tgame] = 12; } case "RG": $TB::statGroupCount[%client.tgame]--; - if($TB::statGroupCount[%client.tgame] < 0){ - $TB::statGroupCount[%client.tgame] = 0; + if($TB::statGroupCount[%client.tgame] < 1){ + $TB::statGroupCount[%client.tgame] = 1; } case "G": %client.tgame = %opt1; + case "Enable": + $TB::TBEnable[%client.tgame] = !$TB::TBEnable[%client.tgame]; + case "FORCE": + if(%client.isSuperAdmin){ + messageAll('MsgStats', '\c3Super Admin has forced a team rebalance. ~wfx/misc/hunters_greed.wav'); + forceTeamBal(); + } + case "Log": + $TB::TBLog[%client.tgame] = !$TB::TBLog[%client.tgame]; + case "RESET": + deleteVariables("$TB::*"); + $TB::TBEnable[%client.tgame] = 0; + $TB::TBLog[%client.tgame] = 0; + $TB::statGroupCount[%client.tgame] = 1; } %client.GlArg3 = 0; %client.GlArg4 = 0; %client.GlArg5 = 0; + if($TB::statGroupCount[%client.tgame] $= ""){ + $TB::statGroupCount[%client.tgame] = 1; + } + saveTBVars(); %line = 'Team Balancer'; messageClient( %client, 'SetScoreHudHeader', "",%line); - %line = ' Back - Return To Score Screen'; + %line = ' Back - Return To Score Screen [RESET ALL] [Read Me]'; messageClient( %client, 'SetScoreHudSubheader', "",%line); if(%client.tgame $= "CTF"){ @@ -7517,13 +8189,29 @@ function statsMenu(%client,%game){ messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); } messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); - messageClient(%client, 'SetLineHud', "", %tag, %index++, "Group 0 is the default genaric catch all group"); - messageClient(%client, 'SetLineHud', "", %tag, %index++, "Group 1-7 is your roles in the game type, with 1 being most important"); - messageClient(%client, 'SetLineHud', "", %tag, %index++, "Less groups is going to be better for smaller player counts and role ballencing"); - messageClient(%client, 'SetLineHud', "", %tag, %index++, "Avoid using the same stats in every group other then group 0"); - messageClient(%client, 'SetLineHud', "", %tag, %index++, "This could cause players to be stolen from other groups/roles"); - messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); - %line = 'Add Groups/Roles - 8 Max <%1> '; + if($TB::TBEnable[%client.tgame]){ + %line = 'Team Balancer [Disable]'; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + } + else{ + %line = 'Team Balancer [Enable]'; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + } + if($TB::TBLog[%client.tgame]){ + %line = 'Balancer Logging [Disable]'; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + } + else{ + %line = 'Balancer Logging [Enable]'; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + } + messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); + if($TB::TBEnable[%client.tgame]){ + %line = '[Force Team Balance] - May Cause the server to hitch'; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); + } + %line = 'Add Groups/Roles - 12 Max <%1> '; messageClient(%client, 'SetLineHud', "", %tag, %index++, %line, $TB::statGroupCount[%client.tgame]); for(%i = 0; %i < $TB::statGroupCount[%client.tgame]; %i++){ @@ -7556,7 +8244,7 @@ function statsMenu(%client,%game){ %client.curPage = 1; } if(%client.tgame $= ""){ - %client.tgame = $dtStats::gtNameShort[%game]; + %client.tgame = $dtStats::gtNameShort[%game.class]; } if(%client.arrowRes $= ""){ %client.arrowRes = 1; @@ -7572,55 +8260,54 @@ function statsMenu(%client,%game){ case "G": %client.tgame = %opt1; case "AW": - %var = $statsVars::varName[%opt1, $dtStats::gtNameType[%client.tgame]]; - %sindex = $TB::statIndex[%var, %client.tgame]; - $TB::statWeight[%sindex, %client.tgame] += %opt2; + %var = $dtStats::TBG[%opt1, %client.tgame]; + %sindex = $TB::statIndex[%var, %client.tgame, %client.editGrp]; + $TB::statWeight[%sindex, %client.tgame, %client.editGrp] += %opt2; case "RW": - %var = $statsVars::varName[%opt1, $dtStats::gtNameType[%client.tgame]]; - %sindex = $TB::statIndex[%var, %client.tgame]; - $TB::statWeight[%sindex,%client.tgame] -= %opt2; + %var = $dtStats::TBG[%opt1, %client.tgame]; + %sindex = $TB::statIndex[%var, %client.tgame, %client.editGrp]; + $TB::statWeight[%sindex,%client.tgame,%client.editGrp] -= %opt2; case "AS": - %var = $statsVars::varName[%opt1, $dtStats::gtNameType[%client.tgame]]; - if($TB::statCount[%client.tgame] $= ""){ - $TB::statCount[%client.tgame] = 0; + %var = $dtStats::TBG[%opt1, %client.tgame]; + if($TB::statCount[%client.tgame,%client.editGrp] $= ""){ + $TB::statCount[%client.tgame, %client.editGrp] = 0; } - if($TB::statWeight[%var,%client.tgame] $= ""){ - $TB::statName[$TB::statCount[%client.tgame],%client.tgame] = %var @ %cat; - $TB::statWeight[$TB::statCount[%client.tgame],%client.tgame] = 100; - $TB::statGroup[$TB::statCount[%client.tgame],%client.tgame] = 0; - $TB::statIndex[%var, %client.tgame] = $TB::statCount[%client.tgame]; - $TB::statCount[%client.tgame]++; + + if($TB::statWeight[%var,%client.tgame, %client.editGrp] $= ""){ + %count = $TB::statCount[%client.tgame,%client.editGrp]; + $TB::statName[%count,%client.tgame,%client.editGrp] = %var; + $TB::statWeight[%count,%client.tgame,%client.editGrp] = 100; + + $TB::statIndex[%var, %client.tgame, %client.editGrp] = %count; + $TB::statCount[%client.tgame,%client.editGrp]++; } case "RS": - %var = $statsVars::varName[%opt1, %client.tgame]; - %sindex = $TB::statIndex[%var, %client.tgame]; - + %var = $dtStats::TBG[%opt1, %client.tgame]; + %sindex = $TB::statIndex[%var, %client.tgame, %client.editGrp]; if (%sindex !$= "") { // Shift all elements down - for (%i = %sindex; %i < $TB::statCount[%client.tgame] - 1; %i++) { - $TB::statName[%i, %client.tgame] = $TB::statName[%i + 1, %client.tgame]; - $TB::statWeight[%i, %client.tgame] = $TB::statWeight[%i + 1, %client.tgame]; - $TB::statGroup[%i, %client.tgame] = $TB::statGroup[%i + 1, %client.tgame]; + for (%i = %sindex; %i < $TB::statCount[%client.tgame, %client.editGrp] - 1; %i++) { + $TB::statName[%i, %client.tgame, %client.editGrp] = $TB::statName[%i + 1, %client.tgame, %client.editGrp]; + $TB::statWeight[%i, %client.tgame, %client.editGrp] = $TB::statWeight[%i + 1, %client.tgame, %client.editGrp]; // Update index for the moved stat - %movedVar = $TB::statName[%i, %client.tgame]; - $TB::statIndex[%movedVar, %client.tgame] = %i; + %movedVar = $TB::statName[%i, %client.tgame, %client.editGrp]; + $TB::statIndex[%movedVar, %client.tgame, %client.editGrp] = %i; } // Clear last index after shifting - %last = $TB::statCount[%client.tgame] - 1; - $TB::statName[%last, %client.tgame] = ""; - $TB::statWeight[%last, %client.tgame] = ""; - $TB::statGroup[%last, %client.tgame] = ""; + %last = $TB::statCount[%client.tgame, %client.editGrp] - 1; + $TB::statName[%last, %client.tgame, %client.editGrp] = ""; + $TB::statWeight[%last, %client.tgame, %client.editGrp] = ""; // Remove reference from index mapping - $TB::statIndex[%var, %client.tgame] = ""; + $TB::statIndex[%var, %client.tgame, %client.editGrp] = ""; // Decrease weight count - $TB::statCount[%client.tgame]--; + $TB::statCount[%client.tgame, %client.editGrp]--; } case "N": %client.curPage++; - if(%client.curPage * %perPage > $statsVars::count[$dtStats::gtNameType[%client.tgame]]){ + if(%client.curPage * %perPage > $dtStats::TBGC[%client.tgame]){ %client.curPage--; } case "B": @@ -7636,6 +8323,8 @@ function statsMenu(%client,%game){ %client.GlArg3 = 0; %client.GlArg4 = 0; %client.GlArg5 = 0; + %gc = $dtStats::TBGC[%client.tgame]; + saveTBVars(); if(%client.arrowRes == 1){ %line = ' 0.01 0.1 1.0Stat Weights'; } @@ -7647,206 +8336,51 @@ function statsMenu(%client,%game){ } messageClient( %client, 'SetScoreHudHeader', "",%line); if(%client.curPage == 1){ - %line = ' Back - Return To Score Screen - Next Page >'; + %line = ' Back - Return To Score Screen - Next Page >'; messageClient( %client, 'SetScoreHudSubheader', "",%line); } - else if(%client.curPage * %perPage > $statsVars::count[$dtStats::gtNameType[%client.tgame]]){ - %line = ' Back - Return To Score Screen - < Back Page '; + else if(%client.curPage * %perPage > %gc){ + %line = ' Back - Return To Score Screen - < Back Page '; messageClient( %client, 'SetScoreHudSubheader', "",%line); } else if(%client.curPage > 1){ - %line = ' Back - Return To Score Screen - < Back Page | Next Page > '; + %line = ' Back - Return To Score Screen - < Back Page | Next Page > '; messageClient( %client, 'SetScoreHudSubheader', "",%line); } - - %line = 'Variable NameAdd/RemoveAdjust Weight Adjust Group'; + %line = 'Variable NameAdd/RemoveAdjust Weight Group Crossover'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - %gc = $statsVars::count[$dtStats::gtNameType[%client.tgame]]; + + + //$dtStats::TBG[$dtStats::TBGC["ArenaGame"]++,"ArenaGame"] = "laserKillDist"; + //$dtStats::TBGC["ArenaGame"]++; + %displayedCount = 0; // Track how many valid entries we've displayed %startIndex = (%client.curPage - 1) * %perPage; %indexInArray = %startIndex; - while (%displayedCount < %perPage && %indexInArray < %gc) { - %var = $statsVars::varName[%indexInArray, $dtStats::gtNameType[%client.tgame]]; - %cat = $statsVars::varType[%var, $dtStats::gtNameType[%client.tgame]]; - %sindex = $TB::statIndex[%var, %client.tgame]; - - // Skip over "Game" category variables but continue looping - if (%cat !$= "Game") { - error(%sindex SPC %var); // Debugging log - - if (%sindex $= "") { - %line = ' %3ADD'; - messageClient(%client, 'SetLineHud', "", %tag, %index++, %line, "AS", %indexInArray, %var); - } else { - %w = $TB::statWeight[%sindex, %client.tgame]; - %g = $TB::statGroup[%sindex,%client.tgame]; - %line = ' %3\tRmv\t <%4> \t<6> '; - messageClient(%client, 'SetLineHud', "", %tag, %index++, %line, "RS", %indexInArray, %var, mFormatFloat(%w / 100, "%.2f"),%client.arrowRes,%g); - } - - %displayedCount++; // Increase count only for valid entries - } - - %indexInArray++; // Always increase this to scan through full dataset - } - case "TB": - %inc = %client.GlArg4; - %cycle = %client.GlArg5; - messageClient( %client, 'SetScoreHudHeader', "", "Team Balance"); - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); - %LOArmorCount[1] = %LDArmorCount[1] = %MOArmorCount[1] = %MDArmorCount[1] = %HOArmorCount[1] = %HDArmorCount[1] = 0; - %LOArmorCount[2] = %LDArmorCount[2] = %MOArmorCount[2] = %MDArmorCount[2] = %HOArmorCount[2] = %HDArmorCount[2] = 0; - %Offensive[1] = %Offensive[2] = %Defensive[1] = %Defensive[2] = 0; - %capperCount[1] = %capperCount[2] = %baseOpCount[1] = %baseOpCount[2] = 0; - - %SLOArmorCount[1] = %SLDArmorCount[1] = %SMOArmorCount[1] = %SMDArmorCount[1] = %SHOArmorCount[1] = %SHDArmorCount[1] = 0; - %SLOArmorCount[2] = %SLDArmorCount[2] = %SMOArmorCount[2] = %SMDArmorCount[2] = %SHOArmorCount[2] = %SHDArmorCount[2] = 0; - %SOffensive[1] = %SOffensive[2] = %SDefensive[1] = %SDefensive[2] = 0; - %ScapperCount[1] = %ScapperCount[2] = %SbaseOpCount[1] = %SbaseOpCount[2] = 0; - for(%i =0; %i < ClientGroup.getCount(); %i++){ - %client = ClientGroup.getObject(%i); - %dtStats = %client.dtStats; - %team = %client.team; - - if(isObject(%dtStats)){ - %armorBD = getField(getArmorBreakDown(%game, %dtStats),4); - %offKills = getGameDataAvg(%game,%dtStats,"OffKillsTG"); - %defKills = getGameDataAvg(%game,%dtStats,"DefKillsTG"); - %kills = getGameDataAvg(%game,%dtStats,"killsTG"); - %totalDep = getGameDataAvg(%game,%dtStats,"TotalDepTG"); - %turretKills = getGameDataAvg(%game,%dtStats,"turretkillsTG"); - %flagCaps = getGameDataAvg(%game,%dtStats,"flagCapsTG"); - %flagGrabs = getGameDataAvg(%game,%dtStats,"flagGrabsTG"); - if(%armorBD $= "Light"){ - if (((%turretKills > (%kills - %defKills)) || (%totalDep > 8 && %defKills > %offKills)) && !%SbaseOpCount[%team]){ - %SbaseOp[%SbaseOpCount[%team],%team] = %client; - %SbaseOpCount[%team]++; + %var = $dtStats::TBG[%indexInArray, %client.tgame]; + %sindex = $TB::statIndex[%var, %client.tgame, %client.editGrp]; + // Skip over "Game" category variables but continue looping + if (%sindex $= "") { + %line = ' %3ADD'; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line, "AS", %indexInArray, %var); + } + else { + %g = ""; + for(%m = 0; %m < $TB::statGroupCount[%client.tgame]; %m++){ + %si = $TB::statIndex[%var, %client.tgame, %m]; + if(%si !$= ""){ + %g = %g SPC %m; } - else if(%flagCaps > 0 && %flagGrabs > 0){//cappers - %Scapper[%capperCount[%team],%team] = %client; - %ScapperCount[%team]++; - } - else if( %offKills > %defKills){ // off - %SLOArmorClients[%SLOArmorCount[%team],%team] = %client; - %SLOArmorCount[%team]++; - %SOffensive[%team]++; - } - else if( %offKills <%defKills){// def - %SLDArmorClients[%SLDArmorCount[%team],%team] = %client; - %SLDArmorCount[%team]++; - %SDefensive[%team]++; - } - } - else if(%armorBD $= "Medium"){ - if (((%turretKills > (%kills - %defKills)) || (%totalDep > 8 && %defKills > %offKills)) && !%SbaseOpCount[%team]){ - %SbaseOp[%baseOpCount[%team],%team] = %client; - %SbaseOpCount[%team]++; - } - else if(%offKills > %defKills){ // off - %SMOArmorClients[%MOArmorCount[%team],%team] = %client; - %SMOArmorCount[%team]++; - %SOffensive[%team]++; - } - else if(%offKills < %defKills){// def - %SMDArmorClients[%SMDArmorCount[%team],%team] = %client; - %SMDArmorCount[%team]++; - %SDefensive[%team]++; - } - } - else if(%armorBD $= "Heavy"){ - if (((%turretKills > (%kills - %defKills)) || (%totalDep > 8 && %defKills > %offKills)) && !%SbaseOpCount[%team]){ - %SbaseOp[%baseOpCount[%team],%team] = %client; - %SbaseOpCount[%team]++; - } - else if(%offKills > %defKills){ // off - %SHOArmorClients[%SHOArmorCount[%team],%team] = %client; - %SHOArmorCount[%team]++; - %SOffensive[%team]++; - } - else if(%offKills < %defKills){// def - %SHDArmorClients[%SHDArmorCount[%team],%team] = %client; - %SHDArmorCount[%team]++; - %SDefensive[%team]++; - } - } + } + %w = $TB::statWeight[%sindex, %client.tgame, %client.editGrp]; + %line = ' %3\tRmv\t <%4> \t%6'; + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line, "RS", %indexInArray, %var, mFormatFloat(%w / 100, "%.2f"),%client.arrowRes,%g); } - - - if(isObject(%client.player)){ - %armor = %client.player.getArmorSize(); - if(%armor $= "Light"){ - if (((%client.turretKills > (%client.kills - %dtStats.stat["DefKills"])) || (%dtStats.stat["TotalDep"] > 8 && %dtStats.stat["DefKills"] > %dtStats.stat["OffKills"])) && !%baseOpCount[%team]){ - %baseOp[%baseOpCount[%team],%team] = %client; - %baseOpCount[%team]++; - } - else if(%client.flagCaps > 0 && %client.flagGrabs > 0){//cappers - %capper[%capperCount[%team],%team] = %client; - %capperCount[%team]++; - } - else if(%dtStats.stat["OffKills"] > %dtStats.stat["DefKills"]){ // off - %LOArmorClients[%LOArmorCount[%team],%team] = %client; - %LOArmorCount[%team]++; - %Offensive[%team]++; - } - else if(%dtStats.stat["OffKills"] < %dtStats.stat["DefKills"]){// def - %LDArmorClients[%LDArmorCount[%team],%team] = %client; - %LDArmorCount[%team]++; - %Defensive[%team]++; - } - } - else if(%armor $= "Medium"){ - if (((%client.turretKills > (%client.kills - %dtStats.stat["DefKills"])) || (%dtStats.stat["TotalDep"] > 8 && %dtStats.stat["DefKills"] > %dtStats.stat["OffKills"])) && !%baseOpCount[%team]){ - %baseOp[%baseOpCount[%team],%team] = %client; - %baseOpCount[%team]++; - } - else if(%dtStats.stat["OffKills"] > %dtStats.stat["DefKills"]){ // off - %MOArmorClients[%MOArmorCount[%team],%team] = %client; - %MOArmorCount[%team]++; - %Offensive[%team]++; - } - else if(%dtStats.stat["OffKills"] < %dtStats.stat["DefKills"]){// def - %MDArmorClients[%MDArmorCount[%team],%team] = %client; - %MDArmorCount[%team]++; - %Defensive[%team]++; - } - } - else if(%armor $= "Heavy"){ - if (((%client.turretKills > (%client.kills - %dtStats.stat["DefKills"])) || (%dtStats.stat["TotalDep"] > 8 && %dtStats.stat["DefKills"] > %dtStats.stat["OffKills"])) && !%baseOpCount[%team]){ - %baseOp[%baseOpCount[%team],%team] = %client; - %baseOpCount[%team]++; - } - else if(%dtStats.stat["OffKills"] > %dtStats.stat["DefKills"]){ // off - %HOArmorClients[%HOArmorCount[%team],%team] = %client; - %HOArmorCount[%team]++; - %Offensive[%team]++; - } - else if(%dtStats.stat["OffKills"] < %dtStats.stat["DefKills"]){// def - %HDArmorClients[%HDArmorCount[%team],%team] = %client; - %HDArmorCount[%team]++; - %Defensive[%team]++; - } - } - } - } - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, "Current", "Team 1", "Team 2", "Stats Calc", "Team 1", "Team 2"); - - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; - %na = 0; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"Light Off", %LOArmorCount[1], %LOArmorCount[2], "|", %SLOArmorCount[1], %SLOArmorCount[2],"","",""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"Medium Off", %MOArmorCount[1], %MOArmorCount[2], "|", %SMOArmorCount[1], %SMOArmorCount[2],"","",""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"Heavy Off", %HOArmorCount[1], %HOArmorCount[2], "|", %SHOArmorCount[1], %SHOArmorCount[2],"","",""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"Offensive", %Offensive[1], %Offensive[2], "|", %SOffensive[1], %SOffensive[2],"","",""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"Light Def", %LDArmorCount[1], %LDArmorCount[2], "|", %SLDArmorCount[1], %SLDArmorCount[2],"","",""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"Medium Def", %MDArmorCount[1], %MDArmorCount[2], "|", %SMDArmorCount[1], %SMDArmorCount[2],"","",""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"Heavy Def", %HDArmorCount[1], %HDArmorCount[2], "|", %SHDArmorCount[1], %SHDArmorCount[2],"","",""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"Defensive", %Defensive[1], %Defensive[2], "|", %SDefensive[1], %SDefensive[2],"","",""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"Cappers", %capperCount[1], %capperCount[2], "|", %ScapperCount[1], %ScapperCount[2],"","",""); - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,"Base Op", %baseOpCount[1], %baseOpCount[2], "|", %SbaseOpCount[1], %SbaseOpCount[2],"","",""); + %displayedCount++; // Increase count only for valid entries + %indexInArray++; // Always increase this to scan through full dataset + } case "SP": if(!%client.isSuperAdmin){ error(%client.nameBase SPC "failed to access server panel"); @@ -8354,13 +8888,26 @@ function statsMenu(%client,%game){ compileStats(); %client.GlArg4 = 0; } - case "tmEnable": - if($dtStats::tmMode) - $dtStats::tmMode = 0; - else - $dtStats::tmMode = 1; %client.GlArg4 = 0; + case "customAdd": + $dtServerVars::custom++; + $dtStats::curCustom = $dtServerVars::custom; + %client.GlArg4 = 0; + if(isEventPending(%client.expSch)){ + cancel(%client.expSch); + } + %client.expSch = schedule(10000,0,"export", "$dtServerVars::*", "serverStats/serverVars.cs", false ); + $dtStats::reloadTotal = 1; + case "customRmv": + $dtServerVars::custom--; + $dtStats::curCustom = $dtServerVars::custom; + %client.GlArg4 = 0; + if(isEventPending(%client.expSch)){ + cancel(%client.expSch); + } + %client.expSch = schedule(10000,0,"export", "$dtServerVars::*", "serverStats/serverVars.cs", false ); + $dtStats::reloadTotal = 1; case "plotEnable": %start = startPlayerPlot(%client.GlArg5*1000); if(!%start) @@ -8401,18 +8948,12 @@ function statsMenu(%client,%game){ } //------------------------------------------------------------------------------ if(%game $= "CTFGame" || %game $= "LCTFGame" || %game $= "SCtFGame"){ - if(!$dtStats::tmMode){ - %line = ' + Enable Tournament Map Stats - records to separate stats'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"tmEnable"); - } - else{ - %line = ' + Disable Tournament Map Stats - records to normal stats'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"tmEnable"); - } %tlist = 0; - for(%i = 0; %i < pugList.getCount(); %i++){ - %gobj = pugList.getObject(%i); - %tlist += %gobj.getCount(); + if(isObject(pugList)){ + for(%i = 0; %i < pugList.getCount(); %i++){ + %gobj = pugList.getObject(%i); + %tlist += %gobj.getCount(); + } } if(%tlist > 0){ if(!$Host::TournamentMode){ @@ -8435,10 +8976,12 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } %glist = 0; - for(%i = 0; %i < pubList.getCount(); %i++){ - %gobj = pubList.getObject(%i); - %glist += %gobj.getCount(); - } + if(isObject(pubList)){ + for(%i = 0; %i < pubList.getCount(); %i++){ + %gobj = pubList.getObject(%i); + %glist += %gobj.getCount(); + } + } if(%glist > 0){ if(!$Host::TournamentMode){ if(!$dtStats::tmCompile){ @@ -8478,6 +9021,10 @@ function statsMenu(%client,%game){ %line = ' + Team Balancer'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + + %statIndex = $dtServerVars::custom > 1 ? $dtServerVars::custom : 1; + %line = ' + Custom Stat Interval - Current Index: < %4 >'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,0,0,%statIndex); // if(!$pathMaps::running){ // %line = ' Start Player Plot + 30k + 60k + 90k + 120k'; // messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"plotEnable"); @@ -8536,7 +9083,7 @@ function statsMenu(%client,%game){ case "tmc": if(!$dtStats::tmCompile){ buildTest(0); - messageAll('MsgStats', '\c3Tournament stats build started, server preformance will degrade for a few minutes~wfx/misc/hunters_greed.wav'); + messageAll('MsgStats', '\c3Tournament stats build started, server performance will degrade for a few minutes~wfx/misc/hunters_greed.wav'); } %client.GlArg3 = 0; case "rmv": @@ -8605,7 +9152,7 @@ function statsMenu(%client,%game){ case "gmc": if(!$dtStats::tmCompile){ buildTest(0); - messageAll('MsgStats', '\Map stats build started, server preformance will degrade for a few minutes~wfx/misc/hunters_greed.wav'); + messageAll('MsgStats', '\Map stats build started, server performance will degrade for a few minutes~wfx/misc/hunters_greed.wav'); } %client.GlArg3 = 0; case "rmv": @@ -9418,6 +9965,9 @@ function statsMenu(%client,%game){ case "SV"://Server %vLPage = %client.GlArg4; %field5 = strreplace(%client.GlArg5,"-","\t"); + if(%client.lgame !$= getField(%field5,0)){ + %new = 1; + } %client.lgame = %switch = getField(%field5,0); %client.cat = %cat = getField(%field5,1); if(%vLPage == -1) @@ -9427,7 +9977,7 @@ function statsMenu(%client,%game){ %perPage = 14;// num of games listed per page if(%cat $= "R"){ - getMapID($CurrentMission,%game,0,1); + getMapID($CurrentMission,%game,1); for(%i = 1; %i <= $mapID::countGame[%client.lgame]; %i++){ %map = $mapID::IDNameGame[%i,%client.lgame]; $dtServer::playCount[%map,%client.lgame] = 0; @@ -9457,7 +10007,7 @@ function statsMenu(%client,%game){ %client.cat = %cat = 1; } else if(%cat !$= "C"){ - if($dtStats::sortCat != %cat){ + if($dtStats::sortCat != %cat || %new){ for(%i = 1; %i <= $mapID::countGame[%client.lgame]; %i++){ %maxCount = %i; switch$(%cat){ @@ -9619,7 +10169,6 @@ function statsMenu(%client,%game){ $dtStats::sortCat = 1; } } - error($dtStats::sortCat); } %client.GlArg5 = %client.lgame @ "-C"; } @@ -9912,7 +10461,7 @@ function statsMenu(%client,%game){ %mon = $lData::mon[%lType, %client.lgame, %page]; if(%build $= "Build" && !$dtStatsImgBuild){ genBigStats(%client.lgame, %lType, getField(%mon,0),getField(%mon,1)); - messageAll('MsgStats', '\c3Stats build started, server preformance may degrade for a few minutes~wfx/misc/hunters_greed.wav'); + messageAll('MsgStats', '\c3Stats build started, server performance may degrade for a few minutes~wfx/misc/hunters_greed.wav'); $dtStatsImgBuild = 1; } } @@ -9947,12 +10496,16 @@ function statsMenu(%client,%game){ %lTypeName = "Yearly"; %lTypeNameShort = "Year"; messageClient( %client, 'SetScoreHudHeader', "", '%1 Leaderboards For %2',%lTypeName,%year); + case "custom": + %lTypeName = "Custom"; + %lTypeNameShort = "Custom"; + messageClient( %client, 'SetScoreHudHeader', "", '%1 Leaderboards For %2',%lTypeName,%mon); } if(%client.isSuperAdmin){ if($dtStatsImgBuild || $dtStats::tmCompile) - messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,%lType $= "month" ? monthString(%mon) : ("Week" SPC %mon),%page,%lType); + messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,%lType $= "month" ? monthString(%mon) : ("custom" SPC %mon),%page,%lType); else - messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,%lType $= "month" ? monthString(%mon) : ("Week" SPC %mon) , %page, %lType); + messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,%lType $= "month" ? monthString(%mon) : ("custom" SPC %mon) , %page, %lType); } else messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen',0,%game,1); @@ -9996,23 +10549,25 @@ function statsMenu(%client,%game){ } if($lData::monCount[%client.lgame,%lType] > 1){ - %vw = (%lType $= "week") ? "month" : "week"; + error(%lTypeNameShort); + %vw = (%lType $= "custom") ? "month" : "custom"; + %vn = (%lType $= "custom") ? "Monthly" : "Custom"; if(%page == 1){ - %line = ' [View %5 Stats] Previous %5'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page+1,%client.lgame,%lTypeNameShort,%vw); + %line = ' [View %6 Stats] Previous %5'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page+1,%client.lgame,%lTypeNameShort,%vn); } else if(%page >= $lData::monCount[%client.lgame,%lType]){ - %line = ' [View %5 Stats] Next %5'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page-1,%client.lgame,%lTypeNameShort,%vw); + %line = ' [View %6 Stats] Next %5'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page-1,%client.lgame,%lTypeNameShort,%vn); } else{ %line = ' [View %6 Stats] Previous %6 | Next %6'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page-1,%page+1,%client.lgame,%lTypeNameShort,%vw); + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page-1,%page+1,%client.lgame,%lTypeNameShort,%vn); } } else{ - if(%lType !$= "week"){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Weekly Stats]"); + if(%lType !$= "custom"){ + messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Custom Stats]"); } else{ messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Monthly Stats]"); @@ -10043,8 +10598,8 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetLineHud', "", %tag, %index++, 'View other gametypes'); messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ %line); } - if(%lType !$= "week"){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Weekly Stats]"); + if(%lType !$= "custom"){ + messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Custom Stats]"); } else{ messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Monthly Stats]"); @@ -11633,7 +12188,7 @@ function statsMenu(%client,%game){ // LeaderBoards //////////////////////////////////////////////////////////////////////////////// -function getTimeDelta(%d, %year){ +function getTimeDayDelta(%d, %year){ %dif = $dtStats::curYear - %year; %days += 365 * (%dif-1); %days += 366 - %d; @@ -11662,8 +12217,8 @@ function compileStats(){ } function lStatsCycle(%build,%runReset){ // 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($dtStats::debugEchos){error("lStatsCycle" SPC $dtStats::build["day"] SPC $dtStats::build["week"] SPC + $dtStats::build["month"] SPC $dtStats::build["quarter"] SPC $dtStats::build["year"] SPC $dtStats::build["custom"] SPC $dtStats::lCount);} if(%runReset){ if(!$dtStats::statsSave){ $dtStats::statReset = 1; @@ -11687,6 +12242,7 @@ function lStatsCycle(%build,%runReset){ // starts and manages the build/sort cyc $dtStats::build["month"] = 0; $dtStats::build["quarter"] = 0; $dtStats::build["year"] = 0; + $dtStats::build["custom"] = 0; $dtStats::lCount = 0; $dtStats::building = 1; if(!$dtStats::timeChange){ @@ -11743,6 +12299,14 @@ function lStatsCycle(%build,%runReset){ // starts and manages the build/sort cyc } preLoadStats(%game,"year"); } + else if($dtStats::custom > 0 && !$dtStats::build["custom"]){ + %game = $dtStats::gameType[$dtStats::lCount]; + if($dtStats::lCount++ >= $dtStats::gameTypeCount){ + $dtStats::build["custom"] = 1; // mark as done + $dtStats::lCount = 0; // reset + } + preLoadStats(%game,"custom"); + } else{ if($dtStats::debugEchos){error("leaderBoards finished building");} schedule(5000,0,"loadLeaderboards",1);// reset and reload leaderboards @@ -11776,7 +12340,8 @@ function markNewDay(){// updates are dates when the server is ready to cycle ove $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);} + $dtStats::curCustom = $dtServerVars::custom > 1 ? $dtServerVars::custom : 1; + if($dtStats::debugEchos){error("MarkNewDay =" SPC $dtStats::curDay SPC $dtStats::curWeek SPC $dtStats::curMonth SPC $dtStats::curQuarter SPC $dtStats::curYear SPC $dtStats::curCustom);} } // var old new old new old new old new old new // var day day week week month month quarter quarter year year @@ -11789,6 +12354,7 @@ function loadStatsData(%filepath,%game,%lType,%fileNum,%total){ 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; + case "custom": %mon = $dtStats::curCustom; %fieldOld = 11; %fieldNew = 12; default: %mon = getMonthNum(); %fieldOld = 5; %fieldNew = 6; } %file = new FileObject(); @@ -11844,6 +12410,7 @@ function sortLStats(%c,%game,%lType){ case "month": %mon = $dtStats::curMonth; case "quarter":%mon = $dtStats::curQuarter; case "year": %mon = $dtStats::curYear; + case "custom": %mon = $dtStats::curCustom; default: error("ltype is not set"); return; } //%fc = getFileCount("serverStats/LData/-CTFGame*.cs"); @@ -12207,6 +12774,8 @@ function isFileExpired(%lType,%d,%year){ if(%mon <= $dtStats::year){ return 0; } + case "custom": + return 0; } return 1; } @@ -12698,7 +13267,7 @@ function sortTurStatsT(%c, %game){ $dtStats::prefTestTime = 512;// the lower the better tracking $dtStats::prefTestIdleTime = 60*1000;// if no one is playing just run slow -$dtStats::prefTolerance = 128;//this number is to account for base line preformance and differences between engine simTime and realtime +$dtStats::prefTolerance = 128;//this number is to account for base line performance and differences between engine simTime and realtime $dtStats::prefLog = 0; // enable logging of server hangs $dtStats::eventLockout = 15*1000;//every 10 sec $dtStats::tsLimit = 0.22; //note this value is heavly effected by packet rate so if you change this be sure to test low and high client rates @@ -12980,8 +13549,12 @@ function dtSaveServerVars(){ schedule(1000 * %i++,0,"export", "$dtServer::team*", "serverStats/teamWL.cs", false ); schedule(1000 * %i++,0,"export", "$mapID::*", "serverStats/mapIDList.cs", false ); schedule(1000 * %i++,0,"export", "$dtServer::event*", "serverStats/eventLog.cs", false ); - pugList.schedule(1000 * %i++,"save","serverStats/pugLog.cs", 0); - pubList.schedule(1000 * %i++,"save","serverStats/pubLog.cs", 0); + if(isObject(pugList)){ + pugList.schedule(1000 * %i++,"save","serverStats/pugLog.cs", 0); + } + if(isObject(pubList)){ + pubList.schedule(1000 * %i++,"save","serverStats/pubLog.cs", 0); + } if($dtStats::ctfTimes) schedule(1000 * %i++,0,"export", "$dtServer::capTimes*", "serverStats/capTimes.cs", false ); } @@ -13009,7 +13582,7 @@ function dtLoadServerVars(){// keep function at the bottom $dtServerVars::crashLog[$dtServerVars::crashLogCount++] = %date @ "-" @ %upTime @ "-" @ %mis @ "-" @ $dtServerVars::lastGameType @ "-" @ $dtServerVars::lastPlayerCount; schedule(30000,0,"dtEventLog","Server Crash" SPC %date SPC "Pl Count =" SPC $dtServerVars::lastPlayerCount SPC "Map =" SPC %mis, 0); } - schedule(30001,0,"dtEventLog","Last Server Uptime =" SPC %date SPC "Up Time =" SPC %upTime, 0); + schedule(30001,0,"dtEventLog","Last Server Uptime =" SPC %date SPC "Up Time =" SPC %upTime SPC %mis, 0); } if($dtServerVars::upTimeCount >= 30) $dtServerVars::upTimeCount = 0; @@ -13048,6 +13621,8 @@ function dtLoadServerVars(){// keep function at the bottom exec("serverStats/pugLog.cs"); if(isFile("serverStats/pubLog.cs")) exec("serverStats/pubLog.cs"); + if(isFile("serverStats/tbVars.cs")) + exec("serverStats/tbVars.cs"); $dtServer::eventLogCount = 0; if(isFile("serverStats/eventLog.cs")) exec("serverStats/eventLog.cs"); @@ -13721,6 +14296,7 @@ function saveBanList(){ function banSaveExport(%file){ %fobj = new fileObject(); + RootGroup.add(%fobj); %fobj.openForWrite(%file); %fobj.writeLine("new SimGroup(dtBanList) {"); for(%i = 0; %i < dtBanList.getCount(); %i++){ @@ -15868,8 +16444,8 @@ function genBigStats(%game, %lType, %mon, %year){ if(%lType $= "month"){ %header = "Monthly Stats For" SPC monthString(%mon) SPC %year SPC "-" SPC $dtStats::gtNameLong[%game]; } - else if(%lType $= "week"){ - %header = "Weekly Stats For week" SPC %mon SPC %year SPC "-" SPC $dtStats::gtNameLong[%game]; + else if(%lType $= "custom"){ + %header = $dtStats::gtNameLong[%game] SPC "Stats" SPC %mon; } %hsize = getTextLengthInPixels(%header, "RC", 30);//30 schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%mainXSize / 2) - mFloor(%hsize / 2), 50, "11 239 231", "RC", 30, 500);//30 @@ -16372,6 +16948,7 @@ function dumpTest(){ deleteVariables("$textColor*"); addGLText("abcdefghijklmnop", 0, 30, "3 213 151", 15, 500); new fileObject(img); + RootGroup.add(img); img.openForWrite("serverStats/statsImg/test.ppm"); img.x = 256; img.y = 256; @@ -16574,6 +17151,12 @@ function compileGameImage(%gameIndex){ } } +function hasValueS(%val, %return){ + if(%val $= ""){ + return %return; + } + return %val; +} function hasValueC(%val,%return,%return2,%x){ if(%val $= ""){ From 72cca666cc21ff6e0251bfda88975db81a68978b Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Mon, 17 Feb 2025 10:43:02 -0500 Subject: [PATCH 10/60] dtStats 10.53 --- Classic/scripts/autoexec/z_dtStats.cs | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/Classic/scripts/autoexec/z_dtStats.cs b/Classic/scripts/autoexec/z_dtStats.cs index 8670323..2789968 100644 --- a/Classic/scripts/autoexec/z_dtStats.cs +++ b/Classic/scripts/autoexec/z_dtStats.cs @@ -15,7 +15,7 @@ // Note See bottom of file for full log ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //-----------Settings----------- -$dtStats::version = 10.52; +$dtStats::version = 10.53; //disable stats system $dtStats::Enable = $Host::dtStatsEnable $= "" ? ($Host::dtStatsEnable = 1) : $Host::dtStatsEnable; if(!$dtStats::Enable){ return;}// so it disables with a restart @@ -3614,6 +3614,7 @@ function DefaultGame::sendCTFDebrif(%game,%client){ //print out the client %score = %cl.score $= "" ? 0 : %cl.score;// + %kills = %cl.kills $= "" ? 0 : %cl.kills; %nameColor = %cl == %client ? "" : ""; if(%cl == %client){ %line = '%9%1 %2%3%4%5%6%7%8'; @@ -3625,8 +3626,9 @@ function DefaultGame::sendCTFDebrif(%game,%client){ } } } + function extendedDebrief(%game, %client){ - if($dtStats::evoStyleDebrief && !%client.isWatchOnly){ + if($dtStats::evoStyleDebrief && !%client.isWatchOnly){ if(dtGameStat.gc["flag"] > 0){ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); messageClient( %client, 'MsgDebriefAddLine', "", 'FLAG STATS\tPLAYER\t' ); @@ -3781,19 +3783,19 @@ function extendedDebrief(%game, %client){ messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["bellyTurretDmg"],"NA")), mFormatFloat(dtGameStat.stat["bellyTurretDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["bellyTurretKills"],"NA")), dtGameStat.stat["bellyTurretKills"],%color1,%color2); } if(dtGameStat.stat["bomberBombsKills"] > 0){ - %line = 'Clamp Farmer\t%5%1\t%2\t%6%3\t%4'; + %line = 'Bomber Bombs\t%5%1\t%2\t%6%3\t%4'; %color1 = (%client == dtGameStat.client["bomberBombsDmg"]) ? "" : ""; %color2 = (%client == dtGameStat.client["bomberBombsKills"]) ? "" : ""; messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["bomberBombsDmg"],"NA")), mFormatFloat(dtGameStat.stat["bomberBombsDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["bomberBombsKills"],"NA")), dtGameStat.stat["bomberBombsKills"],%color1,%color2); } if(dtGameStat.stat["tankChaingunKills"] > 0){ - %line = 'Tank Gunner (chain)\t%5%1\t%2\t%6%3\t%4'; + %line = 'Tank (chain)\t%5%1\t%2\t%6%3\t%4'; %color1 = (%client == dtGameStat.client["tankChaingunDmg"]) ? "" : ""; %color2 = (%client == dtGameStat.client["tankChaingunKills"]) ? "" : ""; messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["tankChaingunDmg"],"NA")), mFormatFloat(dtGameStat.stat["tankChaingunDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["tankChaingunKills"],"NA")), dtGameStat.stat["tankChaingunKills"],%color1,%color2); } if(dtGameStat.stat["tankMortarKills"] > 0){ - %line = 'Tank Gunner (mortar)\t%5%1\t%2\t%6%3\t%4'; + %line = 'Tank (mortar)\t%5%1\t%2\t%6%3\t%4'; %color1 = (%client == dtGameStat.client["tankMortarDmg"]) ? "" : ""; %color2 = (%client == dtGameStat.client["tankMortarKills"]) ? "" : ""; messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["tankMortarDmg"],"NA")), mFormatFloat(dtGameStat.stat["tankMortarDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["tankMortarKills"],"NA")), dtGameStat.stat["tankMortarKills"],%color1,%color2); @@ -5316,8 +5318,13 @@ function ArenaGame::setupClientTeams(%game){ } function endGameTB(%game){ - if($TB::TBLog[$dtStats::gtNameShort[%game.class]]){ - logTB(%game);// log the outcome + if(!$TB::TBEnable[$dtStats::gtNameShort[%game.class]]){ + if($Host::TournamentMode){// load map data so we can update it as it does not load by default with TournamentMode + loadTBMap(%game); + } + if($TB::TBLog[$dtStats::gtNameShort[%game.class]]){ + logTB(%game);// log the outcome + } for(%x = 0; %x < statsGroup.getCount(); %x++){ %dtStats = statsGroup.getObject(%x); calcTBScores(%dtStats,%game); @@ -7556,6 +7563,9 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT } else if(%sourceClass $= "Turret"){ %sourceClient = %sourceObject.owner; + if(!isObject(%sourceClient)){ + %sourceClient = %sourceObject.getControllingClient(); + } %sourceDT = %sourceClient.dtStats; } else if(%sourceClass $= "VehicleTurret" || %sourceClass $= "FlyingVehicle" || %sourceClass $= "HoverVehicle" || %sourceClass $= "WheeledVehicle"){ @@ -9082,7 +9092,7 @@ function statsMenu(%client,%game){ switch$(%opt0){ case "tmc": if(!$dtStats::tmCompile){ - buildTest(0); + buildTest(1); messageAll('MsgStats', '\c3Tournament stats build started, server performance will degrade for a few minutes~wfx/misc/hunters_greed.wav'); } %client.GlArg3 = 0; From 487732f63325deb02bf2913eb85e3b2cb927378a Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Thu, 20 Feb 2025 21:20:52 -0500 Subject: [PATCH 11/60] Update MapRotation.cs --- Classic/prefs/MapRotation.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classic/prefs/MapRotation.cs b/Classic/prefs/MapRotation.cs index 3cb786d..2b24482 100644 --- a/Classic/prefs/MapRotation.cs +++ b/Classic/prefs/MapRotation.cs @@ -531,7 +531,7 @@ addRotationMap("DermCrossingDeluxeLT", "LCTF",1,1,-1,-1); addRotationMap("SuperiorWaterworks", "LCTF",1,0,-1,12); addRotationMap("FrozenForgeLT", "LCTF",1,1,-1,20); addRotationMap("TWL2_CelerityLT", "LCTF",1,1,-1,20); -addRotationMap("El_Fin", "LCTF",1,1,-1,14); +addRotationMap("El_FinLT", "LCTF",1,1,-1,14); addRotationMap("CapriLT", "LCTF",1,1,-1,14); From 4103a1c8d2d20cf49353c22f23924504107e2b4d Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 22 Feb 2025 13:38:22 -0500 Subject: [PATCH 12/60] Update MapRotation.cs --- Classic/prefs/MapRotation.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classic/prefs/MapRotation.cs b/Classic/prefs/MapRotation.cs index 2b24482..fa47405 100644 --- a/Classic/prefs/MapRotation.cs +++ b/Classic/prefs/MapRotation.cs @@ -479,7 +479,7 @@ addRotationMap("GrassyKnoll", "LCTF",1,1,-1,-1); addRotationMap("TWL2_MuddySwamp", "LCTF",1,0,8,-1); addRotationMap("SandyRunLT", "LCTF",1,0,-1,12); addRotationMap("Sentry", "LCTF",1,1,-1,-1); -addRotationMap("Cinerarium", "LCTF",1,1,-1,-1); +addRotationMap("DMP_Cinerarium", "LCTF",1,1,-1,14); addRotationMap("Exhumed", "LCTF",1,1,-1,-1); addRotationMap("S8_ZilchLT", "LCTF",1,1,-1,-1); addRotationMap("TWL_BeachBlitzLT", "LCTF",1,0,-1,-1); @@ -503,7 +503,7 @@ addRotationMap("HillKingLT", "LCTF",1,1,-1,-1); addRotationMap("DMP_BastardForgeLT", "LCTF",1,1,-1,-1); addRotationMap("VanDamnedLT", "LCTF",1,1,-1,-1); addRotationMap("DMP_Paranoia", "LCTF",1,0,-1,-1); -addRotationMap("DMP_Spincycle", "LCTF",1,1,-1,-1); +addRotationMap("DMP_SpincycleLT", "LCTF",1,1,-1,-1); addRotationMap("Ravine", "LCTF",1,1,-1,-1); // addRotationMap("DX_Badlands", "LCTF",1,0,-1,-1); // addRotationMap("DX_Desert", "LCTF",1,0,-1,-1); From 4783e1c9e1d2346c62a0631d8c0af8f01d9affe9 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Tue, 25 Mar 2025 01:06:24 -0400 Subject: [PATCH 13/60] dtStats 10.55 --- Classic/scripts/autoexec/z_dtStats.cs | 52 ++++++++++++++------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/Classic/scripts/autoexec/z_dtStats.cs b/Classic/scripts/autoexec/z_dtStats.cs index 2789968..4b124e3 100644 --- a/Classic/scripts/autoexec/z_dtStats.cs +++ b/Classic/scripts/autoexec/z_dtStats.cs @@ -15,7 +15,7 @@ // Note See bottom of file for full log ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //-----------Settings----------- -$dtStats::version = 10.53; +$dtStats::version = 10.55; //disable stats system $dtStats::Enable = $Host::dtStatsEnable $= "" ? ($Host::dtStatsEnable = 1) : $Host::dtStatsEnable; if(!$dtStats::Enable){ return;}// so it disables with a restart @@ -31,7 +31,7 @@ $dtStats::midAirMessage = $Host::dtStatsMidAirMessage $= "" ? ($Host::dtStatsMi //capture best cap times restart required if changed //only enable if evo system is not available -$dtStats::ctfTimes = $Host::dtStatsCTFTimes $= "" ? ($Host::dtStatsCTFTimes = 0) : $Host::dtStatsCTFTimes; +$dtStats::ctfTimes = $Host::dtStatsCTFTimes $= "" ? ($Host::dtStatsCTFTimes = 1) : $Host::dtStatsCTFTimes; //number of players before it starts counting captimes $dtStats::ctfTimesPlayerLimit = $Host::dtStatsCTFTimesPlayerLimit $= "" ? ($Host::dtStatsCTFTimesPlayerLimit = 8) : $Host::dtStatsCTFTimesPlayerLimit; @@ -66,7 +66,7 @@ $dtStats::sortSpeed = 64; //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 = $Host::dtStatsBuildSetTime $= "" ? ($Host::dtStatsBuildSetTime = "5\t00\tam") : $Host::dtStatsBuildSetTime; +$dtStats::buildSetTime = $Host::dtStatsBuildSetTime $= "" ? ($Host::dtStatsBuildSetTime = "8\t00\tam") : $Host::dtStatsBuildSetTime; // top 15 players per cat, best not to change $dtStats::topAmount = 15; @@ -7034,11 +7034,11 @@ function dtMinMax(%statName,%group,%minMax,%value,%client){ dtGameStat.name[%statName] = getTaggedString(%client.name); dtGameStat.client[%statName] = %client; } - case 3: + case 3://value counter; dtGameStat.statTrack[%statName, %client] += %value; - %minMax = dtGameStat.statTrack[%statName, %client]; - if(dtGameStat.stat[%statName] < %value || dtGameStat.stat[%statName] $= ""){ - dtGameStat.stat[%statName] = %value; + %curValue = dtGameStat.statTrack[%statName, %client]; + if(dtGameStat.stat[%statName] < %curValue || dtGameStat.stat[%statName] $= ""){ + dtGameStat.stat[%statName] = %curValue; dtGameStat.name[%statName] = getTaggedString(%client.name); dtGameStat.client[%statName] = %client; } @@ -10471,7 +10471,7 @@ function statsMenu(%client,%game){ %mon = $lData::mon[%lType, %client.lgame, %page]; if(%build $= "Build" && !$dtStatsImgBuild){ genBigStats(%client.lgame, %lType, getField(%mon,0),getField(%mon,1)); - messageAll('MsgStats', '\c3Stats build started, server performance may degrade for a few minutes~wfx/misc/hunters_greed.wav'); + messageAll('MsgStats', '\c3Stats image build started, server performance may degrade for a few minutes~wfx/misc/hunters_greed.wav'); $dtStatsImgBuild = 1; } } @@ -12236,7 +12236,7 @@ function lStatsCycle(%build,%runReset){ // starts and manages the build/sort cyc $dtStats::hostTimeLimit = $Host::TimeLimit; if(isGameRun()){//if for some reason the game is running extend the time limit untill done Game.voteChangeTimeLimit(1,$Host::TimeLimit+120); - messageAll('MsgStats', '\c3Stats build started, adjusting time limit temporarily'); + messageAll('MsgStats', '\c3Stats build started, adjusting time limit temporarily~wfx/misc/hunters_horde.wav'); $dtStats::timeChange =1; } } @@ -16665,10 +16665,11 @@ function genBigMapStats(%count){ else{ genBigMapStats(%count++); } - } + } else{ $dtStats::tmCompile = 0; error("map stats compile done"); + messageAll('MsgStats', '\c3Map stats image build has finished~wfx/misc/hunters_greed.wav'); } } @@ -16954,21 +16955,21 @@ function imgCycle3(%img, %count){ } } -function dumpTest(){ - deleteVariables("$textColor*"); - addGLText("abcdefghijklmnop", 0, 30, "3 213 151", 15, 500); - new fileObject(img); - RootGroup.add(img); - img.openForWrite("serverStats/statsImg/test.ppm"); - img.x = 256; - img.y = 256; - img.writeLine("P3"); - img.writeLine(img.x SPC img.y); - img.writeLine("255"); - img.yc = 0; - img.py = 0; - imgCycle(img); -} +//function dumpTest(){ + //deleteVariables("$textColor*"); + //addGLText("abcdefghijklmnop", 0, 30, "3 213 151", 15, 500); + //new fileObject(img); + //RootGroup.add(img); + //img.openForWrite("serverStats/statsImg/test.ppm"); + //img.x = 256; + //img.y = 256; + //img.writeLine("P3"); + //img.writeLine(img.x SPC img.y); + //img.writeLine("255"); + //img.yc = 0; + //img.py = 0; + //imgCycle(img); +//} function isInsideBorder(%img,%x, %y) { @@ -17086,6 +17087,7 @@ function imgCycle(%img){ %img.delete(); deleteVariables("$textColor*"); error("Stats Image Done"); + messageAll('MsgStats', '\c3Stats image build has finished~wfx/misc/hunters_greed.wav'); $dtStatsImgBuild = 0; } } From 73e3ba13187d0d7b8a81689e488da878e4a87d55 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Tue, 25 Mar 2025 01:21:36 -0400 Subject: [PATCH 14/60] dtStats 10.57 --- Classic/scripts/autoexec/z_dtStats.cs | 28 ++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/Classic/scripts/autoexec/z_dtStats.cs b/Classic/scripts/autoexec/z_dtStats.cs index 4b124e3..b10738f 100644 --- a/Classic/scripts/autoexec/z_dtStats.cs +++ b/Classic/scripts/autoexec/z_dtStats.cs @@ -15,7 +15,7 @@ // Note See bottom of file for full log ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //-----------Settings----------- -$dtStats::version = 10.55; +$dtStats::version = 10.57; //disable stats system $dtStats::Enable = $Host::dtStatsEnable $= "" ? ($Host::dtStatsEnable = 1) : $Host::dtStatsEnable; if(!$dtStats::Enable){ return;}// so it disables with a restart @@ -30,7 +30,7 @@ $dtStats::midAirHeight = 10; $dtStats::midAirMessage = $Host::dtStatsMidAirMessage $= "" ? ($Host::dtStatsMidAirMessage = 1) : $Host::dtStatsMidAirMessage; //capture best cap times restart required if changed -//only enable if evo system is not available +//only enable if evo system is not available $dtStats::ctfTimes = $Host::dtStatsCTFTimes $= "" ? ($Host::dtStatsCTFTimes = 1) : $Host::dtStatsCTFTimes; //number of players before it starts counting captimes $dtStats::ctfTimesPlayerLimit = $Host::dtStatsCTFTimesPlayerLimit $= "" ? ($Host::dtStatsCTFTimesPlayerLimit = 8) : $Host::dtStatsCTFTimesPlayerLimit; @@ -66,7 +66,7 @@ $dtStats::sortSpeed = 64; //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 = $Host::dtStatsBuildSetTime $= "" ? ($Host::dtStatsBuildSetTime = "8\t00\tam") : $Host::dtStatsBuildSetTime; +$dtStats::buildSetTime = $Host::dtStatsBuildSetTime $= "" ? ($Host::dtStatsBuildSetTime = "5\t00\tam") : $Host::dtStatsBuildSetTime; // top 15 players per cat, best not to change $dtStats::topAmount = 15; @@ -1768,7 +1768,7 @@ $statsName["scoreMax"] = "Highest Score" TAB "Kmh"; $statsName["grabSpeedMax"] = "Max Grab Speed" TAB "Kmh"; $statsName["flagCatchSpeedMax"] = "Flag Catch Speed" TAB "Khm"; $statsName["maFlagCatchSpeedMax"] = "MidAir Flag Speed" TAB "Kmh"; -$statsName["interceptSpeedMax"] = "Flag Intercept Speed" TAB "Kmh"; +$statsName["interceptSpeedMax"] = "Intercept Speed" TAB "Kmh"; $statsName["interceptFlagSpeedMax"] = "Flag Speed Grab" TAB "Kmh"; $statsName["maHitDistMax"] = "Midair Distance" TAB "Meter"; $statsName["maHitHeightMax"] = "Highest MidAir" TAB "Meter"; @@ -3400,8 +3400,15 @@ package dtStats{ else %othertotdistance = mFloor(%cl.totalDistance); if(%cl.totalShockHits == 0) %shockhits = 0; else %shockhits = mFloor(%cl.totalShockHits); - messageClient( %client, 'MsgDebriefAddLine', "", ' %1%2%3%4%5%6%7%8%%%9', - %cl.name, %score, %kills, %mas, %avgSpeed, %avgDistance, %othertotdistance, %shockPercent, %shockhits); + + if(%client == %cl){ + messageClient( %client, 'MsgDebriefAddLine', "", ' %1%2%3%4%5%6%7%8%%%9', + StripMLControlChars(getTaggedString(%cl.name)), %score, %kills, %mas, %avgSpeed, %avgDistance, %othertotdistance, %shockPercent, %shockhits); + } + else{ + messageClient( %client, 'MsgDebriefAddLine', "", ' %1%2%3%4%5%6%7%8%%%9', + StripMLControlChars(getTaggedString(%cl.name)), %score, %kills, %mas, %avgSpeed, %avgDistance, %othertotdistance, %shockPercent, %shockhits); + } if(%score) %totscore += %score; if(%kills) %totkills += %kills; @@ -3415,7 +3422,6 @@ package dtStats{ if(%shockhits){ %totshockhits += %shockhits; } } - messageClient( %client, 'MsgDebriefAddLine', "", '%1%2%3%4%5%6%7%8%%%9\n', " Totals:", %totscore, %totkills, %totmas, mFloor(%totspeed/%speeds), mFloor(%totdistance/%dists), %alltotdistance, mFloor(%totshockpercent/%shocks), %totshockhits); extendedDebrief(%game, %client); @@ -4620,7 +4626,7 @@ function DMHud(%game, %client, %tag){// note in this game type the score hud can messageClient( %client, 'SetLineHud', "", %tag, %index, '%5\t%1%2%3%4%6', %cl.name, %clScore, %clKills, %clDeaths, %clStyle, %clBonus); } - //else for observers, create an anchor around the player name so they can be observed + //else for observers, create an anchor around the player name so they can be observed else { messageClient( %client, 'SetLineHud', "", %tag, %index, '%5\t%1%2%3%4%7', @@ -4980,7 +4986,7 @@ function CTFHud(%game, %client, %tag){// defaultGame/evo messageClient(%client, 'SetLineHud', "", %tag, %index, '\t%5%1%2\t%6%3%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, '\t%5%1%2\t%6%3%4', %team1Client.name, %team1ClientScore, %team2Client.name, %team2ClientScore, %col1Style, %col2Style); + messageClient(%client, 'SetLineHud', "", %tag, %index, '\t%5%1%2\t%6%3%4', %team1Client.name, %team1ClientScore, %team2Client.name, %team2ClientScore, %col1Style, %col2Style,%team1Client,%team2Client); } %index++; } @@ -18875,7 +18881,7 @@ function renderCTFMapTextTM(%id){ schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue," Sec",2); + %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue,"",2); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; @@ -19112,7 +19118,7 @@ function renderCTFMapTextTM(%id){ schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue," Sec",1); + %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; From 9a4bc680883db8c6865de6206d02e6a0cd022b0b Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Thu, 27 Mar 2025 21:42:23 -0400 Subject: [PATCH 15/60] Update GameGui.cs Removed spaces --- Classic/scripts/GameGui.cs | 120 ++++++++++++++++++------------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/Classic/scripts/GameGui.cs b/Classic/scripts/GameGui.cs index bb7daf0..e7bac6e 100644 --- a/Classic/scripts/GameGui.cs +++ b/Classic/scripts/GameGui.cs @@ -4,7 +4,7 @@ // //------------------------------------------------------------------------------ -// z0dd - ZOD: Execute the mission and game type skip lists so that +// z0dd - ZOD: Execute the mission and game type skip lists so that // arrays are put into memory for function buildMissionList. exec("prefs/MissionSkip.cs", true); exec("prefs/GameTypeSkip.cs", true); @@ -57,12 +57,12 @@ function GameGui::onSleep( %this ) %ctrl = "GM_" @ %this.pane @ "Pane"; if ( isObject( %ctrl ) ) %ctrl.onDeactivate(); - + // if( isObject( $dummySeq ) ) -// { +// { // $dummySeq.delete(); // } - + Canvas.popDialog(LaunchToolbarDlg); } @@ -124,7 +124,7 @@ function GM_JoinPane::onActivate( %this ) GMJ_Browser.lastQuery = $PlayingOnline ? "Master" : "LanServers"; GMJ_Browser.runQuery(); } - + if ( isObject( BrowserMap ) ) { BrowserMap.pop(); @@ -151,7 +151,7 @@ function GM_JoinPane::onDeactivate( %this ) BrowserMap.pop(); BrowserMap.delete(); } - + GM_VersionText.setVisible( false ); $pref::ServerBrowser::InfoWindowOpen = GMJ_Browser.infoWindowOpen; @@ -324,15 +324,15 @@ function GMJ_Browser::runQuery( %this ) if ( %regionMask $= "" ) %regionMask = 4294967295; - queryMasterServer( - $JoinGamePort, - 0, // Flags - %rulesSet, // Rules Set - %missionType, // Mission Type - getField( %filter, 3 ), // Min Players + queryMasterServer( + $JoinGamePort, + 0, // Flags + %rulesSet, // Rules Set + %missionType, // Mission Type + getField( %filter, 3 ), // Min Players %maxPlayers, // Max Players - %maxBots, // Max Bots - %regionMask, // Region Mask + %maxBots, // Max Bots + %regionMask, // Region Mask getField( %filter, 6 ), // Max Ping getField( %filter, 8 ), // Min CPU Speed getField( %filter, 9 ) ); // Filter flags @@ -379,15 +379,15 @@ function GMJ_Browser::onDatabaseRow( %this, %row, %isLastRow, %key ) if ( %isLastRow ) { GMJ_StatusText.setValue( "Querying the master server..." ); - queryMasterServer( - $JoinGamePort, // Port - 0, // Flags - "Any", // Rules Set - "Any", // Mission Type - 0, // Min Players + queryMasterServer( + $JoinGamePort, // Port + 0, // Flags + "Any", // Rules Set + "Any", // Mission Type + 0, // Min Players 255, // Max Players - 32, // Max Bots - 0xFFFFFFFF, // Region Mask + 32, // Max Bots + 0xFFFFFFFF, // Region Mask 0, // Max Ping 0, // Min CPU Speed 0, // Filter flags @@ -479,7 +479,7 @@ function GMJ_Browser::insertIPAddress( %this ) alxPlay( InputDeniedSound, 0, 0, 0 ); return; } - + IPEntry.setText( "IP:" ); Canvas.pushDialog( EnterIPDlg ); } @@ -493,8 +493,8 @@ function EnterIPDlg::onDone( %this ) %address = "IP:" @ %address; if ( strpos( %address, ":", 3 ) == -1 ) %address = %address @ ":28000"; - - echo( "Starting ping to server " @ %address @ "..." ); + + echo( "Starting ping to server " @ %address @ "..." ); pushServerAddress( %address ); GMJ_Browser.selectRowByAddress( %address, true ); } @@ -652,8 +652,8 @@ function SI_ContentWindow::fill( %this, %content ) %string = %string NL "\n" @ ServerInfoDlg.headerStyle @ "PLAYERSTEAMSCORE"; for ( %i = 0; %i < %playerCount; %i++ ) { - %playerEntry = getRecord( %content, %record ); - %string = %string NL "" SPC getField( %playerEntry, 0 ) @ "" + %playerEntry = getRecord( %content, %record ); + %string = %string NL "" SPC getField( %playerEntry, 0 ) @ "" SPC getField( %playerEntry, 1 ) @ "" SPC getField( %playerEntry, 2 ) @ ""; %record++; } @@ -666,7 +666,7 @@ function SI_ContentWindow::fill( %this, %content ) %string = "" @ ServerInfoDlg.headerStyle @ "PLAYERSSCORE"; for ( %i = 0; %i < %playerCount; %i++ ) { - %playerEntry = getRecord( %content, %record ); + %playerEntry = getRecord( %content, %record ); %string = %string NL "" SPC getField( %playerEntry, 0 ) @ "" SPC getField( %playerEntry, 2 ); %record++; } @@ -684,7 +684,7 @@ function ServerInfoDlg::onSleep( %this ) $pref::ServerBrowser::InfoWindowPos = SI_Window.getPosition(); $pref::ServerBrowser::InfoWindowExtent = SI_Window.getExtent(); $pref::ServerBrowser::InfoWindowBarPos = getWord( SI_InfoScroll.getExtent(), 1 ); - + GMJ_InfoBtn.setActive( true ); } @@ -733,7 +733,7 @@ function GM_HostPane::onActivate( %this ) GameGui.pane = "Host"; $HostGameType = $PlayingOnline ? "Online" : "LAN"; - + buildMissionTypePopup( GMH_MissionType ); // --------------------------------------------------- // z0dd - ZOD, 9/29/02. Removed T2 demo code from here @@ -794,7 +794,7 @@ function buildMissionTypePopup( %popup ) %popup.clear(); for( %type = 0; %type < $HostTypeCount; %type++ ) %popup.add( $HostTypeDisplayName[%type], %type ); - %popup.sort( true ); + %popup.sort( true ); } //------------------------------------------------------------------------------ @@ -972,7 +972,7 @@ function addRotationMap(%missionFile, %gameType, %freeForAll, %cycle, %minPlayer $HostMissionFile[%mis] = %missionFile; $HostMissionName[%mis] = %missionFile; $BotEnabled[%mis] = isFile("terrains/" @ %missionFile @".nav"); - + // Load custom display name %f = new FileObject(); @@ -1281,7 +1281,7 @@ function getNextMission(%missionName, %gameType) deleteVariables("$MapPlayed*"); if($Host::botsEnabled && $BotMissionCount[%type] >= $MapPlayedCount) deleteVariables("$MapPlayed*"); - + %length = 0; %index = -1; // Build array of missions @@ -1311,7 +1311,7 @@ function getNextMission(%missionName, %gameType) // Randomize if set by pref or if the mission played was not on the cycle // TODO: Actually make it go on to the next mission in the list instead of randomize when a mission not in the cycle is played? // error("LENGTH: "@%length); - if ($Host::ClassicRandomMissions || !%list[%index])// { + if ($Host::ClassicRandomMissions || !%list[%index])// { %index = getRandom(1, %length);// error("INDEX: "@%index); } // Otherwise, on to the next mission else @@ -1400,8 +1400,8 @@ function StartHostedGame() if ( $Host::Dedicated ) { - MessageBoxYesNo( "WARNING", - "You are about to launch a dedicated server and quit Tribes 2. Do you want to continue?", + MessageBoxYesNo( "WARNING", + "You are about to launch a dedicated server and quit Tribes 2. Do you want to continue?", "tryToLaunchDedicatedServer(" @ $Host::PureServer @ ");" ); return; } @@ -1454,7 +1454,7 @@ function GMH_BotsEnabledTgl::onAction( %this ) %id = GMH_MissionList.getRowId( %i ); GMH_MissionList.setRowActive( %id, $BotEnabled[%id] ); } - + GMH_EnableBotsGroup.setVisible(true); %misId = GMH_MissionList.getSelectedId(); GMH_StartGameBtn.setActive( $BotEnabled[%misId] ); @@ -1501,7 +1501,7 @@ function GMH_BotsEnabledTgl::onAction( %this ) %id = GMH_MissionList.getRowId( %i ); GMH_MissionList.setRowActive( %id, $BotEnabled[%id] ); } - + GMH_EnableBotsGroup.setVisible(true); %misId = GMH_MissionList.getSelectedId(); GMH_StartGameBtn.setActive( $BotEnabled[%misId] ); @@ -1534,7 +1534,7 @@ function validateMaxPlayers() // --------------------------------------------------- // z0dd - ZOD, 9/29/02. Removed T2 demo code from here - + //and make sure the bot sliders reflect the changes.. setBotCountSlider(); // --------------------------------------------------- @@ -1576,7 +1576,7 @@ function AdvancedHostDlg::onWake( %this ) if ( $Host::HiVisibility ) AH_HiVisibilityRdo.setValue( true ); else - AH_HiFPSRdo.setValue( true ); + AH_HiFPSRdo.setValue( true ); AH_DedicatedTgl.setValue( $Host::Dedicated ); AH_DedicatedTgl.onAction(); AH_TeamDamageTgl.setValue( $Host::TeamDamageOn ); @@ -1601,7 +1601,7 @@ function AdvancedHostDlg::accept( %this ) $Host::Dedicated = AH_DedicatedTgl.getValue(); if ( $Host::Dedicated ) $Host::PureServer = AH_PureServerTgl.getValue(); - $Host::TeamDamageOn = AH_TeamDamageTgl.getValue(); + $Host::TeamDamageOn = AH_TeamDamageTgl.getValue(); $Host::TournamentMode = AH_TournamentTgl.getValue(); $Host::allowAdminPlayerVotes = AH_AdminVoteTgl.getValue(); $Host::NoSmurfs = !AH_AllowSmurfTgl.getValue(); @@ -1696,7 +1696,7 @@ function GM_WarriorPane::onActivate( %this ) { %name = stripTrailingSpaces( strToPlayerName( getField( $pref::Player[%count], 0 ) ) ); GMW_WarriorPopup.add( %name, %count ); - } + } } // Fill the static menus: @@ -1777,10 +1777,10 @@ function GMW_PlayerModel::update( %this ) %armor = "medium"; else %armor = "light"; - + switch ( GMW_RaceGenderPopup.getSelected() ) { - case 1: + case 1: if ( %armor $= "heavy" ) %shape = %armor @ "_male"; else @@ -1788,20 +1788,20 @@ function GMW_PlayerModel::update( %this ) case 2: %shape = "bioderm_" @ %armor; default: %shape = %armor @ "_male"; } - + %skin = getField( $pref::Player[$pref::Player::Current], 2 ); - + // if( isObject( $dummySeq ) ) -// { +// { // $dummySeq.delete(); // } -// +// // $dummySeq = new TSShapeConstructor() // { // baseShape = %shape @ ".dts"; // sequence0 = %shape @ "_forward.dsq dummyRun"; // }; - + %this.setModel( %shape, %skin ); } @@ -1831,7 +1831,7 @@ function GMW_WarriorPopup::onSelect( %this, %id, %text ) %baseSkin = isDynamixSkin( %skin ); GMW_SkinPrefPopup.setSelected( !%baseSkin ); GMW_SkinPopup.fillList( %selId ); - + %selId = -1; for ( %i = 0; %i < GMW_SkinPopup.size(); %i++ ) { @@ -1868,7 +1868,7 @@ function GMW_RaceGenderPopup::fillList( %this ) { if ( %this.size() ) return; - + %this.add( "Human Male", 0 ); %this.add( "Human Female", 1 ); %this.add( "Bioderm", 2 ); @@ -1905,7 +1905,7 @@ function GMW_SkinPrefPopup::fillList( %this ) { if ( %this.size() ) return; - + %this.add( "Dynamix Skins", 0 ); %this.add( "Custom Skins", 1 ); } @@ -1914,15 +1914,15 @@ function GMW_SkinPrefPopup::fillList( %this ) function GMW_SkinPrefPopup::onSelect( %this, %id, %text ) { %curSkin = GMW_SkinPopup.getText(); - GMW_SkinPopup.fillList( GMW_RaceGenderPopup.getSelected() ); + GMW_SkinPopup.fillList( GMW_RaceGenderPopup.getSelected() ); %selId = GMW_SkinPopup.findText( %curSkin ); if ( %selId == -1 ) %selId = 0; - + if ( GMW_SkinPopup.size() ) - { + { GMW_SkinPopup.setSelected( %selId ); - GMW_SkinPopup.onSelect( %selId, GMW_SkinPopup.getTextById( %selId ) ); + GMW_SkinPopup.onSelect( %selId, GMW_SkinPopup.getTextById( %selId ) ); } } @@ -1958,7 +1958,7 @@ function isDynamixSkin( %skin ) if ( %skin $= $Skin[%i, code] ) return( true ); } - + return( false ); } @@ -1993,7 +1993,7 @@ function GMW_SkinPopup::fillList( %this, %raceGender ) %baseSkin = false; for ( %i = 0; %i < $SkinCount; %i++ ) { - if ( %skin $= $Skin[%i, code] ) + if ( %skin $= $Skin[%i, code] ) { %baseSkin = true; %skin = $Skin[%i, name]; @@ -2010,7 +2010,7 @@ function GMW_SkinPopup::fillList( %this, %raceGender ) } } } - + %this.sort( true ); } @@ -2066,7 +2066,7 @@ function GMW_VoicePopup::fillList( %this, %raceGender ) { %this.clear(); - switch ( %raceGender ) + switch ( %raceGender ) { case 0: // Human Male for ( %i = 0; %i < $MaleVoiceCount; %i++ ) From 82f11a4d75b71132da6da30bd1448ac26c9b7de9 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Thu, 27 Mar 2025 21:43:57 -0400 Subject: [PATCH 16/60] CTF Missions Code Make sure CTF maps are added to other Gamemodes so they can be selected in dtstats mapRotation --- Classic/scripts/GameGui.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Classic/scripts/GameGui.cs b/Classic/scripts/GameGui.cs index e7bac6e..a14e765 100644 --- a/Classic/scripts/GameGui.cs +++ b/Classic/scripts/GameGui.cs @@ -878,6 +878,12 @@ function buildMissionList() for( %word = 0; ( %misType = getWord( %typeList, %word ) ) !$= ""; %word++ ) { + //--------------------------------------------------------------------------------- + // z0dd - ZOD - Founder(founder@mechina.com): Append Tribe Practice to CTF missions + if(%misType $= "CTF") + %typeList = rtrim(%typeList) @ " PracticeCTF SCtF Hybrid LCTF"; + //--------------------------------------------------------------------------------- + // Eolk - remove gametype skip code // ------------------------------------------------------------------- // z0dd - ZOD, 01/02/03. Don't include TR2 gametype if it's turned off From 5a7dc474116970602939fd41c067804649dcae40 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sun, 30 Mar 2025 23:24:09 -0400 Subject: [PATCH 17/60] No longer needed --- Classic/scripts/autoexec/MidairDetection.cs | 151 -------------------- 1 file changed, 151 deletions(-) delete mode 100755 Classic/scripts/autoexec/MidairDetection.cs diff --git a/Classic/scripts/autoexec/MidairDetection.cs b/Classic/scripts/autoexec/MidairDetection.cs deleted file mode 100755 index eb4a7b1..0000000 --- a/Classic/scripts/autoexec/MidairDetection.cs +++ /dev/null @@ -1,151 +0,0 @@ -// MidAir Detection Replacement -// For CTF, LCTF, DM -// Script By: DarkTiger -// v1.0 -// -$MADR::Minimum = 10; - -//Replacing Classic Midair Hit Detection -// -//function ProjectileData::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal) -//{ -// if(!isObject(%targetObject) && !isObject(%projectile.sourceObject)) -// return; -// if(!(%targetObject.getType() & ($TypeMasks::StaticTSObjectType | $TypeMasks::InteriorObjectType | -// $TypeMasks::TerrainObjectType | $TypeMasks::WaterObjectType))) -// { -// if(%projectile.sourceObject.team !$= %targetObject.team) -// { -// if(%targetObject.getDataBlock().getClassName() $= "PlayerData" && %data.getName() $= "DiscProjectile") -// { -// %mask = $TypeMasks::StaticShapeObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::TerrainObjectType; -// %start = %targetObject.getWorldBoxCenter(); -// %distance = mFloor(VectorDist(%start, %projectile.initialPosition)); -// %end = getWord(%start, 0) SPC getWord(%start, 1) SPC getWord(%start, 2) - 15; -// %grounded = ContainerRayCast(%start, %end, %mask, 0); -// if(!%grounded) -// { -// %projectile.sourceObject.client.scoreMidAir++; -// messageClient(%projectile.sourceObject.client, 'MsgMidAir', '\c0You received a %1 point bonus for a successful mid air shot.~wfx/misc/bounty_bonus.wav', Game.SCORE_PER_MIDAIR, %data.radiusDamageType, %distance); -// messageTeamExcept(%projectile.sourceObject.client, 'MsgMidAir', '\c5%1 hit a mid air shot.', %projectile.sourceObject.client.name, %data.radiusDamageType, %distance); -// Game.recalcScore(%projectile.sourceObject.client); -// } -// } -// } -// Parent::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal); -// } -//} - -package midAirMsg -{ - -function detonateGrenade(%obj) // from lakRabbitGame.cs for grenade tracking -{ - %obj.maNade = 1; - $maObjExplode = %obj; - parent::detonateGrenade(%obj); -} - -function ProjectileData::onExplode(%data, %proj, %pos, %mod) -{ - %cl = %proj.sourceObject.client; - - if(isObject(%cl)) - %cl.expData = %data TAB %proj.initialPosition TAB %pos; - - parent::onExplode(%data, %proj, %pos, %mod); -} - -function DefaultGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc) -{ - if(%game.class $= "CTFGame" || %game.class $= "DMGame" || %game.class $= "SCtFGame") // did it this way so dont have to copy paste 3 fucntions - { - if(isObject(%clVictim.player) && isObject(%clAttacker.player)) - { - if(%clVictim != %clAttacker && %clVictim.team != %clAttacker.team) - { - %dist = vectorDist(%clAttacker.player.getPosition(), %clVictim.player.getPosition()); - switch$(%damageType) - { - //case $DamageType::Blaster: - //if(maRayTestDis(%clVictim.player) >= $MADR::Minimum) - //maMessage(%clAttacker,"Blaster",%dist); - case $DamageType::Plasma: - if(maRayTestDis(%clVictim.player) >= $MADR::Minimum && maDirect(%clAttacker)) - maMessage(%clAttacker,"Plasma Rifle",%dist); - case $DamageType::Disc: - if(maRayTestDis(%clVictim.player) >= $MADR::Minimum && maDirect(%clAttacker)) - maMessage(%clAttacker,"Spinfusor",%dist); - case $DamageType::Grenade: - if($dtObjExplode.dtNade) - {//for hand genades method out of lakRabbit - //if(maRayTestDis(%clVictim.player) >= $MADR::Minimum) - //maMessage(%clAttacker,"Hand Grenade",%dist); - } - else //Grenade Launcher - { - if(maRayTestDis(%clVictim.player) >= $MADR::Minimum && maDirect(%clAttacker)) - maMessage(%clAttacker,"Grenade Launcher",%dist); - } - //case $DamageType::Laser: - //if(maRayTestDis(%clVictim.player) >= $MADR::Minimum) - //maMessage(%clAttacker,"Laser Rifle",%dist); - case $DamageType::Mortar: - if(maRayTestDis(%clVictim.player) >= $MADR::Minimum && maDirect(%clAttacker)) - maMessage(%clAttacker,"Fusion Mortar",%dist); - //case $DamageType::ShockLance: - //if(maRayTestDis(%clVictim.player) >= $MADR::Minimum) - //maMessage(%clAttacker,"ShockLance",%dist); - //case $DamageType::Mine: - //if(maRayTestDis(%clVictim.player) >= $MADR::Minimum) - //maMessage(%clAttacker,"Mine",%dist); - } - } - } - } - - parent::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc); -} - -}; - -// Prevent package from being activated if it is already -if(!isActivePackage(midAirMsg)) - activatePackage(midAirMsg); - -function maDirect(%client)// tests for direct hit with aoe weapons -{ - %field = %client.expData; - %data = getField(%field,0); %sPos = getField(%field,1); %ePos = getField(%field,2); - - if(%data.hasDamageRadius) - { - %mask = $TypeMasks::PlayerObjectType; - %vec = vectorNormalize(vectorSub(%ePos,%sPos)); - %ray = containerRayCast(%ePos, VectorAdd(%ePos, VectorScale(VectorNormalize(%vec), 5)), %mask, -1); - if(%ray) - return 1; - } - return 0; -} - -function maRayTestDis(%targetObject)// tests for height of target -{ - %mask = $TypeMasks::StaticShapeObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::TerrainObjectType | $TypeMasks::ForceFieldObjectType | $TypeMasks::VehicleObjectType; - %rayStart = %targetObject.getWorldBoxCenter(); - %rayEnd = VectorAdd(%rayStart,"0 0" SPC -5000); - %ray = ContainerRayCast(%rayStart, %rayEnd, %mask, %targetObject); - - if(%ray) - return vectorDist(%rayStart,getWords(%ray,1,3)) - 1.15; - - return 0; -} - -function maMessage(%client,%porjName,%distance)// Send message -{ - %client.scoreMidAir++; - messageClient(%client, 'MsgMidAir', '\c0You received a %1 point bonus for a successful mid air shot. [%2m, %3]~wfx/misc/bounty_bonus.wav', Game.SCORE_PER_MIDAIR, mFloor(%distance), %porjName); - messageTeamExcept(%client, 'MsgMidAir', '\c5%1 hit a mid air shot. [%2m, %3]', %client.name, mFloor(%distance), %porjName); - Game.recalcScore(%client); -} From 11ac636583d045ed9dcb1fabef4f42d8494e1032 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 26 Apr 2025 18:45:11 -0400 Subject: [PATCH 18/60] Added OneMine Added Admin vote to start Added default Header --- Classic/scripts/LCTFGame.cs | 108 +++++++++++++++++++++++++++ Classic/scripts/autoexec/VoteMenu.cs | 38 ++++++---- 2 files changed, 133 insertions(+), 13 deletions(-) diff --git a/Classic/scripts/LCTFGame.cs b/Classic/scripts/LCTFGame.cs index f3c2bc8..3d25335 100644 --- a/Classic/scripts/LCTFGame.cs +++ b/Classic/scripts/LCTFGame.cs @@ -500,6 +500,14 @@ function LCTFGame::missionLoadDone(%game) //%game.campThread_2 = schedule( 1000, 0, "checkVehicleCamping", 2 ); deleteNonLCTFObjects(); + + if($Host::LCTFOneMine){ + //Prevent package from being activated if it is already + if (!isActivePackage(LCTFOneMine)) + activatePackage(LCTFOneMine); + } + else if (isActivePackage(LCTFOneMine)) + deactivatePackage(LCTFOneMine); } function LCTFGame::clientMissionDropReady(%game, %client) @@ -648,6 +656,9 @@ function LCTFGame::gameOver(%game) } for(%j = 1; %j <= %game.numTeams; %j++) $TeamScore[%j] = 0; + + if (isActivePackage(LCTFOneMine)) + deactivatePackage(LCTFOneMine); } @@ -2282,6 +2293,21 @@ function LCTFGame::sendGameVoteMenu(%game, %client, %key) else messageClient( %client, 'MsgVoteItem', "", %key, 'LCTFProMode', 'Disable Pro Mode (Disc, SL, GL Only)', 'Disable Pro Mode (Disc, SL, GL Only)' ); } + + if(!%isAdmin || (%isAdmin && %client.ForceVote)) + { + if(!$Host::LCTFOneMine) + messageClient( %client, 'MsgVoteItem', "", %key, 'LCTFOneMine', 'Enable One Mine Inventory', 'Vote to enable One Mine Inventory' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'LCTFOneMine', 'Disable One Mine Inventory', 'Vote to disable One Mine Inventory' ); + } + else + { + if(!$Host::LCTFOneMine) + messageClient( %client, 'MsgVoteItem', "", %key, 'LCTFOneMine', 'Enable One Mine Inventory', 'Enable One Mine Inventory' ); + else + messageClient( %client, 'MsgVoteItem', "", %key, 'LCTFOneMine', 'Disable One Mine Inventory', 'Disable One Mine Inventory' ); + } } } @@ -2320,6 +2346,8 @@ function LCTFGame::evalVote(%game, %typeName, %admin, %arg1, %arg2, %arg3, %arg4 //%game.VoteArmorClass(%admin, %arg1, %arg2, %arg3, %arg4); case "LCTFProMode": %game.LCTFProMode(%admin, %arg1, %arg2, %arg3, %arg4); + case "LCTFOneMine": + %game.LCTFOneMine(%admin, %arg1, %arg2, %arg3, %arg4); } parent::evalVote(%game, %typeName, %admin, %arg1, %arg2, %arg3, %arg4); @@ -2470,6 +2498,86 @@ function LCTFGame::LCTFProMode(%game, %admin, %arg1, %arg2, %arg3, %arg4) } } } + +//--------------------------------LCTFOneMine-------------------------------- +// +$VoteMessage["LCTFOneMine"] = "turn"; + +//Set Mine Max +package LCTFOneMine +{ + +//Set Mine Max +function Player::maxInventory(%this, %data){ + if(isObject(%data)){ + if(%data.getName() $= "Mine" && Game.class $= "LCTFGame"){ + return 1; + } + } + return ShapeBase::maxInventory(%this, %data); +} + +}; + +function LCTFGame::LCTFOneMine(%game, %admin, %arg1, %arg2, %arg3, %arg4) +{ + if( $countdownStarted && $MatchStarted ) + { + if(%admin) + { + killeveryone(); + + if($Host::LCTFOneMine) + { + messageAll('MsgAdminForce', '\c2The Admin has disabled One Mine Inventory.'); + + if (isActivePackage(LCTFOneMine)) + deactivatePackage(LCTFOneMine); + + $Host::LCTFOneMine = false; + } + else + { + messageAll('MsgAdminForce', '\c2The Admin has enabled One Mine Inventory.'); + + if (!isActivePackage(LCTFOneMine)) + activatePackage(LCTFOneMine); + + $Host::LCTFOneMine = true; + } + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if(%totalVotes > 0 && (%game.totalVotesFor / ClientGroup.getCount()) > ($Host::VotePasspercent / 100)) + { + killeveryone(); + + if($Host::LCTFOneMine) + { + messageAll('MsgVotePassed', '\c2One Mine Inventory Disabled.'); + + if (isActivePackage(LCTFOneMine)) + deactivatePackage(LCTFOneMine); + + $Host::LCTFOneMine = false; + } + else + { + messageAll('MsgVotePassed', '\c2One Mine Inventory Enabled.'); + + if (!isActivePackage(LCTFOneMine)) + activatePackage(LCTFOneMine); + + $Host::LCTFOneMine = true; + } + } + else + messageAll('MsgVoteFailed', '\c2Mode change did not pass: %1 percent.', mFloor(%game.totalVotesFor/ClientGroup.getCount() * 100)); + } + } +} + // For voting to work properly - evo admin.ovl // // case "LCTFProMode": diff --git a/Classic/scripts/autoexec/VoteMenu.cs b/Classic/scripts/autoexec/VoteMenu.cs index 0cddec6..f8beadb 100644 --- a/Classic/scripts/autoexec/VoteMenu.cs +++ b/Classic/scripts/autoexec/VoteMenu.cs @@ -51,10 +51,12 @@ function DefaultGame::sendGameVoteMenu(%game, %client, %key) { if(!$Host::TournamentMode) messageClient(%client, 'MsgVoteItem', "", %key, 'VoteTournamentMode', 'change server to Tournament.', 'Vote Tournament Mode'); - messageClient(%client, 'MsgVoteItem', "", %key, 'VoteChangeMission', 'change the mission to', 'Vote to Change the Mission'); - messageClient(%client, 'MsgVoteItem', "", %key, 'VoteNextMission', 'set next mission to', 'Vote to Set the Next Mission'); - messageClient(%client, 'MsgVoteItem', "", %key, 'VoteChangeTimeLimit', 'change the time limit', 'Vote to Change the Time Limit'); - messageClient(%client, 'MsgVoteItem', "", %key, 'VoteSkipMission', 'skip the mission to', 'Vote to Skip Mission' ); + if(!$MatchStarted && !$CountdownStarted && $Host::TournamentMode) + messageClient(%client, 'MsgVoteItem', "", %key, 'VoteMatchStart', 'Start Match', 'Vote to Start the Match'); + messageClient(%client, 'MsgVoteItem', "", %key, 'VoteChangeMission', 'change the mission to', 'Vote to Change the Mission'); + messageClient(%client, 'MsgVoteItem', "", %key, 'VoteNextMission', 'set next mission to', 'Vote to Set the Next Mission'); + messageClient(%client, 'MsgVoteItem', "", %key, 'VoteChangeTimeLimit', 'change the time limit', 'Vote to Change the Time Limit'); + messageClient(%client, 'MsgVoteItem', "", %key, 'VoteSkipMission', 'skip the mission to', 'Vote to Skip Mission' ); if(%multipleTeams) { if($teamDamage) @@ -86,23 +88,26 @@ function DefaultGame::sendGameVoteMenu(%game, %client, %key) //Mission Info Header - Mission Name, Type, Caps to Win if(%client.canVote && %game.scheduleVote $= "") { + if($voteNext) + %showNM = " - Next Map:" SPC $HostMissionName[$voteNextMap] SPC "(" @ $HostTypeName[$voteNextType] @ ")"; + switch$($CurrentMissionType) { - case CTF or SCtF or LCTF: - if($Host::TournamentMode) - %showTL = " - Time Limit:" SPC $Host::TimeLimit SPC "Minutes"; - if($voteNext) - %showNM = " - Next Map:" SPC $HostMissionName[$voteNextMap] SPC "(" @ $HostTypeName[$voteNextType] @ ")"; + case CTF or SCtF or LCTF: + %showTL = " - Time Limit:" SPC $Host::TimeLimit SPC "Minutes"; messageClient(%client, 'MsgVoteItem', "", %key, '', $MissionDisplayName SPC "(" @ $MissionTypeDisplayName @ "):" SPC MissionGroup.CTF_scoreLimit SPC "Caps to Win", $MissionDisplayName SPC "(" @ $MissionTypeDisplayName @ "):" SPC MissionGroup.CTF_scoreLimit SPC "Caps to Win" @ %showTL @ %showNM); case LakRabbit: %cap = "2000 Points to Win"; messageClient(%client, 'MsgVoteItem', "", %key, '', $MissionDisplayName SPC "(" @ $MissionTypeDisplayName @ "):" SPC %cap, - $MissionDisplayName SPC "(" @ $MissionTypeDisplayName @ "):" SPC %cap); + $MissionDisplayName SPC "(" @ $MissionTypeDisplayName @ "):" SPC %cap @ %showNM); case DM: %cap = "25 Points to Win"; messageClient(%client, 'MsgVoteItem', "", %key, '', $MissionDisplayName SPC "(" @ $MissionTypeDisplayName @ "):" SPC %cap, - $MissionDisplayName SPC "(" @ $MissionTypeDisplayName @ "):" SPC %cap); + $MissionDisplayName SPC "(" @ $MissionTypeDisplayName @ "):" SPC %cap @ %showNM); + default: + messageClient(%client, 'MsgVoteItem', "", %key, '', $MissionDisplayName SPC "(" @ $MissionTypeDisplayName @ "):" SPC %cap, + $MissionDisplayName SPC "(" @ $MissionTypeDisplayName @ ")" @ %showNM); } } @@ -515,7 +520,7 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, % } case "VoteMatchStart": - if(!%isAdmin) + if(!%isAdmin || (%isAdmin && %client.ForceVote)) { if($MatchStarted || $CountdownStarted) return; @@ -865,6 +870,13 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, % if(!%isAdmin || (%isAdmin && %client.ForceVote)) %msg = %client.nameBase @ " initiated a vote to " @ (Game.LCTFProMode == 0 ? "enable" : "disable") @ " pro mode."; + case "LCTFOneMine": + if(!$CurrentMissionType $= "LCTF") + return; + + if(!%isAdmin || (%isAdmin && %client.ForceVote)) + %msg = %client.nameBase @ " initiated a vote to " @ (Game.LCTFOneMine == 0 ? "enable" : "disable") @ " one mine mode."; + case "showServerRules": if (($Host::ServerRules[1] !$= "") && (!%client.CantView)) { @@ -1923,4 +1935,4 @@ function DefaultGame::setNextMission(%game, %client, %map, %type, %mapIndex, %ty messageAll('', '\c1Vote %6: \c0Yea: %1 Nay: %2 Abstain: %7 Total: %3 [%4%5]', %game.totalVotesFor, %game.totalVotesAgainst, %totalVotes, mfloor((%game.totalVotesFor/(ClientGroup.getCount() - %game.totalVotesNone)) * 100), "%", %key, %game.totalVotesNone); } } -} +} \ No newline at end of file From 317c28274d8b3b9faab18eb9f2d6c924748cf21e Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 26 Apr 2025 18:45:28 -0400 Subject: [PATCH 19/60] Zodd fix --- Classic/scripts/inventoryHud.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classic/scripts/inventoryHud.cs b/Classic/scripts/inventoryHud.cs index 5640daf..8738ad8 100644 --- a/Classic/scripts/inventoryHud.cs +++ b/Classic/scripts/inventoryHud.cs @@ -771,7 +771,7 @@ function getAmmoStationLovin(%client) // grenades for(%i = 0; $InvGrenade[%i] !$= ""; %i++) // z0dd - ZOD, 5/27/03. Clear them all in one pass - %player.setInventory($NameToInv[$InvGrenade[%i]], 0); + %client.player.setInventory($NameToInv[$InvGrenade[%i]], 0); for ( %i = 0; %i < getFieldCount( %client.grenadeIndex ); %i++ ) { @@ -798,7 +798,7 @@ function getAmmoStationLovin(%client) // Mines for(%i = 0; $InvMine[%i] !$= ""; %i++) // z0dd - ZOD, 5/27/03. Clear them all in one pass - %player.setInventory($NameToInv[$InvMine[%i]], 0); + %client.player.setInventory($NameToInv[$InvMine[%i]], 0); for ( %i = 0; %i < getFieldCount( %client.mineIndex ); %i++ ) { From 7c90a2bee0cfde042265940743ced34976507709 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 26 Apr 2025 18:45:45 -0400 Subject: [PATCH 20/60] Added kill server cmd --- Classic/scripts/dtChatCmdGame.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Classic/scripts/dtChatCmdGame.cs b/Classic/scripts/dtChatCmdGame.cs index f517e33..df6e07c 100755 --- a/Classic/scripts/dtChatCmdGame.cs +++ b/Classic/scripts/dtChatCmdGame.cs @@ -178,7 +178,20 @@ function chatCmd(%client, %message) //%client is sender spookySky(1);// only one sky for right now $CurrentSky = "spookySky"; } - + case "/forcequit" or "/kill" or "/quit": + if(%client.isSuperAdmin){ + if(!$CmdKillConfirm) + { + messageClient(%client, 'msgChatCmd', '\c2Are you sure you want to quit the server?'); + adminLog(%client, " has used quit server command. Confirm?" SPC %client.nameBase @ "(" @ %client.guid @ ")."); + $CmdKillConfirm = 1; + } + else + { + adminLog(%client, " has quit the server. Dead." SPC %client.nameBase @ "(" @ %client.guid @ ")."); + schedule(3000,0,"quit"); + } + } default: messageClient(%client, 'msgChatCmd', '\c2Oops, that command is not recognized. '); } From 054df3204338f34c8afb7cdf0d868659ecc80100 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 26 Apr 2025 18:46:16 -0400 Subject: [PATCH 21/60] dtStats 10.58 --- Classic/scripts/autoexec/z_dtStats.cs | 5737 +++++++++++++------------ 1 file changed, 2871 insertions(+), 2866 deletions(-) diff --git a/Classic/scripts/autoexec/z_dtStats.cs b/Classic/scripts/autoexec/z_dtStats.cs index b10738f..5757627 100644 --- a/Classic/scripts/autoexec/z_dtStats.cs +++ b/Classic/scripts/autoexec/z_dtStats.cs @@ -10,35 +10,40 @@ // Version 6.0 - Lan & Bot Support / Leaderboard / Stats Storage Overhaul / Optimization / Fixes // Version 7.0 - Code refactor / Heavy Optimization / Map Stats / Server Stats / Fixes / Misc other features // Version 8.0 - More Stats / Fixes / Server Event Log -// Version 9.0 - Misc Fixes / Map Stats Removed -// Version 10.0 - Final Code refactor / Optimizing / New Features +// Version 9.0 - Misc Fixes / Map Stats Removed +// Version 10.0 - Final Code refactor / Optimizing / New Features // Note See bottom of file for full log ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //-----------Settings----------- -$dtStats::version = 10.57; +$dtStats::version = 10.58; //disable stats system $dtStats::Enable = $Host::dtStatsEnable $= "" ? ($Host::dtStatsEnable = 1) : $Host::dtStatsEnable; if(!$dtStats::Enable){ return;}// so it disables with a restart //set max number of individual game to record //Note only tested to 100 games, hard cap at 300 $dtStats::MaxNumOfGames = 100; - + //how high the player has to be off the ground before it will count $dtStats::midAirHeight = 10; -//only enable if evo system is not available +//only enable if evo system is not available $dtStats::midAirMessage = $Host::dtStatsMidAirMessage $= "" ? ($Host::dtStatsMidAirMessage = 1) : $Host::dtStatsMidAirMessage; - +$dtStats::midAirMessage = isFile("scripts/autoexec/MidairDetection.cs") == 0 ? $dtStats::midAirMessage : 0; //capture best cap times restart required if changed -//only enable if evo system is not available +//only enable if evo system is not available $dtStats::ctfTimes = $Host::dtStatsCTFTimes $= "" ? ($Host::dtStatsCTFTimes = 1) : $Host::dtStatsCTFTimes; +$dtStats::ctfTimes = $Host::ClassicEvoStats $= "" ? $dtStats::ctfTimes : 0; + //number of players before it starts counting captimes $dtStats::ctfTimesPlayerLimit = $Host::dtStatsCTFTimesPlayerLimit $= "" ? ($Host::dtStatsCTFTimesPlayerLimit = 8) : $Host::dtStatsCTFTimesPlayerLimit; //converts the debrief into easer to read teams for ctf and lctf $dtStats::teamDebrief = $Host::dtStatsTeamDebrief $= "" ? ($Host::dtStatsTeamDebrief = 1) : $Host::dtStatsTeamDebrief; -//extends the debrief with extra stats done in the evo style +$dtStats::teamDebrief = isFile("scripts/autoexec/EvoStats.cs") == 0 ? $dtStats::teamDebrief : 0; + +//extends the debrief with extra stats done in the evo style $dtStats::evoStyleDebrief = $Host::dtStatsEvoStyleDebrief $= "" ? ($Host::dtStatsEvoStyleDebrief = 1) : $Host::dtStatsEvoStyleDebrief ; +$dtStats::evoStyleDebrief = isFile("scripts/autoexec/EvoStats.cs") == 0 ? $dtStats::evoStyleDebrief : 0; // 30 sec min after not making an action reset @@ -48,8 +53,8 @@ $dtStats::returnToMenuTimer = (60*1000); $dtStats::saveTime = 64; //auto compiles tournament stats with main stats' -//Note atm tournament stats is hard coded and setup only for CTF -//outputs a ppm image in serverStats/statsImg this can be open/converted with most editors +//Note atm tournament stats is hard coded and setup only for CTF +//outputs a ppm image in serverStats/statsImg this can be open/converted with most editors $dtStats::tmModeCompile = 1; $dtStats::tmMode =0; @@ -71,7 +76,7 @@ $dtStats::buildSetTime = $Host::dtStatsBuildSetTime $= "" ? ($Host::dtStatsBuild // top 15 players per cat, best not to change $dtStats::topAmount = 15; -$dtStats::joinHist = 144;//51 per page +$dtStats::joinHist = 144;//51 per page $dtStats::BanListFile = $Host::dtStatsBanListFile $= "" ? ($Host::dtStatsBanListFile = "prefs/dtBanlist.cs") : $Host::dtStatsBanListFile; $dtStats::IPBanListFile = $Host::dtStatsIPBanListFile $= "" ? ($Host::dtStatsIPBanListFile = "prefs/ipList.txt") : $Host::dtStatsIPBanListFile; $dtStats::WhtListFile = $Host::dtStatsWhtListFile $= "" ? ($Host::dtStatsWhtListFile = "prefs/whtList.cs") : $Host::dtStatsWhtListFile; @@ -84,12 +89,12 @@ $dtStats::day = 0;//not used $dtStats::week = 0;//~53 $dtStats::month = 4; //-12 $dtStats::quarter = 0;//not used -$dtStats::year = 0;//not +$dtStats::year = 0;//not $dtStats::custom = 12;//not used // you gain extra days based on time played extra days = gameCount * expireFactor; // example being 100 games * factor of 0.596 = will gain you 60 extra days but if its over the 90 day max it will be deleted $dtStats::expireMax = 90; -$dtStats::expireMin = 15; +$dtStats::expireMin = 15; $dtStats::expireFactor["CTFGame"] = 0.596; $dtStats::expireFactor["LakRabbitGame"] = 2; $dtStats::expireFactor["DMGame"] = 6; @@ -189,7 +194,7 @@ $dtStats::varType[5] = "Avg"; //Average value $dtStats::varType[6] = "AvgI";//Average value sorted inverse $dtStats::varTypeCount = 7; -function dtStatsResetGobals(){ +function dtStatsResetGobals(){ for(%v = 0; %v < $dtStats::varTypeCount; %v++){ %varType = $dtStats::varType[%v]; $dtStats::FC[%varType] = 0; @@ -1020,7 +1025,7 @@ $dtStats::FV[$dtStats::FC["Avg"]++,"Avg"] = "grenadeDmgACC"; $dtStats::FV[$dtStats::FC["Avg"]++,"Avg"] = "mortarDmgACC"; -$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "null";//rng number for testing +$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "null";//rng number for testing //////////////////////////////////////////////////////////////////////////////// //Unused vars that are not tracked but used for other things and need to be reset every round @@ -1417,7 +1422,7 @@ $dtStats::TBGC["Arena"]++; -// varable name = Full Name TAB Var Type +// varable name = Full Name TAB Var Type $statsName["scoreAvg"] = "Score Avg" TAB "Avg"; $statsName["scoreMax"] = "Max Score" TAB "Max"; $statsName["masTG"] = "Total MidAirs" TAB "Total"; @@ -1860,27 +1865,27 @@ $statsName["hatTricksTG"] = "Hat Tricks" TAB "Total"; $panelCount = 0; $upperWepPanel[$panelCount, "CTFGame"] = "discMAHitDistMax"; $upperWepPanel[$panelCount++, "CTFGame"] = "plasmaMAHitDistMax";$upperWepPanel[$panelCount++, "CTFGame"] = "blasterMAHitDistMax"; -$upperWepPanel[$panelCount++, "CTFGame"] = "grenadeMAHitDistMax";$upperWepPanel[$panelCount++, "CTFGame"] = "elfShotsFiredTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "totalWepDmgTG"; -$upperWepPanel[$panelCount++, "CTFGame"] = "maxSpeedMax"; $upperWepPanel[$panelCount++, "CTFGame"] = "shotsFiredTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "concussHitTG"; +$upperWepPanel[$panelCount++, "CTFGame"] = "grenadeMAHitDistMax";$upperWepPanel[$panelCount++, "CTFGame"] = "elfShotsFiredTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "totalWepDmgTG"; +$upperWepPanel[$panelCount++, "CTFGame"] = "maxSpeedMax"; $upperWepPanel[$panelCount++, "CTFGame"] = "shotsFiredTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "concussHitTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "comboCountTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "doubleKillTG"; $upperWepPanel[$panelCount++, "CTFGame"] = "tripleKillTG"; $upperWepPanelCount["CTFGame"] = $panelCount++; $panelCount = 0; -$wepGrid[$panelCount, "CTFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "CTFGame"] = "blasterHitDistMax"; -$wepGrid[$panelCount++, "CTFGame"] = "blasterDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaMATG"; -$wepGrid[$panelCount++, "CTFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "cgKillsTG"; +$wepGrid[$panelCount, "CTFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "CTFGame"] = "blasterHitDistMax"; +$wepGrid[$panelCount++, "CTFGame"] = "blasterDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaMATG"; +$wepGrid[$panelCount++, "CTFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "cgKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "cgMATG"; $wepGrid[$panelCount++, "CTFGame"] = "cgHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "cgDmgTG"; -$wepGrid[$panelCount++, "CTFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "discMATG"; $wepGrid[$panelCount++, "CTFGame"] = "discHitDistMax"; -$wepGrid[$panelCount++, "CTFGame"] = "discDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeMATG"; -$wepGrid[$panelCount++, "CTFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "laserKillsTG"; +$wepGrid[$panelCount++, "CTFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "discMATG"; $wepGrid[$panelCount++, "CTFGame"] = "discHitDistMax"; +$wepGrid[$panelCount++, "CTFGame"] = "discDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeMATG"; +$wepGrid[$panelCount++, "CTFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "grenadeDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "laserKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "laserMATG"; $wepGrid[$panelCount++, "CTFGame"] = "laserHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "laserDmgTG"; -$wepGrid[$panelCount++, "CTFGame"] = "mortarKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "mortarMATG"; $wepGrid[$panelCount++, "CTFGame"] = "mortarHitDistMax"; -$wepGrid[$panelCount++, "CTFGame"] = "mortarDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "missileKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "missileMATG"; -$wepGrid[$panelCount++, "CTFGame"] = "missileHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "missileDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "shockKillsTG"; +$wepGrid[$panelCount++, "CTFGame"] = "mortarKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "mortarMATG"; $wepGrid[$panelCount++, "CTFGame"] = "mortarHitDistMax"; +$wepGrid[$panelCount++, "CTFGame"] = "mortarDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "missileKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "missileMATG"; +$wepGrid[$panelCount++, "CTFGame"] = "missileHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "missileDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "shockMATG"; $wepGrid[$panelCount++, "CTFGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "shockDmgTG"; -$wepGrid[$panelCount++, "CTFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "mineMATG"; $wepGrid[$panelCount++, "CTFGame"] = "mineHitDistMax"; -$wepGrid[$panelCount++, "CTFGame"] = "mineDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeMATG"; -$wepGrid[$panelCount++, "CTFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "satchelKillsTG"; +$wepGrid[$panelCount++, "CTFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "mineMATG"; $wepGrid[$panelCount++, "CTFGame"] = "mineHitDistMax"; +$wepGrid[$panelCount++, "CTFGame"] = "mineDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeMATG"; +$wepGrid[$panelCount++, "CTFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "CTFGame"] = "hGrenadeDmgTG"; $wepGrid[$panelCount++, "CTFGame"] = "satchelKillsTG"; $wepGrid[$panelCount++, "CTFGame"] = "satchelMATG"; $wepGrid[$panelCount++, "CTFGame"] = "satchelHitDistMax";$wepGrid[$panelCount++, "CTFGame"] = "satchelDmgTG"; $wepGridCount["CTFGame"] = $panelCount++; @@ -1901,17 +1906,17 @@ $panelThree[$panelCount++, "CTFGame"] = "genDefendsTG"; $panelThree[$pane $panelThree[$panelCount++, "CTFGame"] = "flagCatchTG"; $panelThree[$panelCount++, "CTFGame"] = "flagCatchSpeedMax"; $panelThree[$panelCount++, "CTFGame"] = "flagTossTG"; $panelThree[$panelCount++, "CTFGame"] = "maFlagCatchTG"; $panelThree[$panelCount++, "CTFGame"] = "maFlagCatchSpeedMax"; $panelThree[$panelCount++, "CTFGame"] = "flagTossCatchTG"; $panelThree[$panelCount++, "CTFGame"] = "interceptedFlagTG"; $panelThree[$panelCount++, "CTFGame"] = "maInterceptedFlagTG"; $panelThree[$panelCount++, "CTFGame"] = "interceptSpeedMax"; -$panelThreeCount["CTFGame"] = $panelCount++; +$panelThreeCount["CTFGame"] = $panelCount++; $panelCount = 0; -$smallPanel[$panelCount, "CTFGame"] = "flagCapsTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagGrabsTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagReturnsTG"; -$smallPanel[$panelCount++, "CTFGame"] = "carrierKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "grabSpeedAvg"; $smallPanel[$panelCount++, "CTFGame"] = "lagSpikesTG"; -$smallPanel[$panelCount++, "CTFGame"] = "escortAssistsTG"; $smallPanel[$panelCount++, "CTFGame"] = "distMovTG"; $smallPanel[$panelCount++, "CTFGame"] = "roadKillsTG"; +$smallPanel[$panelCount, "CTFGame"] = "flagCapsTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagGrabsTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagReturnsTG"; +$smallPanel[$panelCount++, "CTFGame"] = "carrierKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "grabSpeedAvg"; $smallPanel[$panelCount++, "CTFGame"] = "lagSpikesTG"; +$smallPanel[$panelCount++, "CTFGame"] = "escortAssistsTG"; $smallPanel[$panelCount++, "CTFGame"] = "distMovTG"; $smallPanel[$panelCount++, "CTFGame"] = "roadKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "shrikeBlasterKillsTG";$smallPanel[$panelCount++, "CTFGame"] = "defenseScoreTG"; $smallPanel[$panelCount++, "CTFGame"] = "repairsTG"; -$smallPanel[$panelCount++, "CTFGame"] = "discMATG"; $smallPanel[$panelCount++, "CTFGame"] = "discKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "offenseScoreTG"; -$smallPanel[$panelCount++, "CTFGame"] = "shockKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "shockRearShotTG"; $smallPanel[$panelCount++, "CTFGame"] = "cgKillsTG"; -$smallPanel[$panelCount++, "CTFGame"] = "totalTimeTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagDefendsTG"; $smallPanel[$panelCount++, "CTFGame"] = "laserKillsTG"; +$smallPanel[$panelCount++, "CTFGame"] = "discMATG"; $smallPanel[$panelCount++, "CTFGame"] = "discKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "offenseScoreTG"; +$smallPanel[$panelCount++, "CTFGame"] = "shockKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "shockRearShotTG"; $smallPanel[$panelCount++, "CTFGame"] = "cgKillsTG"; +$smallPanel[$panelCount++, "CTFGame"] = "totalTimeTG"; $smallPanel[$panelCount++, "CTFGame"] = "flagDefendsTG"; $smallPanel[$panelCount++, "CTFGame"] = "laserKillsTG"; $smallPanel[$panelCount++, "CTFGame"] = "laserHeadShotTG"; $smallPanel[$panelCount++, "CTFGame"] = "minePlusDiscTG"; $smallPanel[$panelCount++, "CTFGame"] = "mortarKillsTG"; $smallPanelCount["CTFGame"] = $panelCount++; @@ -1928,14 +1933,14 @@ $upperWepPanel[$panelCount++,"LCTFGame"] = "septupleChainKillTG"; $upperWepPane $upperWepPanelCount["LCTFGame"] = $panelCount++; $panelCount = 0; -$wepGrid[$panelCount, "LCTFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaDmgTG"; +$wepGrid[$panelCount, "LCTFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "blasterDmgTG"; +$wepGrid[$panelCount++, "LCTFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "LCTFGame"] = "cgKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "cgMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "cgHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "cgDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "discMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "discHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "discDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "shockMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "shockDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "mineMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "mineHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "mineDmgTG"; -$wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeDmgTG"; +$wepGrid[$panelCount++, "LCTFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "discMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "discHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "discDmgTG"; +$wepGrid[$panelCount++, "LCTFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "grenadeDmgTG"; +$wepGrid[$panelCount++, "LCTFGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "shockMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "shockDmgTG"; +$wepGrid[$panelCount++, "LCTFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "mineMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "mineHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "mineDmgTG"; +$wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeMATG"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "LCTFGame"] = "hGrenadeDmgTG"; $wepGridCount["LCTFGame"] = $panelCount++; $panelCount = 0; @@ -1976,14 +1981,14 @@ $upperWepPanel[$panelCount++,"SCtFGame"] = "septupleChainKillTG"; $upperWepPane $upperWepPanelCount["SCtFGame"] = $panelCount++; $panelCount = 0; -$wepGrid[$panelCount, "SCtFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaDmgTG"; +$wepGrid[$panelCount, "SCtFGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "blasterDmgTG"; +$wepGrid[$panelCount++, "SCtFGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "SCtFGame"] = "cgKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "cgMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "cgHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "cgDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "discMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "discHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "discDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "shockMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "shockDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "mineMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "mineHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "mineDmgTG"; -$wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeDmgTG"; +$wepGrid[$panelCount++, "SCtFGame"] = "discKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "discMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "discHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "discDmgTG"; +$wepGrid[$panelCount++, "SCtFGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "grenadeDmgTG"; +$wepGrid[$panelCount++, "SCtFGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "shockMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "shockDmgTG"; +$wepGrid[$panelCount++, "SCtFGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "mineMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "mineHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "mineDmgTG"; +$wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeMATG"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "SCtFGame"] = "hGrenadeDmgTG"; $wepGridCount["SCtFGame"] = $panelCount++; $panelCount = 0; @@ -2075,14 +2080,14 @@ $upperWepPanel[$panelCount++,"ArenaGame"] = "laserDeathsTG"; $upperWepPan $upperWepPanelCount["ArenaGame"] = $panelCount++; $panelCount = 0; -$wepGrid[$panelCount, "ArenaGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "blasterMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "blasterHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "blasterDmgTG"; -$wepGrid[$panelCount++, "ArenaGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "plasmaMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "plasmaDmgTG"; +$wepGrid[$panelCount, "ArenaGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "blasterMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "blasterHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "blasterDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "plasmaMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "ArenaGame"] = "cgKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "cgMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "cgHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "cgDmgTG"; -$wepGrid[$panelCount++, "ArenaGame"] = "discKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "discMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "discHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "discDmgTG"; -$wepGrid[$panelCount++, "ArenaGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "grenadeMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "grenadeDmgTG"; -$wepGrid[$panelCount++, "ArenaGame"] = "laserKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "laserMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "laserHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "laserDmgTG"; -$wepGrid[$panelCount++, "ArenaGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "shockMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "shockDmgTG"; -$wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "discKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "discMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "discHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "discDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "grenadeMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "grenadeDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "laserKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "laserMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "laserHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "laserDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "shockMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "shockDmgTG"; +$wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeMATG"; $wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "ArenaGame"] = "hGrenadeDmgTG"; $wepGridCount["ArenaGame"] = $panelCount++; //discKillGround $panelCount = 0; @@ -2093,39 +2098,39 @@ $panelThree[$panelCount++,"ArenaGame"] = "ctrlKKillsTG"; $panelThree[$panelC $panelThree[$panelCount++,"ArenaGame"] = "timeTLAvg"; $panelThree[$panelCount++,"ArenaGame"] = "maxSpeedMax"; $panelThree[$panelCount++,"ArenaGame"] = "discJumpTG"; $panelThree[$panelCount++,"ArenaGame"] = "lagSpikesTG"; $panelThree[$panelCount++,"ArenaGame"] = "outOfBoundDeathsTG"; $panelThree[$panelCount++,"ArenaGame"] = "teamkillCountTG"; $panelThree[$panelCount++,"ArenaGame"] = "EVKillsTG"; $panelThree[$panelCount++,"ArenaGame"] = "idleTimeTG"; $panelThree[$panelCount++,"ArenaGame"] = "firstKillTG"; -$panelThree[$panelCount++,"ArenaGame"] = "airTimeTG"; $panelThree[$panelCount++,"ArenaGame"] = "groundTimeTG"; $panelThree[$panelCount++,"ArenaGame"] = "lastKillTG"; +$panelThree[$panelCount++,"ArenaGame"] = "airTimeTG"; $panelThree[$panelCount++,"ArenaGame"] = "groundTimeTG"; $panelThree[$panelCount++,"ArenaGame"] = "lastKillTG"; $panelThree[$panelCount++,"ArenaGame"] = "totalMATG"; $panelThree[$panelCount++,"ArenaGame"] = "groundKillsTG"; $panelThree[$panelCount++,"ArenaGame"] = "chatallCountTG"; $panelThree[$panelCount++,"ArenaGame"] = "concussHitTG"; $panelThree[$panelCount++,"ArenaGame"] = "maHitDistMax"; $panelThree[$panelCount++,"ArenaGame"] = "maHitHeightMax"; $panelThree[$panelCount++,"ArenaGame"] = "armorLKTG"; $panelThree[$panelCount++,"ArenaGame"] = "armorMKTG"; $panelThree[$panelCount++,"ArenaGame"] = "roundsWonTG"; $panelThree[$panelCount++,"ArenaGame"] = "groundDeathsTG"; $panelThree[$panelCount++,"ArenaGame"] = "deadDistMax"; $panelThree[$panelCount++,"ArenaGame"] = "deathKillsTG"; -$panelThree[$panelCount++,"ArenaGame"] = "discReflectHitTG"; $panelThree[$panelCount++,"ArenaGame"] = "discReflectKillTG"; $panelThree[$panelCount++,"ArenaGame"] = "killerDiscJumpTG"; -$panelThreeCount["ArenaGame"] = $panelCount++; - -$panelCount = 0; -$smallPanel[$panelCount,"ArenaGame"] = "discKillGroundTG"; -$smallPanel[$panelCount++,"ArenaGame"] = "discKillsTG"; -$smallPanel[$panelCount++,"ArenaGame"] = "discMATG"; -$smallPanel[$panelCount++,"ArenaGame"] = "discMAHitDistMax"; -$smallPanel[$panelCount++,"ArenaGame"] = "laserKillsTG"; -$smallPanel[$panelCount++,"ArenaGame"] = "laserHeadShotTG"; +$panelThree[$panelCount++,"ArenaGame"] = "discReflectHitTG"; $panelThree[$panelCount++,"ArenaGame"] = "discReflectKillTG"; $panelThree[$panelCount++,"ArenaGame"] = "killerDiscJumpTG"; +$panelThreeCount["ArenaGame"] = $panelCount++; + +$panelCount = 0; +$smallPanel[$panelCount,"ArenaGame"] = "discKillGroundTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "discKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "discMATG"; +$smallPanel[$panelCount++,"ArenaGame"] = "discMAHitDistMax"; +$smallPanel[$panelCount++,"ArenaGame"] = "laserKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "laserHeadShotTG"; $smallPanel[$panelCount++,"ArenaGame"] = "laserHitDistMax"; -$smallPanel[$panelCount++,"ArenaGame"] = "totalTimeTG"; - -$smallPanel[$panelCount++,"ArenaGame"] = "hGrenadeKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "totalTimeTG"; + +$smallPanel[$panelCount++,"ArenaGame"] = "hGrenadeKillsTG"; $smallPanel[$panelCount++,"ArenaGame"] = "shockKillsTG"; -$smallPanel[$panelCount++,"ArenaGame"] = "shockMATG"; -$smallPanel[$panelCount++,"ArenaGame"] = "shockRearShotTG"; -$smallPanel[$panelCount++,"ArenaGame"] = "grenadeKillsTG"; -$smallPanel[$panelCount++,"ArenaGame"] = "grenadeMATG"; +$smallPanel[$panelCount++,"ArenaGame"] = "shockMATG"; +$smallPanel[$panelCount++,"ArenaGame"] = "shockRearShotTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "grenadeKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "grenadeMATG"; $smallPanel[$panelCount++,"ArenaGame"] = "grenadeMAHitDistMax"; $smallPanel[$panelCount++,"ArenaGame"] = "lArmorTimeTG"; - -$smallPanel[$panelCount++,"ArenaGame"] = "assistTG"; -$smallPanel[$panelCount++,"ArenaGame"] = "plasmaKillsTG"; + +$smallPanel[$panelCount++,"ArenaGame"] = "assistTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "plasmaKillsTG"; $smallPanel[$panelCount++,"ArenaGame"] = "plasmaMATG"; -$smallPanel[$panelCount++,"ArenaGame"] = "plasmaMAHitDistMax"; -$smallPanel[$panelCount++,"ArenaGame"] = "blasterKillsTG"; -$smallPanel[$panelCount++,"ArenaGame"] = "blasterMATG"; +$smallPanel[$panelCount++,"ArenaGame"] = "plasmaMAHitDistMax"; +$smallPanel[$panelCount++,"ArenaGame"] = "blasterKillsTG"; +$smallPanel[$panelCount++,"ArenaGame"] = "blasterMATG"; $smallPanel[$panelCount++,"ArenaGame"] = "blasterMAHitDistMax"; $smallPanel[$panelCount++,"ArenaGame"] = "mArmorTimeTG"; $smallPanelCount["ArenaGame"] = $panelCount++; @@ -2134,27 +2139,27 @@ $smallPanelCount["ArenaGame"] = $panelCount++; $panelCount = 0; $upperWepPanel[$panelCount, "DefaultGame"] = "discMAHitDistMax"; $upperWepPanel[$panelCount++, "DefaultGame"] = "plasmaMAHitDistMax";$upperWepPanel[$panelCount++, "DefaultGame"] = "blasterMAHitDistMax"; -$upperWepPanel[$panelCount++, "DefaultGame"] = "grenadeMAHitDistMax";$upperWepPanel[$panelCount++, "DefaultGame"] = "elfShotsFiredTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "totalWepDmgTG"; -$upperWepPanel[$panelCount++, "DefaultGame"] = "maxSpeedMax"; $upperWepPanel[$panelCount++, "DefaultGame"] = "shotsFiredTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "concussHitTG"; +$upperWepPanel[$panelCount++, "DefaultGame"] = "grenadeMAHitDistMax";$upperWepPanel[$panelCount++, "DefaultGame"] = "elfShotsFiredTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "totalWepDmgTG"; +$upperWepPanel[$panelCount++, "DefaultGame"] = "maxSpeedMax"; $upperWepPanel[$panelCount++, "DefaultGame"] = "shotsFiredTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "concussHitTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "comboCountTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "concussHitTG"; $upperWepPanel[$panelCount++, "DefaultGame"] = "tripleKillTG"; $upperWepPanelCount["DefaultGame"] = $panelCount++; $panelCount = 0; -$wepGrid[$panelCount, "DefaultGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "blasterMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "blasterHitDistMax"; -$wepGrid[$panelCount++, "DefaultGame"] = "blasterDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaMATG"; -$wepGrid[$panelCount++, "DefaultGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "cgKillsTG"; +$wepGrid[$panelCount, "DefaultGame"] = "blasterKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "blasterMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "blasterHitDistMax"; +$wepGrid[$panelCount++, "DefaultGame"] = "blasterDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaMATG"; +$wepGrid[$panelCount++, "DefaultGame"] = "plasmaHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "plasmaDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "cgKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "cgMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "cgHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "cgDmgTG"; -$wepGrid[$panelCount++, "DefaultGame"] = "discKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "discMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "discHitDistMax"; -$wepGrid[$panelCount++, "DefaultGame"] = "discDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeMATG"; -$wepGrid[$panelCount++, "DefaultGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "laserKillsTG"; +$wepGrid[$panelCount++, "DefaultGame"] = "discKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "discMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "discHitDistMax"; +$wepGrid[$panelCount++, "DefaultGame"] = "discDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeMATG"; +$wepGrid[$panelCount++, "DefaultGame"] = "grenadeHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "grenadeDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "laserKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "laserMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "laserHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "laserDmgTG"; -$wepGrid[$panelCount++, "DefaultGame"] = "mortarKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "mortarMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "mortarHitDistMax"; -$wepGrid[$panelCount++, "DefaultGame"] = "mortarDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "missileKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "missileMATG"; -$wepGrid[$panelCount++, "DefaultGame"] = "missileHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "missileDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "shockKillsTG"; +$wepGrid[$panelCount++, "DefaultGame"] = "mortarKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "mortarMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "mortarHitDistMax"; +$wepGrid[$panelCount++, "DefaultGame"] = "mortarDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "missileKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "missileMATG"; +$wepGrid[$panelCount++, "DefaultGame"] = "missileHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "missileDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "shockKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "shockMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "shockHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "shockDmgTG"; -$wepGrid[$panelCount++, "DefaultGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "mineMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "mineHitDistMax"; -$wepGrid[$panelCount++, "DefaultGame"] = "mineDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeMATG"; -$wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "satchelKillsTG"; +$wepGrid[$panelCount++, "DefaultGame"] = "mineKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "mineMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "mineHitDistMax"; +$wepGrid[$panelCount++, "DefaultGame"] = "mineDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeMATG"; +$wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeHitDistMax"; $wepGrid[$panelCount++, "DefaultGame"] = "hGrenadeDmgTG"; $wepGrid[$panelCount++, "DefaultGame"] = "satchelKillsTG"; $wepGrid[$panelCount++, "DefaultGame"] = "satchelMATG"; $wepGrid[$panelCount++, "DefaultGame"] = "satchelHitDistMax";$wepGrid[$panelCount++, "DefaultGame"] = "satchelDmgTG"; $wepGridCount["DefaultGame"] = $panelCount++; @@ -2280,7 +2285,7 @@ package dtStats{ } function CTFGame::clientMissionDropReady(%game, %client){ parent::clientMissionDropReady(%game, %client); - + if($dtStats::ctfTimes){ %team1 = $dtServer::capTimes[cleanMapName($missionName),%game.class,1]; %team2 = $dtServer::capTimes[cleanMapName($missionName),%game.class,1]; @@ -2288,17 +2293,17 @@ package dtStats{ %time2 = %game.formatTime(getField(%team2,0), true); %name1 = getField(%team1,1); %name2 = getField(%team1,2); - BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); + BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); } dtStatsMissionDropReady(%game, %client);//common } function CTFGame::gameOver( %game ){ - dtStatsGameOver(%game); + dtStatsGameOver(%game); parent::gameOver(%game); } function CTFGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation){ clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %damageLocation);//for stats collection - if(%clKiller.team != %clVictim.team && isObject(%clKiller.player)){// note test for vehicles + if(%clKiller.team != %clVictim.team && isObject(%clKiller.player)){// note test for vehicles %dist = vectorDist($dtStats::FlagPos[%clKiller.team], %clKiller.player.getPosition()); if(%dist > ($dtStats::FlagTotalDist*0.5)){// kill made closer to the enemy flag %clKiller.dtStats.stat["OffKills"]++; @@ -2388,9 +2393,9 @@ package dtStats{ else parent::updateScoreHud(%game, %client, %tag); } - function ArenaGame::sendDebriefing(%game, %client){ + function ArenaGame::sendDebriefing(%game, %client){ if(%client.isWatchOnly){ - parent::sendDebriefing(%game, %client); + parent::sendDebriefing(%game, %client); return; } messageClient( %client, 'MsgClearDebrief', "" ); @@ -2416,7 +2421,7 @@ package dtStats{ messageClient( %client, 'MsgDebriefResult', "", 'Team %1 and Team %2 tie!', %game.getTeamName(%firstTeam), %game.getTeamName(%secondTeam) ); else messageClient( %client, 'MsgDebriefResult', "", 'The mission ended in a tie.' ); - + if ( $Arena::Pref::TrackHighScores && Game.class $= "ArenaGame" ){ if ( %game.newHighScoreFlag ) messageClient( %client, 'MsgDebriefResult', "", '%1 has set a NEW INDIVIDUAL RECORD for this mission with a score of %2!', $Arena::HighScores::Name[$currentMission], $Arena::HighScores::Score[$currentMission] ); @@ -2428,7 +2433,7 @@ package dtStats{ messageClient( %client, 'MsgDebriefResult', "", 'But there are not enough human players here to set a new high score.' ); } messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); - + messageClient( %client, 'MsgDebriefAddLine', "", '\nPLAYERTEAMSCOREKILLSKDRASSISTSDISC MA' ); @@ -2462,7 +2467,7 @@ package dtStats{ } messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(getTaggedString(%cl.name)), %game.getTeamName(%cl.team), %score, %kills , %deaths, cropFloat(%cl.dtStats.stat["kdr"],2), %cl.dtStats.stat["assist"], %cl.dtStats.stat["discMA"] ); - %count[%highTeam]++; + %count[%highTeam]++; %notDone = false; for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) { @@ -2473,7 +2478,7 @@ package dtStats{ } } } - + //now go through an list all the observers: %count = ClientGroup.getCount(); %printedHeader = false; @@ -2489,9 +2494,9 @@ package dtStats{ %score = %cl.score $= "" ? 0 : %cl.score; %kills = %cl.kills $= "" ? 0 : %cl.kills; %deaths = %cl.deaths $= "" ? 0 : %cl.deaths; - + messageClient(%client, 'MsgDebriefAddLine', "", '\nOBSERVERSSCOREKILLSKDRASSISTSDISC MA'); - + } //print out the client @@ -2507,7 +2512,7 @@ package dtStats{ } } extendedDebrief(%game, %client); - + } else{ parent::sendDebriefing(%game, %client);// note not default game @@ -2555,7 +2560,7 @@ package dtStats{ %time2 = %game.formatTime(getField(%team2,0), true); %name1 = getField(%team1,1); %name2 = getField(%team1,2); - BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); + BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); } dtStatsMissionDropReady(%game, %client);//common } @@ -2577,7 +2582,7 @@ package dtStats{ clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %damageLocation);//for stats collection parent::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation); } - + function LCTFGame::processGameLink(%game, %client, %arg1, %arg2, %arg3, %arg4, %arg5){ if($dtStats::Enable || %client.isSuperAdmin) dtGameLink(%game, %client, %arg1, %arg2, %arg3, %arg4, %arg5); @@ -2590,7 +2595,7 @@ package dtStats{ else parent::updateScoreHud(%game, %client, %tag); } - + function SCtFGame::clientMissionDropReady(%game, %client){ parent::clientMissionDropReady(%game, %client); if($dtStats::ctfTimes){ @@ -2600,7 +2605,7 @@ package dtStats{ %time2 = %game.formatTime(getField(%team2,0), true); %name1 = getField(%team1,1); %name2 = getField(%team1,2); - BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); + BottomPrint(%client, "Best caps on " @ $CurrentMission @ ":\n" @ getTaggedString(%game.getTeamName(1)) @ ":" SPC %name1 @ " in " @ %time1 @ " seconds\n" @ getTaggedString(%game.getTeamName(2)) @ ":" SPC %name2 @ " in " @ %time2 @ " seconds", 20, 3); } dtStatsMissionDropReady(%game, %client);//common } @@ -2621,7 +2626,7 @@ package dtStats{ } parent::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation); } - + function SCtFGame::processGameLink(%game, %client, %arg1, %arg2, %arg3, %arg4, %arg5){ if($dtStats::Enable || %client.isSuperAdmin) dtGameLink(%game, %client, %arg1, %arg2, %arg3, %arg4, %arg5); @@ -2636,28 +2641,28 @@ package dtStats{ } /////////////////////////////////////////////////////////////////////////////// function DefaultGame::missionLoadDone(%game){ - parent::missionLoadDone(%game); + parent::missionLoadDone(%game); if(isObject(dtGameStat)){ - dtGameStat.delete(); + dtGameStat.delete(); } - $dtStats::MapStart = 1;//rebuild custom map list after first load + $dtStats::MapStart = 1;//rebuild custom map list after first load buildMissionList();// this way to prevent locking a person out of selecting a start map - + dtSaveServerVars(); dtScanForRepair(); if(%game.class $= "CTFGame" || %game.class $= "LCTFGame" || %game.class $= "SCtFGame"){ $dtStats::FlagPos[1] = $TeamFlag[1].getPosition(); $dtStats::FlagPos[2] = $TeamFlag[2].getPosition(); - $dtStats::FlagTotalDist = vectorDist($dtStats::FlagPos[1], $dtStats::FlagPos[2]); + $dtStats::FlagTotalDist = vectorDist($dtStats::FlagPos[1], $dtStats::FlagPos[2]); } $dtStats::gameID = formattimestring("yymmddHHnnss"); if($dtStats::debugEchos) error("GAME ID" SPC $dtStats::gameID SPC "//////////////////////////////"); - if($TB::TBEnable[$dtStats::gtNameShort[%game.class]] && !$Host::TournamentMode){// note this happens before clients start there load + if($TB::TBEnable[$dtStats::gtNameShort[%game.class]] && !$Host::TournamentMode){// note this happens before clients start there load ballenceTeams(%game,0); } - } - + } + function DefaultGame::forceObserver( %game, %client, %reason ){ parent::forceObserver( %game, %client, %reason ); if(%reason $= "spawnTimeout"){ @@ -2678,7 +2683,7 @@ package dtStats{ function chatMessageAll( %sender, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ){ if ( getsubstr(detag(%a2),0,1) $= "#" ){ error("dtchatcommandtest"); - return; + return; } parent::chatMessageAll( %sender, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ); %sender.dtStats.stat["chatallCount"]++; @@ -2801,7 +2806,7 @@ package dtStats{ if(isActivePackage(dtStatsGame)) deactivatePackage(dtStatsGame); } - + function ArenaGame::activatePackages(%game){ parent::activatePackages(%game); if(isActivePackage(dtStatsGame)){ @@ -2862,7 +2867,7 @@ package dtStats{ %cl = %projectile.sourceObject.client; if(isObject(%cl)){ %cl.lastExp = %data TAB %projectile.initialPosition TAB %position TAB %projectile.getWorldBox(); - %cl.lastExpTime = getSimTime(); + %cl.lastExpTime = getSimTime(); } parent::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal); } @@ -2997,8 +3002,8 @@ package dtStats{ } parent::onDamage(%this, %obj); } - - + + function CTFGame::recalcScore(%game, %cl){ parent::recalcScore(%game, %cl); %dtStats = %cl.dtStats; @@ -3023,12 +3028,12 @@ package dtStats{ } function CTFGame::awardScoreTkDestroy(%game, %cl, %obj){ parent::awardScoreTkDestroy(%game, %cl, %obj); - %cl.dtStats.stat["tkDestroys"] = %cl.tkDestroys; + %cl.dtStats.stat["tkDestroys"] = %cl.tkDestroys; } function CTFGame::awardScoreFlagCap(%game, %cl, %flag){ parent::awardScoreFlagCap(%game, %cl, %flag); - %cl.dtStats.stat["flagCaps"] = %cl.flagCaps; + %cl.dtStats.stat["flagCaps"]++; dtMinMax("flagCaps", "flag", 1, %cl.dtStats.stat["flagCaps"], %cl); } function CTFGame::awardScoreFlagTouch(%game, %cl, %flag){ @@ -3062,18 +3067,18 @@ package dtStats{ case "DeployedStationInventory": %cl.dtStats.stat["depStationDestroys"] = %cl.depStationDestroys; case "MPBTeleporter": - %cl.dtStats.stat["mpbtstationDestroys"] = %cl.mpbtstationDestroys; + %cl.dtStats.stat["mpbtstationDestroys"] = %cl.mpbtstationDestroys; } } function CTFGame::awardScoreVehicleDestroyed(%game, %client, %vehicleType, %mult, %passengers){ %val = parent::awardScoreVehicleDestroyed(%game, %client, %vehicleType, %mult, %passengers); switch$(%vehicleType){// add stas here - case "Grav Cycle": + case "Grav Cycle": %client.dtStats.stat["gravCycleDes"]++; case "Assault Tank": %client.dtStats.stat["assaultTankDes"]++; - case "MPB": + case "MPB": %client.dtStats.stat["MPBDes"]++; case "Turbograv": %client.dtStats.stat["turbogravDes"]++; @@ -3082,15 +3087,15 @@ package dtStats{ case "Heavy Transport": %client.dtStats.stat["heavyTransportDes"]++; } - %client.dtStats.stat["vehicleScore"] = %client.vehicleScore; - %client.dtStats.stat["vehicleBonus"] = %client.vehicleBonus; + %client.dtStats.stat["vehicleScore"] = %client.vehicleScore; + %client.dtStats.stat["vehicleBonus"] = %client.vehicleBonus; return %val; } function CTFGame::awardScoreFlagDefend(%game, %killerID){ %val = parent::awardScoreFlagDefend(%game, %killerID); %killerID.dtStats.stat["flagDefends"] = %killerID.flagDefends; dtMinMax("flagDefends", "flag", 1, %killerID.dtStats.stat["flagDefends"], %killerID); - return %val; + return %val; } function CTFGame::awardScoreGenDefend(%game, %killerID){ %val = parent::awardScoreGenDefend(%game, %killerID); @@ -3153,7 +3158,7 @@ package dtStats{ %client.dtStats.stat["depInvRepairs"] = %client.depInvRepairs; dtMinMax("repairs", "misc", 3, 1, %client); case "MPBTeleporter": - %client.dtStats.stat["mpbtstationRepairs"] = %client.mpbtstationRepairs; + %client.dtStats.stat["mpbtstationRepairs"] = %client.mpbtstationRepairs; dtMinMax("repairs", "misc", 3, 1, %client); } } @@ -3209,7 +3214,7 @@ package dtStats{ %client.dtStats.stat["assists"] = %client.assists; %client.dtStats.stat["roundKills"] = %client.roundKills; %client.dtStats.stat["hatTricks"] = %client.hatTricks; - + } function LCTFGame::recalcScore(%game, %cl){ @@ -3228,7 +3233,7 @@ package dtStats{ } function LCTFGame::awardScoreFlagCap(%game, %cl, %flag){ parent::awardScoreFlagCap(%game, %cl, %flag); - %cl.dtStats.stat["flagCaps"] = %cl.flagCaps; + %cl.dtStats.stat["flagCaps"]++; dtMinMax("flagCaps", "flag", 1, %cl.dtStats.stat["flagCaps"], %cl); } function LCTFGame::awardScoreFlagTouch(%game, %cl, %flag){ @@ -3259,14 +3264,14 @@ package dtStats{ %val = parent::awardScoreFlagDefend(%game, %killerID); %killerID.dtStats.stat["flagDefends"] = %killerID.flagDefends; dtMinMax("flagDefends", "flag", 1, %killerID.dtStats.stat["flagDefends"], %killerID); - return %val; + return %val; } function LCTFGame::awardScoreStalemateReturn(%game, %cl){ %val = parent::awardScoreStalemateReturn(%game, %cl); %cl.dtStats.stat["stalemateReturn"]++; return %val; } - + function SCtFGame::recalcScore(%game, %cl){ parent::recalcScore(%game, %cl); %dtStats = %cl.dtStats; @@ -3283,7 +3288,7 @@ package dtStats{ } function SCtFGame::awardScoreFlagCap(%game, %cl, %flag){ parent::awardScoreFlagCap(%game, %cl, %flag); - %cl.dtStats.stat["flagCaps"] = %cl.flagCaps; + %cl.dtStats.stat["flagCaps"]++; dtMinMax("flagCaps", "flag", 1, %cl.dtStats.stat["flagCaps"], %cl); } function SCtFGame::awardScoreFlagTouch(%game, %cl, %flag){ @@ -3314,7 +3319,7 @@ package dtStats{ %val = parent::awardScoreFlagDefend(%game, %killerID); %killerID.dtStats.stat["flagDefends"] = %killerID.flagDefends; dtMinMax("flagDefends", "flag", 1, %killerID.dtStats.stat["flagDefends"], %killerID); - return %val; + return %val; } function SCtFGame::awardScoreStalemateReturn(%game, %cl){ %val = parent::awardScoreStalemateReturn(%game, %cl); @@ -3347,7 +3352,7 @@ package dtStats{ // new debriefing stuff function LakRabbitGame::sendDebriefing( %game, %client ){ if(%client.isWatchOnly){ - parent::sendDebriefing(%game, %client); + parent::sendDebriefing(%game, %client); return; } messageClient( %client, 'MsgClearDebrief', "" ); @@ -3400,14 +3405,14 @@ package dtStats{ else %othertotdistance = mFloor(%cl.totalDistance); if(%cl.totalShockHits == 0) %shockhits = 0; else %shockhits = mFloor(%cl.totalShockHits); - + if(%client == %cl){ messageClient( %client, 'MsgDebriefAddLine', "", ' %1%2%3%4%5%6%7%8%%%9', StripMLControlChars(getTaggedString(%cl.name)), %score, %kills, %mas, %avgSpeed, %avgDistance, %othertotdistance, %shockPercent, %shockhits); } else{ messageClient( %client, 'MsgDebriefAddLine', "", ' %1%2%3%4%5%6%7%8%%%9', - StripMLControlChars(getTaggedString(%cl.name)), %score, %kills, %mas, %avgSpeed, %avgDistance, %othertotdistance, %shockPercent, %shockhits); + StripMLControlChars(getTaggedString(%cl.name)), %score, %kills, %mas, %avgSpeed, %avgDistance, %othertotdistance, %shockPercent, %shockhits); } if(%score) %totscore += %score; @@ -3427,8 +3432,8 @@ package dtStats{ extendedDebrief(%game, %client); } else{ - parent::sendDebriefing(%game, %client); - extendedDebrief(%game, %client); + parent::sendDebriefing(%game, %client); + extendedDebrief(%game, %client); } } }; @@ -3436,7 +3441,7 @@ package dtStats{ // that way we get called first then the gametype can do whatever -// there is no main function for these +// there is no main function for these function LCTFGame::awardScoreDeath(%game, %victimID){ parent::awardScoreDeath(%game, %victimID); %victimID.dtStats.stat["deaths"] = %victimID.deaths; @@ -3480,7 +3485,7 @@ function CTFGame::awardScoreTeamkill(%game, %victimID, %killerID){ function CTFGame::sendDebriefing(%game, %client){ if(%client.isWatchOnly){ - parent::sendDebriefing(%game, %client); + parent::sendDebriefing(%game, %client); return; } messageClient( %client, 'MsgClearDebrief', "" ); @@ -3495,7 +3500,7 @@ function CTFGame::sendDebriefing(%game, %client){ function LCTFGame::sendDebriefing(%game, %client){ if(%client.isWatchOnly){ - parent::sendDebriefing(%game, %client); + parent::sendDebriefing(%game, %client); return; } messageClient( %client, 'MsgClearDebrief', "" ); @@ -3510,7 +3515,7 @@ function LCTFGame::sendDebriefing(%game, %client){ function SCtFGame::sendDebriefing(%game, %client){ if(%client.isWatchOnly){ - parent::sendDebriefing(%game, %client); + parent::sendDebriefing(%game, %client); return; } messageClient( %client, 'MsgClearDebrief', "" ); @@ -3591,7 +3596,7 @@ function DefaultGame::sendCTFDebrif(%game,%client){ } messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(getTaggedString(%cl.name)), %game.getTeamName(%cl.team), %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"],%nameColor); - %count[%highTeam]++; + %count[%highTeam]++; %notDone = false; for ( %team = 1; %team - 1 < %game.numTeams; %team++ ) { @@ -3602,7 +3607,7 @@ function DefaultGame::sendCTFDebrif(%game,%client){ } } } - + //now go through an list all the observers: %count = ClientGroup.getCount(); %printedHeader = false; @@ -3626,16 +3631,16 @@ function DefaultGame::sendCTFDebrif(%game,%client){ %line = '%9%1 %2%3%4%5%6%7%8'; } else{ - %line = '%9%1 %2%3%4%5%6%7%8'; + %line = '%9%1 %2%3%4%5%6%7%8'; } messageClient( %client, 'MsgDebriefAddLine', "", %line,StripMLControlChars(getTaggedString(%cl.name)), "", %score, %kills, %cl.dtStats.stat["assist"], %cl.dtStats.stat["OffKills"], %cl.dtStats.stat["DefKills"], %cl.dtStats.stat["discMA"],%nameColor ); } - } + } } function extendedDebrief(%game, %client){ - if($dtStats::evoStyleDebrief && !%client.isWatchOnly){ - if(dtGameStat.gc["flag"] > 0){ + if($dtStats::evoStyleDebrief && !%client.isWatchOnly){ + if(dtGameStat.gc["flag"] > 0){ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); messageClient( %client, 'MsgDebriefAddLine', "", 'FLAG STATS\tPLAYER\t' ); if(dtGameStat.stat["heldTimeSec"] > 0) @@ -3679,37 +3684,37 @@ function extendedDebrief(%game, %client){ if(dtGameStat.stat["mortarMA"] > 0){ %line = 'Mortar\t%5%1\t%2\t%6%3\t%4m'; messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["mortarMA"],"NA")), dtGameStat.stat["mortarMA"], StripMLControlChars(hasValueS(dtGameStat.name["mortarMAHitDist"],"NA")), mFormatFloat(dtGameStat.stat["mortarMAHitDist"], "%.2f"),(%client == dtGameStat.client["mortarMA"]) ? "" : "", (%client == dtGameStat.client["mortarMAHitDist"]) ? "" : ""); - } + } } if(dtGameStat.gc["misc"] > 0){ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); messageClient( %client, 'MsgDebriefAddLine', "", 'MISC' ); if(dtGameStat.stat["laserHeadShot"] > 0) messageClient( %client, 'MsgDebriefAddLine', "", 'Headhunter\t%3%1\t%2',StripMLControlChars(dtGameStat.name["laserHeadShot"]),dtGameStat.stat["laserHeadShot"],(%client == dtGameStat.client["flagReturns"]) ? "" : ""); - if(dtGameStat.stat["laserHitDist"] > 0) + if(dtGameStat.stat["laserHitDist"] > 0) messageClient( %client, 'MsgDebriefAddLine', "", 'Longest Snipe\t%3%1\t%2m',StripMLControlChars(dtGameStat.name["laserHitDist"]),mFormatFloat(dtGameStat.stat["laserHitDist"], "%.2f"),(%client == dtGameStat.client["laserHitDist"]) ? "" : ""); - if(dtGameStat.stat["shockRearShot"] > 0) + if(dtGameStat.stat["shockRearShot"] > 0) messageClient( %client, 'MsgDebriefAddLine', "", 'Taser Tailgater\t%3%1\t%2',StripMLControlChars(dtGameStat.name["shockRearShot"]),dtGameStat.stat["shockRearShot"],(%client == dtGameStat.client["shockRearShot"]) ? "" : ""); - if(dtGameStat.stat["repairs"] > 0) + if(dtGameStat.stat["repairs"] > 0) messageClient( %client, 'MsgDebriefAddLine', "", 'Fixer Upper\t%3%1\t%2',StripMLControlChars(dtGameStat.name["repairs"]),dtGameStat.stat["repairs"],(%client == dtGameStat.client["repairs"]) ? "" : ""); } - + if(dtGameStat.gc["wep"] > 0){ messageClient( %client, 'MsgDebriefAddLine', "", ' ' ); messageClient( %client, 'MsgDebriefAddLine', "", '\tPLAYER\tDMG\tPLAYER\tKILLS'); - + if(dtGameStat.stat["blasterKills"] > 0){ %line = 'Blaster Master\t%5%1\t%2\t%6%3\t%4'; %color1 = (%client == dtGameStat.client["blasterDmg"]) ? "" : ""; %color2 = (%client == dtGameStat.client["blasterKills"]) ? "" : ""; messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["blasterDmg"],"NA")), mFormatFloat(dtGameStat.stat["blasterDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["blasterKills"],"NA")), dtGameStat.stat["blasterKills"],%color1,%color2); - } + } if(dtGameStat.stat["plasmaKills"] > 0){ %line = 'Plasma Roaster\t%5%1\t%2\t%6%3\t%4'; %color1 = (%client == dtGameStat.client["plasmaDmg"]) ? "" : ""; %color2 = (%client == dtGameStat.client["plasmaKills"]) ? "" : ""; messageClient( %client, 'MsgDebriefAddLine', "", %line, StripMLControlChars(hasValueS(dtGameStat.name["plasmaDmg"],"NA")), mFormatFloat(dtGameStat.stat["plasmaDmg"], "%.2f"), StripMLControlChars(hasValueS(dtGameStat.name["plasmaKills"],"NA")), dtGameStat.stat["plasmaKills"],%color1,%color2); - } + } if(dtGameStat.stat["discKills"] > 0){ %line = 'Disc-O-maniac\t%5%1\t%2\t%6%3\t%4'; %color1 = (%client == dtGameStat.client["discDmg"]) ? "" : ""; @@ -3890,10 +3895,10 @@ package dtStatsGame{ clientDmgStats(%data,%position,%sourceObject,%targetObject, %damageType,%amount); parent::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC); } - + function SensorJammerPackImage::onMount(%data, %obj, %slot){ parent::onMount(%data, %obj, %slot); - %obj.client.dtStats.stat["jammer"]++; + %obj.client.dtStats.stat["jammer"]++; } //0 Fire 1 ??? 2 jump 3 jet 4 gernade 5 mine @@ -4030,10 +4035,10 @@ package dtStatsGame{ } function CTFGame::boundaryLoseFlag(%game, %player){ %flag = %player.holdingFlag; - + %ftime = getSimTime() - %game.dtTotalFlagTime[%flag]; %player.client.dtStats.stat["flagTimeMin"] += (%ftime/1000)/60; - + %game.dtTotalFlagTime[%flag] = 0; parent::boundaryLoseFlag(%game, %player); } @@ -4101,13 +4106,13 @@ package dtStatsGame{ if(%game.dtTotalFlagTime[%flag]){ %heldTime = (getSimTime() - %game.dtTotalFlagTime[%flag])/1000; %dtStats.stat["flagTimeMin"] += %heldTime/60; - + if(%heldTime < %dtStats.stat["heldTimeSec"] || !%dtStats.stat["heldTimeSec"]){ %dtStats.stat["heldTimeSec"] = %heldTime; dtMinMax("heldTimeSec", "flag", 2, %heldTime, %player.client); - - - } + + + } if($dtStats::ctfTimes){ %heldTimeMS = getSimTime() - %game.dtTotalFlagTime[%flag]; %fTime = %game.formatTime(%heldTimeMS, true); @@ -4120,7 +4125,7 @@ package dtStatsGame{ %saved = "\c2Saved: \c3-" @ %game.formatTime(%oldTime - %heldTimeMS, true) @ "\c2"; } //schedule(2000, 0, "messageAll", 'MsgCTFNewRecord', "\c2It's a new record! Time: \c3"@ %fTime @"\c2 " @ %saved @ "~wfx/misc/hunters_horde.wav"); - schedule(4000, 0, "messageAll", 'MsgCTFNewRecord', '\c2It\'s a new %3 record! Time: \c3%1 \c2%2 ~wfx/misc/hunters_horde.wav',%fTime,%saved,$TeamName[%clTeam]); + schedule(4000, 0, "messageAll", 'MsgCTFNewRecord', '\c2It\'s a new %3 record! Time: \c3%1 \c2%2 ~wfx/misc/hunters_horde.wav',%fTime,%saved,$TeamName[%clTeam]); $dtServer::capTimes[%mapName,%game.class,%clTeam] = %heldTimeMS TAB %dtStats.name; } } @@ -4144,10 +4149,10 @@ package dtStatsGame{ ///////////////////////////////////////////////////////////////////////////// function LCTFGame::playerDroppedFlag(%game, %player){ %flag = %player.holdingFlag; - + %ftime = getSimTime() - %game.dtTotalFlagTime[%flag]; %player.client.dtStats.stat["flagTimeMin"] += (%ftime/1000)/60; - + %game.dtTotalFlagTime[%flag] = 0; if(%player.getState() !$= "Dead"){ %player.client.dtStats.stat["flagToss"]++; @@ -4161,10 +4166,10 @@ package dtStatsGame{ } function LCTFGame::boundaryLoseFlag(%game, %player){ %flag = %player.holdingFlag; - + %ftime = getSimTime() - %game.dtTotalFlagTime[%flag]; %player.client.dtStats.stat["flagTimeMin"] += (%ftime/1000)/60; - + %game.dtTotalFlagTime[%flag] = 0; parent::boundaryLoseFlag(%game, %player); } @@ -4225,7 +4230,7 @@ package dtStatsGame{ } if(%game.dtTotalFlagTime[%flag]){ %heldTime = (getSimTime() - %game.dtTotalFlagTime[%flag])/1000; - %dtStats.stat["flagTimeMin"] += %heldTime/60; + %dtStats.stat["flagTimeMin"] += %heldTime/60; if(%heldTime < %dtStats.stat["heldTimeSec"] || !%dtStats.stat["heldTimeSec"]){ %dtStats.stat["heldTimeSec"] = %heldTime; dtMinMax("heldTimeSec", "flag", 2, %heldTime, %player.client); @@ -4263,14 +4268,14 @@ package dtStatsGame{ } parent::playerTouchOwnFlag(%game, %player, %flag); } - - + + function SCtFGame::playerDroppedFlag(%game, %player){ %flag = %player.holdingFlag; - + %ftime = getSimTime() - %game.dtTotalFlagTime[%flag]; %player.client.dtStats.stat["flagTimeMin"] += (%ftime/1000)/60; - + %game.dtTotalFlagTime[%flag] = 0; if(%player.getState() !$= "Dead"){ %player.client.dtStats.stat["flagToss"]++; @@ -4284,10 +4289,10 @@ package dtStatsGame{ } function SCtFGame::boundaryLoseFlag(%game, %player){ %flag = %player.holdingFlag; - + %ftime = getSimTime() - %game.dtTotalFlagTime[%flag]; %player.client.dtStats.stat["flagTimeMin"] += (%ftime/1000)/60; - + %game.dtTotalFlagTime[%flag] = 0; parent::boundaryLoseFlag(%game, %player); } @@ -4348,7 +4353,7 @@ package dtStatsGame{ } if(%game.dtTotalFlagTime[%flag]){ %heldTime = (getSimTime() - %game.dtTotalFlagTime[%flag])/1000; - %dtStats.stat["flagTimeMin"] += %heldTime/60; + %dtStats.stat["flagTimeMin"] += %heldTime/60; if(%heldTime < %dtStats.stat["heldTimeSec"] || !%dtStats.stat["heldTimeSec"]){ %dtStats.stat["heldTimeSec"] = %heldTime; dtMinMax("heldTimeSec", "flag", 2, %heldTime, %player.client); @@ -4498,7 +4503,7 @@ function ArenaHud( %game, %client, %tag ) for ( %iTeam = 1; %iTeam <= Game.numTeams; %iTeam++ ) { // Send team name - + %teamPlayerCount = tsPlayerCountTeam( %iTeam ); %teamPlayerCountPlural = %teamPlayerCount == 1 ? "" : "s"; @@ -4626,7 +4631,7 @@ function DMHud(%game, %client, %tag){// note in this game type the score hud can messageClient( %client, 'SetLineHud', "", %tag, %index, '%5\t%1%2%3%4%6', %cl.name, %clScore, %clKills, %clDeaths, %clStyle, %clBonus); } - //else for observers, create an anchor around the player name so they can be observed + //else for observers, create an anchor around the player name so they can be observed else { messageClient( %client, 'SetLineHud', "", %tag, %index, '%5\t%1%2%3%4%7', @@ -5022,7 +5027,7 @@ function CTFHud(%game, %client, %tag){// defaultGame/evo %index++; } - //for(%i = 10; %i <= 32; %i++){ + //for(%i = 10; %i <= 32; %i++){ //messageClient(%client, 'SetLineHud', "", %tag, %index, ' [RobotoGg %1]', %i); //%index++; //} @@ -5034,7 +5039,7 @@ function dtStatsMissionDropReady(%game, %client){ // called when client has fini if($dtStats::debugEchos){error("dtStatsMissionDropReady GUID = " SPC %client.guid);} if($HostGamePlayerCount > $dtServer::maxPlayers[cleanMapName($CurrentMission),%game.class]) $dtServer::maxPlayers[cleanMapName($CurrentMission),%game.class] = $HostGamePlayerCount; - + %client.lp = "";//last position for distMove %client.lgame = %game.class; %foundOld = 0; @@ -5054,7 +5059,7 @@ function dtStatsMissionDropReady(%game, %client){ // called when client has fini %client.dtStats = %dtStats; %dtStats.client = %client; %dtStats.clientLeft = 0; - %dtStats.stat["clientQuit"] = 0; + %dtStats.stat["clientQuit"] = 0; %dtStats.markForDelete = 0; if(%dtStats.leftID == $dtStats::leftID){ $dtServer::mapReconnects[cleanMapName($CurrentMission),%game.class]++; @@ -5087,7 +5092,7 @@ function dtStatsMissionDropReady(%game, %client){ // called when client has fini else{ %dtStats = %client.dtStats; } - + %dtStats.joinPCT = (isGameRun() == 1) ? %game.getGamePct() : 0; updateTeamTime(%dtStats, -1); %dtStats.team = %client.team;// should be 0 @@ -5120,7 +5125,7 @@ function dtStatsClientLeaveGame(%client){ %client.dtStats.leftPCT = Game.getGamePct(); if(isGameRun() && %client.score != 0){ updateTeamTime(%client.dtStats, %client.dtStats.team); - armorTimer(%client.dtStats, 0, 1); + armorTimer(%client.dtStats, 0, 1); } } else{ @@ -5135,27 +5140,27 @@ function dtStatsGameOver( %game ){ $dtStats::LastMissionCM = $CurrentMission; $dtStats::LastGameType = %game.class; $dtStats::LastGameID = $dtStats::gameID; - + $dtStats::tmMode = $Host::TournamentMode; - - if(%game.class $= "CTFGame" || %game.class $= "LCTFGame" || %game.class $= "SCtFGame" || %game.class $= "ArenaGame" ){ + + if(%game.class $= "CTFGame" || %game.class $= "LCTFGame" || %game.class $= "SCtFGame" || %game.class $= "ArenaGame" ){ if($dtStats::tmMode){ if(!isObject(pugList)){ - new simGroup(pugList); - rootGroup.add(pugList); + new simGroup(pugList); + rootGroup.add(pugList); } %tmClass = "TM" @ %game.class; if(!isObject(%tmClass)){ new simGroup(%tmClass){ game = %game.class; - }; - pugList.add(%tmClass); + }; + pugList.add(%tmClass); } %so = new scriptObject(){ pugID = $dtStats::gameID; mapName = $MissionDisplayName; date = formattimestring("M-d-yy"); - teamOne = $TeamScore[1]; + teamOne = $TeamScore[1]; teamTwo = $TeamScore[2]; gameType = %game.class; count = %tmClass.count; @@ -5165,7 +5170,7 @@ function dtStatsGameOver( %game ){ if(%tmClass.getCount() > 50){ %max = 0; for(%i = 0; %i < %tmClass.getCount(); %i++){ - %obj = %tmClass.getObject(%i); + %obj = %tmClass.getObject(%i); %delta = getTimeDelta(%obj.mark); if(%max < %delta){ %max = %delta; @@ -5179,21 +5184,21 @@ function dtStatsGameOver( %game ){ } else{ if(!isObject(pubList)){ - new simGroup(pubList); - rootGroup.add(pubList); + new simGroup(pubList); + rootGroup.add(pubList); } %gmClass = "GM" @ %game.class; if(!isObject(%gmClass)){ new simGroup(%gmClass){ game = %game.class; - }; - pubList.add(%gmClass); + }; + pubList.add(%gmClass); } %so = new scriptObject(){ pugID = $dtStats::gameID; mapName = $MissionDisplayName; date = formattimestring("M-d-yy"); - teamOne = $TeamScore[1]; + teamOne = $TeamScore[1]; teamTwo = $TeamScore[2]; gameType = %game.class; count = %gmClass.count; @@ -5203,7 +5208,7 @@ function dtStatsGameOver( %game ){ if(%gmClass.getCount() > 100){ %max = 0; for(%i = 0; %i < %gmClass.getCount(); %i++){ - %obj = %gmClass.getObject(%i); + %obj = %gmClass.getObject(%i); %delta = getTimeDelta(%obj.mark); if(%max < %delta){ %max = %delta; @@ -5213,14 +5218,14 @@ function dtStatsGameOver( %game ){ if(isObject(%delObj)){ %delObj.delete(); } - } + } } } - + if(%game.getGamePct() > 90){ $dtServer::playCount[cleanMapName($CurrentMission),%game.class]++; $dtServer::lastPlay[cleanMapName($CurrentMission),%game.class] = getDayNum() TAB getYear() TAB formattimestring("mm/dd/yy hh:nn:a"); - if(%game.numTeams > 1){ + if(%game.numTeams > 1){ if($teamScore[1] > $teamScore[2]){ $dtServer::teamOneWin[cleanMapName($CurrentMission),%game.class]++; $dtServer::teamTwoLoss[cleanMapName($CurrentMission),%game.class]++; @@ -5233,7 +5238,7 @@ function dtStatsGameOver( %game ){ } else $dtServer::skipCount[cleanMapName($CurrentMission),%game.class]++; - + if(!$dtStats::statsSave){//in case of admin skip map and it has not finished saving the old map $dtStats::statsSave = 1; statsGroup.stat["firstKill"] = 0; @@ -5256,7 +5261,7 @@ function dtStatsGameOver( %game ){ } else if($dtStats::reloadTotal){ %time += $dtStats::saveTime; - schedule(%time,0,"loadGameTotalStats",%dtStats,%game.class); + schedule(%time,0,"loadGameTotalStats",%dtStats,%game.class); } %time += $dtStats::saveTime; schedule(%time,0,"incGameStats",%dtStats,%game.class); @@ -5269,7 +5274,7 @@ function dtStatsGameOver( %game ){ %client.dtStats.isBot = (%client.isWatchOnly == 1); %client.viewMenu = %client.viewClient = %client.viewStats = 0;//reset hud %client.lastPage = 1; %client.lgame = %game; - + if($dtStats::Enable){ %game.postGameStats(%dtStats); if(!%dtStats.gameData[%game.class, $dtStats::tmMode]){ @@ -5278,7 +5283,7 @@ function dtStatsGameOver( %game ){ } else if($dtStats::reloadTotal){ %time += $dtStats::saveTime; - schedule(%time,0,"loadGameTotalStats",%dtStats,%game.class); + schedule(%time,0,"loadGameTotalStats",%dtStats,%game.class); } %time += $dtStats::saveTime; // this will chain them schedule(%time ,0,"incGameStats",%dtStats,%game.class); //resetDtStats after incGame @@ -5286,7 +5291,7 @@ function dtStatsGameOver( %game ){ schedule(%time,0,"saveGameTotalStats",%dtStats,%game.class); // } else{ - resetDtStats(%dtStats,%game.class,0); + resetDtStats(%dtStats,%game.class,0); } } else{ @@ -5329,20 +5334,20 @@ function endGameTB(%game){ loadTBMap(%game); } if($TB::TBLog[$dtStats::gtNameShort[%game.class]]){ - logTB(%game);// log the outcome + logTB(%game);// log the outcome } for(%x = 0; %x < statsGroup.getCount(); %x++){ %dtStats = statsGroup.getObject(%x); calcTBScores(%dtStats,%game); } - saveTBMap(%game);// save map stats + saveTBMap(%game);// save map stats } } function calcTBScores(%dtStats,%game){ if(%game.class $= "CTFGame" || %game.class $= "LCTFGame" || %game.class $= "SCtFGame" || %game.class $= "ArenaGame"){ if($dtStats::debugEchos){error("calcTBScores" SPC %dtStats SPC %game);} - + if(%dtStats.tScore $= ""){ %dtStats.tScore = 0; } @@ -5355,8 +5360,8 @@ function calcTBScores(%dtStats,%game){ if(!getFieldCount(%dtStats.mGScore)){ %dtStats.mGScore = "0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0"; } - - if(isObject(%dtStats) && ((getSimTime() - $missionStartTime) > ((15 * 60) * 1000))){// make sre we dident short cycle + + if(isObject(%dtStats) && ((getSimTime() - $missionStartTime) > ((15 * 60) * 1000))){// make sre we dident short cycle %tgame = $dtStats::gtNameShort[%game.class]; %tScore = 0; for(%i = 0; %i < $TB::statGroupCount[%tgame]; %i++){ @@ -5369,12 +5374,12 @@ function calcTBScores(%dtStats,%game){ %tScore += %dtstats.stat[%var] * (%w/100); } } - + if(%tScore > 0){ %dtStats.tScore = expoMovAvg(%dtStats.tScore, %tScore); %dtStats.mTScore = expoMovAvg(%dtStats.mTScore, %tScore); } - + if(%gScore > 0){ %value = getField(%dtStats.gScore,%i); @@ -5386,7 +5391,7 @@ function calcTBScores(%dtStats,%game){ %newValue = expoMovAvg(%value , %gScore); %dtStats.mGScore = setField(%dtStats.mGScore, %i, %newValue); } - + } } } @@ -5402,7 +5407,7 @@ function logTB(%game) { for (%t = 1; %t <= %game.numTeams; %t++) { // teams %log.writeLine("Game Score" SPC $TeamScore[%t]); %output = "Team" @ %t SPC "Rating" SPC $dtTeamScore[%t] @ %t; - + // Print role headers for (%r = 0; %r < %numRoles; %r++) { %output = %output @ "\tRole" @ %r; @@ -5410,7 +5415,7 @@ function logTB(%game) { echo(%output); %log.writeLine(%output); %maxClients = 0; - + // Find the max number of clients in any role to determine rows needed for (%r = 0; %r < %numRoles; %r++) { if ($TT::LOGC[%t, %r] > %maxClients) { @@ -5431,12 +5436,12 @@ function logTB(%game) { echo(%row); %log.writeLine(%row); } - + echo("\n"); // Extra line break for clarity } - + + %log.writeLine(""); %log.writeLine(""); - %log.writeLine(""); %log.writeLine("Teams Summary:"); for (%i = 0; %i < %game.numTeams; %i++) { %log.writeLine("Team " @ %i + 1 @ " - " @ $dtTeamScore[%i + 1]); @@ -5450,19 +5455,19 @@ function logTB(%game) { %dtStats = $dtTeamList[%i+1,%j]; %msg = "\t" SPC %dtStats.name; for (%v = 0; %v < %numRoles; %v++) { - %msg = %msg SPC "\t" SPC getField(%dtStats.mGScore,%v); - %teamStats[%i+1,%v] += getField(%dtStats.mGScore,%v); - } + %msg = %msg SPC "\t" SPC getField(%dtStats.mGScore,%v); + %teamStats[%i+1,%v] += getField(%dtStats.mGScore,%v); + } %log.writeLine(%msg); } - %teamMsg ="\t"; + %teamMsg ="\t"; for (%v = 0; %v < $weightsTestCount; %v++) { %teamMsg = %teamMsg SPC "\t" SPC %teamStats[%i+1,%v]; } %log.writeLine(%teamMsg); } %log.writeLine("Team Score Dif" SPC mabs($dtTeamScore[1] - $dtTeamScore[2])); - + %log.close(); %log.delete(); } @@ -5473,10 +5478,10 @@ function listTBInfo(%val){ if(%val){ calcTBScores(%dtStats,Game); } - echo(%dtStats.sel SPC "Score" SPC %dtStats.name SPC %dtStats.tScore SPC %dtStats.gScore); + echo(%dtStats.sel SPC "Score" SPC %dtStats.name SPC %dtStats.tScore SPC %dtStats.gScore); } if(%val == 2){ - ballenceTeams(Game,0); + ballenceTeams(Game,0); } } function listStat(){ @@ -5490,24 +5495,24 @@ function forceTeamBal(){ %dtStats = statsGroup.getObject(%x); calcTBScores(%dtStats,Game); } - ballenceTeams(Game,1); + ballenceTeams(Game,1); } function ballenceTeams(%game,%forceTeam){ if(%game.class $= "CTFGame" || %game.class $= "LCTFGame" || %game.class $= "SCtFGame" || %game.class $= "ArenaGame"){ if($dtStats::debugEchos){error("ballenceTeams" SPC %game.class SPC %forceTeam);} if(statsGroup.getCount() < 1){ - return; + return; } - loadTBMap(%game);// load up exisitng map stats + loadTBMap(%game);// load up exisitng map stats %tgame = $dtStats::gtNameShort[%game.class]; if(isObject(statCol)){ - statCol.delete(); + statCol.delete(); } new simGroup(statCol); - statCol.tzc = 0; + statCol.tzc = 0; statCol.rbc = 0; RootGroup.add(statCol); - + for (%i = 0; %i < ClientGroup.getCount(); %i++){ %client = ClientGroup.getObject(%i); if(!%client.team){ @@ -5515,8 +5520,8 @@ function ballenceTeams(%game,%forceTeam){ statCol.tzc++; } } - - + + for (%y = 0; %y < $TB::statGroupCount[%tgame]; %y++) { %set = new simSet(); %set.rbc = 0; @@ -5529,34 +5534,34 @@ function ballenceTeams(%game,%forceTeam){ %lg = getField(%dtStats.gScore,%y); %rateing = (%map > (%lg*0.75)) ? %map :%lg;//0.75 makes it so it favors map stats unless theres a massive disparity if(%dtStats.client.team != 0 && (%rateing > 0 || %y == 0)){ - %set.add(%dtStats); - } + %set.add(%dtStats); + } } } - + %len = %set.getCount(); // sort are groups by there group scores for (%i = 0; %i < %len - 1; %i++) { for (%j = 0; %j < %len - %i - 1; %j++) { %aObj = %set.getObject(%j); %bObj = %set.getObject(%j + 1); - + %aMap = getField(%aObj.mGScore,%y); %aLG = getField(%aObj.gScore,%y); %A = (%aMap > (%aLG * 0.75)) ? %aMap : %aLG;//derate the last game score so it favors the map score unless it not avalable or lacking - + %bMap = getField(%bObj.mGScore,%y); %bLG = getField(%bObj.gScore,%y); %B = (%bMap > (%bLG * 0.75)) ? %bMap : %bLG; if (%A < %B) { %set.bringToFront(%bObj); - } + } } - } + } } - + deleteVariables("$TT::*"); for (%i = 0; %i < %game.numTeams; %i++) { - $dtTeamScore[%i+1] = 0; - $dtTeamCount[%i+1] = 0; + $dtTeamScore[%i+1] = 0; + $dtTeamCount[%i+1] = 0; for(%x = 0; %x < statsGroup.getCount(); %x++){ $TT::LOGC[%i+1,%x] = 0; } @@ -5567,18 +5572,18 @@ function ballenceTeams(%game,%forceTeam){ %x = (statCol.getCount() > 1) ? 1 : 0; // Start at 1 if more than one role %rt = 0; %end = 0; - %lockedGroups = 0; + %lockedGroups = 0; while (!%end) { %x = (%rt++ % %game.numTeams == 0) ? %x + 1 : %x; // Cycle every `numTeams` loops - if (%x >= statCol.getCount()) { + if (%x >= statCol.getCount()) { %x = 1; %rt = 1; if (%lockedGroups >= statCol.getCount() - 1) { // All groups are empty - %x = 0; + %x = 0; } } - + %role = statCol.getObject(%x); if (!%role || %role.rbc) { // If group is locked, continue @@ -5621,7 +5626,7 @@ function ballenceTeams(%game,%forceTeam){ } } } - + // team zero for(%i = 0; %i < statCol.tzc; %i++){ @@ -5630,10 +5635,10 @@ function ballenceTeams(%game,%forceTeam){ } } } - + function expoMovAvg(%ema, %value){ %alpha = 0.2; - return %alpha * %value + (1 - %alpha) * %ema; + return %alpha * %value + (1 - %alpha) * %ema; } @@ -5646,9 +5651,9 @@ function saveTBVars(){ function saveTBMap(%game){ if($dtStats::debugEchos){error("saveTBMap" SPC %game);} if($TB::TBEnable[$dtStats::gtNameShort[%game.class]]){//($HostGamePlayerCount - $HostGameBotCount) >= $dtStats::TBMinPlayers) - %fobj = new fileObject(); - RootGroup.add(%fobj); - %path = "serverStats/TB/map/" @ $dtStats::LastMissionCM @ "-" @ %game.class @ ".cs"; //note $dtStats::LastMissionCM is set in gameover + %fobj = new fileObject(); + RootGroup.add(%fobj); + %path = "serverStats/TB/map/" @ $dtStats::LastMissionCM @ "-" @ %game.class @ ".cs"; //note $dtStats::LastMissionCM is set in gameover %fobj.openForWrite(%path); %fobj.writeLine("res"); %fobj.writeLine("res"); @@ -5658,28 +5663,28 @@ function saveTBMap(%game){ %fobj.writeLine("res"); %fobj.writeLine("res"); %fobj.writeLine("res"); - + for(%x = 0; %x < statsGroup.getCount(); %x++){ %dtStats = statsGroup.getObject(%x); - if(getFieldCount($tempMap::data[%dtStats.guid]) < 5){ // write new entires + if(getFieldCount($tempMap::data[%dtStats.guid]) < 5){ // write new entires %newData = %dtStats.guid TAB %dtStats.name TAB dtMarkDate() TAB %dtStats.mTScore TAB %dtStats.mGScore; %line = strreplace(%newData ,"\t","%t"); %fobj.writeLine(%line); } } for(%i = 0; %i < $tempMap::count; %i++){ - %guid = $tempMap::guid[%i]; + %guid = $tempMap::guid[%i]; %dtStats = $dtStats::tbLookUP[%guid]; if(isObject(%dtStats)){ %newData = %guid TAB %dtStats.name TAB dtMarkDate() TAB %dtStats.mTScore TAB %dtStats.mGScore; %line = strreplace(%newData ,"\t","%t"); - %fobj.writeLine(%line); + %fobj.writeLine(%line); } else{ %date = getField($tempMap::data[%guid],2); - if(getTimeDelta(%date) < (1440*180)){// skip over old old stuff + if(getTimeDelta(%date) < (1440*180)){// skip over old old stuff %line = strreplace($tempMap::data[%guid],"\t","%t"); - %fobj.writeLine(%line); + %fobj.writeLine(%line); } } } @@ -5692,10 +5697,10 @@ function loadTBMap(%game){ if($dtStats::debugEchos){error("loadTBMap" SPC %game);} if($TB::TBEnable[$dtStats::gtNameShort[%game.class]]){ deleteVariables("$tempMap::*"); - %path = "serverStats/TB/map/" @ $CurrentMission @ "-" @ %game.class @ ".cs"; + %path = "serverStats/TB/map/" @ $CurrentMission @ "-" @ %game.class @ ".cs"; if(isFile(%path)){ - %fobj = new fileObject(); - RootGroup.add(%fobj); + %fobj = new fileObject(); + RootGroup.add(%fobj); %fobj.openForRead(%path); %unused = %fobj.readline(); //reserved %unused = %fobj.readline(); @@ -5745,7 +5750,7 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en if(!isObject(%dtStats)) return; %dtStats.stat["tournamentMode"] = $Host::TournamentMode; - + %dtStats.stat["null"] = getRandom(1,100); %dtStats.stat["kdr"] = %dtStats.stat["deaths"] ? (%dtStats.stat["kills"]/%dtStats.stat["deaths"]) : %dtStats.stat["kills"]; @@ -5827,13 +5832,13 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en if(%dtStats.stat["blasterShotsFired"] < 15) %dtStats.stat["blasterACC"] = 0; - + if(%dtStats.stat["missileShotsFired"] < 8) %dtStats.stat["missileACC"] = 0; if(%dtStats.stat["hGrenadeShotsFired"] < 6) %dtStats.stat["hGrenadeACC"] = 0; - + if(%dtStats.stat["mineShotsFired"] < 6) %dtStats.stat["mineACC"] = 0; @@ -5872,8 +5877,8 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en %dtStats.stat["depTurretRepairs"]; %dtStats.stat["capEfficiency"] = (%dtStats.stat["flagGrabs"] > 0) ? (%dtStats.stat["flagCaps"] / %dtStats.stat["flagGrabs"]) : 0; - - + + if(statsGroup.team[1] == statsGroup.team[2]){ %dtStats.stat["winCount"] = 0; %dtStats.stat["lossCount"] = 0; @@ -5895,7 +5900,7 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en %dtStats.stat["flagTimeMin"] = (%dtStats.flagTimeMS / 1000)/60; } else if(%game.class $= "ArenaGame"){ - %dtStats.stat["WLR"] = (%dtStats.stat["roundsLost"] > 0) ? %dtStats.stat["roundsWon"] / %dtStats.stat["roundsLost"] : %dtStats.stat["roundsWon"]; + %dtStats.stat["WLR"] = (%dtStats.stat["roundsLost"] > 0) ? %dtStats.stat["roundsWon"] / %dtStats.stat["roundsLost"] : %dtStats.stat["roundsWon"]; if(%dtStats.stat["discShotsFired"]){ %dtStats.stat["discMARatio"] = %dtStats.stat["discMA"] / %dtStats.stat["discShotsFired"]; } @@ -6038,7 +6043,7 @@ function ArenaGame::getGamePct(%game){ %scorePct = 0; for ( %i = 1; %i <= %game.numTeams; %i++ ){ %score = ($TeamScore[%i] / %game.roundLimit) * 100; - %scorePct = (%score > %scorePct) ? %score : %scorePct; + %scorePct = (%score > %scorePct) ? %score : %scorePct; } if(%scorePct > %timePct) return %scorePct; @@ -6133,7 +6138,7 @@ function cleanName(%nm){ } function cleanMapName(%nm){ - return stripChars(%nm," !_\"#$%&'()*+,-./:;<=>?@[\\]^'{|}~\t\n\r0123456789"); + return stripChars(%nm," !_\"#$%&'()*+,-./:;<=>?@[\\]^'{|}~\t\n\r0123456789"); } function setGUIDName(%client){ @@ -6241,12 +6246,12 @@ function loadGameStats(%dtStats,%game){// called when client joins server.cs onC if(%dtStats.guid !$= ""){ loadGameTotalStats(%dtStats,%game); if($dtStats::tmMode){ - %filename = "serverStats/statsTM/" @ %game @ "/" @ %dtStats.guid @ "g.cs"; + %filename = "serverStats/statsTM/" @ %game @ "/" @ %dtStats.guid @ "g.cs"; } else{ %filename = "serverStats/stats/" @ %game @ "/" @ %dtStats.guid @ "g.cs"; } - + if(isFile(%filename)){ %file = new FileObject(); RootGroup.add(%file); @@ -6267,7 +6272,7 @@ function loadGameStats(%dtStats,%game){// called when client joins server.cs onC function loadGameTotalStats(%dtStats,%game){ if($dtStats::debugEchos){error("loadGameTotalStats GUID = " SPC %dtStats.guid);} if($dtStats::tmMode){ - %filename = "serverStats/statsTM/" @ %game @ "/" @ %dtStats.guid @ "t.cs"; + %filename = "serverStats/statsTM/" @ %game @ "/" @ %dtStats.guid @ "t.cs"; } else{ %filename = "serverStats/stats/" @ %game @ "/" @ %dtStats.guid @ "t.cs"; @@ -6294,7 +6299,7 @@ function loadGameTotalStats(%dtStats,%game){ %q0 = getField(%dateLine,7);%q1 = getField(%dateLine,8); %y0 = getField(%dateLine,9);%y1 = getField(%dateLine,10); %c0 = getField(%dateLine,11);%c1 = getField(%dateLine,12); - + 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;} @@ -6313,7 +6318,7 @@ function loadGameTotalStats(%dtStats,%game){ %q0 = getField(%line,7);%q1 = getField(%line,8); %y0 = getField(%line,9);%y1 = getField(%line,10); %c0 = getField(%line,11);%c1 = getField(%line,12); - + 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;} @@ -6331,13 +6336,13 @@ function loadGameTotalStats(%dtStats,%game){ } function saveGameTotalStats(%dtStats,%game){ if($dtStats::debugEchos){error("saveGameTotalStats GUID = " SPC %dtStats.guid);} - if(%dtStats.guid !$= "" && !%dtStats.isBot){// dont save if we are dont have a guid or is a bot + if(%dtStats.guid !$= "" && !%dtStats.isBot){// dont save if we are dont have a guid or is a bot if(%dtStats.gameStats["statsOverWrite","g",%game,$dtStats::tmMode] $= ""){%dtStats.gameStats["statsOverWrite","g",%game,$dtStats::tmMode] = 0;} %fileTotal = new FileObject(); RootGroup.add(%fileTotal); if($dtStats::tmMode){ - %fileNameTotal = "serverStats/statsTM/"@ %game @ "/" @ %dtStats.guid @ "t.cs"; + %fileNameTotal = "serverStats/statsTM/"@ %game @ "/" @ %dtStats.guid @ "t.cs"; } else{ %fileNameTotal = "serverStats/stats/"@ %game @ "/" @ %dtStats.guid @ "t.cs"; @@ -6436,17 +6441,17 @@ function incGameStats(%dtStats,%game) {// record that games stats and inc by one setValueField(%dtStats,"gameID","g",%game,%c,$dtStats::gameID); setValueField(%dtStats,"gamePCT","g",%game,%c,%dtStats.gamePCT); setValueField(%dtStats,"versionNum","g",%game,%c,$dtStats::version); - + for(%q = 0; %q < $statsVars::count[%game]; %q++){ %varNameType = $statsVars::varNameType[%q,%game]; %varName = $statsVars::varName[%q,%game]; %varType = $statsVars::varType[%varNameType,%game]; - + switch$(%varType){ case "Game": %val = %dtStats.stat[%varName]; setValueField(%dtStats,%varNameType,"g",%game,%c,%val); - + case "TG": %val = %dtStats.stat[%varName]; setValueField(%dtStats,%varNameType,"g",%game,%c,%val); @@ -6482,7 +6487,7 @@ function incGameStats(%dtStats,%game) {// record that games stats and inc by one if(%val < %t && %val != 0 || !%t){ setValueField(%dtStats,%varNameType,"t",%game,%x,%val); } - else{ + else{ setValueField(%dtStats,%varNameType,"t",%game,%x,%t); } } @@ -6736,7 +6741,7 @@ function hasValue(%val){//make sure we have at least something in the field spot //%dtStats.stat["suicides"] = %client.suicides; //%dtStats.stat["escortAssists"] = %client.escortAssists; //%dtStats.stat["teamKills"] = %client.teamKills; - //%dtStats.stat["tkDestroys"] = %client.tkDestroys; + //%dtStats.stat["tkDestroys"] = %client.tkDestroys; //%dtStats.stat["flagCaps"] = %client.flagCaps; //%dtStats.stat["flagGrabs"] = %client.flagGrabs; //%dtStats.stat["genDestroys"] = %client.genDestroys; @@ -6744,14 +6749,14 @@ function hasValue(%val){//make sure we have at least something in the field spot //%dtStats.stat["turretDestroys"] = %client.turretDestroys; //%dtStats.stat["iStationDestroys"] = %client.iStationDestroys; //%dtStats.stat["vstationDestroys"] = %client.vstationDestroys; - //%dtStats.stat["mpbtstationDestroys"] = %client.mpbtstationDestroys; + //%dtStats.stat["mpbtstationDestroys"] = %client.mpbtstationDestroys; //%dtStats.stat["solarDestroys"] = %client.solarDestroys; //%dtStats.stat["sentryDestroys"] = %client.sentryDestroys; //%dtStats.stat["depSensorDestroys"] = %client.depSensorDestroys; //%dtStats.stat["depTurretDestroys"] = %client.depTurretDestroys; //%dtStats.stat["depStationDestroys"] = %client.depStationDestroys; - //%dtStats.stat["vehicleScore"] = %client.vehicleScore; - //%dtStats.stat["vehicleBonus"] = %client.vehicleBonus; + //%dtStats.stat["vehicleScore"] = %client.vehicleScore; + //%dtStats.stat["vehicleBonus"] = %client.vehicleBonus; // //%dtStats.stat["flagDefends"] = %client.flagDefends; //%dtStats.stat["defenseScore"] = %client.defenseScore; @@ -6819,14 +6824,14 @@ function resGameStats(%client,%game){// copy data back over to client %client.turretDestroys = %dtStats.stat["turretDestroys"]; %client.iStationDestroys = %dtStats.stat["iStationDestroys"]; %client.vstationDestroys = %dtStats.stat["vstationDestroys"]; - %client.mpbtstationDestroys = %dtStats.stat["mpbtstationDestroys"]; + %client.mpbtstationDestroys = %dtStats.stat["mpbtstationDestroys"]; %client.solarDestroys = %dtStats.stat["solarDestroys"]; %client.sentryDestroys = %dtStats.stat["sentryDestroys"]; %client.depSensorDestroys = %dtStats.stat["depSensorDestroys"]; %client.depTurretDestroys = %dtStats.stat["depTurretDestroys"]; %client.depStationDestroys = %dtStats.stat["depStationDestroys"]; - %client.vehicleScore = %dtStats.stat["vehicleScore"]; - %client.vehicleBonus = %dtStats.stat["vehicleBonus"]; + %client.vehicleScore = %dtStats.stat["vehicleScore"]; + %client.vehicleBonus = %dtStats.stat["vehicleBonus"]; %client.flagDefends = %dtStats.stat["flagDefends"]; %client.defenseScore = %dtStats.stat["defenseScore"]; @@ -6869,7 +6874,7 @@ function resGameStats(%client,%game){// copy data back over to client %client.totalSnipes = %dtStats.stat["totalSnipes"]; %client.totalShockHits = %dtStats.stat["totalShockHits"]; %client.totalShocks = %dtStats.stat["totalShocks"]; - + %client.snipeKills = %dtStats.stat["snipeKills"]; %client.roundsWon = %dtStats.stat["roundsWon"]; %client.roundsLost = %dtStats.stat["roundsLost"]; @@ -6913,7 +6918,7 @@ function resetDtStats(%dtStats,%game,%slow){ //%var = $dtStats::uGFV[%i,%game];; //%dtStats.stat[%var]= 0; //} - + for(%i = 1; %i <= $dtStats::unusedCount; %i++){//script unused %var = $dtStats::unused[%i]; %dtStats.stat[%var]= 0; @@ -7072,7 +7077,7 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d } %killerDT = %clKiller.dtStats; %victimDT = %clVictim.dtStats; - + if(%clKiller.killBy == %clVictim){ %clKiller.killBy = 0; %killerDT.stat["revenge"]++; @@ -7166,25 +7171,25 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d if(rayTest(%victimPlayer, $dtStats::midAirHeight)){%vcAir =1;}else{%vcAir =2;} if(rayTest(%killerPlayer, $dtStats::midAirHeight)){%kcAir =1;}else{%kcAir =2;} %vdis = rayTestDis(%victimPlayer); - + switch$(%victimPlayer.getArmorSize()){ - case "Light":%killerDT.stat["armorL"]++; + case "Light":%killerDT.stat["armorL"]++; switch$(%killerPlayer.getArmorSize()){ - case "Light": %killerDT.stat["armorLL"]++;%killerDT.stat["armorLK"]++; - case "Medium":%killerDT.stat["armorML"]++;%killerDT.stat["armorMK"]++; - case "Heavy": %killerDT.stat["armorHL"]++;%killerDT.stat["armorHK"]++; + case "Light": %killerDT.stat["armorLL"]++;%killerDT.stat["armorLK"]++; + case "Medium":%killerDT.stat["armorML"]++;%killerDT.stat["armorMK"]++; + case "Heavy": %killerDT.stat["armorHL"]++;%killerDT.stat["armorHK"]++; } - case "Medium": %killerDT.stat["armorM"]++; + case "Medium": %killerDT.stat["armorM"]++; switch$(%killerPlayer.getArmorSize()){ - case "Light": %killerDT.stat["armorLM"]++;%killerDT.stat["armorLK"]++; - case "Medium":%killerDT.stat["armorMM"]++;%killerDT.stat["armorMK"]++; - case "Heavy": %killerDT.stat["armorHM"]++;%killerDT.stat["armorHK"]++; + case "Light": %killerDT.stat["armorLM"]++;%killerDT.stat["armorLK"]++; + case "Medium":%killerDT.stat["armorMM"]++;%killerDT.stat["armorMK"]++; + case "Heavy": %killerDT.stat["armorHM"]++;%killerDT.stat["armorHK"]++; } - case "Heavy":%killerDT.stat["armorH"]++; + case "Heavy":%killerDT.stat["armorH"]++; switch$(%killerPlayer.getArmorSize()){ case "Light": %killerDT.stat["armorLH"]++;%killerDT.stat["armorLK"]++; - case "Medium":%killerDT.stat["armorMH"]++;%killerDT.stat["armorMK"]++; - case "Heavy": %killerDT.stat["armorHH"]++;%killerDT.stat["armorHK"]++; + case "Medium":%killerDT.stat["armorMH"]++;%killerDT.stat["armorMK"]++; + case "Heavy": %killerDT.stat["armorHH"]++;%killerDT.stat["armorHK"]++; } } //------------------------------------------------------------------------------ @@ -7214,9 +7219,9 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d %killerDT.stat["cloakersKilled"]++; } if(getSimTime() - %killerPlayer.isCloakTime < 2000 && %killerPlayer.isCloakTime > 0){ - %killerDT.stat["cloakerKills"]++; + %killerDT.stat["cloakerKills"]++; } - + switch$(%damageType){// list of all damage types to track see damageTypes.cs case $DamageType::Bullet: %killerDT.stat["cgKills"]++; @@ -7234,7 +7239,7 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d if(%clKiller.mdHit){%killerDT.stat["minePlusDiscKill"]++;} if(getSimTime() - %clKiller.discReflect < 256){%killerDT.stat["discReflectKill"]++;} - + dtMinMax("discKills", "wep", 1, %killerDT.stat["discKills"], %clKiller); dtMinMax("minePlusDiscKill", "wep", 1, %killerDT.stat["minePlusDiscKill"], %clKiller); case $DamageType::Grenade: @@ -7509,8 +7514,8 @@ function rayTestDis(%targetObject){ function testHit2(%sClient,%tgClient){ %plr = %tgClient.player; %b = getField(%sClient.lastExp,3); - %a = %plr.getWorldBox(); - + %a = %plr.getWorldBox(); + %hit = (getWord(%a, 0) <= getWord(%b, 3) && getWord(%a, 3) >= getWord(%b, 0)) && (getWord(%a, 1) <= getWord(%b, 4) && getWord(%a, 4) >= getWord(%b, 1)) && (getWord(%a, 2)<= getWord(%b, 5) && getWord(%a, 5) >= getWord(%b, 2)); @@ -7614,14 +7619,14 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT %targetClient.lastHitBy = %sourceClient; %targetClient.lastHitTime = getSimTime(); - + if(%targetObject.isShielded && %damageType != $DamageType::Blaster){ %amount = %data.checkShields(%targetObject, %position, %amount, %damageType); if(!%amount){ - %targetDT.stat["shieldPackDmg"] += %amount; + %targetDT.stat["shieldPackDmg"] += %amount; } } - + if(%targetClient.EVDamageType && %targetClient.EVDamageType != %damageType && (getSimTime() - %targetClient.EVDamagetime) < 3000){ // they were hit by something befor they were killed %sourceDT.stat["EVHitWep"]++; @@ -7641,8 +7646,8 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT if(%targetObject.isCloaked()){ %targetObject.isCloakTime = getSimTime(); - } - + } + //%dmgL = %targetObject.getDamageLocation(%position); %rayTest = rayTestDis(%targetObject); if(%rayTest >= $dtStats::midAirHeight && %damageType == $DamageType::Disc){ @@ -7672,7 +7677,7 @@ function clientDmgStats(%data, %position, %sourceObject, %targetObject, %damageT dtMidAirMessage(%sourceClient,"Blaster", %dis, %sourceDT.stat["blasterMA"]); } if(getSimTime() - %sourceObject.client.blasterReflect < 256){%sourceDT.stat["blasterReflectHit"]++;} - + case $DamageType::Plasma: %sourceDT.stat["plasmaDmg"] += %amount; dtMinMax("plasmaDmg", "wep", 1, %sourceDT.stat["plasmaDmg"], %sourceClient); @@ -7903,9 +7908,9 @@ function dtMidAirMessage(%client,%porjName,%distance, %count){ if(%porjName !$= "Blaster"){ messageTeamExcept(%client, 'MsgMidAir', '\c5%1 hit a mid air shot. [%2m, %3]', %client.name, mFloor(%distance), %porjName); } - Game.recalcScore(%client); + Game.recalcScore(%client); } -} +} function dtHeadShotMessage(%client,%distance){ if($dtStats::midAirMessage && Game.class !$= "LakRabbitGame" && !%client.isAIControlled()){ @@ -7913,17 +7918,17 @@ function dtHeadShotMessage(%client,%distance){ messageClient(%client, 'MsgMidAir', '\c0Headshot distance of [%1m]~wfx/misc/bounty_bonus.wav', mFloor(%distance)); //messageTeamExcept(%client, 'MsgMidAir', '\c5%1 hit a head shot. [%2m, %3]', %client.name, mFloor(%distance), %porjName); } -} +} function dtLaserShotMessage(%client,%distance){ if($dtStats::midAirMessage && Game.class !$= "LakRabbitGame" && !%client.isAIControlled()){ - bottomPrint(%client, "HIT! Distance is " @ mFloor(%distance) @ " meters.", 4); + bottomPrint(%client, "HIT! Distance is " @ mFloor(%distance) @ " meters.", 4); //messageTeamExcept(%client, 'MsgMidAir', '\c5%1 hit a head shot. [%2m, %3]', %client.name, mFloor(%distance), %porjName); } -} +} function clientShotsFired(%data, %sourceObject, %projectile){ // could do a fov check to see if we are trying to aim at a player - + %dtStats = %sourceObject.client.dtStats; if(!isObject(%dtStats)) return; @@ -7934,7 +7939,7 @@ function clientShotsFired(%data, %sourceObject, %projectile){ // could do a fov %dtStats.stat["shotsFired"]++; %sourceClient.dtShotSpeed = %projectile.dtShotSpeed = mFloor(vectorLen(%sourceObject.getVelocity()) * 3.6); - + switch$(%damageType){// list of all damage types to track see damageTypes.cs case $DamageType::Bullet: %dtStats.stat["cgShotsFired"]++; @@ -8144,19 +8149,19 @@ function statsMenu(%client,%game){ messageClient(%client, 'SetLineHud', "", %tag, %index++, "Try your best to use different stats in groups 1-11"); messageClient(%client, 'SetLineHud', "", %tag, %index++, "Limit crossover for important roles; use it more for niche ones."); messageClient(%client, 'SetLineHud', "", %tag, %index++, "Stat crossover between groups can pull players into unintended roles."); - + case "TBX": %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; %opt2 = %client.GlArg5; if(%client.tgame $= ""){ - %client.tgame = $dtStats::gtNameShort[%game]; + %client.tgame = $dtStats::gtNameShort[%game]; } switch$(%opt0){ case "AG": $TB::statGroupCount[%client.tgame]++; - if($TB::statGroupCount[%client.tgame] > 11){//cap it no need for this many - $TB::statGroupCount[%client.tgame] = 12; + if($TB::statGroupCount[%client.tgame] > 11){//cap it no need for this many + $TB::statGroupCount[%client.tgame] = 12; } case "RG": $TB::statGroupCount[%client.tgame]--; @@ -8164,7 +8169,7 @@ function statsMenu(%client,%game){ $TB::statGroupCount[%client.tgame] = 1; } case "G": - %client.tgame = %opt1; + %client.tgame = %opt1; case "Enable": $TB::TBEnable[%client.tgame] = !$TB::TBEnable[%client.tgame]; case "FORCE": @@ -8175,7 +8180,7 @@ function statsMenu(%client,%game){ case "Log": $TB::TBLog[%client.tgame] = !$TB::TBLog[%client.tgame]; case "RESET": - deleteVariables("$TB::*"); + deleteVariables("$TB::*"); $TB::TBEnable[%client.tgame] = 0; $TB::TBLog[%client.tgame] = 0; $TB::statGroupCount[%client.tgame] = 1; @@ -8184,14 +8189,14 @@ function statsMenu(%client,%game){ %client.GlArg4 = 0; %client.GlArg5 = 0; if($TB::statGroupCount[%client.tgame] $= ""){ - $TB::statGroupCount[%client.tgame] = 1; + $TB::statGroupCount[%client.tgame] = 1; } saveTBVars(); %line = 'Team Balancer'; messageClient( %client, 'SetScoreHudHeader', "",%line); %line = ' Back - Return To Score Screen [RESET ALL] [Read Me]'; messageClient( %client, 'SetScoreHudSubheader', "",%line); - + if(%client.tgame $= "CTF"){ %line = '[CTF] [LCTF] [Arena]'; messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); @@ -8207,29 +8212,29 @@ function statsMenu(%client,%game){ messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); if($TB::TBEnable[%client.tgame]){ %line = 'Team Balancer [Disable]'; - messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); } else{ %line = 'Team Balancer [Enable]'; messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); - } + } if($TB::TBLog[%client.tgame]){ %line = 'Balancer Logging [Disable]'; - messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); } else{ %line = 'Balancer Logging [Enable]'; messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); } - messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); + messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); if($TB::TBEnable[%client.tgame]){ %line = '[Force Team Balance] - May Cause the server to hitch'; - messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); - messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); + messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); + messageClient(%client, 'SetLineHud', "", %tag, %index++, ""); } %line = 'Add Groups/Roles - 12 Max <%1> '; messageClient(%client, 'SetLineHud', "", %tag, %index++, %line, $TB::statGroupCount[%client.tgame]); - + for(%i = 0; %i < $TB::statGroupCount[%client.tgame]; %i++){ if((%i % 4) == 0){ %line = "Group" SPC %i SPC "\t"; @@ -8251,7 +8256,7 @@ function statsMenu(%client,%game){ messageClient(%client, 'SetLineHud', "", %tag, %index++, %line); messageClient(%client, 'SetLineHud', "", %tag, %index++, %line2); } - + case "TBV": %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; @@ -8260,16 +8265,16 @@ function statsMenu(%client,%game){ %client.curPage = 1; } if(%client.tgame $= ""){ - %client.tgame = $dtStats::gtNameShort[%game.class]; + %client.tgame = $dtStats::gtNameShort[%game.class]; } if(%client.arrowRes $= ""){ - %client.arrowRes = 1; + %client.arrowRes = 1; } if(%client.editGrp $= ""){ - %client.editGrp = 0; + %client.editGrp = 0; } %perPage = 16;// num of games listed per page - + switch$(%opt0){ case "X": %client.editGrp = %opt1; @@ -8288,12 +8293,12 @@ function statsMenu(%client,%game){ if($TB::statCount[%client.tgame,%client.editGrp] $= ""){ $TB::statCount[%client.tgame, %client.editGrp] = 0; } - + if($TB::statWeight[%var,%client.tgame, %client.editGrp] $= ""){ %count = $TB::statCount[%client.tgame,%client.editGrp]; $TB::statName[%count,%client.tgame,%client.editGrp] = %var; $TB::statWeight[%count,%client.tgame,%client.editGrp] = 100; - + $TB::statIndex[%var, %client.tgame, %client.editGrp] = %count; $TB::statCount[%client.tgame,%client.editGrp]++; } @@ -8306,7 +8311,7 @@ function statsMenu(%client,%game){ $TB::statName[%i, %client.tgame, %client.editGrp] = $TB::statName[%i + 1, %client.tgame, %client.editGrp]; $TB::statWeight[%i, %client.tgame, %client.editGrp] = $TB::statWeight[%i + 1, %client.tgame, %client.editGrp]; // Update index for the moved stat - %movedVar = $TB::statName[%i, %client.tgame, %client.editGrp]; + %movedVar = $TB::statName[%i, %client.tgame, %client.editGrp]; $TB::statIndex[%movedVar, %client.tgame, %client.editGrp] = %i; } @@ -8314,7 +8319,7 @@ function statsMenu(%client,%game){ %last = $TB::statCount[%client.tgame, %client.editGrp] - 1; $TB::statName[%last, %client.tgame, %client.editGrp] = ""; $TB::statWeight[%last, %client.tgame, %client.editGrp] = ""; - + // Remove reference from index mapping $TB::statIndex[%var, %client.tgame, %client.editGrp] = ""; @@ -8329,10 +8334,10 @@ function statsMenu(%client,%game){ case "B": %client.curPage--; if(%client.curPage < 1){ - %client.curPage = 1; + %client.curPage = 1; } - case "R": - %client.curPage = 1; + case "R": + %client.curPage = 1; case "AR": %client.arrowRes = %opt1; } @@ -8366,7 +8371,7 @@ function statsMenu(%client,%game){ %line = 'Variable NameAdd/RemoveAdjust Weight Group Crossover'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - + //$dtStats::TBG[$dtStats::TBGC["ArenaGame"]++,"ArenaGame"] = "laserKillDist"; //$dtStats::TBGC["ArenaGame"]++; @@ -8377,18 +8382,18 @@ function statsMenu(%client,%game){ %var = $dtStats::TBG[%indexInArray, %client.tgame]; %sindex = $TB::statIndex[%var, %client.tgame, %client.editGrp]; // Skip over "Game" category variables but continue looping - if (%sindex $= "") { + if (%sindex $= "") { %line = ' %3ADD'; messageClient(%client, 'SetLineHud', "", %tag, %index++, %line, "AS", %indexInArray, %var); - } + } else { %g = ""; for(%m = 0; %m < $TB::statGroupCount[%client.tgame]; %m++){ - %si = $TB::statIndex[%var, %client.tgame, %m]; + %si = $TB::statIndex[%var, %client.tgame, %m]; if(%si !$= ""){ - %g = %g SPC %m; + %g = %g SPC %m; } - } + } %w = $TB::statWeight[%sindex, %client.tgame, %client.editGrp]; %line = ' %3\tRmv\t <%4> \t%6'; messageClient(%client, 'SetLineHud', "", %tag, %index++, %line, "RS", %indexInArray, %var, mFormatFloat(%w / 100, "%.2f"),%client.arrowRes,%g); @@ -8400,7 +8405,7 @@ function statsMenu(%client,%game){ case "SP": if(!%client.isSuperAdmin){ error(%client.nameBase SPC "failed to access server panel"); - return; + return; } %opt1 = %client.GlArg4; %opt2 = %client.GlArg5; @@ -8418,11 +8423,11 @@ function statsMenu(%client,%game){ //$dtJoinListCount++; if(!%client.curPage) %client.curPage = 1; - + messageClient(%client, 'SetScoreHudHeader', "", "Auth Queue"); - + //rmvFailJoin(%index) - + if(getWord(%opt2,0) $= "GUID"){ %data = $dtJoinList[getWord(%opt2,1)]; //$dtJoinList[0] = %name TAB %guid TAB %ip TAB %reason TAB %type; @@ -8434,8 +8439,8 @@ function statsMenu(%client,%game){ } %client.GlArg5 = 0; %f = 48 * (%client.curPage - 1); - } - else{ + } + else{ switch$(%opt2){ case "NP"://next page %client.curPage++; @@ -8446,19 +8451,19 @@ function statsMenu(%client,%game){ %client.GlArg5 = 0; %f = 48 * (%client.curPage - 1); case "CLR"://back page - deleteVariables("$dtJoinList*"); + deleteVariables("$dtJoinList*"); $dtJoinListCount = 0; %client.curPage = 1; %client.GlArg5 = 0; %f = 0; case "CLRP": - for(%x = 0; %x < $dtJoinListCount ; %x++) { + for(%x = 0; %x < $dtJoinListCount ; %x++) { %guid = getField($dtJoinList[%x],1); if(isObject($dtWhtList::WhiteList[%guid])){ $dtJoinListGuid[%guid] = ""; - for(%i = %x; %i < $dtJoinListCount - 1; %i++) { - $dtJoinList[%i] =$dtJoinList[%i+1]; - } + for(%i = %x; %i < $dtJoinListCount - 1; %i++) { + $dtJoinList[%i] =$dtJoinList[%i+1]; + } $dtJoinList[%i] = ""; $dtJoinListCount--; %x--; @@ -8468,16 +8473,16 @@ function statsMenu(%client,%game){ %client.GlArg5 = 0; default: %client.curPage = 1; - %f = 0; - + %f = 0; + } } - + %amount = $dtJoinListCount; %lns = mFloor(%amount/3); %leftOver = %amount - (%lns * 3); %numPages = mCeil(%amount/48); - + if(%numPages > 1){ if(%client.curPage < %numPages && %client.curPage == 1){// %line = ' Back - Return To Score Screen - Next Page >'; @@ -8491,24 +8496,24 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page'; messageClient( %client, 'SetScoreHudSubheader', "", %line ,0, "WLQUEUE"); } - + } else{ - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); } %line = 'Sorted recent to old with a rolling cap of %4 '; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"WLQUEUE","CLR",$dtStats::joinHist,"CLRP"); - + for(%i = (%client.curPage - 1) * 16; %i < %client.curPage * 16 && %i < %lns; %i++){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %vsc3 = %f; %f++; - + %AR1 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc1],1)]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; + %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc2],1)]) ? "Remove" : "Add"; - %plr2 = %vsc2 @ ":" @ getField($dtJoinList[%vsc2],0) SPC %AR2; + %plr2 = %vsc2 @ ":" @ getField($dtJoinList[%vsc2],0) SPC %AR2; %AR3 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc3],1)]) ? "Remove" : "Add"; %plr3 = %vsc3 @ ":" @ getField($dtJoinList[%vsc3],0) SPC %AR3; - + %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WLQUEUE", %plr1, %plr2, %plr3, "GUID" SPC %vsc1, "GUID" SPC %vsc2, "GUID" SPC %vsc3, 1); } @@ -8516,27 +8521,27 @@ function statsMenu(%client,%game){ if(%leftOver == 2){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc1],1)]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; + %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc2],1)]) ? "Remove" : "Add"; %plr2 = %vsc2 @ ":" @ getField($dtJoinList[%vsc2],0) SPC %AR2; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WLQUEUE", %plr1, %plr2, "", "GUID" SPC %vsc1, "GUID" SPC %vsc2, ""); - } + } else if(%leftOver == 1){ %vsc1 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[getField($dtJoinList[%vsc1],1)]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; + %plr1 = %vsc1 @ ":" @ getField($dtJoinList[%vsc1],0) SPC %AR1; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WLQUEUE", %plr1, "", "", "GUID" SPC %vsc1, "", ""); } - } + } return; case "STATS"://add from stats if(!%client.curPage) %client.curPage = 1; messageClient(%client, 'SetScoreHudHeader', "", "White List Add From Stats"); - + if(getWord(%opt2,0) $= "GUID"){// make sure its valid client and guid if(!isObject($dtWhtList::WhiteList[getWord(%opt2,1)])) pushWhiteList(getWord(%opt2,1), getField($guidInfo[getWord(%opt2,1)],0)); @@ -8544,8 +8549,8 @@ function statsMenu(%client,%game){ rmvWhiteListGuid(getWord(%opt2,1)); %client.GlArg5 = 0; %f = 45 * (%client.curPage - 1); - } - else{ + } + else{ switch$(%opt2){ case "NP"://next page %client.curPage++; @@ -8594,7 +8599,7 @@ function statsMenu(%client,%game){ if(%gameCountM >= 48){ pushWhiteList(%guid, getField($guidInfo[%guid],0)); } - } + } case "A64": for(%i = 0; %i < $guidListCount; %i++){ %guid = $guidList[%i]; @@ -8604,22 +8609,22 @@ function statsMenu(%client,%game){ } } default: - %client.curPage = 1; - %f = 0; + %client.curPage = 1; + %f = 0; } } - + %line = 'Add all, games played monthly - <8><16><24><32><48><64>'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"STATS"); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"STATS"); + %line = 'Game count: Player Name, Server averages: Day %3, Week %4, Month %5.'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"STATS",getField($guidAvgs,0),getField($guidAvgs,1),getField($guidAvgs,2)); - + %amount = $guidListCount;// safer method instead of client group do to how offton it changes %lns = mFloor(%amount/3); %leftOver = %amount - (%lns * 3); %numPages = mCeil(%amount/45); - + if(%numPages > 1){ if(%client.curPage < %numPages && %client.curPage == 1){// %line = ' Back - Return To Score Screen - Next Page >'; @@ -8633,22 +8638,22 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page'; messageClient( %client, 'SetScoreHudSubheader', "", %line ,0, "STATS"); } - + } else{ - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen', 0, "WHITELIST"); + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen', 0, "WHITELIST"); } - + for(%i = (%client.curPage - 1) * 15; %i < %client.curPage * 15 && %i < %lns; %i++){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %vsc3 = %f; %f++; - + %AR1 = isObject($dtWhtList::WhiteList[$guidList[%vsc1]]) ? "Remove" : "Add"; - %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; + %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[$guidList[%vsc2]]) ? "Remove" : "Add"; - %plr2 = getField($guidInfo[$guidList[%vsc2]],3) @ ":" @ getField($guidInfo[$guidList[%vsc2]],0) SPC %AR2; + %plr2 = getField($guidInfo[$guidList[%vsc2]],3) @ ":" @ getField($guidInfo[$guidList[%vsc2]],0) SPC %AR2; %AR3 = isObject($dtWhtList::WhiteList[$guidList[%vsc3]]) ? "Remove" : "Add"; %plr3 = getField($guidInfo[$guidList[%vsc3]],3) @ ":" @ getField($guidInfo[$guidList[%vsc3]],0) SPC %AR3; - + %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "STATS", %plr1, %plr2, %plr3, "GUID" SPC $guidList[%vsc1], "GUID" SPC $guidList[%vsc2], "GUID" SPC $guidList[%vsc3]); } @@ -8656,16 +8661,16 @@ function statsMenu(%client,%game){ if(%leftOver == 2){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[$guidList[%vsc1]]) ? "Remove" : "Add"; - %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; + %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[$guidList[%vsc2]]) ? "Remove" : "Add"; %plr2 = getField($guidInfo[$guidList[%vsc2]],3) @ ":" @ getField($guidInfo[$guidList[%vsc2]],0) SPC %AR2; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "STATS", %plr1, %plr2, "", "GUID" SPC $guidList[%vsc1], "GUID" SPC $guidList[%vsc2], ""); - } + } else if(%leftOver == 1){ %vsc1 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[$guidList[%vsc1]]) ? "Remove" : "Add"; - %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; + %plr1 = getField($guidInfo[$guidList[%vsc1]],3) @ ":" @ getField($guidInfo[$guidList[%vsc1]],0) SPC %AR1; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "STATS", %plr1, "", "", "GUID" SPC $guidList[%vsc1], "", ""); } @@ -8674,9 +8679,9 @@ function statsMenu(%client,%game){ case "SERVER"://add from current server if(!%client.curPage) %client.curPage = 1; - + messageClient(%client, 'SetScoreHudHeader', "", "White List Add From Server"); - + if(getWord(%opt2,0) $= "RMV"){// make sure its valid client and guid %clObj = getWord(%opt2,1); if(!isObject($dtWhtList::WhiteList[%clObj.guid])) @@ -8686,7 +8691,7 @@ function statsMenu(%client,%game){ %client.GlArg5 = 0; %f = 51 * (%client.curPage - 1); } - else{ + else{ switch$(%opt2){ case "NP"://next page %client.curPage++; @@ -8700,16 +8705,16 @@ function statsMenu(%client,%game){ case "RM": default: %client.curPage = 1; - %f = 0; - + %f = 0; + } } - + %amount = isObject(statsGroup) ? statsGroup.getCount() : 0;// safer method instead of client group do to how offton it changes %lns = mFloor(%amount/3); %leftOver = %amount - (%lns * 3); %numPages = mCeil(%amount/51); - + if(%numPages > 1){ if(%client.curPage < %numPages && %client.curPage == 1){// %line = ' Back - Return To Score Screen - Next Page > - '; @@ -8723,22 +8728,22 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page - '; messageClient( %client, 'SetScoreHudSubheader', "", %line ,0, "SERVER"); } - + } else{ - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen - ',0, "WHITELIST"); + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen - ',0, "WHITELIST"); } - + for(%i = (%client.curPage - 1) * 17; %i < %client.curPage * 17 && %i < %lns; %i++){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %vsc3 = %f; %f++; - + %AR1 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc1).guid]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; + %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc2).guid]) ? "Remove" : "Add"; - %plr2 = %vsc2 @ ":" @ statsGroup.getObject(%vsc2).name SPC %AR2; + %plr2 = %vsc2 @ ":" @ statsGroup.getObject(%vsc2).name SPC %AR2; %AR3 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc3).guid]) ? "Remove" : "Add"; %plr3 = %vsc3 @ ":" @ statsGroup.getObject(%vsc3).name SPC %AR3; - + %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "SERVER", %plr1, %plr2, %plr3, "RMV" SPC statsGroup.getObject(%vsc1), "RMV" SPC statsGroup.getObject(%vsc2), "RMV" SPC statsGroup.getObject(%vsc3)); } @@ -8746,16 +8751,16 @@ function statsMenu(%client,%game){ if(%leftOver == 2){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc1).guid]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; + %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; %AR2 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc2).guid]) ? "Remove" : "Add"; - %plr2 = %vsc2 @ ":" @ statsGroup.getObject(%vsc2).name SPC %AR2; + %plr2 = %vsc2 @ ":" @ statsGroup.getObject(%vsc2).name SPC %AR2; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "SERVER", %plr1, %plr2, "", "RMV" SPC statsGroup.getObject(%vsc1), "RMV" SPC statsGroup.getObject(%vsc2), ""); - } + } else if(%leftOver == 1){ %vsc1 = %f; %f++; %AR1 = isObject($dtWhtList::WhiteList[statsGroup.getObject(%vsc1).guid]) ? "Remove" : "Add"; - %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; + %plr1 = %vsc1 @ ":" @ statsGroup.getObject(%vsc1).name SPC %AR1; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "SERVER", %plr1, "", "", "RMV" SPC statsGroup.getObject(%vsc1), "", ""); } @@ -8764,15 +8769,15 @@ function statsMenu(%client,%game){ case "WHITELIST": if(!%client.curPage) %client.curPage = 1; - + messageClient( %client, 'SetScoreHudHeader', "", "White List"); - + if(getWord(%opt2,0) $= "RMV" && isObject(serverSafeList.getObject(getWord(%opt2,1)))){ rmvWhiteListIndex(getWord(%opt2,1)); %client.GlArg5 = 0; %f = 51 * (%client.curPage - 1); - } - else{ + } + else{ switch$(%opt2){ case "NP"://next page %client.curPage++; @@ -8784,15 +8789,15 @@ function statsMenu(%client,%game){ %f = 51 * (%client.curPage - 1); default: %client.curPage = 1; - %f = 0; + %f = 0; } } - + %amount = isObject(serverSafeList) ? serverSafeList.getCount() : 0; %lns = mFloor(%amount/3); %leftOver = %amount - (%lns * 3); %numPages = mCeil(%amount/51); - + if(%numPages > 1){ if(%client.curPage < %numPages && %client.curPage == 1){// %line = ' Back - Return To Score Screen - Next Page > - Add/Rmv From '; @@ -8806,32 +8811,32 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page'; messageClient( %client, 'SetScoreHudSubheader', "", %line ,0, "WHITELIST"); } - + } else{ - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen - Add/Rmv From ',0); + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen - Add/Rmv From ',0); } - + for(%i = (%client.curPage - 1) * 17; %i < %client.curPage * 17 && %i < %lns; %i++){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; %vsc3 = %f; %f++; - %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; - %plr2 = %vsc2 @ ":" @ serverSafeList.getObject(%vsc2).name SPC "Remove"; + %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; + %plr2 = %vsc2 @ ":" @ serverSafeList.getObject(%vsc2).name SPC "Remove"; %plr3 = %vsc3 @ ":" @ serverSafeList.getObject(%vsc3).name SPC "Remove"; - + %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WHITELIST", %plr1, %plr2, %plr3, "RMV" SPC %vsc1, "RMV" SPC %vsc2, "RMV" SPC %vsc3); } if(%numPages == %client.curPage){ if(%leftOver == 2){ %vsc1 = %f; %f++; %vsc2 = %f; %f++; - %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; - %plr2 = %vsc2 @ ":" @ serverSafeList.getObject(%vsc2).name SPC "Remove"; + %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; + %plr2 = %vsc2 @ ":" @ serverSafeList.getObject(%vsc2).name SPC "Remove"; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WHITELIST", %plr1, %plr2, "", "RMV" SPC %vsc1, "RMV" SPC %vsc2, ""); - } + } else if(%leftOver == 1){ %vsc1 = %f; %f++; - %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; + %plr1 = %vsc1 @ ":" @ serverSafeList.getObject(%vsc1).name SPC "Remove"; %line = '\t%3\t%4\t%5'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "WHITELIST", %plr1, "", "", "RMV" SPC %vsc1, "", ""); } @@ -8840,9 +8845,9 @@ function statsMenu(%client,%game){ case "BL": if(!%client.curPage) %client.curPage = 1; - + messageClient( %client, 'SetScoreHudHeader', "", "Ban/Kick List"); - + if(getWord(%opt2,0) $= "RMV" && dtBanList.getObject(getWord(%opt2,0) != -1)){ unbanUserObj(dtBanList.getObject(getWord(%opt2,1)));//function makes echo report %client.GlArg5 = 0; @@ -8855,8 +8860,8 @@ function statsMenu(%client,%game){ saveBanList(); } - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); - + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); + %banlistCount = 0; for(%i = 0; %i < dtBanList.getCount(); %i++){ %banObj = dtBanList.getObject(%i); @@ -8867,7 +8872,7 @@ function statsMenu(%client,%game){ } else{ %plrLine = %plrLine @ "\t" @ %banObj.name @ ":" @ numReduce(%banObj.banLengthMin - getTimeDelta(%banObj.banDateTime),0); - %line = %line @ "\tUnban - Perma"; + %line = %line @ "\tUnban - Perma"; } %banlistCount++; if(!(%banlistCount % 3)){ @@ -8882,7 +8887,7 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetLineHud', "", %tag, %index++, %plrLine); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } - + return; case "RESET": %client.GlArg4 = 0; @@ -8894,24 +8899,24 @@ function statsMenu(%client,%game){ case "WLRESET": messageClient( %client, 'SetScoreHudHeader', "", "Confirm?"); messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); - messageClient( %client, 'SetLineHud', "", %tag, %index++, ''); + messageClient( %client, 'SetLineHud', "", %tag, %index++, ''); %line = ' DELETE WHITELIST? '; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"WLRESETSTEP2"); return; - + case "buildStats": if(!$dtStats::building){ compileStats(); %client.GlArg4 = 0; } - + %client.GlArg4 = 0; case "customAdd": $dtServerVars::custom++; $dtStats::curCustom = $dtServerVars::custom; %client.GlArg4 = 0; if(isEventPending(%client.expSch)){ - cancel(%client.expSch); + cancel(%client.expSch); } %client.expSch = schedule(10000,0,"export", "$dtServerVars::*", "serverStats/serverVars.cs", false ); $dtStats::reloadTotal = 1; @@ -8920,7 +8925,7 @@ function statsMenu(%client,%game){ $dtStats::curCustom = $dtServerVars::custom; %client.GlArg4 = 0; if(isEventPending(%client.expSch)){ - cancel(%client.expSch); + cancel(%client.expSch); } %client.expSch = schedule(10000,0,"export", "$dtServerVars::*", "serverStats/serverVars.cs", false ); $dtStats::reloadTotal = 1; @@ -8983,20 +8988,20 @@ function statsMenu(%client,%game){ } } else{ - %line = ' + Disable tournament mode to compile stats'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ' + Disable tournament mode to compile stats'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } } else{ - %line = ' + No Tournament Map Stats To Compile'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ' + No Tournament Map Stats To Compile'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } %glist = 0; if(isObject(pubList)){ for(%i = 0; %i < pubList.getCount(); %i++){ %gobj = pubList.getObject(%i); %glist += %gobj.getCount(); - } + } } if(%glist > 0){ if(!$Host::TournamentMode){ @@ -9010,18 +9015,18 @@ function statsMenu(%client,%game){ } } else{ - %line = ' + Disable tournament mode to compile stats'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ' + Disable tournament mode to compile stats'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } } else{ - %line = ' + No Map Stats To Compile'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ' + No Map Stats To Compile'; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } } else{ %line = ' + Map stats can only be enabled in CTF - LCTF'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } %line = ' + Map Play Statistics'; @@ -9030,14 +9035,14 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,1, ML.TypeIndex[$CurrentMissionType]); //------------------------------------------------------------------------------ // messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - + %line = ' + Server Health Info - Last Event = %1 Minutes'; %evTime = ((getSimTime() - $dtStats:lastEvent)/1000)/60; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%evTime); - + %line = ' + Team Balancer'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - + %statIndex = $dtServerVars::custom > 1 ? $dtServerVars::custom : 1; %line = ' + Custom Stat Interval - Current Index: < %4 >'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,0,0,%statIndex); @@ -9049,10 +9054,10 @@ function statsMenu(%client,%game){ // %line = ' + Stop Player Plot'; // messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"plotDisable"); // } - + messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - - + + if($dtServerVars::WhiteListMode){ %line = ' + Disable Whitelist - Disabling will open the server to anyone'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"LISTENABLE",0); @@ -9061,7 +9066,7 @@ function statsMenu(%client,%game){ %line = ' + Enable Whitelist - Enabling will locked the server to approve accounts only'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"LISTENABLE",1); } - + if(isFile($dtStats::IPBanListFile)){ if($dtServerVars::IPBanListMode){ %line = ' + Disable IP Ban List - Disables only this feature'; @@ -9072,29 +9077,29 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"IPBANLISTENABLE",1); } } - + %line = ' + View Ban List - Unban a player'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line, 0, "BL", "RS"); - + %line = ' + View White List - Add or Remove player from list, ban/kick auto removes'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"WHITELIST", "RS"); - + %line = ' + White List Queue - There are %4 accounts that need approval'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"WLQUEUE", "RS",$dtJoinListCount); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - + %line = ' + Reset White List - Clears everything'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,"WLRESET",0); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, ""); - - + + case "CST": %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; %opt2 = %client.GlArg5; - + switch$(%opt0){ case "tmc": if(!$dtStats::tmCompile){ @@ -9105,14 +9110,14 @@ function statsMenu(%client,%game){ case "rmv": %opt1.select = 0; case "add": - %opt1.select = 1; + %opt1.select = 1; case "del": if(isObject(%opt1)){ %opt1.delete(); pugList.schedule(1000,"save","serverStats/pugLog.cs", 0); } } - + messageClient( %client, 'SetScoreHudHeader', "", "Map Stats Compile"); if($dtStatsImgBuild || $dtStats::tmCompile){ %line = ' Back - Return To Score Screen Stats Compiling '; @@ -9121,31 +9126,31 @@ function statsMenu(%client,%game){ else{ if(($HostGamePlayerCount - $HostGameBotCount) < 6){ %line = ' Back - Return To Score Screen Compile Selected Stats'; - messageClient( %client, 'SetScoreHudSubheader', "", %line,0); + messageClient( %client, 'SetScoreHudSubheader', "", %line,0); } else{ %line = ' Back - Return To Score Screen Compile Stats Locked'; messageClient( %client, 'SetScoreHudSubheader', "", %line,0); } } - - %hasCount = 0; %line = ""; + + %hasCount = 0; %line = ""; for(%i = 0; %i < pugList.getCount(); %i++){ %grpObj = pugList.getObject(%i); for(%x = 0; %x < %grpObj.getCount(); %x++){ %mid = %grpObj.getObject(%x); if(%client.statSlot == %mid.statSlot){ %line = %mid.mapName SPC %mid.teamOne SPC %mid.teamTwo SPC %mid.gameType SPC %mid.date; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - if(!%mid.select){ + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + if(!%mid.select){ %line = " "; } else{ - %line = " "; + %line = " "; } - - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } } } @@ -9154,7 +9159,7 @@ function statsMenu(%client,%game){ //pugID = $dtStats::gameID; //mapName = $MissionDisplayName; //date = formattimestring("M-d-yy"); - //teamOne = $TeamScore[1]; + //teamOne = $TeamScore[1]; //teamTwo = $TeamScore[2]; //gameType = %game.class; //}; @@ -9163,7 +9168,7 @@ function statsMenu(%client,%game){ %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; %opt2 = %client.GlArg5; - + switch$(%opt0){ case "gmc": if(!$dtStats::tmCompile){ @@ -9174,14 +9179,14 @@ function statsMenu(%client,%game){ case "rmv": %opt1.select = 0; case "add": - %opt1.select = 1; + %opt1.select = 1; case "del": if(isObject(%opt1)){ %opt1.delete(); pubList.schedule(1000,"save","serverStats/pubLog.cs", 0); } } - + messageClient( %client, 'SetScoreHudHeader', "", "Map Stats Compile"); if($dtStatsImgBuild || $dtStats::tmCompile){ %line = ' Back - Return To Score Screen Stats Compiling '; @@ -9190,34 +9195,34 @@ function statsMenu(%client,%game){ else{ if(($HostGamePlayerCount - $HostGameBotCount) < 6){ %line = ' Back - Return To Score Screen Compile Selected Stats'; - messageClient( %client, 'SetScoreHudSubheader', "", %line,0); + messageClient( %client, 'SetScoreHudSubheader', "", %line,0); } else{ %line = ' Back - Return To Score Screen Compile Stats Locked'; - messageClient( %client, 'SetScoreHudSubheader', "", %line,0); + messageClient( %client, 'SetScoreHudSubheader', "", %line,0); } } - %hasCount = 0; %line = ""; + %hasCount = 0; %line = ""; for(%i = 0; %i < pubList.getCount(); %i++){ %grpObj = pubList.getObject(%i); for(%x = 0; %x < %grpObj.getCount(); %x++){ %mid = %grpObj.getObject(%x); if(%client.statSlot == %mid.statSlot){ %line = %mid.mapName SPC %mid.teamOne SPC %mid.teamTwo SPC %mid.gameType SPC %mid.date; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - if(!%mid.select){ + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + if(!%mid.select){ %line = " "; } else{ - %line = " "; + %line = " "; } - - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } } - } + } case "MAP": %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; @@ -9260,14 +9265,14 @@ function statsMenu(%client,%game){ %client.GlArg3 = 0; %client.GlArg4 = 0; if( ML.curMapList $= ""){ - ML.curMapList = 0; + ML.curMapList = 0; } messageClient( %client, 'SetScoreHudHeader', "", "Map Config"); %line = ' Back - Return To Score Screen Reset All To Default '; - + messageClient( %client, 'SetScoreHudSubheader', "", %line,0); - messageClient( %client, 'SetLineHud', "", %tag, %index++, 'Number of maps for given player numbers'); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, 'Number of maps for given player numbers'); + if(!$dtMapRebuild && ML.curMapList != 3){ deleteVariables("$dtMapMinMax*"); for ( %i = 0; %i < ML.getCount(); %i++ ){ @@ -9276,17 +9281,17 @@ function statsMenu(%client,%game){ if(getField(%ms,0)){ for ( %r = getField(%ms,2); %r <= getField(%ms,3); %r++ ){ if(!getFieldCount($dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList])){ - $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] = %i; + $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] = %i; } else{ - $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] = $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] TAB %i; + $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] = $dtMapMinMax[%r, ML.TypeName[%client.gmType],ML.curMapList] TAB %i; } } } } $dtMapRebuild = 1; } - + %vv = 70; %line = ""; for(%z = 0; %z < 64; %z++){ @@ -9299,18 +9304,18 @@ function statsMenu(%client,%game){ %line = %line @ %z+1 @ "-" @ getFieldCount(%maps) @ "\t"; } if((%z % 8) == 7){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); %line = ""; } } - + if((%z-1 % 8) < 7) - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - - + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + + %vv = 100; %line = ""; - for(%z = 0; %z < ML.TypeCount; %z++){ + for(%z = 0; %z < ML.TypeCount; %z++){ if(%z $= %client.gmType){ %line = %line @ "|" @ ML.TypeName[%z]@ "|\t"; } @@ -9318,15 +9323,15 @@ function statsMenu(%client,%game){ %line = %line @ "|" @ ML.TypeName[%z] @ "|\t"; } if((%z % 5) == 4){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - %line = ""; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ""; } } if((%z-1 % 5) != 4){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } - - //messageClient( %client, 'SetLineHud', "", %tag, %index++, ''); + + //messageClient( %client, 'SetLineHud', "", %tag, %index++, ''); if(ML.enable){ if(!ML.saveMapPlayed){ %line = ' + Disable Map Custom Rotation - Enable Non Repeat Map Rotation'; @@ -9342,9 +9347,9 @@ function statsMenu(%client,%game){ %line = ' + Enable Map Custom Rotation - overrides other map systems for this one'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%client.gmType,3,0); } - + messageClient( %client, 'SetLineHud', "", %tag, %index++, ''); - + %mapList = ML.curMapList; switch(%mapList){ case 0: @@ -9362,24 +9367,24 @@ function statsMenu(%client,%game){ } %line = ' |Edit Rotation|\t |Edit Rotation|\t |Edit Rotation|\t |Edit Rotation|'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - + case "MF": %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; %opt2 = %client.GlArg5; - switch(%opt0){ + switch(%opt0){ case 1:// page next %client.curPageMF++; - case 2:// page back; - %client.curPageMF--; + case 2:// page back; + %client.curPageMF--; if(%client.curPageMF < 0){ - %client.curPageMF = 0; + %client.curPageMF = 0; } - case 3: + case 3: %client.curPageMF = 0; case 4: %fields = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; - $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = setField(%fields,2, %opt2); + $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = setField(%fields,2, %opt2); case 5:// remove fixed if($dtFixedMapCount[ML.TypeName[%client.gmType]]){ $dtFixedMapCount[ML.TypeName[%client.gmType]]--; @@ -9389,19 +9394,19 @@ function statsMenu(%client,%game){ } case 6://move up if(%opt1-1 > -1){ - %A = $dtFixedMapList[%opt1-1, ML.TypeName[%client.gmType]]; - %B = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; + %A = $dtFixedMapList[%opt1-1, ML.TypeName[%client.gmType]]; + %B = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; $dtFixedMapList[%opt1-1, ML.TypeName[%client.gmType]] = %B; $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = %A; } case 7://move down if(%opt1+1 < $dtFixedMapCount[ML.TypeName[%client.gmType]]){ - %A = $dtFixedMapList[%opt1+1, ML.TypeName[%client.gmType]]; - %B = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; + %A = $dtFixedMapList[%opt1+1, ML.TypeName[%client.gmType]]; + %B = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; $dtFixedMapList[%opt1+1, ML.TypeName[%client.gmType]] = %B; $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = %A; } - case 8://first + case 8://first if($dtFixedMapCount[ML.TypeName[%client.gmType]] > 1){ %element = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; for (%i = %opt1; %i > 0; %i--) { @@ -9411,7 +9416,7 @@ function statsMenu(%client,%game){ } case 9://last if($dtFixedMapCount[ML.TypeName[%client.gmType]] > 1){ - %element = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; + %element = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; %size = $dtFixedMapCount[ML.TypeName[%client.gmType]] - 1; for (%i = %opt1; %i < %size; %i++) { $dtFixedMapList[%i, ML.TypeName[%client.gmType]] = $dtFixedMapList[%i + 1, ML.TypeName[%client.gmType]]; @@ -9422,12 +9427,12 @@ function statsMenu(%client,%game){ if(%opt0 > 3){ saveMapRot(); if(ML.enable && %client.curMapList == ML.curMapList ){ - buildMissionList(); + buildMissionList(); } } - %client.GlArg3 = 0; + %client.GlArg3 = 0; messageClient( %client, 'SetScoreHudHeader', "", " Fixed Map Rotation"); - + if((%client.curPageMF+1) * 16 < $dtFixedMapCount[ML.TypeName[%client.gmType]]){ if(%client.curPageMF == 0){ %line = ' Back - Return To Score Screen - Next Page >'; @@ -9441,7 +9446,7 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page'; messageClient( %client, 'SetScoreHudSubheader', "", %line ,%Client); } - + } else{ if(%client.curPageMF > 0){ @@ -9449,29 +9454,29 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetScoreHudSubheader', "", %line); } else{ - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen'); + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen'); } } - - - + + + %line = 'Map List \t Rmv-Remove A-Allow Vote X-Deny F-First L-Last'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %r = 0; - for(%i = %client.curPageMF * 16; %i < $dtFixedMapCount[ML.TypeName[%client.gmType]] && %r < 16; %i++){ + for(%i = %client.curPageMF * 16; %i < $dtFixedMapCount[ML.TypeName[%client.gmType]] && %r < 16; %i++){ %mapFields = $dtFixedMapList[%i, ML.TypeName[%client.gmType]]; %name2 = getField(%mapFields,1); %name2 = (strLen(%name2) > 21) ? getSubStr(%name2, 0, 21) @ ".." : %name2; - + %vote = (getField(%mapFields,2) == 0) ? "A" : "X"; %move = "U" SPC "D"; %first = "F" SPC "L"; %line = ""@ %i @ ":" @ %name2 @ "\tRmv" SPC %vote SPC %move SPC %first; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - %r++; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %r++; } - + case "M": %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; @@ -9485,10 +9490,10 @@ function statsMenu(%client,%game){ %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 0); } else{ - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); } } - $dtMapRebuild = 0; + $dtMapRebuild = 0; if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); } @@ -9498,11 +9503,11 @@ function statsMenu(%client,%game){ %client.curPage = 0; %client.pageZ[%client.curPage] = 0; case 3://next page - %client.curPage++; + %client.curPage++; case 4://back page %client.curPage--; if(%client.curPage == 0){ - %client.pageZ[%client.curPage] = 0; + %client.pageZ[%client.curPage] = 0; } if(%client.curPage < 0){ %client.curPage = 0; @@ -9530,11 +9535,11 @@ function statsMenu(%client,%game){ %mapObj = ML.getObject(%z); if(%mapObj.typeList[ML.TypeName[%client.gmType]]){ %options = %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList]; - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); } } } - $dtMapRebuild = 0; + $dtMapRebuild = 0; if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); } @@ -9550,7 +9555,7 @@ function statsMenu(%client,%game){ $dtFixedMapCount[ML.TypeName[%client.gmType]]--; if($dtFixedMapCount[ML.TypeName[%client.gmType]] < 1){ $dtFixedMapCount[ML.TypeName[%client.gmType]] = 0; - break; + break; } } } @@ -9561,11 +9566,11 @@ function statsMenu(%client,%game){ %mapObj = ML.getObject(%z); if(%mapObj.typeList[ML.TypeName[%client.gmType]]){ %options = %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList]; - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 0); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 0); } } } - $dtMapRebuild = 0; + $dtMapRebuild = 0; if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); } @@ -9580,7 +9585,7 @@ function statsMenu(%client,%game){ if(!isEventPending($saveMR)){ $saveMR = schedule(5000, 0, "export", "$dtFixedMap*", "serverStats/fixMapRot.cs", false ); } - $dtMapRebuild = 0; + $dtMapRebuild = 0; if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); } @@ -9588,7 +9593,7 @@ function statsMenu(%client,%game){ case 9:// remove fixed case 10://vote %fields = $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]]; - $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = setField(%fields,2, %opt2); + $dtFixedMapList[%opt1, ML.TypeName[%client.gmType]] = setField(%fields,2, %opt2); case 11: // add all bots maps if(%client.curMapList == 3){ for(%z = 0; %z < ML.getCount(); %z++){ @@ -9607,11 +9612,11 @@ function statsMenu(%client,%game){ %bot = isFile("terrains/" @ %mapObj.file @".nav"); if(%mapObj.typeList[ML.TypeName[%client.gmType]] && %bot){ %options = %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList]; - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,0, 1); } } } - $dtMapRebuild = 0; + $dtMapRebuild = 0; if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); } @@ -9627,10 +9632,10 @@ function statsMenu(%client,%game){ %line = "Click Here To View Fixed Map List - Current Map Count =" SPC $dtFixedMapCount[ML.TypeName[%client.gmType]]; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); } - - %line = ""; - %r = 0; - %lineCount = 0; + + %line = ""; + %r = 0; + %lineCount = 0; %dtmc = (%client.curPage) * 16; for(%z = %client.pageZ[%client.curPage]; %z < ML.getCount(); %z++){ %mapObj = ML.getObject(%z); @@ -9643,11 +9648,11 @@ function statsMenu(%client,%game){ %name = (strLen(%name) > %clip) ? getSubStr(%name, 0,%clip) @ ".." : %name; %line = %line @ %line = "" @ %name @ "\t|Add|\t"; if((%r % 2) == 1){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - %line = ""; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ""; if( %lineCount++ > 15){ - %client.pageZ[%client.curPage+1] = %z;// the next page stoping point - break; + %client.pageZ[%client.curPage+1] = %z;// the next page stoping point + break; } } %r++; @@ -9661,11 +9666,11 @@ function statsMenu(%client,%game){ %A = (getField(%options,0) == 0) ? "|Add" : "|Rmv"; %line = %line @ %name @ "\t" @ %A @ "|Opt|\t"; if((%r % 2) == 1){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - %line = ""; + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + %line = ""; if( %lineCount++ > 16){ - %client.pageZ[%client.curPage+1] = %z;// the next page stoping point - break; + %client.pageZ[%client.curPage+1] = %z;// the next page stoping point + break; } } %r++; @@ -9673,7 +9678,7 @@ function statsMenu(%client,%game){ } } } - + if(%z < ML.getCount()){ if(%client.curPage == 0){ %line = ' Back - Return To Score Screen - Next Page > * = Bot Support'; @@ -9687,7 +9692,7 @@ function statsMenu(%client,%game){ %line = ' Back - Return To Score Screen - < Back Page * = Bot Support'; messageClient( %client, 'SetScoreHudSubheader', "", %line ,%Client); } - + } else{ if(%client.curPage > 0){ @@ -9695,10 +9700,10 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetScoreHudSubheader', "", %line); } else{ - messageClient( %client, 'SetScoreHudSubheader', "", '> Back - Return To Score Screen * = Bot Support'); + messageClient( %client, 'SetScoreHudSubheader', "", '> Back - Return To Score Screen * = Bot Support'); } } - case "MO":// map options + case "MO":// map options %opt0 = %client.GlArg3; %opt1 = %client.GlArg4; %opt2 = %client.GlArg5; @@ -9712,26 +9717,26 @@ function statsMenu(%client,%game){ %max = getField(%options,3); %p = getField(%options,2) + 4; if(%p > %max){ - %p = %max-1; + %p = %max-1; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 2, %p); case 3://- %p = getField(%options,2) - 4; if(%p < 0){ - %p = 0; + %p = 0; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 2, %p); case 4://+ %p = getField(%options,3) + 4; if(%p > 63){ - %p = 64; + %p = 64; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 3, %p); case 5://- %min = getField(%options,2); %p = getField(%options, 3) - 4; - if(%p < %min){// cant be smaller then min - %p = %min + 1; + if(%p < %min){// cant be smaller then min + %p = %min + 1; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 3, %p); case 6:// prio @@ -9741,8 +9746,8 @@ function statsMenu(%client,%game){ %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,5, 0); } else{ - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = %options = setField(%options,5,1); - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,7,0); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = %options = setField(%options,5,1); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,7,0); } case 8:// week select %week = getField(%options,6); @@ -9760,8 +9765,8 @@ function statsMenu(%client,%game){ %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,7,0); } else{ - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = %options = setField(%options,7,1); - %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,5, 0); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = %options = setField(%options,7,1); + %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,5, 0); } case 10:// Month select %month = getField(%options,8); @@ -9780,14 +9785,14 @@ function statsMenu(%client,%game){ if(%opt2){ %p = getField(%options,10) + 1; if(%p > 24){ - %p = 0; + %p = 0; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 10, %p); } else{ %p = getField(%options,10) - 1; if(%p < 0){ - %p = 24; + %p = 24; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 10, %p); } @@ -9795,14 +9800,14 @@ function statsMenu(%client,%game){ if(%opt2){ %p = getField(%options,11) + 1; if(%p > 60){ - %p = 0; + %p = 0; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 11, %p); } else{ %p = getField(%options,11) - 1; if(%p < 0){ - %p = 60; + %p = 60; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 11, %p); } @@ -9810,14 +9815,14 @@ function statsMenu(%client,%game){ if(%opt2){ %p = getField(%options,12) + 1; if(%p > 31){ - %p = 0; + %p = 0; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 12, %p); } else{ %p = getField(%options,12) - 1; if(%p < 0){ - %p = 31; + %p = 31; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 12, %p); } @@ -9825,14 +9830,14 @@ function statsMenu(%client,%game){ if(%opt2){ %p = getField(%options,13) + 1; if(%p > 12){ - %p = 1; + %p = 1; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 13, %p); } else{ %p = getField(%options,13) - 1; if(%p < 0){ - %p = 12; + %p = 12; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 13, %p); } @@ -9849,20 +9854,20 @@ function statsMenu(%client,%game){ %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options,15, %opt2); case 18:// year if(%opt2){ - %p = getField(%options,16) + 5; + %p = getField(%options,16) + 5; %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 16, %p); } else{ %p = getField(%options,16) - 5; if(%p < 0){ - %p = 0; + %p = 0; } %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList] = setField(%options, 16, %p); } } if(%opt1 > 0){ - $dtMapRebuild = 0; + $dtMapRebuild = 0; saveMapRot(); if(ML.enable && ML.curMapList == %client.curMapList){ buildMissionList(); @@ -9872,10 +9877,10 @@ function statsMenu(%client,%game){ %client.GlArg5 = 0; %options = %mapObj.typeOptions[ML.TypeName[%client.gmType], %client.curMapList]; messageClient( %client, 'SetScoreHudHeader', "", "" @ %mapObj.name); - messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); - + messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); + %vote = getField(%options,1); // (getField(%options,1) == 0) ? "Enable" : "Disable"; - //messageClient( %client, 'SetLineHud', "", %tag, %index++, "Vote Only " @ %vote @ " - Removes map from rotation but can be voted on"); + //messageClient( %client, 'SetLineHud', "", %tag, %index++, "Vote Only " @ %vote @ " - Removes map from rotation but can be voted on"); switch(%vote){ case 0: messageClient( %client, 'SetLineHud', "", %tag, %index++, "Vote Option |Normal| Vote Only Rotation Only"); @@ -9884,13 +9889,13 @@ function statsMenu(%client,%game){ case 2: messageClient( %client, 'SetLineHud', "", %tag, %index++, "Vote Option Normal Vote Only |Rotation Only|"); } - + messageClient( %client, 'SetLineHud', "", %tag, %index++, "Min Players < "@ getField(%options,2) @" > - Minium number of players"); messageClient( %client, 'SetLineHud', "", %tag, %index++, "Max Players < "@ getField(%options,3) @" > - Maxium number of players"); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, "--------------------------------------------Advance Settings--------------------------------------------"); - - %prio = getField(%options,4); + + %prio = getField(%options,4); switch(%prio){ case 1: messageClient( %client, 'SetLineHud', "", %tag, %index++, "Priority Level |1| 2 3 4 5 - how often a map shows up, 3 being normal"); @@ -9903,13 +9908,13 @@ function statsMenu(%client,%game){ case 5: messageClient( %client, 'SetLineHud', "", %tag, %index++, "Priority Level 1 2 3 4 |5| - how often a map shows up, 3 being normal"); } - + %week = (getField(%options,5) == 0) ? "Enable" : "Disable"; messageClient( %client, 'SetLineHud', "", %tag, %index++, "Weekly Restrictions " @ %week @ " - Contorl which day of the week a map will show up"); - + %weekDay = getField(%options,6); %wd[0] = "Sun";%wd[1] = "Mon";%wd[2] = "Tue";%wd[3] = "Wed";%wd[4] = "Thu";%wd[5] = "Fri";%wd[6] = "Sat"; - %line = ""; + %line = ""; for(%i =0; %i < 7; %i++){ %w = getSubStr(%weekDay,%i,1); if(%w){ @@ -9919,13 +9924,13 @@ function statsMenu(%client,%game){ %line = %line @ " " @ %wd[%i] @ " "; } } - + %month = (getField(%options,7) == 0) ? "Enable" : "Disable"; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, "Monthly Restrictions "@ %month @" - Control how often a map can show up during a month"); - %mw = getField(%options,8); - %line = ""; + %mw = getField(%options,8); + %line = ""; for(%i =0; %i < 31; %i++){ %w = getSubStr(%mw,%i,1); if(%w){ @@ -9935,24 +9940,24 @@ function statsMenu(%client,%game){ %line = %line @ " " @ %i+1 @ ""; } if((%i % 7) == 6){ - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line); %line = ""; } } - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line @ "- Note maps will only show up on these if month allows"); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line @ "- Note maps will only show up on these if month allows"); + %event = (getField(%options,9) == 0) ? "Enable" : "Disable"; if(getField(%options,15)){ - %etype ="Set next - Force switch - "; + %etype ="Set next - Force switch - "; } else{ - %etype ="Set Next - Force switch - "; + %etype ="Set Next - Force switch - "; } - + messageClient( %client, 'SetLineHud', "", %tag, %index++, "Event Map - " @ %event @ " - " @ %etype @ " maps at set time and day "); - + messageClient( %client, 'SetLineHud', "", %tag, %index++, "Current Server Time and Date" SPC formattimestring("HH:nn d-m-yy")); - + %hour = "<" @ getField(%options,10) @ "H>"; %min = "<" @ getField(%options,11) @ "m>"; %eventTime = "Event Length <" @ getField(%options,16) @ "m>"; @@ -9966,10 +9971,10 @@ function statsMenu(%client,%game){ case "EV": %opt1 = %client.GlArg4; %opt2 = %client.GlArg5; - + messageClient( %client, 'SetScoreHudHeader', "", "Event Panel"); messageClient( %client, 'SetScoreHudSubheader', "", ' Back - Return To Score Screen',0); - + for(%i = $dtStats::eventMax; %i > 0; %i--){ %v = (%i+$dtServer::eventLogCount) % $dtStats::eventMax; %log = $dtServer::eventLog[%v]; @@ -9982,7 +9987,7 @@ function statsMenu(%client,%game){ %vLPage = %client.GlArg4; %field5 = strreplace(%client.GlArg5,"-","\t"); if(%client.lgame !$= getField(%field5,0)){ - %new = 1; + %new = 1; } %client.lgame = %switch = getField(%field5,0); %client.cat = %cat = getField(%field5,1); @@ -10011,7 +10016,7 @@ function statsMenu(%client,%game){ $dtServer::teamOneLoss[%map, %client.lgame] = 0; $dtServer::teamTwoWin[%map, %client.lgame] = 0; $dtServer::teamTwoLoss[%map, %client.lgame] = 0; - + $dtServerVars::serverCrash[%map, %client.lgame] = 0; } $dtServer::serverHangTotal = 0; @@ -10202,7 +10207,7 @@ function statsMenu(%client,%game){ "Max-Plr", "Lag", "Hitch" TAB - "T1 W/L" TAB + "T1 W/L" TAB "T2 W/L"); for(%z = (%vLPage - 1) * %perPage; %z < %vLPage * %perPage && %z < $mapID::countGame[%client.lgame]; %z++){ %map = $mapID::IDNameGame[%z+1,%client.lgame]; @@ -10214,12 +10219,12 @@ function statsMenu(%client,%game){ %mp = $dtServer::maxPlayers[%map,%client.lgame]; %cr = $dtServer::hostHangMap[%map,%client.lgame]; %sh = $dtServer::serverHangMap[%map,%client.lgame]; - + %t1w= $dtServer::teamOneWin[%map,%client.lgame]; %t1l= $dtServer::teamOneLoss[%map,%client.lgame]; %t2w= $dtServer::teamTwoWin[%map,%client.lgame]; %t2l= $dtServer::teamTwoLoss[%map,%client.lgame]; - + %v1 = %pc ? %pc : 0; %v2 = %sc ? %sc : 0; %v3 = %vc ? %vc : 0; @@ -10227,12 +10232,12 @@ function statsMenu(%client,%game){ %v5 = %mp ? %mp : 0; %v6 = %cr ? %cr : 0; %v7 = %sh ? %sh : 0; - + %v8 = %t1w ? %t1w : 0; %v9 = %t1l ? %t1l : 0; %v10 = %t2w ? %t2w : 0; %v11 = %t2l ? %t2l : 0; - + %line = '%1 %2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%z+1,%map,%v1,%v2,%v3,%v4 @ " / " @ %v44,%v5,%v6,%v7 TAB %v8 @ " / " @ %v9 TAB %v10 @ " / " @ %v11); } @@ -10261,10 +10266,10 @@ function statsMenu(%client,%game){ } if(%hasCount > 0) messageClient( %client, 'SetLineHud', "", %tag, %index++, "" SPC %line); - - - - + + + + case "SZ":////////////////////////////////////////////////////////////////////////////////////////////////// %vLPage = %client.GlArg4; %field5 = strreplace(%client.GlArg5,"-","\t"); @@ -10287,8 +10292,8 @@ function statsMenu(%client,%game){ switch$(%cat){ case 1://kills for (%j = %i+1; %j < statsGroup.getCount(); %j++){ - %dtStatsJ = statsGroup.getObject(%j); - %dtStatsM = statsGroup.getObject(%maxCount); + %dtStatsJ = statsGroup.getObject(%j); + %dtStatsM = statsGroup.getObject(%maxCount); %pc1 = getGameDataAvg(%client.lgame,%dtStatsJ,"killsTG"); %pc2 = getGameDataAvg(%client.lgame,%dtStatsM,"killsTG"); if (%pc1 > %pc2) @@ -10301,7 +10306,7 @@ function statsMenu(%client,%game){ } %client.GlArg5 = %client.roll @ "-C"; } - + messageClient( %client, 'SetScoreHudHeader', "", "8 Game Averages"); %line = 'Return To Score Screen [Capper] [Offensive] [Defensive] [Base Ops]'; messageClient( %client, 'SetScoreHudSubheader', "",%line,0); @@ -10330,12 +10335,12 @@ function statsMenu(%client,%game){ %v6 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v7 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v8 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); - + if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 1){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 2){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else{ %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; @@ -10364,12 +10369,12 @@ function statsMenu(%client,%game){ %v6 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v7 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v8 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); - + if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 1){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 2){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else{ %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; @@ -10398,12 +10403,12 @@ function statsMenu(%client,%game){ %v6 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v7 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v8 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); - + if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 1){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 2){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else{ %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; @@ -10432,12 +10437,12 @@ function statsMenu(%client,%game){ %v6 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v7 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); %v8 = getGameDataAvg(%client.lgame,%dtStats,"killsTG"); - + if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 1){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else if(isObject(%dtStats.client.player) && %dtStats.client.player.team == 2){ - %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; + %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; } else{ %line = '%1\t%2\t%3\t%4\t%5\t%6\t%7\t%8\t%9'; @@ -10478,7 +10483,7 @@ function statsMenu(%client,%game){ if(%build $= "Build" && !$dtStatsImgBuild){ genBigStats(%client.lgame, %lType, getField(%mon,0),getField(%mon,1)); messageAll('MsgStats', '\c3Stats image build started, server performance may degrade for a few minutes~wfx/misc/hunters_greed.wav'); - $dtStatsImgBuild = 1; + $dtStatsImgBuild = 1; } } else if(!%page){ @@ -10523,7 +10528,7 @@ function statsMenu(%client,%game){ else messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,%lType $= "month" ? monthString(%mon) : ("custom" SPC %mon) , %page, %lType); } - else + else messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen',0,%game,1); @@ -10578,7 +10583,7 @@ function statsMenu(%client,%game){ } else{ %line = ' [View %6 Stats] Previous %6 | Next %6'; - messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page-1,%page+1,%client.lgame,%lTypeNameShort,%vn); + messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,%lType,%page-1,%page+1,%client.lgame,%lTypeNameShort,%vn); } } else{ @@ -10586,19 +10591,19 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Custom Stats]"); } else{ - messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Monthly Stats]"); + messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Monthly Stats]"); } } } else{//no data for selected game type - + if(%client.isSuperAdmin){ if($dtStatsImgBuild || $dtStats::tmCompile) messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,monthString(%mon),%page); else messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen \t Generate Img For %4 \t Server Admin Panel ',0,%client.lgame,1,monthString(%mon),%page); } - else + else messageClient( %client, 'SetScoreHudSubheader', "", ' Return To Score Screen',0,%game,1); %header = 'No data at this time, check in 24 hours'; messageClient( %client, 'SetLineHud', "", %tag, %index++, %header,%i1,%i2,%i3,%i4++,%i5,%i6,%i7); @@ -10618,7 +10623,7 @@ function statsMenu(%client,%game){ messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Custom Stats]"); } else{ - messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Monthly Stats]"); + messageClient( %client, 'SetLineHud', "", %tag, %index++, "" @ " [View Monthly Stats]"); } } case "GLBOARDS": @@ -10888,7 +10893,7 @@ function statsMenu(%client,%game){ %nameTitle2 = "" @ %var2Title SPC "" @ %i2; %nameTitle3 = "" @ %var3Title SPC "" @ %i3; messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,0,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3); - + case "LCTFGame" or "SCtFGame": //1 %var1 = "scoreTG"; %var1Title = "Score Total:"; %var1Name = "Score Total"; %var1TypeName = "Total"; @@ -12215,7 +12220,7 @@ function getTimeDayDelta(%d, %year){ function autoCompileStats(){ if(!$Host::TournamentMode){ if(!$dtStats::building){ - lStatsCycle(1, 1); + lStatsCycle(1, 1); } else{ error("Stats Already Compiling"); @@ -12225,7 +12230,7 @@ function autoCompileStats(){ function compileStats(){ if(!$dtStats::building){ - lStatsCycle(1, 1); + lStatsCycle(1, 1); } else{ error("Stats Already Compiling"); @@ -12515,8 +12520,8 @@ function sortLStats(%c,%game,%lType){ LFData.writeLine(%n); LFData.writeLine(%s); LFData.writeLine(%g); - } - + } + if(%c++ < $statsVars::count[%game]){ schedule($dtStats::sortSpeed,0,"sortLStats",%c,%game,%lType); } @@ -12901,7 +12906,7 @@ function buildTest(%mode){ function preLoadTurStats(%gameIndex){ //queue up files for processing if(!%gameIndex){ $dtGameIndex = 0; - $dtStats::tmCompile = 1; + $dtStats::tmCompile = 1; } if(%gameIndex < $dtStats::gameTypeCount){ %game = $dtStats::gameType[$dtGameIndex]; @@ -12923,7 +12928,7 @@ function preLoadTurStats(%gameIndex){ //queue up files for processing preLoadTurStats($dtGameIndex++); } } - else{ + else{ dtSaveServerVars(); compileGameImage(-1); } @@ -12936,7 +12941,7 @@ function loadTurStatsData(%file,%game,%fileNum,%total){ RootGroup.add(%fObj); %fObj.OpenForRead(%file); %guid = getField(strreplace(getField(strreplace(%file,"/","\t"),3),"g","\t"),0); - + %playerName = getField(strreplace(%fObj.readline(),"%t","\t"),1);//1 %statsOverWrite = getField(strreplace(%fObj.readline(),"%t","\t"),1);//2 %totalGames = getField(strreplace(%fObj.readline(),"%t","\t"),1);//3 @@ -12966,11 +12971,11 @@ function loadTurStatsData(%file,%game,%fileNum,%total){ break; } else{ - %gameList[%x] = -1; + %gameList[%x] = -1; } } } - + %gListCount = 0; if(%found){// only if we found a matching ID %obj = new scriptObject(); @@ -12991,10 +12996,10 @@ function loadTurStatsData(%file,%game,%fileNum,%total){ case "TG"://ttl is not used in game stats %obj.LStatsT[%var] += getField(%line,%gameList[%x]); case "Max": - if(getField(%line,%gameList[%x]) > %obj.LStatsT[%var] || %gListCount == 0) + if(getField(%line,%gameList[%x]) > %obj.LStatsT[%var] || %gListCount == 0) %obj.LStatsT[%var] = getField(%line,%gameList[%x]); case "Min": - if(getField(%line,%gameList[%x]) < %obj.LStatsT[%var] || %gListCount == 0) + if(getField(%line,%gameList[%x]) < %obj.LStatsT[%var] || %gListCount == 0) %obj.LStatsT[%var] = getField(%line,%gameList[%x]); case "Avg" or "AvgI": %temp[%var] += getField(%line,%gameList[%x]); @@ -13002,12 +13007,12 @@ function loadTurStatsData(%file,%game,%fileNum,%total){ } } else{ - %obj.LStats[%var] = setField(%obj.LStats[%var],%x, 0); + %obj.LStats[%var] = setField(%obj.LStats[%var],%x, 0); } } } } - + %fObj.close(); %fObj.delete(); if(%fileNum >= %total-1){ @@ -13030,9 +13035,9 @@ function sortTurStats(%c, %gameIndex, %game){ RootGroup.add(LFData); LFData.openForWrite("serverStats/gmData/" @ cleanMapName($dtStats::pugMap[%game, %gameIndex]) @ "-" @ %game @ "-" @ $dtStats::pugIDS[%game, %gameIndex] @ "-G.cs"); LFData.writeLine($dtStats::pugMap[%game,%gameIndex] @ "%t" @ %game @ "%t" @ $dtStats::pugIDS[%game,%gameIndex] @ "%t" @ $dtStats::pugDate[%game, %gameIndex] @ "%t" @ $dtStats::pugFS[%game,%gameIndex]); - - // build out header - %var = "scoreTG"; + + // build out header + %var = "scoreTG"; %len = serverStats.getCount(); for (%i = 0; %i < %len - 1; %i++) { for (%j = 0; %j < %len - %i - 1; %j++) { @@ -13045,22 +13050,22 @@ function sortTurStats(%c, %gameIndex, %game){ serverStats.bringToFront(%bObj); } } - } + } - %teamOneNameLine[0] = 1 TAB "name"; + %teamOneNameLine[0] = 1 TAB "name"; %teamOneDataLine[1] = 1 TAB "score"; %teamOneDataLine[2] = 1 TAB "off"; %teamOneDataLine[3] = 1 TAB "def"; %teamOneDataLine[4] = 1 TAB "kills"; %teamOneDataLine[5] = 1 TAB "caps"; - - %teamTwoNameLine[0] = 2 TAB "name"; + + %teamTwoNameLine[0] = 2 TAB "name"; %teamTwoDataLine[1] = 2 TAB "score"; %teamTwoDataLine[2] = 2 TAB "off"; %teamTwoDataLine[3] = 2 TAB "def"; %teamTwoDataLine[4] = 2 TAB "kills"; %teamTwoDataLine[5] = 2 TAB "caps"; - + for (%i = 0; %i < %len; %i++) { %sObj = serverStats.getObject(%i); %team = getField(%sObj.LStats["dtTeamGame"], %gameIndex); @@ -13087,15 +13092,15 @@ function sortTurStats(%c, %gameIndex, %game){ LFData.writeLine(strreplace(%teamOneDataLine[3],"\t","%t")); LFData.writeLine(strreplace(%teamOneDataLine[4],"\t","%t")); //LFData.writeLine(strreplace(%teamOneDataLine[5],"\t","%t")); - + LFData.writeLine(strreplace(%teamTwoNameLine[0],"\t","%t")); LFData.writeLine(strreplace(%teamTwoDataLine[1],"\t","%t")); LFData.writeLine(strreplace(%teamTwoDataLine[2],"\t","%t")); LFData.writeLine(strreplace(%teamTwoDataLine[3],"\t","%t")); LFData.writeLine(strreplace(%teamTwoDataLine[4],"\t","%t")); //LFData.writeLine(strreplace(%teamTwoDataLine[5],"\t","%t")); - } - + } + %var = $statsVars::varNameType[%c,%game]; %cat = $statsVars::varType[%var,%game]; if(%cat !$= "Game"){ @@ -13112,7 +13117,7 @@ function sortTurStats(%c, %gameIndex, %game){ serverStats.bringToFront(%bObj); } } - } + } } else{ %len = serverStats.getCount(); @@ -13127,20 +13132,20 @@ function sortTurStats(%c, %gameIndex, %game){ serverStats.bringToFront(%bObj); } } - } + } } - - %teamOneNameLine = 1 TAB "name" TAB %var; + + %teamOneNameLine = 1 TAB "name" TAB %var; %teamOneDataLine = 1 TAB "data" TAB %var; - - %teamTwoNameLine = 2 TAB "name" TAB %var; - %teamTwoDataLine = 2 TAB "data" TAB %var; - - %teamAllNameLine = 0 TAB "name" TAB %var; - %teamAllDataLine = 0 TAB "data" TAB %var; - %teamAllTeamLine = 0 TAB "team" TAB %var; - + + %teamTwoNameLine = 2 TAB "name" TAB %var; + %teamTwoDataLine = 2 TAB "data" TAB %var; + + %teamAllNameLine = 0 TAB "name" TAB %var; + %teamAllDataLine = 0 TAB "data" TAB %var; + %teamAllTeamLine = 0 TAB "team" TAB %var; + %write0 = 0; %write1 = 0; %write2 = 0; @@ -13209,10 +13214,10 @@ function sortTurStatsT(%c, %game){ LFData.openForWrite(%file); //LFData.writeLine(strreplace($dtStats::pugIDS[%game],"\t","%t")); //LFData.writeLine(strreplace($dtStats::pugMap[%game],"\t","%t")); - //LFData.writeLine(strreplace($dtStats::pugDate[%game],"\t","%t")); + //LFData.writeLine(strreplace($dtStats::pugDate[%game],"\t","%t")); //LFData.writeLine(strreplace($dtStats::pugFS[%game],"\t","%t")); - } - + } + %var = $statsVars::varNameType[%c,%game]; %cat = $statsVars::varType[%var,%game]; if(%cat !$= "Game"){ @@ -13229,10 +13234,10 @@ function sortTurStatsT(%c, %game){ serverStats.bringToFront(%bObj); } } - } + } } else{ - + %len = serverStats.getCount(); for (%i = 0; %i < %len - 1; %i++) { for (%j = 0; %j < %len - %i - 1; %j++) { @@ -13245,12 +13250,12 @@ function sortTurStatsT(%c, %game){ serverStats.bringToFront(%bObj); } } - } - } - - %teamAllNameLine = "name" TAB %var; - %teamAllDataLine = "data" TAB %var; - + } + } + + %teamAllNameLine = "name" TAB %var; + %teamAllDataLine = "data" TAB %var; + %write = 0; for (%i = 0; %i < %len; %i++) { %sObj = serverStats.getObject(%i); @@ -13286,7 +13291,7 @@ $dtStats::prefTestIdleTime = 60*1000;// if no one is playing just run slow $dtStats::prefTolerance = 128;//this number is to account for base line performance and differences between engine simTime and realtime $dtStats::prefLog = 0; // enable logging of server hangs $dtStats::eventLockout = 15*1000;//every 10 sec -$dtStats::tsLimit = 0.22; //note this value is heavly effected by packet rate so if you change this be sure to test low and high client rates +$dtStats::tsLimit = 0.22; //note this value is heavly effected by packet rate so if you change this be sure to test low and high client rates $dtStats::tsCountLimit = 8; $dtStats::tsStat = 0; function prefTest(%time,%skip){ @@ -13323,7 +13328,7 @@ function getRealFlagPos(%team){ %pos = $TeamFlag[%team].carrier.getPosition(); } else{ - %pos = $TeamFlag[%team].getPosition(); + %pos = $TeamFlag[%team].getPosition(); } return %pos; } @@ -13348,20 +13353,20 @@ function dtPingStats(){ %cl.dtStats.stat["timeNearTeamFS"] += ($dtStats::prefTestTime/1000)/60; } else{ - %cl.dtStats.stat["timeFarTeamFS"] += ($dtStats::prefTestTime/1000)/60; + %cl.dtStats.stat["timeFarTeamFS"] += ($dtStats::prefTestTime/1000)/60; } - + %feDist = vectorDist(%fePos,getWords(%tform,0,2)); if(%fDist < 50){ %cl.dtStats.stat["timeNearEnemyFS"] += ($dtStats::prefTestTime/1000)/60; } else{ - %cl.dtStats.stat["timeFarEnemyFS"] += ($dtStats::prefTestTime/1000)/60; + %cl.dtStats.stat["timeFarEnemyFS"] += ($dtStats::prefTestTime/1000)/60; } %rfpos = getRealFlagPos(%cl.team); %oTeam = (%cl.team == 1) ? 2 : 1; %rfEPos = getRealFlagPos(%oTeam); - + if(vectorDist(%rfpos, getWords(%tform,0,2)) < 50){ %cl.dtStats.stat["timeNearFlag"] += ($dtStats::prefTestTime/1000)/60; } @@ -13423,7 +13428,7 @@ function dtPingStats(){ %speed = vectorLen(%vel); %iVel = VectorLen(%player.dtLV) / %factor; %fVel = %speed / %factor; - + %player.vdot[%player.vdotCount++ % 3] = VectorDot(VectorNormalize(%vel), VectorNormalize(%player.lastVelocity)); %dotTotal = (%player.vdotCount > 3) ? ((%player.vdot[0] + %player.vdot[1] + %player.vdot[2])/3) : 0; if (%speed > 6 && %iVel > 0.01 && %fVel > 0.01 && %deltaP > 0.01 && %dotTotal > 0.9){ @@ -13431,32 +13436,32 @@ function dtPingStats(){ %least2 = mAbs(%fVel - %deltaP); %least = (%least2 < %least) ? %least2 : %least; %distortion = (%least / %deltaP); - + %client.tsDistortion = %distortion; - + if(%distortion < 1){// clamp it so random large values dont mess things up %client.dstTotal += %distortion; %client.dstCount++; %client.dstAvg = %client.dstTotal / %client.dstCount; - + if(%client.dstCount > 30){// limit sample size - %client.dstTotal *= (1 - 0.3); - %client.dstCount *= (1 - 0.3); + %client.dstTotal *= (1 - 0.3); + %client.dstCount *= (1 - 0.3); } - - if( %client.dstAvg > $tsLimit && %client.dstCount > 15){ + + if( %client.dstAvg > $tsLimit && %client.dstCount > 15){ %client.dstHighAvg++; } - + if(%distortion > $dtStats::tsLimit){ if(%client.distortionCount < $dtStats::tsCountLimit){ - %client.distortionCount++; + %client.distortionCount++; } - if(%client.distortionCount >= $tsCountLimit){ + if(%client.distortionCount >= $tsCountLimit){ %client.tsc++; } } else if(%distortion < $tsLimit && %client.distortionCount > 0) - %client.distortionCount--; + %client.distortionCount--; } } } @@ -13526,7 +13531,7 @@ function dtPingStats(){ } $dtStats::eventMax = 32; function dtEventLog(%log,%save){ - + if(%count >= $dtStats::eventMax){ $dtServer::eventLogCount = 0; } @@ -13630,20 +13635,20 @@ function dtLoadServerVars(){// keep function at the bottom if(isFile("serverStats/teamWL.cs")) exec("serverStats/teamWL.cs"); if(isFile("serverStats/capTimes.cs") && $dtStats::ctfTimes) - exec("serverStats/capTimes.cs"); + exec("serverStats/capTimes.cs"); if(isFile("serverStats/mapPlayRot.cs")) - exec("serverStats/mapPlayRot.cs"); + exec("serverStats/mapPlayRot.cs"); if(isFile("serverStats/pugLog.cs")) exec("serverStats/pugLog.cs"); if(isFile("serverStats/pubLog.cs")) - exec("serverStats/pubLog.cs"); + exec("serverStats/pubLog.cs"); if(isFile("serverStats/tbVars.cs")) - exec("serverStats/tbVars.cs"); + exec("serverStats/tbVars.cs"); $dtServer::eventLogCount = 0; if(isFile("serverStats/eventLog.cs")) exec("serverStats/eventLog.cs"); - - + + dtEventLog("Server Start" SPC formattimestring("hh:nn:a mm-dd-yy"), 0); @@ -13673,7 +13678,7 @@ function savePrx(){ $DemoFile = %file; pathMapData.OpenForWrite(%file); writePrx(0); - + } function writePrx(%x){ $pathMaps::saving = 1; @@ -13729,7 +13734,7 @@ function pathDataPoint(%client){ } } else{ - stopPlayerPlot(); + stopPlayerPlot(); } } @@ -13741,12 +13746,12 @@ function scanHeightMap(){ for(%x = -512; %x < 512; %x++){ %xO = %x * 2; %rayStart = %xO SPC %yO SPC 5000; // +5000 - %rayEnd = %xO SPC %yO SPC -5000; //- 5000 for 45 + %rayEnd = %xO SPC %yO SPC -5000; //- 5000 for 45 %ground = ContainerRayCast(%rayStart, %rayEnd, %mask, 0); if(%ground){ %pos = getWords(%ground, 1, 3); %depth = 5000 - vectorDist(%rayStart,%pos);// getTerrainHeight(%x SPC %y SPC 0); - $depth::min = $depthMin = ($depthMin < %depth) ? $depthMin : %depth; // find are min and max elevation + $depth::min = $depthMin = ($depthMin < %depth) ? $depthMin : %depth; // find are min and max elevation $depth::max = $depthMax = ($depthMax > %depth) ? $depthMax : %depth; $depth::array[%x,%y] = %depth; } @@ -13781,7 +13786,7 @@ function pathMapSave(%x){ // save for (%y = -512; %y < 512; %y++){ %depth =$depth::array[%x,%y]; %col = mFloor((%depth - $depth::min) * %colRange); - %color = %col SPC %col SPC %col; + %color = %col SPC %col SPC %col; pathFileObj.writeLine(%color @ "\n"); } if($pathMaps::debugEcho){error("pathMapSave" SPC %x SPC "out of" SPC 128);} @@ -13790,7 +13795,7 @@ function pathMapSave(%x){ // save } else{ pathFileObj.close(); - pathFileObj.delete(); + pathFileObj.delete(); $pathMaps::SaveStart = 0; error("Finished Path Map"); if($pm::buildCount++ <= $pm::count){ @@ -13822,7 +13827,7 @@ function loadDTBanlist(){ exec($dtStats::BanListFile); if(isObject(dtBanList)){ RootGroup.add(dtBanList); - for (%i = 0; %i < dtBanList.getCount(); %i++){//keeps less junk in the ban file + for (%i = 0; %i < dtBanList.getCount(); %i++){//keeps less junk in the ban file %obj = dtBanList.getObject(%i); %delta = getTimeDelta(%obj.banDateTime); if (%delta > %obj.banLengthMin){ @@ -13833,12 +13838,12 @@ function loadDTBanlist(){ if(%obj.guid !$= "") $dtBanTemp::GUID[%obj.guid ] = %obj; if(%obj.ip !$= "") - $dtBanTemp::IP[%obj.ip] = %obj; + $dtBanTemp::IP[%obj.ip] = %obj; } } } } - + if(isFile($dtStats::WhtListFile)){ $dtWhtList:WLCount = 0; exec($dtStats::WhtListFile); @@ -13847,10 +13852,10 @@ function loadDTBanlist(){ for (%i = 0; %i < serverSafeList.getCount(); %i++){ %obj = serverSafeList.getObject(%index); $dtWhtList::WhiteList[%obj.guid] = %obj; - } + } } } - + loadIPListM(); } } @@ -13864,7 +13869,7 @@ function loadIPListM(){ RootGroup.add(%file); %file.OpenForRead($dtStats::IPBanListFile); schedule(10000, 0,"loadIPBanList",%file); - } + } } function loadIPBanList(%file){ %i = 0; @@ -13873,8 +13878,8 @@ function loadIPBanList(%file){ while( !%file.isEOF() && %i++ < 1000 && !$ipcountLimit){ %line = %file.readline(); if(strLen(%line) > 7){ - if(strstr(%line, "/") != -1){ - %real = getRealTime(); + if(strstr(%line, "/") != -1){ + %real = getRealTime(); %amount = getCIDRRange(trim(%line)); } else{ @@ -13882,7 +13887,7 @@ function loadIPBanList(%file){ $dtIPList[%ip] = 1; $ipcount++; if($ipcount > 2000000){ - $ipcountLimit =1; + $ipcountLimit =1; } } } @@ -13892,7 +13897,7 @@ function loadIPBanList(%file){ } else{ %file.close(); - %file.delete(); + %file.delete(); } } function getCIDRRange(%ip) { @@ -13905,9 +13910,9 @@ function getCIDRRange(%ip) { } // Convert IP address to integer %ipArray = strreplace(%ip, ".", "\t"); - - %binIP = decToBin2(getField(%ipArray,0)) @ decToBin2(getField(%ipArray,1)) @ decToBin2(getField(%ipArray,2)) @ decToBin2(getField(%ipArray,3)); - %h = getSubStr(%binIP, 0, %ipMask) @ %host; + + %binIP = decToBin2(getField(%ipArray,0)) @ decToBin2(getField(%ipArray,1)) @ decToBin2(getField(%ipArray,2)) @ decToBin2(getField(%ipArray,3)); + %h = getSubStr(%binIP, 0, %ipMask) @ %host; %b = getSubStr(%binIP, 0, %ipMask) @ %broad; %start = binToDec2(getSubStr(%h,0,8)) TAB binToDec2(getSubStr(%h,8,8)) TAB binToDec2(getSubStr(%h,16,8)) TAB binToDec2(getSubStr(%h,24,8)); %end = binToDec2(getSubStr(%b,0,8)) TAB binToDec2(getSubStr(%b,8,8)) TAB binToDec2(getSubStr(%b,16,8)) TAB binToDec2(getSubStr(%b,24,8)); @@ -13931,16 +13936,16 @@ function getCIDRRange(%ip) { for (%l = getField(%start,3); %l <= getField(%end,3); %l++) { %currentIP = %i @ "_" @ %j @ "_" @ %k @ "_" @ %l; $dtIPList[%currentIP] = 1; - $ipcount++; + $ipcount++; %ipcount++; if($ipcount > 2000000){ - $ipcountLimit = 1; + $ipcountLimit = 1; } } } } } - return %ipcount; + return %ipcount; } function decToBin2(%dec){ @@ -13975,7 +13980,7 @@ package dtBanSys{ //Reapply the gag function GameConnection::onConnect( %client, %name, %raceGender, %skin, %voice, %voicePitch ){ parent::onConnect( %client, %name, %raceGender, %skin, %voice, %voicePitch ); - + %client.isGagged = ($chatGagged[getClientCleanIP(%client)] || $chatGagged[%client.guid]); //restore status } @@ -13997,7 +14002,7 @@ package dtBanSys{ banDateTime = dtMarkDate(); banLengthMin = %time; }; - dtBanList.add(%banObj); + dtBanList.add(%banObj); if(!%bareIP) $dtBanTemp::IP[%bareIP] = %banObj; if(%guid){ @@ -14013,7 +14018,7 @@ package dtBanSys{ %obj = $dtBanTemp::GUID[%bareIP]; %obj.guid = %guid; } - + saveBanList(); } @@ -14023,7 +14028,7 @@ package dtBanSys{ if(isObject(%obj) && %obj.banDateTime > 0){ %delta = getTimeDelta(%obj.banDateTime); if (%delta < %obj.banLengthMin){ - pushFailJoin(%obj.name, %obj.gui, 0, "Kick/Ban" SPC %obj.banDateTime - %delta SPC "Minutes Left", 1); + pushFailJoin(%obj.name, %obj.gui, 0, "Kick/Ban" SPC %obj.banDateTime - %delta SPC "Minutes Left", 1); return 1; } else{ @@ -14056,14 +14061,14 @@ package dtBanSys{ function dtIsAdmin(%client,%guid){ - %totalRecords = getFieldCount( $Host::AdminList ); + %totalRecords = getFieldCount( $Host::AdminList ); for(%i = 0; %i < %totalRecords; %i++) { %record = getField( getRecord( $Host::AdminList, 0 ), %i); if(%record == %guid) return true; } - + %totalRecords = getFieldCount( $Host::superAdminList ); for(%i = 0; %i < %totalRecords; %i++) { @@ -14071,35 +14076,35 @@ function dtIsAdmin(%client,%guid){ if(%record == %guid) return true; } - + return false; } -function banList_checkClientGUID(%client, %guid){// only one we care about in whitelist mode +function banList_checkClientGUID(%client, %guid){// only one we care about in whitelist mode %obj = $dtBanTemp::GUID[%guid]; if (isObject(%obj) && %obj.banDateTime > 0){ %delta = getTimeDelta(%obj.banDateTime); if (%delta < %obj.banLengthMin){ pushFailJoin(%obj.name, %guid, 0, "Kick/Ban" SPC %obj.banLengthMin - %delta SPC "Minutes Left",1); - + %client.setDisconnectReason("You are not allowed to play on this server."); %client.delete(); return 1; } else{ - unbanUserObj(%obj); + unbanUserObj(%obj); } } - + %realName = getField(%client.t2csri_authInfo, 0 ); if(%realName !$= "") %name = trim(%realName); else %name = trim(stripChars( detag( getTaggedString( %fc.name ) ), "\cp\co\c6\c7\c8\c9\c0" )); - %safe = ( dtIsAdmin(%client,%guid) || isObject($dtWhtList::WhiteList[%guid])); + %safe = ( dtIsAdmin(%client,%guid) || isObject($dtWhtList::WhiteList[%guid])); if(!%safe){ pushFailJoin(%name, %guid, 0, "Not Whitelisted", 0); if($dtServerVars::WhiteListMode){ @@ -14108,32 +14113,32 @@ function banList_checkClientGUID(%client, %guid){// only one we care about in wh return 1; } } - - %ip = getClientCleanIP(%client);// this is here in case of banned ip is a whitelisted account + + %ip = getClientCleanIP(%client);// this is here in case of banned ip is a whitelisted account if($dtServerVars::IPBanListMode && $dtIPList[%ip] && !isObject($dtWhtList::WhiteList[%guid])){ pushFailJoin(%name, %client.guid, %ip, "IP Ban List", 2); %client.setDisconnectReason("You are not allowed to play on this server."); %client.delete(); - return 1; + return 1; } return 0; } -function pushFailJoin(%name, %guid, %ip, %reason, %type){// rolling buffer +function pushFailJoin(%name, %guid, %ip, %reason, %type){// rolling buffer if(%guid && ! $dtJoinListGuid[%guid]){ - if($dtJoinListCount < $dtStats::joinHist){// limit the list size + if($dtJoinListCount < $dtStats::joinHist){// limit the list size if($dtJoinListCount > 0){ for (%i = $dtJoinListCount - 1; %i >= 0; %i--) { - $dtJoinList[%i + 1] = $dtJoinList[%i]; + $dtJoinList[%i + 1] = $dtJoinList[%i]; } } $dtJoinListGuid[%guid] = 1; $dtJoinList[0] = %name TAB %guid TAB %ip TAB %reason TAB %type; - $dtJoinListCount++; + $dtJoinListCount++; } else{ for (%i = $dtJoinListCount - 1; %i >= 0; %i--) { - $dtJoinList[%i + 1] = $dtJoinList[%i]; + $dtJoinList[%i + 1] = $dtJoinList[%i]; } $dtJoinListGuid[getField($dtJoinList[$dtJoinListCount],1)] = "";// clear out the last one $dtJoinList[0] = %name TAB %guid TAB %ip TAB %reason TAB %type; @@ -14149,8 +14154,8 @@ function pushWhiteList(%guid,%name){ } if(!$dtWhtList::WhiteList[%guid]){ if(%name $= "") - %name = "NONAME" @ %guid; - + %name = "NONAME" @ %guid; + %id = new scriptObject(){ name = %name; guid = %guid; @@ -14165,7 +14170,7 @@ function rmvWhiteListGuid(%guid){ %obj = $dtWhtList::WhiteList[%guid]; if(isObject(%obj)){ error("Player" SPC %obj.name SPC %obj.guid SPC "Removed"); - $dtWhtList::WhiteList[%guid] = ""; + $dtWhtList::WhiteList[%guid] = ""; %obj.delete(); saveWhtList(); } @@ -14183,7 +14188,7 @@ function rmvWhiteListIndex(%index){ function unbanUserObj(%obj){ if(isObject(%obj)){ $dtBanTemp::IP[%obj.ip] = ""; - $dtBanTemp::GUID[%obj.guid] = ""; + $dtBanTemp::GUID[%obj.guid] = ""; error(%obj.name SPC %obj.guid SPC "UNBANNED"); %obj.delete(); saveBanList(); @@ -14192,7 +14197,7 @@ function unbanUserObj(%obj){ function unbanIndex(%index){ if(!%index){ - for (%i = 0; %i < dtBanList.getCount(); %i++){//keeps less junk in the ban file + for (%i = 0; %i < dtBanList.getCount(); %i++){//keeps less junk in the ban file %obj = dtBanList.getObject(%i); error(%i SPC %obj.name SPC %obj.guid SPC strReplace(%obj.ip, "_", ".")); } @@ -14202,7 +14207,7 @@ function unbanIndex(%index){ %obj = dtBanList.getObject(%index); if(isObject(%obj)){ $dtBanTemp::IP[%obj.ip] = ""; - $dtBanTemp::GUID[%obj.guid] = ""; + $dtBanTemp::GUID[%obj.guid] = ""; error(%obj.name SPC %obj.guid SPC "UNBANNED"); %obj.delete(); saveBanList(); @@ -14231,21 +14236,21 @@ function getClientBanName(%guid, %ip){ } return "NONAME"; } - + function getClientCleanIP(%client){// variable access bug workaround %ip = %client.getAddress(); %ip = getSubStr(%ip, 3, strLen(%ip)); %ip = getSubStr(%ip, 0, strstr(%ip, ":")); - %ip = strReplace(%ip, ".", "_"); - return %ip; + %ip = strReplace(%ip, ".", "_"); + return %ip; } function getCleanIP(%ip){ // variable access bug workaround if (getSubStr(%ip, 0, 3) $= "IP:"){ %ip = getSubStr(%ip, 3, strLen(%ip)); %ip = getSubStr(%ip, 0, strstr(%ip, ":")); - %ip = strReplace(%ip, ".", "_"); - return %ip; + %ip = strReplace(%ip, ".", "_"); + return %ip; } return 0; } @@ -14254,26 +14259,26 @@ function getTimeDelta(%dateTime){ //banDateTime = "05\t01\t2024\t13\t00"; %d = getWord(%dateTime,0); %m = getWord(%dateTime,1); %y = getWord(%dateTime,2); %h = getWord(%dateTime,3); %n = getWord(%dateTime,4); - - %curDD = formattimestring("dd");%curMM = formattimestring("mm");%curYY = formattimestring("yy"); + + %curDD = formattimestring("dd");%curMM = formattimestring("mm");%curYY = formattimestring("yy"); %dcA = %dcB = 0; - + %days[2] = (%y % 4 == 0) ? "29" : "28"; - %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[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++){ %dcA += %days[%i]; - } - + } + %dcA += %d; - + %days[2] = (%curYY % 4 == 0) ? "29" : "28"; for(%i = 1; %i <= %curMM-1; %i++){ %dcB += %days[%i]; - } + } %dcB += %curDD; %dif = formattimestring("yy") - %y; @@ -14321,7 +14326,7 @@ function banSaveExport(%file){ } %fobj.writeLine("};"); %fobj.close(); - %fobj.delete(); + %fobj.delete(); } function saveWhtList(){ @@ -14347,11 +14352,11 @@ function buildServerGuidList(){ %guid = getField(strreplace(getField(strreplace(%file,"/","\t"),3),"t","\t"),0); if(getFieldCount($dtBanTemp::GUID[%guid]) > 0)// skip banned clients continue; - + %fobj.openForRead(%file); %fobj.readline(); //skip %gameCount = strreplace(%fobj.readline(),"%t","\t"); - + %d0 = getField(%gameCount,1);%d1 = getField(%gameCount,2); %d = (%d0 > %d1) ? %d0 : %d1; %w0 = getField(%gameCount,3);%w1 = getField(%gameCount,4); @@ -14360,12 +14365,12 @@ function buildServerGuidList(){ %m = (%m0 > %m1) ? %m0 : %m1; %q0 = getField(%gameCount,7);%q1 = getField(%gameCount,8); %q = (%q0 > %q1) ? %q0 : %q1; - %y0 = getField(%gameCount,9);%y1 = getField(%gameCount,10); - %y = (%y0 > %y1) ? %y0 : %y1; - + %y0 = getField(%gameCount,9);%y1 = getField(%gameCount,10); + %y = (%y0 > %y1) ? %y0 : %y1; + if(getFieldCount($guidInfo[%guid]) == 6){ if(getField($guidInfo[%guid],5) < %y){// update if this info is better - $guidInfo[%guid] = %name TAB %d TAB %w TAB %m TAB %q TAB %y; + $guidInfo[%guid] = %name TAB %d TAB %w TAB %m TAB %q TAB %y; } } else{ @@ -14373,16 +14378,16 @@ function buildServerGuidList(){ %td += %d; %tw += %w; %tm += %m; %tq += %q; %ty += %y; %name = getField(strreplace(%fobj.readline(),"%t","\t"),1); $guidInfo[%guid] = %name TAB %d TAB %w TAB %m TAB %q TAB %y; - $guidList[$guidListCount]= %guid; $guidListCount++; + $guidList[$guidListCount]= %guid; $guidListCount++; $guidAvgs = mFloor(%td/$guidListCount) TAB mFloor(%tw/$guidListCount) TAB mFloor(%tm/$guidListCount) TAB mFloor(%tq/$guidListCount) TAB mFloor(%ty/$guidListCount); - } + } } %fobj.close(); - } + } } } %fobj.delete(); -} +} if (!isActivePackage(dtBanSys)){ @@ -14400,14 +14405,14 @@ if (!isActivePackage(dtBanSys)){ function genFakeWhiteList(%amount){ deleteVariables("$dtWhtList::WhiteList*"); serverSafeList.delete(); - for (%i = 0; %i < %amount; %i++){ + for (%i = 0; %i < %amount; %i++){ pushWhiteList(20056 + %i, "ThisIsALongName" @ %i); } -} +} function genFakeBanList(%amount){ dtBanList.delete(); - for (%i = 0; %i < %amount; %i++){ + for (%i = 0; %i < %amount; %i++){ BanList::add(20056 + %i, "IP:192.168.0." @ %i @":28000", getRandom(10,500)); } } @@ -14415,7 +14420,7 @@ function genFakeBanList(%amount){ //function genFakeJoinList(%amount){ //deleteVariables("$dtJoinList*"); //$dtJoinListCount = 0; - //for (%i = 0; %i < %amount; %i++){ + //for (%i = 0; %i < %amount; %i++){ //pushFailJoin("ThisIsALongName" @ %i, 2005+%i, 0, "Test Message",getRandom(0,2)); //} //} @@ -14425,13 +14430,13 @@ function banList_bareIP(%ip){ %ip = strReplace(%ip, ".", "_"); if($dtIPList[%ip]){ pushFailJoin(%name, %client.guid, %ip, "IP Ban List", 2); - return 2; + return 2; } %obj = $dtBanTemp::IP[%ip]; if(isObject(%obj) && %obj.banDateTime > 0){ %delta = getTimeDelta(%obj.banDateTime); if (%delta < %obj.banLengthMin){ - pushFailJoin(%obj.name, %obj.gui, 0, "Kick/Ban" SPC %obj.banDateTime - %delta SPC "Minutes Left", 1); + pushFailJoin(%obj.name, %obj.gui, 0, "Kick/Ban" SPC %obj.banDateTime - %delta SPC "Minutes Left", 1); return 1; } else{ @@ -16346,12 +16351,12 @@ $fontInfo["remapTable","T2",32] = "-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -// 0 1 2 3 4 5 6 +// 0 1 2 3 4 5 6 //xOffset yOffset width height xOrigin yOrigin xIncrement -//glyph font type rendering +//glyph font type rendering function addGLText(%text, %sX, %sY, %color, %type, %size, %clipLimit) { if ($fontInfo["fontHeight",%type,%size] > 0){ - %line = %sY;// are line postion + %line = %sY;// are line postion %cc = strCmp(".",""); %rm = getWord($fontInfo["remapTable",%type,%size],strCmp(".","")); %pinfo =$fontInfo["charInfoList",%type,%size,%rm]; @@ -16364,7 +16369,7 @@ function addGLText(%text, %sX, %sY, %color, %type, %size, %clipLimit) { %charInfo = $fontInfo["charInfoList",%type,%size,%charIndex]; %sY = ($fontInfo["baseLine",%type,%size] - getWord(%charInfo,5)) + %line; %sX += getWord(%charInfo,4); - //if (sX > this.width) // we have hit the end of are image + //if (sX > this.width) // we have hit the end of are image // return 0; %ln += getWord(%charInfo,6) - getWord(%charInfo,4); if (%ln < %clipLimit) { @@ -16373,7 +16378,7 @@ function addGLText(%text, %sX, %sY, %color, %type, %size, %clipLimit) { %pixel = getWord($fontInfo["bitmap",%type,%size,%y + getWord(%charInfo,1)],%x + getWord(%charInfo,0)); if (%pixel > 0) { $textColor[(%sX + %x),(%sY + %y)] = %pixel SPC %color; - } + } else { $textColor[(%sX + %x),(%sY + %y)] = "0 0 0 0"; } @@ -16381,7 +16386,7 @@ function addGLText(%text, %sX, %sY, %color, %type, %size, %clipLimit) { } %sX += getWord(%charInfo,6) - getWord(%charInfo,4); } - else {// adds .. becuase of clip limit + else {// adds .. becuase of clip limit for (%z = 0; %z < 2; %z++) { %sY = ($fontInfo["baseLine",%type,%size] - getWord(%pinfo,5)) + %line; %sX += getWord(%pinfo,4); @@ -16390,7 +16395,7 @@ function addGLText(%text, %sX, %sY, %color, %type, %size, %clipLimit) { %pixel = getWord($fontInfo["bitmap",%type,%size,%y + getWord(%pinfo,1)],%x + getWord(%pinfo,0)); if (%pixel > 0) { $textColor[(%sX + %x),(%sY + %y)] = %pixel SPC %color; - } + } else { $textColor[(%sX + %x),(%sY + %y)] = "0 0 0 0"; } @@ -16417,14 +16422,14 @@ function getTextPosPixels(%text, %sX, %sY, %type, %size) { %charInfo = $fontInfo["charInfoList",%type,%size,%charIndex]; %sY = ($fontInfo["baseLine",%type,%size] - getWord(%charInfo,5)) + %line; %sX += getWord(%charInfo,4); - //if (sX > this.width) // we have hit the end of are image + //if (sX > this.width) // we have hit the end of are image // return 0; %ln += getWord(%charInfo,6) - getWord(%charInfo,4); %sX += getWord(%charInfo,6) - getWord(%charInfo,4); %length += getWord(%charInfo,6) - getWord(%charInfo,4); } } - return %sX TAB %length; + return %sX TAB %length; } } @@ -16458,15 +16463,15 @@ function genBigStats(%game, %lType, %mon, %year){ %mainySize = 1115; %leftmargin = 4; if(%lType $= "month"){ - %header = "Monthly Stats For" SPC monthString(%mon) SPC %year SPC "-" SPC $dtStats::gtNameLong[%game]; + %header = "Monthly Stats For" SPC monthString(%mon) SPC %year SPC "-" SPC $dtStats::gtNameLong[%game]; } else if(%lType $= "custom"){ - %header = $dtStats::gtNameLong[%game] SPC "Stats" SPC %mon; + %header = $dtStats::gtNameLong[%game] SPC "Stats" SPC %mon; } %hsize = getTextLengthInPixels(%header, "RC", 30);//30 schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%mainXSize / 2) - mFloor(%hsize / 2), 50, "11 239 231", "RC", 30, 500);//30 - %gameOutput = %game;// in case its renamed we stil want the output file to have the gametype - if($smallPanel[0,%game] $= ""){// if we have no data for this gametype switch to are default list + %gameOutput = %game;// in case its renamed we stil want the output file to have the gametype + if($smallPanel[0,%game] $= ""){// if we have no data for this gametype switch to are default list %game = "DefaultGame"; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -16556,13 +16561,13 @@ function genBigStats(%game, %lType, %mon, %year){ schedule(%callTime * %callCount++,0,"addGLText","Accuracy", (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Wep Combo", (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Speed", (%tabspace * 3) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); - schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); %weapons = "Blaster\tPlasma Rifle\tSpinfusor\tGrenade Launcher\tMortar\tShocklance\tMine\tHand Grenade"; - } + } - %wepLn = mFloor($wepGridCount[%game] / 4) + 1; + %wepLn = mFloor($wepGridCount[%game] / 4) + 1; %wepCount = %i + %wepLn; %w = -1; %r = -1; @@ -16570,16 +16575,16 @@ function genBigStats(%game, %lType, %mon, %year){ for (%i = %i + 1; %i < %wepCount; %i++) { %varname = $wepGrid[%r++,%game]; %nameData1 = $lData::name[%varname,%gameOutput,%lType,%mon,%year]; - + %varname = $wepGrid[%r++,%game]; %nameData2 = $lData::name[%varname,%gameOutput,%lType,%mon,%year]; - + %varname = $wepGrid[%r++,%game]; %nameData3 = $lData::name[%varname,%gameOutput,%lType,%mon,%year]; - + %varname = $wepGrid[%r++,%game]; %nameData4 = $lData::name[%varname,%gameOutput,%lType,%mon,%year]; - + schedule(%callTime * %callCount++,0,"addGLText",getField(%weapons, %w++), %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, %maxNameSize); schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData1, 0), (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, %maxNameSize); schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData2, 0), (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, %maxNameSize); @@ -16641,8 +16646,8 @@ function genBigStats(%game, %lType, %mon, %year){ } } - } - schedule(%callTime * %callCount++, 0, "dumpImg",%gameOutput @ "-" @ %lType @ "-" @ %mon @ "-" @ %year); + } + schedule(%callTime * %callCount++, 0, "dumpImg",%gameOutput @ "-" @ %lType @ "-" @ %mon @ "-" @ %year); } function dumpImg(%name){ @@ -16669,9 +16674,9 @@ function genBigMapStats(%count){ genMapStatsImg(%game, %count); } else{ - genBigMapStats(%count++); + genBigMapStats(%count++); } - } + } else{ $dtStats::tmCompile = 0; error("map stats compile done"); @@ -16689,11 +16694,11 @@ function genMapStatsImg(%game,%count){ %mainXSize =1860; %mainySize = 1115; %leftmargin = 4; - %header = "Map Stats For" SPC $dtStats::pugDate[%game, 0] SPC "-" SPC $dtStats::gtNameLong[%game]; + %header = "Map Stats For" SPC $dtStats::pugDate[%game, 0] SPC "-" SPC $dtStats::gtNameLong[%game]; %hsize = getTextLengthInPixels(%header, "RC", 30);//30 schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%mainXSize / 2) - mFloor(%hsize / 2), 50, "11 239 231", "RC", 30, 500);//30 - %gameOutput = %game;// in case its renamed we stil want the output file to have the gametype - if($smallPanel[0,%game] $= ""){// if we have no data for this gametype switch to are default list + %gameOutput = %game;// in case its renamed we stil want the output file to have the gametype + if($smallPanel[0,%game] $= ""){// if we have no data for this gametype switch to are default list %game = "DefaultGame"; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -16783,13 +16788,13 @@ function genMapStatsImg(%game,%count){ schedule(%callTime * %callCount++,0,"addGLText","Accuracy", (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Wep Combo", (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Speed", (%tabspace * 3) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); - schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); + schedule(%callTime * %callCount++,0,"addGLText","Damage", (%tabspace * 4) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, 500); %weapons = "Blaster\tPlasma Rifle\tSpinfusor\tGrenade Launcher\tMortar\tShocklance\tMine\tHand Grenade"; - } + } - %wepLn = mFloor($wepGridCount[%game] / 4) + 1; + %wepLn = mFloor($wepGridCount[%game] / 4) + 1; %wepCount = %i + %wepLn; %w = -1; %r = -1; @@ -16797,16 +16802,16 @@ function genMapStatsImg(%game,%count){ for (%i = %i + 1; %i < %wepCount; %i++) { %varname = $wepGrid[%r++,%game]; %nameData1 = $gData::name[%varname,%gameOutput] !$= "" ? $gData::name[%varname,%gameOutput] : "NA"; - + %varname = $wepGrid[%r++,%game]; %nameData2 = $gData::name[%varname,%gameOutput] !$= "" ? $gData::name[%varname,%gameOutput] : "NA"; - + %varname = $wepGrid[%r++,%game]; %nameData3 = $gData::name[%varname,%gameOutput] !$= "" ? $gData::name[%varname,%gameOutput] : "NA"; - + %varname = $wepGrid[%r++,%game]; %nameData4 = $gData::name[%varname,%gameOutput] !$= "" ? $gData::name[%varname,%gameOutput] : "NA"; - + schedule(%callTime * %callCount++,0,"addGLText",getField(%weapons, %w++), %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "11 239 231", "RC", 15, %maxNameSize); schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData1, 0), (%tabspace * 1) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, %maxNameSize); schedule(%callTime * %callCount++,0,"addGLText",getField(%nameData2, 0), (%tabspace * 2) + %xOffset, ((%vertSpace * (%i + 1)) + %yOffset) + (%y * %gridYOffset), "3 213 151", "RC", 15, %maxNameSize); @@ -16868,8 +16873,8 @@ function genMapStatsImg(%game,%count){ } } - } - schedule(%callTime * %callCount++, 0, "dumpMapImg",%gameOutput @ "-" @ dtMarkDate(), %count); + } + schedule(%callTime * %callCount++, 0, "dumpMapImg",%gameOutput @ "-" @ dtMarkDate(), %count); } function dumpMapImg(%name, %count){ @@ -16888,7 +16893,7 @@ function dumpMapImg(%name, %count){ } function imgCycle3(%img, %count){ - + %pct = mFloor((%img.yc / %img.y) * 100); if(%pct != %img.pct){ error("Saving Stats image" SPC %pct @ "%"); @@ -16901,7 +16906,7 @@ function imgCycle3(%img, %count){ %border = 45; %headersize = 42; %leftmargin = 4; - + %px = 0; %py = 0; %y = %img.yc; @@ -16911,12 +16916,12 @@ function imgCycle3(%img, %count){ for (%x = 0; %x < %img.x; %x++) { %color = "20 45 45"; if(isInsideBorderO(%img, %x-1, %y-5, 22, 17, 20)){ - %color = "0 118 118"; + %color = "0 118 118"; %color = lerpColor("32 60 69", %color, (%img.yc / %img.y)*1.5); } if(isInsideBorderO(%img, %x-1, %y-5, 42, 37, 4)){ - %color = "0 150 160"; + %color = "0 150 160"; %color = lerpColor(%color, "32 60 69", (%img.yc / %img.y) * 0.25); } if (%x > %border && %y > %border && %px < (%img.x - 88)) { @@ -16939,7 +16944,7 @@ function imgCycle3(%img, %count){ } %fd = $textColor[%x,%y]; if(getWord(%fd,0) > 0){ - %opacity = 1 - (getWord(%fd,0) / 255); + %opacity = 1 - (getWord(%fd,0) / 255); %r = mFloor((1 - %opacity) * getWord(%fd,1) + %opacity * getWord(%color,0)); %g = mFloor((1 - %opacity) * getWord(%fd,2) + %opacity * getWord(%color,1)); %b = mFloor((1 - %opacity) * getWord(%fd,3) + %opacity * getWord(%color,2)); @@ -16950,14 +16955,14 @@ function imgCycle3(%img, %count){ } } %img.yc++; - if(%img.yc < %img.y) + if(%img.yc < %img.y) schedule(32,0,"imgCycle3",%img); else{ %img.close(); - %img.delete(); + %img.delete(); deleteVariables("$textColor*"); error("Stats Image Done"); - genBigMapStats(%count++); + genBigMapStats(%count++); } } @@ -16982,12 +16987,12 @@ function isInsideBorder(%img,%x, %y) { %borderSize = 20; %imgx = %img.x; %imgy = %img.y; - + %right = %x >= (%imgx - %borderSize); %left = %x <= %borderSize; %top = %y <= %borderSize; %bottom = %y >= (%imgy - %borderSize); - //error(%right SPC %left SPC %top SPC %bottom); + //error(%right SPC %left SPC %top SPC %bottom); return %right || %left || %top || %bottom; } @@ -16995,19 +17000,19 @@ function isInsideBorderO(%img, %x, %y, %offsetX, %offsetY, %borderSize) { // %borderSize = 4; %imgx = %img.x; %imgy = %img.y; - + %left = %x >= %offsetX && %x <= %borderSize + %offsetX && %y >= %offsetY && %y <= %imgy - %offsetY; %right = %x >= %imgx - %offsetX - %borderSize && %x <= %imgx - %offsetX && %y >= %offsetY && %y <= %imgy - %offsetY; %top = %y >= %offsetY && %y <= %borderSize + %offsetY && %x >= %offsetX && %x <= %imgx - %offsetX; %bottom = %y >= %imgy - %offsetY - %borderSize && %y <= %imgy - %offsetY && %x >= %offsetX && %x <= %imgx - %offsetX; - + return %left || %right || %top || %bottom; } function lerpColor(%color1, %color2, %t) { if(%t > 1) %t = 1; else if (%t < 0) %t = 0; - + %r1 = getWord(%color1,0); %g1 = getWord(%color1,1); %b1 = getWord(%color1,2); @@ -17021,10 +17026,10 @@ function lerpColor(%color1, %color2, %t) { %lerpedB = mFloor(%b1 + (%b2 - %b1) * %t); return %lerpedR SPC %lerpedG SPC %lerpedB; -} +} function imgCycle(%img){ - + %pct = mFloor((%img.yc / %img.y) * 100); if(%pct != %img.pct){ error("Saving Stats image" SPC %pct @ "%"); @@ -17037,7 +17042,7 @@ function imgCycle(%img){ %border = 45; %headersize = 42; %leftmargin = 4; - + %px = 0; %py = 0; %y = %img.yc; @@ -17047,12 +17052,12 @@ function imgCycle(%img){ for (%x = 0; %x < %img.x; %x++) { %color = "20 45 45"; if(isInsideBorderO(%img, %x-1, %y-5, 22, 17, 20)){ - %color = "0 118 118"; + %color = "0 118 118"; %color = lerpColor("32 60 69", %color, (%img.yc / %img.y)*1.5); } if(isInsideBorderO(%img, %x-1, %y-5, 42, 37, 4)){ - %color = "0 150 160"; + %color = "0 150 160"; %color = lerpColor(%color, "32 60 69", (%img.yc / %img.y) * 0.25); } if (%x > %border && %y > %border && %px < (%img.x - 88)) { @@ -17075,7 +17080,7 @@ function imgCycle(%img){ } %fd = $textColor[%x,%y]; if(getWord(%fd,0) > 0){ - %opacity = 1 - (getWord(%fd,0) / 255); + %opacity = 1 - (getWord(%fd,0) / 255); %r = mFloor((1 - %opacity) * getWord(%fd,1) + %opacity * getWord(%color,0)); %g = mFloor((1 - %opacity) * getWord(%fd,2) + %opacity * getWord(%color,1)); %b = mFloor((1 - %opacity) * getWord(%fd,3) + %opacity * getWord(%color,2)); @@ -17086,11 +17091,11 @@ function imgCycle(%img){ } } %img.yc++; - if(%img.yc < %img.y) + if(%img.yc < %img.y) schedule(32,0,"imgCycle",%img); else{ %img.close(); - %img.delete(); + %img.delete(); deleteVariables("$textColor*"); error("Stats Image Done"); messageAll('MsgStats', '\c3Stats image build has finished~wfx/misc/hunters_greed.wav'); @@ -17117,36 +17122,36 @@ function compileGameImage(%gameIndex){ RootGroup.add(%fobj); %fobj.openForRead(%file); $pugMapInfo = strreplace(%fobj.readLine(),"%t","\t"); - + %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapName[1] = getFields(%line, 2, getFieldCount(%line)-1); - %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapScore[1] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapName[1] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapOff[1] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapScore[1] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapDef[1] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapOff[1] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapKills[1] = getFields(%line, 2, getFieldCount(%line)-1); - - + $pugMapDef[1] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapName[2] = getFields(%line, 2, getFieldCount(%line)-1); - %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapScore[2] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapKills[1] = getFields(%line, 2, getFieldCount(%line)-1); + + %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapOff[2] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapName[2] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapDef[2] = getFields(%line, 2, getFieldCount(%line)-1); + $pugMapScore[2] = getFields(%line, 2, getFieldCount(%line)-1); %line = strreplace(%fobj.readLine(),"%t","\t"); - $pugMapKills[2] = getFields(%line, 2, getFieldCount(%line)-1); - + $pugMapOff[2] = getFields(%line, 2, getFieldCount(%line)-1); + %line = strreplace(%fobj.readLine(),"%t","\t"); + $pugMapDef[2] = getFields(%line, 2, getFieldCount(%line)-1); + %line = strreplace(%fobj.readLine(),"%t","\t"); + $pugMapKills[2] = getFields(%line, 2, getFieldCount(%line)-1); + while ( !%fobj.isEOF() ){ %line = strreplace(%fobj.readLine(),"%t","\t"); %team = getField(%line,0); %type = getField(%line,1); %var = getField(%line,2); - $pugMapData[%team,%type,%var] = getFields(%line, 3, getFieldCount(%line)-1); + $pugMapData[%team,%type,%var] = getFields(%line, 3, getFieldCount(%line)-1); } switch$(%game){ case "CTFGame": renderCTFMapTextTM(%id); @@ -17157,8 +17162,8 @@ function compileGameImage(%gameIndex){ compileGameImage(0); } } - - }// we are out of pugs of this game type so lets reset and advance game type + + }// we are out of pugs of this game type so lets reset and advance game type else{ $dtGameIndex++; compileGameImage(0); @@ -17187,7 +17192,7 @@ function hasValueC(%val,%return,%return2,%x){ if(!%x) return %int @ %return2; %dec = getSubStr(%val, %dot + 1, %x); - return %int @ "." @ %dec @ %return2; + return %int @ "." @ %dec @ %return2; } } return %val @ %return2; @@ -17197,33 +17202,33 @@ function renderArenaMapTextTM(%id){ deleteVariables("$textColor*"); %sizeX = 1280+20; %sizeY = 810; - + %callTime = 8; %spaceing = 20; %justLeft = 355; %justLeft2 = 55; - %header = getField($pugMapInfo,0) SPC "ARENA"; + %header = getField($pugMapInfo,0) SPC "ARENA"; %header = stripChars(%header, "!\"#$%&'()*+,./:;<=>?@[\\]^'{|}~\t\n\r1234567890"); %header = strreplace(%header,"-", " "); %header = strreplace(%header,"_", " "); - + %hsize = getTextLengthInPixels(%header, "T2", 32);//30 - schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 55, "11 239 231", "T2", 32, 1000);//30 - + schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 55, "11 239 231", "T2", 32, 1000);//30 + %date = getField($pugMapInfo,3); %hsize = getTextLengthInPixels(%date, "RC", 12); schedule(%callTime * %callCount++,0,"addGLText",%date, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 85, "11 239 231", "RC", 12, 500); - - %line = "Team 1"; + + %line = "Team 1"; schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 100, "11 239 231", "RC", 30, 500); - %line = getWord(getField($pugMapInfo,4),0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+100, 100, "11 239 231", "RC", 30, 500); - %line = "Team 2"; + %line = getWord(getField($pugMapInfo,4),0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+100, 100, "11 239 231", "RC", 30, 500); + %line = "Team 2"; schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 100, "11 239 231", "RC", 30, 500); - %line = getWord(getField($pugMapInfo,4),1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+400, 100, "11 239 231", "RC", 30, 500); - + %line = getWord(getField($pugMapInfo,4),1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+400, 100, "11 239 231", "RC", 30, 500); + schedule(%callTime * %callCount++,0,"addGLText","Player", %justLeft, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Score", %justLeft+130, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+170, 130, "11 239 231", "RC", 15, 500); @@ -17234,574 +17239,574 @@ function renderArenaMapTextTM(%id){ schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+470, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Def", %justLeft+510, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Kills", %justLeft+550, 130, "11 239 231", "RC", 15, 500); - + %team1Size = getFieldCount($pugMapName[1]); %team2Size = getFieldCount($pugMapName[2]); - %teamsize = (%team1Size >%team2Size) ? %team1Size :%team2Size; + %teamsize = (%team1Size >%team2Size) ? %team1Size :%team2Size; %teamsize = %teamsize <= 32 ? %teamsize : 32; for(%i=0; %i < %teamsize; %i++){ if(%i < %team1Size && %i < %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[1],%i); + %line = %i+1 @ "." @ getField($pugMapName[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[1],%i); + %line = getField($pugMapDef[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[1],%i); + %line = getField($pugMapKills[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = %i+1 @ "." @ getField($pugMapName[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); - %line = getField($pugMapScore[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapOff[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); - } - else if(%i < %team1Size && %i >= %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); - %line = getField($pugMapScore[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapOff[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); - } - else if(%i >= %team1Size && %i < %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[2],%i); + %line = %i+1 @ "." @ getField($pugMapName[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[2],%i); + %line = getField($pugMapDef[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[2],%i); + %line = getField($pugMapKills[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); } - } - - - //%line = getTaggedString($teamName[1]) SPC "Team"; - //schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft2, 100, "11 239 231", "RC", 30, 500); - + else if(%i < %team1Size && %i >= %team2Size){ + %line = %i+1 @ "." @ getField($pugMapName[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); + %line = getField($pugMapScore[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapOff[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapDef[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapKills[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); + } + else if(%i >= %team1Size && %i < %team2Size){ + %line = %i+1 @ "." @ getField($pugMapName[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); + %line = getField($pugMapScore[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapOff[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapDef[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapKills[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); + } + } + + + //%line = getTaggedString($teamName[1]) SPC "Team"; + //schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft2, 100, "11 239 231", "RC", 30, 500); + %noValue = "NA"; %nameOffset = 120; %dataOffset = 130; %lineCount = 0; - %lineCountTeam2 = 0; + %lineCountTeam2 = 0; %justLeftTeam2 = 955; //%textln = getTextPosPixels(%line, 0, 0, "RC", 15); - %line = "Flag Grabs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Caps:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Grab Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","grabSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","grabSpeedMax"],0),%noValue," Kmh",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Catch:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue," Sec",2); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Carrier Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Defends:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Escort Assists:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","escortAssistsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","escortAssistsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flags Thrown:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Returns:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Concuss:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Catch Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCatchSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag MA Catches:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","maFlagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","maFlagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Intercepted Flags:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","interceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","interceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Intercept Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","interceptSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","interceptSpeedMax"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Intercepted Flags MA:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","maInterceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","maInterceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Offensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Defensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Kill Assist:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Distance Moved:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","distMovTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","distMovTG"],0),%noValue," Km",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Highest Avg Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","avgSpeedAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","avgSpeedAvg"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Highest Top Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","maxSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","maxSpeedMax"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Concuss Hits:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Weapon Combos:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","comboCountTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","comboCountTG"],0),%noValue,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "First Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","firstKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","firstKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Last Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","lastKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","lastKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Best KDR:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","kdrAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","kdrAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Shots Fired:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","shotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","shotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Total Damage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","totalWepDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","totalWepDmgTG"],0),%noValue,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Kill Streak:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","killStreakMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","killStreakMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Mine + Disc Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","minePlusDiscKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","minePlusDiscKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Rear Shocklance:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","shockRearShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","shockRearShotTG"],0),%noValue,"",-1); + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagGrabsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - - %line = "Flag Grabs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagGrabsTG"],0),%noValue,"",-1); + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","grabSpeedMax"],0),%noValue," Kmh",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue," Sec",2); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","escortAssistsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","escortAssistsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Catch Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCatchSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag MA Catches:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercepted Flags:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercept Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","interceptSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","interceptSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercepted Flags MA:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","distMovTG"],0),%noValue," Km",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maxSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Concuss Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Weapon Combos:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","comboCountTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","comboCountTG"],0),%noValue,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "First Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Last Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Best KDR:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Shots Fired:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Total Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","totalWepDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","totalWepDmgTG"],0),%noValue,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Kill Streak:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Mine + Disc Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Rear Shocklance:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + + + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagGrabsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Caps:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCapsTG"],0),%noValue,"",-1); + + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCapsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Grab Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","grabSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","grabSpeedMax"],0),%noValue," Kmh",1); + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","grabSpeedMax"],0),%noValue," Kmh",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Catch:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue," Sec",1); + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue," Sec",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Carrier Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","carrierKillsTG"],0),%noValue,"",-1); + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","carrierKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Defends:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagDefendsTG"],0),%noValue,"",-1); + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagDefendsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Escort Assists:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","escortAssists"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","escortAssists"],0),%noValue,"",-1); + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","escortAssists"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","escortAssists"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flags Thrown:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagTossTG"],0),%noValue,"",-1); + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagTossTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Returns:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagReturnsTG"],0),%noValue,"",-1); + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagReturnsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Concuss:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","concussFlagTG"],0),%noValue,"",-1); + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","concussFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Catch Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCatchSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); + + %line = "Flag Catch Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCatchSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag MA Catches:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","maFlagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","maFlagCatchTG"],0),%noValue,"",-1); + + %line = "Flag MA Catches:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maFlagCatchTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Intercepted Flags:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","interceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","interceptedFlagTG"],0),%noValue,"",-1); + + %line = "Intercepted Flags:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","interceptedFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Intercept Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","interceptSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","interceptSpeedMax"],0),%noValue," Kmh",0); + + %line = "Intercept Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","interceptSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","interceptSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Intercepted Flags MA:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","maInterceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","maInterceptedFlagTG"],0),%noValue,"",-1); + + %line = "Intercepted Flags MA:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maInterceptedFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Offensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","OffKillsTG"],0),%noValue,"",-1); + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","OffKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Defensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","DefKillsTG"],0),%noValue,"",-1); + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","DefKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Kill Assist:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","assistTG"],0),%noValue,"",-1); + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","assistTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Distance Moved:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","distMovTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","distMovTG"],0),%noValue," Km",0); + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","distMovTG"],0),%noValue," Km",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Highest Avg Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","avgSpeedAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","avgSpeedAvg"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Highest Top Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","maxSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","maxSpeedMax"],0),%noValue," Kmh",0); + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maxSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Concuss Hits:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","concussHitTG"],0),%noValue,"",0); + + %line = "Concuss Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","concussHitTG"],0),%noValue,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Weapon Combos:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","comboCountTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","comboCountTG"],0),%noValue,"",-1); + + %line = "Weapon Combos:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","comboCountTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","comboCountTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "First Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","firstKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","firstKillTG"],0),%noValue,"",-1); + + %line = "First Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","firstKillTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Last Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","lastKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","lastKillTG"],0),%noValue,"",-1); + + %line = "Last Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","lastKillTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Best KDR:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","kdrAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","kdrAvg"],0),%noValue,"",-1); + + %line = "Best KDR:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","kdrAvg"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Shots Fired:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","shotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","shotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %lineCountTeam2++; - - %line = "Total Damage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","totalWepDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","totalWepDmgTG"],0),%noValue,"",0); + + %line = "Shots Fired:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","shotsFiredTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Kill Streak:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","killStreakMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","killStreakMax"],0),%noValue,"",-1); + + %line = "Total Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","totalWepDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","totalWepDmgTG"],0),%noValue,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Mine + Disc Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","minePlusDiscKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","minePlusDiscKillTG"],0),%noValue,"",-1); + + %line = "Kill Streak:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","killStreakMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Rear Shocklance:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","shockRearShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","shockRearShotTG"],0),%noValue,"",-1); + + %line = "Mine + Disc Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","minePlusDiscKillTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - + + %line = "Rear Shocklance:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + %wepLineCount = %vehLineCount = 24; - - + + %killOffSet = 50; %killValue = 150; %midAirs =185; @@ -17810,149 +17815,149 @@ function renderArenaMapTextTM(%id){ %damageValue = 420; %dist = 455; %distValue = 555; - %line = "Weapons"; + %line = "Weapons"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "Kills"; + %line = "Kills"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "MidAirs"; + %line = "MidAirs"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "MA Distance"; + %line = "MA Distance"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "Damage"; + %line = "Damage"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); %wepLineCount++; - - - %line = "Blaster"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","blasterKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Plasma"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","plasmaKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Chaingun"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","cgKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Spinfusor"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","discKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Grenade"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","grenadeKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - %line = "Shock"; + + %line = "Blaster"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","shockKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","blasterKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","blasterMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockMAHitDistMax"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","blasterMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","blasterDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; %wepLineCount++; - + %line = "Plasma"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","plasmaKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","plasmaDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Chaingun"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","cgKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","cgMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","cgMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","cgDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Spinfusor"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","discKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Grenade"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","grenadeKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Shock"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","shockKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockMAHitDistMax"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + %wepLineCount++; + + if(%id $= "") return; %img = new fileObject(); @@ -17966,7 +17971,7 @@ function renderArenaMapTextTM(%id){ %img.yc = 0; %img.py = 0; %img.pct = 0; - schedule(%callTime * %callCount++, 0, "pugImgCycle2",%img); + schedule(%callTime * %callCount++, 0, "pugImgCycle2",%img); } function renderLCTFMapTextTM(%id){ @@ -17974,33 +17979,33 @@ function renderLCTFMapTextTM(%id){ deleteVariables("$textColor*"); %sizeX = 1280+20; %sizeY = 810; - + %callTime = 8; %spaceing = 20; %justLeft = 355; %justLeft2 = 55; - %header = getField($pugMapInfo,0) SPC "LCTF"; + %header = getField($pugMapInfo,0) SPC "LCTF"; %header = stripChars(%header, "!\"#$%&'()*+,./:;<=>?@[\\]^'{|}~\t\n\r1234567890"); %header = strreplace(%header,"-", " "); %header = strreplace(%header,"_", " "); - + %hsize = getTextLengthInPixels(%header, "T2", 32);//30 - schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 55, "11 239 231", "T2", 32, 1000);//30 - + schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 55, "11 239 231", "T2", 32, 1000);//30 + %date = getField($pugMapInfo,3); %hsize = getTextLengthInPixels(%date, "RC", 12); schedule(%callTime * %callCount++,0,"addGLText",%date, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 85, "11 239 231", "RC", 12, 500); - - %line = "Storm"; + + %line = "Storm"; schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 100, "11 239 231", "RC", 30, 500); - %line = getWord(getField($pugMapInfo,4),0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+100, 100, "11 239 231", "RC", 30, 500); - %line = "Inferno"; + %line = getWord(getField($pugMapInfo,4),0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+100, 100, "11 239 231", "RC", 30, 500); + %line = "Inferno"; schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 100, "11 239 231", "RC", 30, 500); - %line = getWord(getField($pugMapInfo,4),1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+400, 100, "11 239 231", "RC", 30, 500); - + %line = getWord(getField($pugMapInfo,4),1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+400, 100, "11 239 231", "RC", 30, 500); + schedule(%callTime * %callCount++,0,"addGLText","Player", %justLeft, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Score", %justLeft+130, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+170, 130, "11 239 231", "RC", 15, 500); @@ -18011,574 +18016,574 @@ function renderLCTFMapTextTM(%id){ schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+470, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Def", %justLeft+510, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Kills", %justLeft+550, 130, "11 239 231", "RC", 15, 500); - + %team1Size = getFieldCount($pugMapName[1]); %team2Size = getFieldCount($pugMapName[2]); - %teamsize = (%team1Size >%team2Size) ? %team1Size :%team2Size; + %teamsize = (%team1Size >%team2Size) ? %team1Size :%team2Size; %teamsize = %teamsize <= 32 ? %teamsize : 32; for(%i=0; %i < %teamsize; %i++){ if(%i < %team1Size && %i < %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[1],%i); + %line = %i+1 @ "." @ getField($pugMapName[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[1],%i); + %line = getField($pugMapDef[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[1],%i); + %line = getField($pugMapKills[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = %i+1 @ "." @ getField($pugMapName[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); - %line = getField($pugMapScore[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapOff[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); - } - else if(%i < %team1Size && %i >= %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); - %line = getField($pugMapScore[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapOff[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); - } - else if(%i >= %team1Size && %i < %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[2],%i); + %line = %i+1 @ "." @ getField($pugMapName[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[2],%i); + %line = getField($pugMapDef[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[2],%i); + %line = getField($pugMapKills[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); } - } - - - //%line = getTaggedString($teamName[1]) SPC "Team"; - //schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft2, 100, "11 239 231", "RC", 30, 500); - + else if(%i < %team1Size && %i >= %team2Size){ + %line = %i+1 @ "." @ getField($pugMapName[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); + %line = getField($pugMapScore[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapOff[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapDef[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapKills[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); + } + else if(%i >= %team1Size && %i < %team2Size){ + %line = %i+1 @ "." @ getField($pugMapName[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); + %line = getField($pugMapScore[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapOff[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapDef[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapKills[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); + } + } + + + //%line = getTaggedString($teamName[1]) SPC "Team"; + //schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft2, 100, "11 239 231", "RC", 30, 500); + %noValue = "NA"; %nameOffset = 120; %dataOffset = 130; %lineCount = 0; - %lineCountTeam2 = 0; + %lineCountTeam2 = 0; %justLeftTeam2 = 955; //%textln = getTextPosPixels(%line, 0, 0, "RC", 15); - %line = "Flag Grabs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Caps:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Grab Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","grabSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","grabSpeedMax"],0),%noValue," Kmh",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Catch:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue," Sec",2); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Carrier Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Defends:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Escort Assists:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","escortAssistsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","escortAssistsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flags Thrown:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Returns:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Concuss:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag Catch Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCatchSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Flag MA Catches:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","maFlagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","maFlagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Intercepted Flags:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","interceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","interceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Intercept Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","interceptSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","interceptSpeedMax"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Intercepted Flags MA:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","maInterceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","maInterceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Offensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Defensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Kill Assist:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Distance Moved:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","distMovTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","distMovTG"],0),%noValue," Km",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Highest Avg Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","avgSpeedAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","avgSpeedAvg"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Highest Top Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","maxSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","maxSpeedMax"],0),%noValue," Kmh",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Concuss Hits:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Weapon Combos:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","comboCountTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","comboCountTG"],0),%noValue,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "First Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","firstKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","firstKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Last Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","lastKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","lastKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Best KDR:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","kdrAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","kdrAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Shots Fired:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","shotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","shotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Total Damage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","totalWepDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","totalWepDmgTG"],0),%noValue,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Kill Streak:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","killStreakMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","killStreakMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Mine + Disc Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","minePlusDiscKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","minePlusDiscKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Rear Shocklance:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","shockRearShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","shockRearShotTG"],0),%noValue,"",-1); + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagGrabsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - - %line = "Flag Grabs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagGrabsTG"],0),%noValue,"",-1); + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","grabSpeedMax"],0),%noValue," Kmh",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue," Sec",2); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","escortAssistsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","escortAssistsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag Catch Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCatchSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Flag MA Catches:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercepted Flags:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercept Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","interceptSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","interceptSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Intercepted Flags MA:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","distMovTG"],0),%noValue," Km",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maxSpeedMax"],0),%noValue," Kmh",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Concuss Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Weapon Combos:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","comboCountTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","comboCountTG"],0),%noValue,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "First Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Last Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Best KDR:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Shots Fired:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Total Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","totalWepDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","totalWepDmgTG"],0),%noValue,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Kill Streak:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Mine + Disc Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Rear Shocklance:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + + + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagGrabsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Caps:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCapsTG"],0),%noValue,"",-1); + + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCapsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Grab Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","grabSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","grabSpeedMax"],0),%noValue," Kmh",1); + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","grabSpeedMax"],0),%noValue," Kmh",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Catch:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue," Sec",1); + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue," Sec",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Carrier Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","carrierKillsTG"],0),%noValue,"",-1); + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","carrierKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Defends:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagDefendsTG"],0),%noValue,"",-1); + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagDefendsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Escort Assists:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","escortAssists"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","escortAssists"],0),%noValue,"",-1); + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","escortAssists"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","escortAssists"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flags Thrown:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagTossTG"],0),%noValue,"",-1); + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagTossTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Returns:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagReturnsTG"],0),%noValue,"",-1); + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagReturnsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Concuss:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","concussFlagTG"],0),%noValue,"",-1); + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","concussFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Catch Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCatchSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); + + %line = "Flag Catch Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCatchSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCatchSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag MA Catches:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","maFlagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","maFlagCatchTG"],0),%noValue,"",-1); + + %line = "Flag MA Catches:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maFlagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maFlagCatchTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Intercepted Flags:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","interceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","interceptedFlagTG"],0),%noValue,"",-1); + + %line = "Intercepted Flags:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","interceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","interceptedFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Intercept Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","interceptSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","interceptSpeedMax"],0),%noValue," Kmh",0); + + %line = "Intercept Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","interceptSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","interceptSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Intercepted Flags MA:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","maInterceptedFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","maInterceptedFlagTG"],0),%noValue,"",-1); + + %line = "Intercepted Flags MA:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maInterceptedFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maInterceptedFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Offensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","OffKillsTG"],0),%noValue,"",-1); + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","OffKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Defensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","DefKillsTG"],0),%noValue,"",-1); + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","DefKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Kill Assist:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","assistTG"],0),%noValue,"",-1); + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","assistTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Distance Moved:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","distMovTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","distMovTG"],0),%noValue," Km",0); + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","distMovTG"],0),%noValue," Km",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Highest Avg Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","avgSpeedAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","avgSpeedAvg"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Highest Top Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","maxSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","maxSpeedMax"],0),%noValue," Kmh",0); + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maxSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Concuss Hits:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","concussHitTG"],0),%noValue,"",0); + + %line = "Concuss Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","concussHitTG"],0),%noValue,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Weapon Combos:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","comboCountTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","comboCountTG"],0),%noValue,"",-1); + + %line = "Weapon Combos:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","comboCountTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","comboCountTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "First Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","firstKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","firstKillTG"],0),%noValue,"",-1); + + %line = "First Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","firstKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","firstKillTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Last Kill:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","lastKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","lastKillTG"],0),%noValue,"",-1); + + %line = "Last Kill:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","lastKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","lastKillTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Best KDR:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","kdrAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","kdrAvg"],0),%noValue,"",-1); + + %line = "Best KDR:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","kdrAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","kdrAvg"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Shots Fired:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","shotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","shotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %lineCountTeam2++; - - %line = "Total Damage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","totalWepDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","totalWepDmgTG"],0),%noValue,"",0); + + %line = "Shots Fired:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","shotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","shotsFiredTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Kill Streak:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","killStreakMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","killStreakMax"],0),%noValue,"",-1); + + %line = "Total Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","totalWepDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","totalWepDmgTG"],0),%noValue,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Mine + Disc Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","minePlusDiscKillTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","minePlusDiscKillTG"],0),%noValue,"",-1); + + %line = "Kill Streak:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","killStreakMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","killStreakMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Rear Shocklance:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","shockRearShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","shockRearShotTG"],0),%noValue,"",-1); + + %line = "Mine + Disc Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","minePlusDiscKillTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","minePlusDiscKillTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - + + %line = "Rear Shocklance:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + %wepLineCount = %vehLineCount = 24; - - + + %killOffSet = 50; %killValue = 150; %midAirs =185; @@ -18587,149 +18592,149 @@ function renderLCTFMapTextTM(%id){ %damageValue = 420; %dist = 455; %distValue = 555; - %line = "Weapons"; + %line = "Weapons"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "Kills"; + %line = "Kills"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "MidAirs"; + %line = "MidAirs"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "MA Distance"; + %line = "MA Distance"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "Damage"; + %line = "Damage"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); %wepLineCount++; - - - %line = "Blaster"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","blasterKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Plasma"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","plasmaKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Chaingun"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","cgKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Spinfusor"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","discKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Grenade"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","grenadeKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - %line = "Shock"; + + %line = "Blaster"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","shockKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","blasterKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","blasterMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockMAHitDistMax"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","blasterMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","blasterDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; %wepLineCount++; - + %line = "Plasma"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","plasmaKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","plasmaDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","plasmaDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Chaingun"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","cgKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","cgMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","cgMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","cgDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","cgDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Spinfusor"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","discKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Grenade"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","grenadeKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Shock"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","shockKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockMAHitDistMax"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + %wepLineCount++; + + if(%id $= "") return; %img = new fileObject(); @@ -18743,7 +18748,7 @@ function renderLCTFMapTextTM(%id){ %img.yc = 0; %img.py = 0; %img.pct = 0; - schedule(%callTime * %callCount++, 0, "pugImgCycle2",%img); + schedule(%callTime * %callCount++, 0, "pugImgCycle2",%img); } function renderCTFMapTextTM(%id){ @@ -18751,33 +18756,33 @@ function renderCTFMapTextTM(%id){ deleteVariables("$textColor*"); %sizeX = 1280+20; %sizeY = 1115; - + %callTime = 8; %spaceing = 20; %justLeft = 355; %justLeft2 = 55; - %header = getField($pugMapInfo,0) SPC "CTF"; + %header = getField($pugMapInfo,0) SPC "CTF"; %header = stripChars(%header, "!\"#$%&'()*+,./:;<=>?@[\\]^'{|}~\t\n\r1234567890"); %header = strreplace(%header,"-", " "); %header = strreplace(%header,"_", " "); - + %hsize = getTextLengthInPixels(%header, "T2", 32);//30 - schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 55, "11 239 231", "T2", 32, 1000);//30 - + schedule(%callTime * %callCount++,0,"addGLText",%header, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 55, "11 239 231", "T2", 32, 1000);//30 + %date = getField($pugMapInfo,3); %hsize = getTextLengthInPixels(%date, "RC", 12); schedule(%callTime * %callCount++,0,"addGLText",%date, mFloor(%sizeX / 2) - mFloor(%hsize / 2), 85, "11 239 231", "RC", 12, 500); - - %line = "Storm"; + + %line = "Storm"; schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 100, "11 239 231", "RC", 30, 500); - %line = getWord(getField($pugMapInfo,4),0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+100, 100, "11 239 231", "RC", 30, 500); - %line = "Inferno"; + %line = getWord(getField($pugMapInfo,4),0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+100, 100, "11 239 231", "RC", 30, 500); + %line = "Inferno"; schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 100, "11 239 231", "RC", 30, 500); - %line = getWord(getField($pugMapInfo,4),1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+400, 100, "11 239 231", "RC", 30, 500); - + %line = getWord(getField($pugMapInfo,4),1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+400, 100, "11 239 231", "RC", 30, 500); + schedule(%callTime * %callCount++,0,"addGLText","Player", %justLeft, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Score", %justLeft+130, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+170, 130, "11 239 231", "RC", 15, 500); @@ -18788,545 +18793,545 @@ function renderCTFMapTextTM(%id){ schedule(%callTime * %callCount++,0,"addGLText","Off", %justLeft+470, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Def", %justLeft+510, 130, "11 239 231", "RC", 15, 500); schedule(%callTime * %callCount++,0,"addGLText","Kills", %justLeft+550, 130, "11 239 231", "RC", 15, 500); - + %team1Size = getFieldCount($pugMapName[1]); %team2Size = getFieldCount($pugMapName[2]); - %teamsize = (%team1Size >%team2Size) ? %team1Size :%team2Size; + %teamsize = (%team1Size >%team2Size) ? %team1Size :%team2Size; %teamsize = %teamsize <= 32 ? %teamsize : 32; for(%i=0; %i < %teamsize; %i++){ if(%i < %team1Size && %i < %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[1],%i); + %line = %i+1 @ "." @ getField($pugMapName[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[1],%i); + %line = getField($pugMapDef[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[1],%i); + %line = getField($pugMapKills[1],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = %i+1 @ "." @ getField($pugMapName[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); - %line = getField($pugMapScore[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapOff[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[2],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); - } - else if(%i < %team1Size && %i >= %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); - %line = getField($pugMapScore[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapOff[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[1],%i); - schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); - } - else if(%i >= %team1Size && %i < %team2Size){ - %line = %i+1 @ "." @ getField($pugMapName[2],%i); + %line = %i+1 @ "." @ getField($pugMapName[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); %line = getField($pugMapScore[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); %line = getField($pugMapOff[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapDef[2],%i); + %line = getField($pugMapDef[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); - %line = getField($pugMapKills[2],%i); + %line = getField($pugMapKills[2],%i); schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); } - } - - - //%line = getTaggedString($teamName[1]) SPC "Team"; - //schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft2, 100, "11 239 231", "RC", 30, 500); - + else if(%i < %team1Size && %i >= %team2Size){ + %line = %i+1 @ "." @ getField($pugMapName[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft, 150 + (%i*20), "11 239 231", "RC", 15, 130); + %line = getField($pugMapScore[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+130, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapOff[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+170, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapDef[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+210, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapKills[1],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+250, 150 + (%i*20), "11 239 231", "RC", 15, 500); + } + else if(%i >= %team1Size && %i < %team2Size){ + %line = %i+1 @ "." @ getField($pugMapName[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+300, 150 + (%i*20), "11 239 231", "RC", 15, 130); + %line = getField($pugMapScore[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+430, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapOff[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+470, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapDef[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+510, 150 + (%i*20), "11 239 231", "RC", 15, 500); + %line = getField($pugMapKills[2],%i); + schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft+550, 150 + (%i*20), "11 239 231", "RC", 15, 500); + } + } + + + //%line = getTaggedString($teamName[1]) SPC "Team"; + //schedule(%callTime * %callCount++,0,"addGLText",%line, %justLeft2, 100, "11 239 231", "RC", 30, 500); + %noValue = "NA"; %nameOffset = 120; %dataOffset = 130; %lineCount = 0; - %lineCountTeam2 = 0; + %lineCountTeam2 = 0; %justLeftTeam2 = 955; //%textln = getTextPosPixels(%line, 0, 0, "RC", 15); - %line = "Flag Grabs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagGrabsTG"],0),%noValue,"",-1); + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagGrabsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flag Caps:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCapsTG"],0),%noValue,"",-1); + + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCapsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flag Grab Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","grabSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","grabSpeedMax"],0),%noValue," Kmh",1); + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","grabSpeedMax"],0),%noValue," Kmh",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flag Catch:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue,"",2); + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagCatchTG"],0),%noValue,"",2); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Carrier Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","carrierKillsTG"],0),%noValue,"",-1); + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","carrierKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flag Defends:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagDefendsTG"],0),%noValue,"",-1); + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagDefendsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Escort Assists:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","escortAssistsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","escortAssistsTG"],0),%noValue,"",-1); + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","escortAssistsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","escortAssistsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flags Thrown:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagTossTG"],0),%noValue,"",-1); + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagTossTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flag Returns:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","flagReturnsTG"],0),%noValue,"",-1); + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","flagReturnsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Flag Concuss:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","concussFlagTG"],0),%noValue,"",-1); + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","concussFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Offensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","OffKillsTG"],0),%noValue,"",-1); + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","OffKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Defensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","DefKillsTG"],0),%noValue,"",-1); + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","DefKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Repairs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","repairsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","repairsTG"],0),%noValue,"",-1); + + %line = "Repairs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","repairsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","repairsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Destruction:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + + %line = "Destruction:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %line = hasValueC(getField($pugMapData[1,"name","destructionTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","destructionTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Gens Destroyed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","genDestroysTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","genDestroysTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Gens Repairs"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","genSolRepairsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","genSolRepairsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %lineCount++; - - %line = "Indoor Turret Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","indoorDepTurretKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","indoorDepTurretKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","destructionTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Outdoor Turret Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","outdoorDepTurretKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","outdoorDepTurretKillsTG"],0),%noValue,"",-1); + + %line = "Gens Destroyed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","genDestroysTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","genDestroysTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Deploy Invy Use:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","depInvyUseTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","depInvyUseTG"],0),%noValue,"",-1); + + %line = "Gens Repairs"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","genSolRepairsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","genSolRepairsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Inventorys Deployed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","InventoryDepTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","InventoryDepTG"],0),%noValue,"",-1); + + %line = "Indoor Turret Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","indoorDepTurretKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","indoorDepTurretKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Kill Assist:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","assistTG"],0),%noValue,"",-1); + + %line = "Outdoor Turret Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","outdoorDepTurretKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","outdoorDepTurretKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Distance Moved:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","distMovTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","distMovTG"],0),%noValue," Km",0); + + %line = "Deploy Invy Use:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","depInvyUseTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","depInvyUseTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - - %line = "Highest Avg Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","avgSpeedAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + + %line = "Inventorys Deployed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","InventoryDepTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","InventoryDepTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Highest Top Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","maxSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","maxSpeedMax"],0),%noValue," Kmh",0); + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","assistTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Sensors Deployed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","SensorsDepTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","SensorsDepTG"],0),%noValue,"",-1); + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","distMovTG"],0),%noValue," Km",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Shield Block Damage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","shieldPackDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","shieldPackDmgTG"],0),%noValue,"",2); + + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","avgSpeedAvg"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Stealth Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","cloakerKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","cloakerKillsTG"],0),%noValue,"",-1); + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","maxSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Cloakers Killed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","cloakersKilledTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","cloakersKilledTG"],0),%noValue,"",-1); + + %line = "Sensors Deployed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","SensorsDepTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","SensorsDepTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); %lineCount++; - - %line = "Sensor Jammer:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[1,"name","jammerTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[1,"data","jammerTG"],0),%noValue,"",-1); + + %line = "Shield Block Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","shieldPackDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","shieldPackDmgTG"],0),%noValue,"",2); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); - - - - - - - %line = "Flag Grabs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagGrabsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagGrabsTG"],0),%noValue,"",-1); + %lineCount++; + + %line = "Stealth Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","cloakerKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","cloakerKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Cloakers Killed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","cloakersKilledTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","cloakersKilledTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %lineCount++; + + %line = "Sensor Jammer:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[1,"name","jammerTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[1,"data","jammerTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCount*20), "11 239 231", "RC", 15, 500); + + + + + + + %line = "Flag Grabs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagGrabsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagGrabsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Caps:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCapsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCapsTG"],0),%noValue,"",-1); + + %line = "Flag Caps:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCapsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCapsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Grab Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","grabSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","grabSpeedMax"],0),%noValue," Kmh",1); + + %line = "Flag Grab Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","grabSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","grabSpeedMax"],0),%noValue," Kmh",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Catch:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue,"",1); + + %line = "Flag Catch:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagCatchTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagCatchTG"],0),%noValue,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Carrier Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","carrierKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","carrierKillsTG"],0),%noValue,"",-1); + + %line = "Carrier Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","carrierKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","carrierKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Defends:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagDefendsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagDefendsTG"],0),%noValue,"",-1); + + %line = "Flag Defends:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagDefendsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagDefendsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Escort Assists:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","escortAssists"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","escortAssists"],0),%noValue,"",-1); + + %line = "Escort Assists:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","escortAssists"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","escortAssists"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flags Thrown:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagTossTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagTossTG"],0),%noValue,"",-1); + + %line = "Flags Thrown:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagTossTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagTossTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Returns:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","flagReturnsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","flagReturnsTG"],0),%noValue,"",-1); + + %line = "Flag Returns:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","flagReturnsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","flagReturnsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Flag Concuss:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","concussFlagTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","concussFlagTG"],0),%noValue,"",-1); + + %line = "Flag Concuss:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","concussFlagTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","concussFlagTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Offensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","OffKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","OffKillsTG"],0),%noValue,"",-1); + + %line = "Offensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","OffKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","OffKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Defensive Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","DefKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","DefKillsTG"],0),%noValue,"",-1); + + %line = "Defensive Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","DefKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","DefKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Repairs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","repairsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","repairsTG"],0),%noValue,"",-1); + + %line = "Repairs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","repairsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","repairsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - - %line = "Destruction:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","destructionTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","destructionTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %lineCountTeam2++; - - %line = "Gens Destroyed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","genDestroysTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","genDestroysTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %lineCountTeam2++; - - %line = "Gens Repairs:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","genSolRepairsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","genSolRepairsTG"],0),%noValue,"",-1); + + + %line = "Destruction:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","destructionTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","destructionTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Indoor Turret Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","indoorDepTurretKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","indoorDepTurretKillsTG"],0),%noValue,"",-1); + + %line = "Gens Destroyed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","genDestroysTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","genDestroysTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Outdoor Turret Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","outdoorDepTurretKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","outdoorDepTurretKillsTG"],0),%noValue,"",-1); + + %line = "Gens Repairs:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","genSolRepairsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","genSolRepairsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Deploy Invy Use:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","depInvyUseTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","depInvyUseTG"],0),%noValue,"",-1); + + %line = "Indoor Turret Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","indoorDepTurretKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","indoorDepTurretKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Inventorys Deployed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","InventoryDepTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","InventoryDepTG"],0),%noValue,"",-1); + + %line = "Outdoor Turret Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","outdoorDepTurretKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","outdoorDepTurretKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Kill Assist:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","assistTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","assistTG"],0),%noValue,"",-1); + + %line = "Deploy Invy Use:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","depInvyUseTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","depInvyUseTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Distance Moved:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","distMovTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","distMovTG"],0),%noValue," Km",0); + + %line = "Inventorys Deployed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","InventoryDepTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","InventoryDepTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - - %line = "Highest Avg Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","avgSpeedAvg"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","avgSpeedAvg"],0),%noValue," Kmh",0); + + %line = "Kill Assist:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","assistTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","assistTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Highest Top Speed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","maxSpeedMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","maxSpeedMax"],0),%noValue," Kmh",0); + + %line = "Distance Moved:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","distMovTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","distMovTG"],0),%noValue," Km",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Sensors Deployed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","SensorsDepTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","SensorsDepTG"],0),%noValue,"",-1); + + + %line = "Highest Avg Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","avgSpeedAvg"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","avgSpeedAvg"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Shield Block Damage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","shieldPackDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","shieldPackDmgTG"],0),%noValue,"",2); + + %line = "Highest Top Speed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","maxSpeedMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","maxSpeedMax"],0),%noValue," Kmh",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Stealth Kills:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","cloakerKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","cloakerKillsTG"],0),%noValue,"",-1); + + %line = "Sensors Deployed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","SensorsDepTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","SensorsDepTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Cloakers Killed:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","cloakersKilledTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","cloakersKilledTG"],0),%noValue,"",-1); + + %line = "Shield Block Damage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","shieldPackDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","shieldPackDmgTG"],0),%noValue,"",2); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); %lineCountTeam2++; - - %line = "Sensor Jammer:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[2,"name","jammerTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[2,"data","jammerTG"],0),%noValue,"",-1); + + %line = "Stealth Kills:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","cloakerKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","cloakerKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); - - - - - + %lineCountTeam2++; + + %line = "Cloakers Killed:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","cloakersKilledTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","cloakersKilledTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %lineCountTeam2++; + + %line = "Sensor Jammer:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeftTeam2, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[2,"name","jammerTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[2,"data","jammerTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%lineCountTeam2*20), "11 239 231", "RC", 15, 500); + + + + + %lineCount++; %lineCount++; %lineCount++; @@ -19341,310 +19346,310 @@ function renderCTFMapTextTM(%id){ %damageValue = 420; %dist = 455; %distValue = 555; - %line = "Weapons"; + %line = "Weapons"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "Kills"; + %line = "Kills"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "MidAirs"; + %line = "MidAirs"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "MA Distance"; + %line = "MA Distance"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = "Damage"; + %line = "Damage"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = ""; + %line = ""; schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); %wepLineCount++; - - - %line = "Blaster"; + + + %line = "Blaster"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","blasterKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","blasterKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","blasterMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","blasterMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","blasterDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","blasterDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","blasterDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","blasterDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); %wepLineCount++; - - %line = "Plasma"; + + %line = "Plasma"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","plasmaKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","plasmaKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","plasmaMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","plasmaDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","plasmaDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","plasmaDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","plasmaDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); %wepLineCount++; - - %line = "Chaingun"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","cgKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","cgDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","cgDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Spinfusor"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","discKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","discDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","discDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Grenade"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","grenadeKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","grenadeDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","grenadeDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Laser"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","laserKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","laserKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","laserMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","laserMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","laserMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","laserMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","laserDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","laserDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - %line = "Mortar"; + %line = "Chaingun"; schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","mortarKillsTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgKillsTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","mortarKillsTG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","cgKillsTG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","mortarMATG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgMATG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","mortarMATG"],0),0,"",-1); + %line = hasValueC(getField($pugMapData[0,"data","cgMATG"],0),0,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","mortarMAHitDistMax"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgMAHitDistMax"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","mortarMAHitDistMax"],0),0,"",0); + %line = hasValueC(getField($pugMapData[0,"data","cgMAHitDistMax"],0),0,"",0); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","mortarDmgTG"],0),%noValue,"",-1); + %line = hasValueC(getField($pugMapData[0,"name","cgDmgTG"],0),%noValue,"",-1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","mortarDmgTG"],0),0,"",1); + %line = hasValueC(getField($pugMapData[0,"data","cgDmgTG"],0),0,"",1); schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - %line = "Missile"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","missileKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","missileKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","missileMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","missileMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","missileMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","missileMAHitDistMax"],0),0,"",0); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","missileDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","missileDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; - - - %line = "Shock"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","shockKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockMATG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockMATG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockMAHitDistMax"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockMAHitDistMax"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"name","shockDmgTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %line = hasValueC(getField($pugMapData[0,"data","shockDmgTG"],0),0,"",1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); - %wepLineCount++; %wepLineCount++; - + + %line = "Spinfusor"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","discKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","discDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","discDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Grenade"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","grenadeKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","grenadeDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","grenadeDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Laser"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","laserKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","laserKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","laserMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","laserMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","laserMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","laserMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","laserDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","laserDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Mortar"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","mortarKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","mortarKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","mortarMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","mortarMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","mortarMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","mortarMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","mortarDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","mortarDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + %line = "Missile"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","missileKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","missileKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","missileMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","missileMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","missileMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","missileMAHitDistMax"],0),0,"",0); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","missileDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","missileDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + + + %line = "Shock"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","shockKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killOffSet , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %killValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockMATG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirs , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockMATG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %midAirValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockMAHitDistMax"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damage , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockMAHitDistMax"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %damageValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"name","shockDmgTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %dist , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %line = hasValueC(getField($pugMapData[0,"data","shockDmgTG"],0),0,"",1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v + %distValue , 150 + (%wepLineCount*20), "11 239 231", "RC", 15, 100); + %wepLineCount++; + %wepLineCount++; + %justLeft3 = %justLeft2 + 320; - %nameAdjust = -15; - - %line = "Hand Grenade:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","hGrenadeKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","hGrenadeKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - - %line = "Concuss Hits:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","concussHitTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - - %wepLineCount++; - - %line = "Mine:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","concussHitTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","concussHitTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - - %line = "Mine + Disc:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","minePlusDiscTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","minePlusDiscTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %wepLineCount++; - - %line = "Satchel Charge:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","satchelKillsTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","satchelKillsTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - - %line = "Sniper Head Shots:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","laserHeadShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","laserHeadShotTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %wepLineCount++; - - %line = "ELF Usage:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","elfShotsFiredTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","elfShotsFiredTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - - - %line = "Shock Rear Hits:"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %line = hasValueC(getField($pugMapData[0,"name","shockRearShotTG"],0),%noValue,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); - %line = hasValueC(getField($pugMapData[0,"data","shockRearShotTG"],0),0,"",-1); - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); - %wepLineCount++; - - + %nameAdjust = -15; + + %line = "Hand Grenade:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","hGrenadeKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","hGrenadeKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + + %line = "Concuss Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","concussHitTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + + %wepLineCount++; + + %line = "Mine:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","concussHitTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","concussHitTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + + %line = "Mine + Disc:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","minePlusDiscTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","minePlusDiscTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %wepLineCount++; + + %line = "Satchel Charge:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","satchelKillsTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","satchelKillsTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + + %line = "Sniper Head Shots:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","laserHeadShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","laserHeadShotTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %wepLineCount++; + + %line = "ELF Usage:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft2, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","elfShotsFiredTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","elfShotsFiredTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + + + %line = "Shock Rear Hits:"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft3, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %line = hasValueC(getField($pugMapData[0,"name","shockRearShotTG"],0),%noValue,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 130); + %line = hasValueC(getField($pugMapData[0,"data","shockRearShotTG"],0),0,"",-1); + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 140 + (%wepLineCount*20), "11 239 231", "RC", 15, 500); + %wepLineCount++; + + + - %justLeft5 = 650; %justLeft6 = 650+320; - %nameAdjust = 0; - %nameAdjust2 = -15; - + %nameAdjust = 0; + %nameAdjust2 = -15; + %vc = 0; for(%a = 0; %a < $imgStatListCount && %vc < 28; %a++){ %var = $imgStatList[%a]; %name = hasValueC(getField($pugMapData[0,"name",%var],0),0,"",-1); %value = hasValueC(getField($pugMapData[0,"data",%var],0),0,"",1); - - if(%value){ + + if(%value){ if((%vc % 2) == 0){ - %line = getField($statsName[%var], 0) @ ":"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft5, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); - %line = %name; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 130); - %line = %value; + %line = getField($statsName[%var], 0) @ ":"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft5, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); + %line = %name; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 130); + %line = %value; schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); } else{ - %line = getField($statsName[%var], 0) @ ":"; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft6, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); - %line = %name; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust2, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 130); - %line = %value; - schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); + %line = getField($statsName[%var], 0) @ ":"; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v = %justLeft6, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); + %line = %name; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %nameOffset+%nameAdjust2, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 130); + %line = %value; + schedule(%callTime * %callCount++,0,"addGLText",%line, %v += %dataOffset, 150 + (%vehLineCount*20), "11 239 231", "RC", 15, 500); %vehLineCount++; } %vc++; } } - + if(%id $= "") return; %img = new fileObject(); @@ -19658,39 +19663,39 @@ function renderCTFMapTextTM(%id){ %img.yc = 0; %img.py = 0; %img.pct = 0; - schedule(%callTime * %callCount++, 0, "pugImgCycle",%img); -} + schedule(%callTime * %callCount++, 0, "pugImgCycle",%img); +} function pugImgCycle(%img){ %pct = mFloor((%img.yc / %img.y) * 100); if(%pct != %img.pct){ if($dtStats::debugEchos){error("pugImgCycle Saving Stats image" SPC %pct @ "%");} %img.pct = %pct; } - + %y = %img.yc; for (%x = 0; %x < %img.x; %x++) { %color = "20 45 45"; - if(%x >= 48 && %x <= 1235+20 && %y >= 47 && %y <= %img.y -20){ + if(%x >= 48 && %x <= 1235+20 && %y >= 47 && %y <= %img.y -20){ if(%x >= %img.x/2 && %y < 780) %color = "33 86 96"; - else if(%x <= %img.x/2 && %y < 780) + else if(%x <= %img.x/2 && %y < 780) %color = "29 74 82"; - else + else %color = "21 55 61"; } - + if(isInsideBorderO(%img, %x-1, %y-5, 26, 21, 15)){ - %color = "0 118 118"; + %color = "0 118 118"; %color = lerpColor("20 45 45", %color, (%img.yc / %img.y)*1.5); } if(isInsideBorderO(%img, %x-1, %y-5, 42, 37, 4)){ - %color = "0 150 160"; + %color = "0 150 160"; %color = lerpColor(%color, "20 45 45", (%img.yc / %img.y) * 0.25); } %fd = $textColor[%x,%y]; if(getWord(%fd,0) > 0){ - %opacity = 1 - (getWord(%fd,0) / 255); + %opacity = 1 - (getWord(%fd,0) / 255); %r = mFloor((1 - %opacity) * getWord(%fd,1) + %opacity * getWord(%color,0)); %g = mFloor((1 - %opacity) * getWord(%fd,2) + %opacity * getWord(%color,1)); %b = mFloor((1 - %opacity) * getWord(%fd,3) + %opacity * getWord(%color,2)); @@ -19698,17 +19703,17 @@ function pugImgCycle(%img){ } else{ %img.writeLine(%color); - } + } } %img.yc++; - if(%img.yc < %img.y) + if(%img.yc < %img.y) schedule(16,0,"pugImgCycle",%img); else{ %img.close(); - %img.delete(); + %img.delete(); deleteVariables("$textColor*"); compileGameImage($idPugIndex++); - } + } } function pugImgCycle2(%img){ %pct = mFloor((%img.yc / %img.y) * 100); @@ -19716,34 +19721,34 @@ function pugImgCycle2(%img){ if($dtStats::debugEchos){error("pugImgCycle Saving Stats image" SPC %pct @ "%");} %img.pct = %pct; } - + %y = %img.yc; for (%x = 0; %x < %img.x; %x++) { %color = "20 45 45"; - if(%x >= 48 && %x <= 1235+20 && %y >= 47 && %y <= %img.y -20){ + if(%x >= 48 && %x <= 1235+20 && %y >= 47 && %y <= %img.y -20){ if(%x >= %img.x/2 && %y < 780) %color = "33 86 96"; - else if(%x <= %img.x/2 && %y < 780) + else if(%x <= %img.x/2 && %y < 780) %color = "29 74 82"; - else + else %color = "21 55 61"; } - + if(isInsideBorderO(%img, %x-1, %y-5, 26, 21, 15)){ - %color = "0 118 118"; + %color = "0 118 118"; %color = lerpColor("20 45 45", %color, (%img.yc / %img.y)*1.5); } if(isInsideBorderO(%img, %x-1, %y-5, 42, 37, 4)){ - %color = "0 150 160"; + %color = "0 150 160"; %color = lerpColor(%color, "20 45 45", (%img.yc / %img.y) * 0.25); } if(%x > 355 && %y > 633 && %x < 950 && %y < 764){ - + } %fd = $textColor[%x,%y]; if(getWord(%fd,0) > 0){ - %opacity = 1 - (getWord(%fd,0) / 255); + %opacity = 1 - (getWord(%fd,0) / 255); %r = mFloor((1 - %opacity) * getWord(%fd,1) + %opacity * getWord(%color,0)); %g = mFloor((1 - %opacity) * getWord(%fd,2) + %opacity * getWord(%color,1)); %b = mFloor((1 - %opacity) * getWord(%fd,3) + %opacity * getWord(%color,2)); @@ -19751,17 +19756,17 @@ function pugImgCycle2(%img){ } else{ %img.writeLine(%color); - } + } } %img.yc++; - if(%img.yc < %img.y) + if(%img.yc < %img.y) schedule(16,0,"pugImgCycle",%img); else{ %img.close(); - %img.delete(); + %img.delete(); deleteVariables("$textColor*"); compileGameImage($idPugIndex++); - } + } } //////////////////////////////////////////////////////////////////////////////// @@ -19770,11 +19775,11 @@ function dtBuildMissionList(%reset){ ML.delete(); } if(isFile("serverStats/mapRot.cs") && !%reset){ - exec("serverStats/mapRot.cs"); + exec("serverStats/mapRot.cs"); RootGroup.add(ML); } if(!isObject(ML)){ - new simGroup(ML); + new simGroup(ML); RootGroup.add(ML); ML.curMapList = 0; } @@ -19783,14 +19788,14 @@ function dtBuildMissionList(%reset){ RootGroup.add(%fobject); for( %file = findFirstFile( %search ); %file !$= ""; %file = findNextFile( %search ) ){ %fileName = fileBase( %file ); // get the name - %name = cleanMapName(%fileName); - if(!isObject(%name)){ + %name = cleanMapName(%fileName); + if(!isObject(%name)){ if ( !%fobject.openForRead( %file ) ) - continue; + continue; %mObj = new scriptObject(%name){ file = %fileName; - name = %name; - }; + name = %name; + }; %typeList = "None"; while ( !%fobject.isEOF() ){ @@ -19804,14 +19809,14 @@ function dtBuildMissionList(%reset){ } } %fobject.close(); - + // Don't include single player missions: if ( strstr( %typeList, "SinglePlayer" ) != -1 || (strstr( %typeList, "TR2" ) != -1 && !$Host::ClassicLoadTR2Gametype)){ %mObj.delete(); continue; } - - + + %mObj.typeList = %typeList; for( %word = 0; ( %misType = strlwr(getWord( %typeList, %word )) ) !$= ""; %word++ ){ @@ -19822,7 +19827,7 @@ function dtBuildMissionList(%reset){ ML.TypeCount++; ML.TypeName[%i] = %misType; ML.TypeIndex[%misType] = %i; - } + } %mObj.typeList[%misType] = 1; //%mObj.typeList = (%i == 0) ? ML.TypeIndex[%misType] : (%mObj.typeList SPC ML.TypeIndex[%misType]); // enable 0 voteOption 1 min 2 max 3 prio 4 week 5 weekBitAsk 6 monthRes 7 monthBitMask 8 eventMap 9 hour 10 min 11 month 12 day 13 year 14 eventSwitch 15 eventTime 16 unsued 17 @@ -19834,24 +19839,24 @@ function dtBuildMissionList(%reset){ } } %fobject.delete(); - + $dtFixedMapCycle = 0; for ( %i = 0; %i < ML.TypeCount; %i++ ){ $dtFixedMapCount[ ML.TypeName[%i]] = 0; } if(isFile("serverStats/fixMapRot.cs") && !%reset){ - exec("serverStats/fixMapRot.cs"); - } - + exec("serverStats/fixMapRot.cs"); + } + for ( %i = 0; %i < ML.getCount(); %i++ ){// cleanup %mapObj = ML.getObject(%i); if(!isFile("missions/"@ %mapObj.file @".mis")){ - %mapObj.delete(); + %mapObj.delete(); %i--; } } - + if(!isEventPending($saveML)){ $saveML = ML.schedule(2000,"save", "serverStats/mapRot.cs" , 0); ML.schedule(1000,"save", "serverStats/mapRotBackup.cs" , 0); @@ -19860,20 +19865,20 @@ function dtBuildMissionList(%reset){ function saveMapRot(){ if(!isEventPending($saveML)) - $saveML = ML.schedule(1000,"save", "serverStats/mapRot.cs" , 0); + $saveML = ML.schedule(1000,"save", "serverStats/mapRot.cs" , 0); if(!isEventPending($saveMR)) $saveMR = schedule(2000, 0, "export", "$dtFixedMap*", "serverStats/fixMapRot.cs", false ); } function eventGameStart(%time){ Game.gameOver(); - CycleMissions(); + CycleMissions(); } function mapEventCheck(){ - //if(%event && getField(%ms,0)){//eventMap 9 hour 10 min 11 month 12 day 13 year 14; + //if(%event && getField(%ms,0)){//eventMap 9 hour 10 min 11 month 12 day 13 year 14; //$dtEventMap[$dtEventMapCount] = (%event == 3) TAB %mapObj.file TAB %gameType TAB getFields(%ms,10,14); - //$dtEventMapCount++; + //$dtEventMapCount++; //} %time = formattimestring("H\tn\td\tm\tyy"); for(%i = 0; %i < $dtEventMapCount; %i++){ @@ -19888,14 +19893,14 @@ function mapEventCheck(){ deleteVariables("$HostMission*"); deleteVariables("$HostType*"); if(getField(%fields,0)){// next map - messageAll('MsgEventMap', '\c2 The next map will be %1 do to a scheduled event, map voteing has been diabled~wfx/misc/hunters_horde.wav',%mapObj.name); + messageAll('MsgEventMap', '\c2 The next map will be %1 do to a scheduled event, map voteing has been diabled~wfx/misc/hunters_horde.wav',%mapObj.name); $dtEventMap = %mapObj TAB %mapType TAB getField(%fields,1); $dtEventMapOldTime = $Host::TimeLimit; $dtEventMapOldType = $CurrentMissionType; } - else{// force change + else{// force change %min = 5; - messageAll('MsgEventMap', '\c2 Do to a sheduled event, the sever will force change to %1 in %2 min, map voteing has been diabled~wfx/misc/hunters_horde.wav',%mapObj.name,%min); + messageAll('MsgEventMap', '\c2 Do to a sheduled event, the sever will force change to %1 in %2 min, map voteing has been diabled~wfx/misc/hunters_horde.wav',%mapObj.name,%min); schedule(60000*%min, 0, "eventGameStart",getField(%fields,1)); %ms = $Host::TimeLimit * 60 * 1000; $missionStartTime = getSimTime() - (%ms - (60000*%min)); @@ -19916,7 +19921,7 @@ function pushMissionList(){ deleteVariables("$HostType*"); deleteVariables("$dtEventMap*"); $dtEventMapCount = 0; - if(ML.curMapList == 3){// Fixed rotation list + if(ML.curMapList == 3){// Fixed rotation list for(%x = 0; %x < ML.TypeCount; %x++){ %gameType = ML.TypeName[%x]; for(%i = 0; %i < $dtFixedMapCount[strlwr(%gameType)]; %i++){ @@ -19974,12 +19979,12 @@ function pushMissionList(){ if(isFile("missions/"@ %mapObj.file @".mis")){ for( %w = 0; ( %gameType = getWord( %mapObj.typeList, %w ) ) !$= ""; %w++ ){ %ms = %mapObj.typeOptions[strlwr(%gameType), ML.curMapList]; - - if(getField(%ms,9) && getField(%ms,0)){//eventMap 9 hour 10 min 11 month 12 day 13 year 14; + + if(getField(%ms,9) && getField(%ms,0)){//eventMap 9 hour 10 min 11 month 12 day 13 year 14; $dtEventMap[$dtEventMapCount] = getField(%ms,15) TAB getField(%ms,16) TAB %mapObj TAB %gameType TAB getFields(%ms,10,14); - $dtEventMapCount++; + $dtEventMapCount++; } - + if(getField(%ms,0) && getField(%ms,1) != 2){ %found = false; for (%mis = 0; %mis < $HostMissionCount; %mis++){ @@ -20031,33 +20036,33 @@ function pushMissionList(){ package dtMapRotation{ function loadMission( %missionName, %missionType, %firstMission ){ parent::loadMission( %missionName, %missionType, %firstMission ); - + %cName = cleanMapName(%missionName); if(ML.curMapList != 3){ $dtMapPlayed[$CurrentMissionType,%cName] = 1; if(ML.saveMapPlayed && !isEventPending($saveMapRot)){ $saveMapRot = schedule(15000, 0, "export", "$dtMapPlayed*", "serverStats/mapPlayRot.cs", false ); } - } + } else if(ML.curMapList == 3){ if(!$dtMissionCycle){//map did not cycle lets update are pointer; %mapCount = $dtFixedMapCount[strlwr(%missionType)]; for(%i = 0; %i < %mapCount; %i++){ - %mn = getField($dtFixedMapList[%i, strlwr(%missionType)],0); + %mn = getField($dtFixedMapList[%i, strlwr(%missionType)],0); if(%mn $= %missionName){ $dtFixedMapCycle = (%i + 1) % %mapCount; error("TEST" SPC %missionName); if(!isEventPending($saveMR)){ $saveMR = schedule(15000, 0, "export", "$dtFixedMap*", "serverStats/fixMapRot.cs", false ); - } + } break; } } - } + } } $dtMissionCycle = 0; } - + function CycleMissions(){ $dtMissionCycle = 1; if(!ML.enable){ @@ -20078,7 +20083,7 @@ package dtMapRotation{ $Host::TimeLimit = $dtEventMapOldTime; $CurrentMissionType = $dtEventMapOldType; $lastMapEvent = 0; - buildMissionList();// rebuild vote list + buildMissionList();// rebuild vote list } if(Game.scheduleVote !$= "") // a vote is still running, stop it stopCurrentVote(); @@ -20099,10 +20104,10 @@ package dtMapRotation{ pushMissionList(); } else{ - parent::buildMissionList(); + parent::buildMissionList(); } } - + }; if (!isActivePackage(dtMapRotation)){ @@ -20124,32 +20129,32 @@ function dtNextMission(%gameType){ } return getField(%missionName,0); } - + %gindex = ML.TypeIndex[%gameType]; %plrCount = ClientGroup.getCount(); %mapListA = 0; %mapListB = 0; %mapListF = 0; - %prioA = 0; - %prioB = 0; + %prioA = 0; + %prioB = 0; %wIndex["Sun"] = 0;%wIndex["Mon"] = 1;%wIndex["Tue"] = 2;%wIndex["Wed"] = 3;%wIndex["Thu"] = 5;%wIndex["Fri"] = 5;%wIndex["Sat"] = 6; for ( %i = 0; %i < ML.getCount(); %i++ ){ %mapObj = ML.getObject(%i); - // enable 0 voteonly 1 min 2 max 3 prio 4 week 5 weekBitMask 6 monthRes 7 monthBitMask 8 eventMap 9 hour 10 min 11 month 12 day 13 year 14; + // enable 0 voteonly 1 min 2 max 3 prio 4 week 5 weekBitMask 6 monthRes 7 monthBitMask 8 eventMap 9 hour 10 min 11 month 12 day 13 year 14; %options = %mapObj.typeOptions[%gameType,ML.curMapList]; %cName = cleanMapName(%mapObj.file); if(getField(%options,0) && getField(%options,1) != 1){ // enable and voteonly check if(!$dtMapPlayed[%gameType,%cName]){ - if(%plrCount >= getField(%options,2) && %plrCount <= getField(%options,3) || (%plrCount > 64 && getField(%options,2) > 32)){// min max player + if(%plrCount >= getField(%options,2) && %plrCount <= getField(%options,3) || (%plrCount > 64 && getField(%options,2) > 32)){// min max player if(getField(%options,5)){// week limits - %dindex = %wIndex[formattimestring("D")]; + %dindex = %wIndex[formattimestring("D")]; if(getSubStr(getField(%options,6),%dindex,1) == 1){ %prio += getField(%options,4); %mapList[%mapListA] = %mapObj; %mapListA++; } - } + } else if(getField(%options,7)){ // month limits if(getSubStr(getField(%options,8),formattimestring("m")-1,1) == 1){ %prioA += getField(%options,4); @@ -20163,15 +20168,15 @@ function dtNextMission(%gameType){ %mapListA++; } } - else{// does not fit are min max condition + else{// does not fit are min max condition if(getField(%options,5)){ - %dindex = %wIndex[formattimestring("D")]; + %dindex = %wIndex[formattimestring("D")]; if(getSubStr(getField(%options,6),%dindex,1) == 1){ %prioB += getField(%options,4); %outlier[%mapListB] = %mapObj; %mapListB++; } - } + } else if(getField(%options,7)){ if(getSubStr(getField(%options,8),formattimestring("m")-1,1) == 1){ %prioB += getField(%options,4); @@ -20193,7 +20198,7 @@ function dtNextMission(%gameType){ } } } - + if(%mapListA){ // min max list %randomNum = getRandom() * %prioA; %weight = 0; @@ -20204,9 +20209,9 @@ function dtNextMission(%gameType){ return %mapObj.file; } } - return %mapList[getRandom(0, %mapListA-1)].file; + return %mapList[getRandom(0, %mapListA-1)].file; } - if(%mapListB){// Fail safe list + if(%mapListB){// Fail safe list deleteVariables("$dtMapPlayed*"); %random = getRandom() * %prioB; %weight = 0; @@ -20219,7 +20224,7 @@ function dtNextMission(%gameType){ } return %outlier[getRandom(0, %mapListB-1)].file; } - if(%mapListF){// Fail safe list + if(%mapListF){// Fail safe list error("Ran out of valid maps using fail safe list, add more maps for the system to pick from"); deleteVariables("$dtMapPlayed*"); return %failSafe[getRandom(0, %mapListF-1)].file; @@ -20266,9 +20271,9 @@ function mapCyleTest(){ if(ML.curMapList != 3){ $dtMapPlayed[$CurrentMissionType,%cName] = 1; error(%cName); - } + } else{ - error("Mode 0" SPC %cName); + error("Mode 0" SPC %cName); } } @@ -20552,17 +20557,17 @@ function mapCyleTest(){ // Added a check to prevent stats building during tournament mode or games with more than 6 players. // Big stats generation outputs a ppm image file of the monthly stats. CTF/LCTF only // Removed stats that are unused, uninteresting, or confusing. -// Server Admin Panel rework. -// Added Custom map rotatons -// Convert TTL type stats to TG,for tournament stats +// Server Admin Panel rework. +// Added Custom map rotatons +// Convert TTL type stats to TG,for tournament stats // Added custom two team debrief as well as a evo style extended stats // Reworked enable disable, only disables stats saving and stats access, do to systems relying on systems // // 10.1 - 10.2 - 10.3 -// Ban system changes +// Ban system changes // Fix bad loop in ban system // Misc arena things -// Added LCTF Naming +// Added LCTF Naming // serverPrefs Support //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////Storage///////////////////////////////////////// From a8af353b4982b2eb43c59a369759eb6b4f6f9adb Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 26 Apr 2025 19:13:28 -0400 Subject: [PATCH 22/60] Added OneMine --- Classic/scripts/serverDefaults.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Classic/scripts/serverDefaults.cs b/Classic/scripts/serverDefaults.cs index d53daf3..f52d72c 100755 --- a/Classic/scripts/serverDefaults.cs +++ b/Classic/scripts/serverDefaults.cs @@ -133,6 +133,7 @@ $Host::PUGPassword = "pickup"; //PUG password, Auto or enable/disable thru $Host::PUGpasswordAlwaysOn = 0; //If you want the pug password Always on $Host::DMSLOnlyMode = 0; //Shocklance Only Mode for Deathmatch $Host::LCTFProMode = 0; //Pro mode for LCTF +$Host::LCTFOneMine = 0; //Limit mine inventory to one if enabled $Host::LoadingScreenUseDebrief = 1; //Enable Debrief Style Loading screen; Gives you more lines and MOTD $Host::LoadScreenColor1 = "05edad"; //Loading Screen color; First Column $Host::LoadScreenColor2 = "29DEE7"; //Loading Screen color; Second Column From db2fd7647037b75fe6d122d6142faa6134fee3a7 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 26 Apr 2025 19:17:36 -0400 Subject: [PATCH 23/60] Prefs changes --- Classic/prefs/serverPrefs.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Classic/prefs/serverPrefs.cs b/Classic/prefs/serverPrefs.cs index 445e9c0..d3a0a4c 100644 --- a/Classic/prefs/serverPrefs.cs +++ b/Classic/prefs/serverPrefs.cs @@ -56,7 +56,7 @@ $Host::ClassicLoadVRamChanges = 0; $Host::ClassicLogEchoEnabled = 0; $Host::ClassicMaxVotes = 3; $Host::ClassicMaxTelepads = 3; -$Host::ClassicMOTD = "Discord PUB\nServer Hosted/Provided by Branzone/Ravin\nGet Mappacks at https://playt2.com/"; +$Host::ClassicMOTD = "Tribes 2 Test\nServer brought to you via Commuity Effort\nCelebrating 20 Years of Tribes2!"; $Host::ClassicMOTDLines = 3; $Host::ClassicMOTDTime = 6; $Host::ClassicNoNullVoiceSpam = 0; @@ -126,9 +126,9 @@ $Host::LoadScreenLine2_Msg = "LakRabbit, Capture the Flag, DeathMatch, (Light On $Host::LoadScreenLine3 = "Get Mappacks:"; $Host::LoadScreenLine3_Msg = "playt2.com/mappacks"; $Host::LoadScreenLine4 = "Server Location:"; -$Host::LoadScreenLine4_Msg = "Iowa"; +$Host::LoadScreenLine4_Msg = "Somewhere"; $Host::LoadScreenLine5 = "Server Hosted:"; -$Host::LoadScreenLine5_Msg = "Google Compute Engine"; +$Host::LoadScreenLine5_Msg = "Internet"; $Host::LoadScreenLine6 = "Server Github:"; $Host::LoadScreenLine6_Msg = "https://github.com/ChocoTaco1/TacoServer"; $Host::LoadScreenMOTD1 = "Celebrating 20 Years of Tribes2!"; From 48dddeb526279210b6f234eef6a769011071bba1 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 26 Apr 2025 19:29:09 -0400 Subject: [PATCH 24/60] Prefs changes (OneMine) --- Classic/prefs/serverPrefs.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Classic/prefs/serverPrefs.cs b/Classic/prefs/serverPrefs.cs index d3a0a4c..4374ddd 100644 --- a/Classic/prefs/serverPrefs.cs +++ b/Classic/prefs/serverPrefs.cs @@ -115,6 +115,7 @@ $Host::LakRabbitShowFlagIcon = 1; $Host::LakRabbitShowFlagTask = 0; $Host::LakRabbitUnlimitedDJ = 1; $Host::LCTFProMode = 0; +$Host::LCTFOneMine = 0; $Host::LoadingScreenUseDebrief = 1; $Host::LoadScreenColor1 = "05edad"; $Host::LoadScreenColor2 = "29DEE7"; From 5f323ddb27dfeaef149d183e830ea4ad5e1c2ad7 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Mon, 28 Apr 2025 12:40:12 -0400 Subject: [PATCH 25/60] On by default --- Classic/scripts/autoexec/MemPatches.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classic/scripts/autoexec/MemPatches.cs b/Classic/scripts/autoexec/MemPatches.cs index ea21e3f..ff9b7eb 100644 --- a/Classic/scripts/autoexec/MemPatches.cs +++ b/Classic/scripts/autoexec/MemPatches.cs @@ -51,9 +51,9 @@ function serverCmd(%client) //Disable UE box on crash //Used if a clean crash is desired -//memPatch("7dc7fc","90"); +memPatch("7dc7fc","90"); //Loops Crash patch (Prevent the Uncaught Exception dialog from appearing) -//memPatch("006ff376", "909090909090"); +memPatch("006ff376", "909090909090"); //Show Linux Icon in server list //memPatch("5C9628","80CB05"); From bac741baf676f2fd37db5d6b8f4038b9b8a513ed Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 3 May 2025 01:42:22 -0400 Subject: [PATCH 26/60] LCTF Things --- Classic/scripts/LCTFGame.cs | 91 +++++++++---------- .../scripts/autoexec/MissionTypeOptions.cs | 7 +- 2 files changed, 50 insertions(+), 48 deletions(-) diff --git a/Classic/scripts/LCTFGame.cs b/Classic/scripts/LCTFGame.cs index 3d25335..075786a 100644 --- a/Classic/scripts/LCTFGame.cs +++ b/Classic/scripts/LCTFGame.cs @@ -132,7 +132,7 @@ function LCTFGame::initGameVars(%game) %game.SCORE_PER_REPAIR_DEP_TUR = 3; %game.SCORE_PER_REPAIR_DEP_INV = 2; - %game.FLAG_RETURN_DELAY = 45 * 1000; + %game.FLAG_RETURN_DELAY = 25 * 1000; %game.TIME_CONSIDERED_FLAGCARRIER_THREAT = 3 * 1000; %game.RADIUS_GEN_DEFENSE = 20; @@ -2521,61 +2521,58 @@ function Player::maxInventory(%this, %data){ function LCTFGame::LCTFOneMine(%game, %admin, %arg1, %arg2, %arg3, %arg4) { - if( $countdownStarted && $MatchStarted ) - { - if(%admin) - { - killeveryone(); + if(%admin) + { + killeveryone(); - if($Host::LCTFOneMine) - { - messageAll('MsgAdminForce', '\c2The Admin has disabled One Mine Inventory.'); + if($Host::LCTFOneMine) + { + messageAll('MsgAdminForce', '\c2The Admin has disabled One Mine Inventory.'); + + if (isActivePackage(LCTFOneMine)) + deactivatePackage(LCTFOneMine); + + $Host::LCTFOneMine = false; + } + else + { + messageAll('MsgAdminForce', '\c2The Admin has enabled One Mine Inventory.'); + + if (!isActivePackage(LCTFOneMine)) + activatePackage(LCTFOneMine); + + $Host::LCTFOneMine = true; + } + } + else + { + %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; + if(%totalVotes > 0 && (%game.totalVotesFor / ClientGroup.getCount()) > ($Host::VotePasspercent / 100)) + { + killeveryone(); + + if($Host::LCTFOneMine) + { + messageAll('MsgVotePassed', '\c2One Mine Inventory Disabled.'); if (isActivePackage(LCTFOneMine)) deactivatePackage(LCTFOneMine); - $Host::LCTFOneMine = false; - } - else - { - messageAll('MsgAdminForce', '\c2The Admin has enabled One Mine Inventory.'); + $Host::LCTFOneMine = false; + } + else + { + messageAll('MsgVotePassed', '\c2One Mine Inventory Enabled.'); if (!isActivePackage(LCTFOneMine)) activatePackage(LCTFOneMine); - $Host::LCTFOneMine = true; - } - } - else - { - %totalVotes = %game.totalVotesFor + %game.totalVotesAgainst; - if(%totalVotes > 0 && (%game.totalVotesFor / ClientGroup.getCount()) > ($Host::VotePasspercent / 100)) - { - killeveryone(); - - if($Host::LCTFOneMine) - { - messageAll('MsgVotePassed', '\c2One Mine Inventory Disabled.'); - - if (isActivePackage(LCTFOneMine)) - deactivatePackage(LCTFOneMine); - - $Host::LCTFOneMine = false; - } - else - { - messageAll('MsgVotePassed', '\c2One Mine Inventory Enabled.'); - - if (!isActivePackage(LCTFOneMine)) - activatePackage(LCTFOneMine); - - $Host::LCTFOneMine = true; - } - } - else - messageAll('MsgVoteFailed', '\c2Mode change did not pass: %1 percent.', mFloor(%game.totalVotesFor/ClientGroup.getCount() * 100)); - } - } + $Host::LCTFOneMine = true; + } + } + else + messageAll('MsgVoteFailed', '\c2Mode change did not pass: %1 percent.', mFloor(%game.totalVotesFor/ClientGroup.getCount() * 100)); + } } // For voting to work properly - evo admin.ovl diff --git a/Classic/scripts/autoexec/MissionTypeOptions.cs b/Classic/scripts/autoexec/MissionTypeOptions.cs index fcf176d..4cc0454 100644 --- a/Classic/scripts/autoexec/MissionTypeOptions.cs +++ b/Classic/scripts/autoexec/MissionTypeOptions.cs @@ -44,7 +44,12 @@ function loadMissionStage2() //Tournament Mode specifics if($Host::TournamentMode) - $Host::TimeLimit = 30; //TimeLimit Always 30 minutes in Tourney Mode + { + if(!$CurrentMissionType $= "LCTF") + $Host::TimeLimit = 30; //TimeLimit Always 30 minutes in Tourney Mode + else //LCTF 20 Minutes + $Host::TimeLimit = 20; //TimeLimit Always 20 minutes in LCTF Tourney Mode + } else { //Disable if active From 62c0dffc0dc927435e61c364818679c3ead371d4 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sun, 4 May 2025 12:56:48 -0400 Subject: [PATCH 27/60] Update flagTunnelingFix.cs Removed Spaces --- Classic/scripts/autoexec/flagTunnelingFix.cs | 168 +++++++++---------- 1 file changed, 84 insertions(+), 84 deletions(-) diff --git a/Classic/scripts/autoexec/flagTunnelingFix.cs b/Classic/scripts/autoexec/flagTunnelingFix.cs index e8fa9ec..6d669f6 100644 --- a/Classic/scripts/autoexec/flagTunnelingFix.cs +++ b/Classic/scripts/autoexec/flagTunnelingFix.cs @@ -1,39 +1,39 @@ -//Fixes for collision tunneling and other issues, note only tested in classic +//Fixes for collision tunneling and other issues, note only tested in classic //Script By:DarkTiger //v3.7 - removed bypass code //v3.6 - lctf and SCtFGame //v3.5 - tweaks -//v3.4 - switch over to using SAT/OBB for hitbox detection accuracy, also heavy optimizations becuase of this change +//v3.4 - switch over to using SAT/OBB for hitbox detection accuracy, also heavy optimizations becuase of this change //v3.3 - fixed ceiling deadstoping,fixed wall and ceiling tunneling $antiObjTunnel //V3.2 - script refactor, removed flag sim in favor of just an offset on toss - -$ftEnable = 1;//disables all + +$ftEnable = 1;//disables all $limitFlagCalls = 1; // prevents frame perfect events witch can cause bad outcomes $antiCeiling = 1; // note this is auto enabled with $boxStuckFix as it needs to check for this $antiObjTunnel = 0;//prevents terrain and interior tunneling more thigns can be added see first part of DefaultGame::flagColTest $antiFlagImpluse = 1000;//time out period to prevent explosions from effecting flags on drop/toss -$boxStuckFix = 1;// enables flag offset, spawns the flag outside of the player to keep it from getting stuck -$flagOffset = 1;// how far to offset the flag 1m seems like it works 90% of the time +$boxStuckFix = 1;// enables flag offset, spawns the flag outside of the player to keep it from getting stuck +$flagOffset = 1;// how far to offset the flag 1m seems like it works 90% of the time // adds initial update to setVelocity and setTransform to updates its parameters across clients -//enable $flagResetTime with setting it to 5000 if you disable a mempatch - -//expermental flag static fix +//enable $flagResetTime with setting it to 5000 if you disable a mempatch + +//expermental flag static fix //memPatch("60456c","11000018");//transform memPatch("6040ff","01"); //setVelocity -$flagResetTime = 0;// 1000-5000 if you want this feature enabled, resets flag to stand in case of desync should not be needed +$flagResetTime = 0;// 1000-5000 if you want this feature enabled, resets flag to stand in case of desync should not be needed -//best to leave these values alone unless you understand what the code is doing -$flagSimTime = 64;//note a higher the time, the larger the sweep scans will be -$flagCheckRadius = 50; +//best to leave these values alone unless you understand what the code is doing +$flagSimTime = 64;//note a higher the time, the larger the sweep scans will be +$flagCheckRadius = 50; $playerSizeBox = "1.2 1.2 2.3"; $flagBoxSize = "0.796666 0.139717 2.46029"; //0 = old AABB method uses fixed box size makes the player bit narrow //1 = new OBB method uses perfect box intersection -//2 = AABB method but uses boundbox can make the player larger then it is given there direction -//3 = AABB fixed sizes uses $playerSizeBox and $flagBoxSize to do the box checking +//2 = AABB method but uses boundbox can make the player larger then it is given there direction +//3 = AABB fixed sizes uses $playerSizeBox and $flagBoxSize to do the box checking $boxCollision = 1;// off is the old AABB method aka the old method package flagFix{ @@ -41,28 +41,28 @@ package flagFix{ parent::throwObject(%this,%obj); %data = %obj.getDatablock(); if($ftEnable && %data.getName() $= "Flag"){ - %tpos = %obj.getTransform(); - %fpos = getWords(%tpos,0, 2); + %tpos = %obj.getTransform(); + %fpos = getWords(%tpos,0, 2); %obj.dtLastPos = %fpos; %vel = %obj.getVelocity(); %posOffset = VectorAdd(%fpos, VectorScale(VectorNormalize(%vel), 2)); - + if($antiCeiling){//flag height 2.46029 - //0.1 offset any fp errors with the flag position being at ground level, 2.4 offset flag height offset + some extra + //0.1 offset any fp errors with the flag position being at ground level, 2.4 offset flag height offset + some extra %upRay = containerRayCast(vectorAdd(%fpos,"0 0 0.1"), vectorAdd(%fpos,"0 0 2.5"), $TypeMasks::InteriorObjectType | $TypeMasks::StaticTSObjectType | $TypeMasks::ForceFieldObjectType, %obj); if(%upRay){ %obj.setTransform(vectorSub(%this.getPosition(),"0 0" SPC 0.3) SPC getWords(%this.getTransform(),3,6)); %obj.setVelocity(getWords(%vel,0,1) SPC 0); - } - } + } + } if($boxStuckFix && !%upRay){ %wallMask = $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::StaticObjectType | $TypeMasks::ForceFieldObjectType | $TypeMasks::VehicleObjectType; %wallRay = containerRayCast(%fpos, %posOffset, %wallMask, %obj); - + %fwoPos = VectorAdd(%fpos, VectorScale(VectorNormalize(%vel), $flagOffset)); - + %upRay = containerRayCast(vectorAdd(%fwoPos,"0 0 0.1"), vectorAdd(%fwoPos,"0 0 2.5"), $TypeMasks::InteriorObjectType | $TypeMasks::StaticTSObjectType | $TypeMasks::ForceFieldObjectType, %obj); - + if(!%wallRay){// make sure we dont end up in a wall if(!%upRay){ %obj.setTransform(%fwoPos SPC getWords(%this.getTransform(),3,6)); @@ -71,7 +71,7 @@ package flagFix{ } } } - } + } function CTFGame::startMatch(%game){ parent::startMatch(%game); @@ -90,7 +90,7 @@ package flagFix{ %game.atHomeFlagLoop(); } } - + function SCtFGame::startMatch(%game){ parent::startMatch(%game); if(!isEventPending(Game.flagLoop)){ @@ -99,7 +99,7 @@ package flagFix{ %game.atHomeFlagLoop(); } } - + function PracticeCTFGame::startMatch(%game){ parent::startMatch(%game); if(!isEventPending(Game.flagLoop)){ @@ -113,77 +113,77 @@ package flagFix{ function CTFGame::playerTouchFlag(%game, %player, %flag){ if(%flag.lastFlagCallms > 0 && $limitFlagCalls){ %timeDif = getSimTime() - %flag.lastFlagCallms; - if(%timeDif < 32){ - return; + if(%timeDif < 32){ + return; } } %flag.lastFlagCallms = getSimTime(); parent::playerTouchFlag(%game, %player, %flag); } - + function LCTFGame::playerTouchFlag(%game, %player, %flag){ if(%flag.lastFlagCallms > 0 && $limitFlagCalls){ %timeDif = getSimTime() - %flag.lastFlagCallms; if(%timeDif < 32){ - return; + return; } } %flag.lastFlagCallms = getSimTime(); parent::playerTouchFlag(%game, %player, %flag); } - + function SCtFGame::playerTouchFlag(%game, %player, %flag){ if(%flag.lastFlagCallms > 0 && $limitFlagCalls){ %timeDif = getSimTime() - %flag.lastFlagCallms; if(%timeDif < 32){ - return; + return; } } %flag.lastFlagCallms = getSimTime(); parent::playerTouchFlag(%game, %player, %flag); } - + function PracticeCTFGame::playerTouchFlag(%game, %player, %flag){ if(%flag.lastFlagCallms > 0 && $limitFlagCalls){ %timeDif = getSimTime() - %flag.lastFlagCallms; if(%timeDif < 32){ - return; + return; } } %flag.lastFlagCallms = getSimTime(); parent::playerTouchFlag(%game, %player, %flag); } - + function CTFGame::playerDroppedFlag(%game, %player){ %flag = %player.holdingFlag; %flag.lastDropTime = getSimTime(); parent::playerDroppedFlag(%game, %player); } - + function LCTFGame::playerDroppedFlag(%game, %player){ %flag = %player.holdingFlag; %flag.lastDropTime = getSimTime(); parent::playerDroppedFlag(%game, %player); } - + function SCtFGame::playerDroppedFlag(%game, %player){ %flag = %player.holdingFlag; %flag.lastDropTime = getSimTime(); parent::playerDroppedFlag(%game, %player); } - + function PracticeCTFGame::playerDroppedFlag(%game, %player){ %flag = %player.holdingFlag; %flag.lastDropTime = getSimTime(); parent::playerDroppedFlag(%game, %player); } - + function Flag::shouldApplyImpulse(%data, %obj){ - %val = parent::shouldApplyImpulse(%data, %obj); + %val = parent::shouldApplyImpulse(%data, %obj); if(%val && $antiFlagImpluse > 0 && %obj.lastDropTime > 0){ %time = getSimTime() - %obj.lastDropTime; if(%time < $antiFlagImpluse){ - %val = 0; + %val = 0; } } return %val; @@ -195,11 +195,11 @@ function vectorMul(%a,%b){ %x = getWords(%a,0) * getWords(%b,0); %y = getWords(%a,1) * getWords(%b,1); %z = getWords(%a,2) * getWords(%b,2); - return %x SPC %y SPC %z; + return %x SPC %y SPC %z; } function generateBoxData(){ - + %playerSize = $playerSizeBox; //"1.2 1.2 2.3"; %halfSize = vectorMul(%playerSize, "0.5 0.5 0"); $plrBoxMin = %minA = VectorSub("0 0 0", %halfSize); @@ -222,12 +222,12 @@ function generateBoxData(){ %box[5] = "1 0 1"; %box[6] = "0 1 1"; %box[7] = "1 1 1"; - + for(%i = 0; %i < 8; %i++){ $playerBoxData[%i] = vectorAdd(%minA, vectorMul(%vSubA, %box[%i])); $flagBoxData[%i] = vectorAdd(%minB, vectorMul(%vSubB, %box[%i])); } - + }generateBoxData(); function vectorLerp(%point1, %point2, %t) { @@ -237,7 +237,7 @@ function vectorLerp(%point1, %point2, %t) { function boxIntersectAABB(%plr, %flg, %lerpPos){ if($boxCollision == 2){ %fpos = %flg.getPosition(); - + %a = vectorAdd($plrBoxMin, %lerpPos) SPC vectorAdd($plrBoxMax, %lerpPos); %b = vectorAdd($flagBoxMin, %fpos) SPC vectorAdd($flagBoxMax, %fpos); } @@ -246,7 +246,7 @@ function boxIntersectAABB(%plr, %flg, %lerpPos){ %a = vectorAdd(getWords(%plrMinMax,0,2), %lerpPos) SPC vectorAdd(getWords(%plrMinMax,3,5), %lerpPos); %b = %flg.getWorldBox(); } - + return (getWord(%a, 0) <= getWord(%b, 3) && getWord(%a, 3) >= getWord(%b, 0)) && (getWord(%a, 1) <= getWord(%b, 4) && getWord(%a, 4) >= getWord(%b, 1)) && (getWord(%a, 2)<= getWord(%b, 5) && getWord(%a, 5) >= getWord(%b, 2)); @@ -259,7 +259,7 @@ function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ if(!%flag.isHome && $antiObjTunnel){ %fOffset =vectorAdd(%flagPos,"0 0 0.1"); %dist = vectorDist(%flag.dtLastPos, %fOffset); - if(%dist > 2.5){//2.5 is the rough flag height + if(%dist > 2.5){//2.5 is the rough flag height %wallMask = $TypeMasks::TerrainObjectType | $TypeMasks::InteriorObjectType; %terRay = containerRayCast(%flag.dtLastPos, %fOffset, %wallMask, %flag); if(%terRay){ @@ -288,7 +288,7 @@ function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ %lerpPos = vectorLerp(%playerPos, %player.oldPos, %i/(%sweepCount-1));//back sweep //%point = MatrixMulPoint(%lerpPos SPC %rot, "-0.6 -0.6 0"); //schedule(1000+(%i*128), 0, "drawBoxItemC", %point, %rot, "1.2 1.2 2.3", 15000); - if($boxCollision == 1 && boxIntersect(%player, %flag, %lerpPos)){ + if($boxCollision == 1 && boxIntersect(%player, %flag, %lerpPos)){ // %point = MatrixMulPoint(%flagPos SPC %rot,"-0.398 -0.069 0"); // schedule(1000+(%i*128), 0, "drawBoxItemC", %point, %rot, "0.796666 0.139717 4", 15000); %flag.getDataBlock().onCollision(%flag, %player); @@ -306,7 +306,7 @@ function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ %player.lastSim = getSimTime(); } //error("scan count" SPC %scanCount SPC %scanPlrCount); -} +} function DefaultGame::atHomeFlagLoop(%game){ if(isObject($TeamFlag[1]) && isObject($TeamFlag[2])){ @@ -321,36 +321,36 @@ function DefaultGame::atHomeFlagLoop(%game){ %game.flagResetTime = 0; } %game.flagResetTime += $flagSimTime; - } - + } + if($TeamFlag[1].isHome && $TeamFlag[2].isHome){//11 - %game.flagColTest($TeamFlag[1],1,0);// only look at the other team - %game.flagColTest($TeamFlag[2],1,0);// only look at the other team + %game.flagColTest($TeamFlag[1],1,0);// only look at the other team + %game.flagColTest($TeamFlag[2],1,0);// only look at the other team } else if(!$TeamFlag[1].isHome && $TeamFlag[2].isHome){//01 if(isObject($TeamFlag[1].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[2],1, $TeamFlag[1].carrier); //scan for other team expect for are carrier + %game.flagColTest($TeamFlag[2],1, $TeamFlag[1].carrier); //scan for other team expect for are carrier } else{ - %game.flagColTest($TeamFlag[1],0,0);// scan for everyone can touch it - %game.flagColTest($TeamFlag[2],1,0);// team 2 flag is still at home so only scan for the other team + %game.flagColTest($TeamFlag[1],0,0);// scan for everyone can touch it + %game.flagColTest($TeamFlag[2],1,0);// team 2 flag is still at home so only scan for the other team } } else if($TeamFlag[1].isHome && !$TeamFlag[2].isHome){//10 if(isObject($TeamFlag[2].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[1],1, $TeamFlag[2].carrier); //scan for other team expect for are carrier + %game.flagColTest($TeamFlag[1],1, $TeamFlag[2].carrier); //scan for other team expect for are carrier } else{ - %game.flagColTest($TeamFlag[1],1,0);// team 1 flag is still at home so only scan for the other team - %game.flagColTest($TeamFlag[2],0,0);// scan for everyone can touch it + %game.flagColTest($TeamFlag[1],1,0);// team 1 flag is still at home so only scan for the other team + %game.flagColTest($TeamFlag[2],0,0);// scan for everyone can touch it } } else if(!$TeamFlag[1].isHome && !$TeamFlag[2].isHome){//00 if(!isObject($TeamFlag[1].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[1],0,0);// scan for everyone can touch it + %game.flagColTest($TeamFlag[1],0,0);// scan for everyone can touch it } if(!isObject($TeamFlag[2].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[2],0,0);// scan for everyone can touch it + %game.flagColTest($TeamFlag[2],0,0);// scan for everyone can touch it } } } @@ -362,80 +362,80 @@ function DefaultGame::atHomeFlagLoop(%game){ function boxIntersect(%objA, %objB, %scanPos) { // Retrieve the 8 corners of the box for both objects - %matrixA = %objA.getTransform(); - if(getWordCount(%scanPos)){// need to check a postion other then default + %matrixA = %objA.getTransform(); + if(getWordCount(%scanPos)){// need to check a postion other then default %matrixA = %scanPos SPC getWords(%matrixA,3,6); } - %matrixB = %objB.getTransform(); + %matrixB = %objB.getTransform(); + - %cornerA[0] = MatrixMulPoint(%matrixA, "-0.6 -0.6 0"); %cornerA[1] = MatrixMulPoint(%matrixA, "0.6 -0.6 0"); %cornerA[2] = MatrixMulPoint(%matrixA, "-0.6 0.6 0"); %cornerA[3] = MatrixMulPoint(%matrixA, "0.6 0.6 0"); - + %cornerA[4] = MatrixMulPoint(%matrixA, "-0.6 -0.6 2.3"); %cornerA[5] = MatrixMulPoint(%matrixA, "0.6 -0.6 2.3"); %cornerA[6] = MatrixMulPoint(%matrixA, "-0.6 0.6 2.3"); - %cornerA[7] = MatrixMulPoint(%matrixA, "0.6 0.6 2.3"); - - + %cornerA[7] = MatrixMulPoint(%matrixA, "0.6 0.6 2.3"); + + %cornerB[0] = MatrixMulPoint(%matrixB, "-0.398333 -0.0698583 -0.1"); %cornerB[1] = MatrixMulPoint(%matrixB, "0.398333 -0.0698583 -0.1"); %cornerB[2] = MatrixMulPoint(%matrixB, "-0.398333 0.0698587 -0.1"); %cornerB[3] = MatrixMulPoint(%matrixB, "0.398333 0.0698587 -0.1"); - + %cornerB[4] = MatrixMulPoint(%matrixB, "-0.398333 -0.0698583 2.46029"); %cornerB[5] = MatrixMulPoint(%matrixB, "0.398333 -0.0698583 2.46029"); %cornerB[6] = MatrixMulPoint(%matrixB, "-0.398333 0.0698587 2.46029"); - %cornerB[7] = MatrixMulPoint(%matrixB, "0.398333 0.0698587 2.46029"); - + %cornerB[7] = MatrixMulPoint(%matrixB, "0.398333 0.0698587 2.46029"); + // Define the axes to test (these are the edges of both boxes) %ax[0] = vectorNormalize(vectorSub(%cornerA[1], %cornerA[0]));//X cross forward and up %ax[1] = vectorNormalize(vectorSub(%cornerA[2], %cornerA[0]));//Y forward vector %ax[2] = "0 0 1"; - + %ax[3] = vectorNormalize(vectorSub(%cornerB[1], %cornerB[0]));//X cross forward and up %ax[4] = vectorNormalize(vectorSub(%cornerB[2], %cornerB[0])); //Y forward vector %ax[5] = "0 0 1"; - + // For each axis for (%i = 0; %i < 6; %i++) { %axis = %ax[%i]; - + // Project each corner of box A onto the axis %minProjA = vectorDot(%cornerA[0], %axis); %maxProjA = %minProjA; - + for (%j = 1; %j < 8; %j++) { %projA = vectorDot(%cornerA[%j], %axis); - + %minProjA = (%projA < %minProjA) ? %projA : %minProjA; %maxProjA = (%projA > %maxProjA) ? %projA : %maxProjA; } - + // Project each corner of box B onto the axis %minProjB = vectorDot(%cornerB[0], %axis); %maxProjB = %minProjB; - + for (%j = 1; %j < 8; %j++) { %projB = vectorDot(%cornerB[%j], %axis); %minProjB = (%projB < %minProjB) ? %projB : %minProjB; %maxProjB = (%projB > %maxProjB) ? %projB : %maxProjB; } - + // Check for overlap if (%maxProjA < %minProjB || %maxProjB < %minProjA) { return false; // No overlap on this axis, boxes do not intersect } } - + return true; // Overlap on all axes, boxes intersect } function testFlagSpeed(%speed){ - %player = LocalClientConnection.player; + %player = LocalClientConnection.player; %fvec = %player.getForwardVector(); %vel = vectorScale(%fvec,%speed); %player.setVelocity(%vel); From 982207a2df2b1577fb691599c50403abb3529a3c Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sun, 4 May 2025 13:00:33 -0400 Subject: [PATCH 28/60] Update MapRotation.cs --- Classic/prefs/MapRotation.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Classic/prefs/MapRotation.cs b/Classic/prefs/MapRotation.cs index fa47405..0e847ad 100644 --- a/Classic/prefs/MapRotation.cs +++ b/Classic/prefs/MapRotation.cs @@ -387,10 +387,10 @@ addRotationMap("SignalDX", "CTF",1,0,8,24); //In Rotation ///////////////////////////////////////////////////////////////////// -addRotationMap("VaubanLak", "Lakrabbit",1,0,8,-1); +addRotationMap("VaubanLak", "Lakrabbit",1,1,8,-1); addRotationMap("MiniSunDried", "Lakrabbit",1,1,-1,12); addRotationMap("Sundance", "Lakrabbit",1,1,-1,-1); -addRotationMap("TWL_BeachBlitzLak", "Lakrabbit",1,0,-1,-1); +addRotationMap("TWL_BeachBlitzLak", "Lakrabbit",1,1,-1,-1); addRotationMap("DesertofDeathLak", "Lakrabbit",1,1,-1,-1); addRotationMap("Raindance_nefLak", "Lakrabbit",1,1,-1,-1); addRotationMap("SunDriedLak", "Lakrabbit",1,1,-1,-1); @@ -402,11 +402,11 @@ addRotationMap("BoxLak", "Lakrabbit",1,1,-1,10); addRotationMap("TitaniaLak", "Lakrabbit",1,0,8,-1); addRotationMap("TibbawLak", "Lakrabbit",1,1,-1,-1); addRotationMap("InfernusLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("S8_GeothermalLak", "Lakrabbit",1,1,-1,-1); +addRotationMap("S8_GeothermalLak", "Lakrabbit",1,0,-1,-1); addRotationMap("CankerLak", "Lakrabbit",1,1,-1,-1); addRotationMap("DustRunLak", "Lakrabbit",1,1,-1,-1); addRotationMap("CrossfiredLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("CloakofLak", "Lakrabbit",1,1,-1,-1); +addRotationMap("CloakofLak", "Lakrabbit",1,0,-1,-1); addRotationMap("SpectreLak", "Lakrabbit",1,1,-1,-1); //Voteable, But not in rotation From fe1689b730ed984e6d4608eb0e6dab45dfa7a9f0 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Mon, 5 May 2025 12:45:09 -0400 Subject: [PATCH 29/60] Update MissionTypeOptions.cs --- Classic/scripts/autoexec/MissionTypeOptions.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Classic/scripts/autoexec/MissionTypeOptions.cs b/Classic/scripts/autoexec/MissionTypeOptions.cs index 4cc0454..c76b69a 100644 --- a/Classic/scripts/autoexec/MissionTypeOptions.cs +++ b/Classic/scripts/autoexec/MissionTypeOptions.cs @@ -45,10 +45,10 @@ function loadMissionStage2() //Tournament Mode specifics if($Host::TournamentMode) { - if(!$CurrentMissionType $= "LCTF") + if($CurrentMissionType $= "LCTF") //TimeLimit Always 20 minutes in LCTF Tourney Mode + $Host::TimeLimit = 20; + else $Host::TimeLimit = 30; //TimeLimit Always 30 minutes in Tourney Mode - else //LCTF 20 Minutes - $Host::TimeLimit = 20; //TimeLimit Always 20 minutes in LCTF Tourney Mode } else { From ff7e73530c2976bdd2c55ec5663cbfb9ac8e801f Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Mon, 5 May 2025 12:45:22 -0400 Subject: [PATCH 30/60] Old method by default --- Classic/scripts/autoexec/flagTunnelingFix.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classic/scripts/autoexec/flagTunnelingFix.cs b/Classic/scripts/autoexec/flagTunnelingFix.cs index 6d669f6..e901d8e 100644 --- a/Classic/scripts/autoexec/flagTunnelingFix.cs +++ b/Classic/scripts/autoexec/flagTunnelingFix.cs @@ -34,7 +34,7 @@ $flagBoxSize = "0.796666 0.139717 2.46029"; //1 = new OBB method uses perfect box intersection //2 = AABB method but uses boundbox can make the player larger then it is given there direction //3 = AABB fixed sizes uses $playerSizeBox and $flagBoxSize to do the box checking -$boxCollision = 1;// off is the old AABB method aka the old method +$boxCollision = 0; // off is the old AABB method aka the old method package flagFix{ function ShapeBase::throwObject(%this,%obj){ From 50bc00229b8380c15d049ba3b1e50cdc5e7ef627 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Wed, 7 May 2025 16:19:20 -0400 Subject: [PATCH 31/60] Added RunenmachtLT --- Classic/prefs/MapRotation.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Classic/prefs/MapRotation.cs b/Classic/prefs/MapRotation.cs index 0e847ad..83cd9cd 100644 --- a/Classic/prefs/MapRotation.cs +++ b/Classic/prefs/MapRotation.cs @@ -475,7 +475,7 @@ addRotationMap("Blink", "LCTF",1,0,-1,-1); addRotationMap("HillSideLT", "LCTF",1,1,-1,10); addRotationMap("IcePick", "LCTF",1,1,-1,16); addRotationMap("OsIrisLT", "LCTF",1,0,-1,-1); -addRotationMap("GrassyKnoll", "LCTF",1,1,-1,-1); +addRotationMap("GrassyKnollLT", "LCTF",1,1,-1,-1); addRotationMap("TWL2_MuddySwamp", "LCTF",1,0,8,-1); addRotationMap("SandyRunLT", "LCTF",1,0,-1,12); addRotationMap("Sentry", "LCTF",1,1,-1,-1); @@ -533,6 +533,7 @@ addRotationMap("FrozenForgeLT", "LCTF",1,1,-1,20); addRotationMap("TWL2_CelerityLT", "LCTF",1,1,-1,20); addRotationMap("El_FinLT", "LCTF",1,1,-1,14); addRotationMap("CapriLT", "LCTF",1,1,-1,14); +addRotationMap("RunenmachtLT", "LCTF",1,1,-1,14); // _____ _ _ _ _ From 16bdd87af12926f2b951ba21ce1f3e01f6c31515 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Wed, 7 May 2025 16:19:40 -0400 Subject: [PATCH 32/60] Flag Tunneling v3.8 --- Classic/scripts/autoexec/flagTunnelingFix.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Classic/scripts/autoexec/flagTunnelingFix.cs b/Classic/scripts/autoexec/flagTunnelingFix.cs index e901d8e..a7a6e35 100644 --- a/Classic/scripts/autoexec/flagTunnelingFix.cs +++ b/Classic/scripts/autoexec/flagTunnelingFix.cs @@ -1,5 +1,6 @@ //Fixes for collision tunneling and other issues, note only tested in classic //Script By:DarkTiger +//v3.8 - removed sweep optimization/ bug fix in old method //v3.7 - removed bypass code //v3.6 - lctf and SCtFGame //v3.5 - tweaks @@ -32,9 +33,6 @@ $flagBoxSize = "0.796666 0.139717 2.46029"; //0 = old AABB method uses fixed box size makes the player bit narrow //1 = new OBB method uses perfect box intersection -//2 = AABB method but uses boundbox can make the player larger then it is given there direction -//3 = AABB fixed sizes uses $playerSizeBox and $flagBoxSize to do the box checking -$boxCollision = 0; // off is the old AABB method aka the old method package flagFix{ function ShapeBase::throwObject(%this,%obj){ @@ -282,7 +280,7 @@ function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ //%fdot = vectorDot(vectorNormalize(%player.getVelocity()),vectorNormalize(VectorSub(%flagPos, %playerPos))); // %tickDist = vectorLen(%player.getVelocity()) * ($flagSimTime/1000); %sweepCount = mFloor(vectorDist(%playerPos, %player.oldPos) + 1.5); - if((getSimTime() - %player.lastSim) <= 128 && %flagDist-2 < %sweepCount){//make sure are last position is valid + if((getSimTime() - %player.lastSim) <= 128){//make sure are last position is valid //schedule(1000,0,"drawBeamItem", %player.oldPos,%playerPos,15000); for(%i = 0; %i < %sweepCount; %i++){// sweep behind us to see if we should have hit something %lerpPos = vectorLerp(%playerPos, %player.oldPos, %i/(%sweepCount-1));//back sweep @@ -294,7 +292,7 @@ function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ %flag.getDataBlock().onCollision(%flag, %player); break; } - else if($boxCollision > 1 && boxIntersectAABB(%player, %flag, %lerpPos)){ + else if(!$boxCollision && boxIntersectAABB(%player, %flag, %lerpPos)){ %flag.getDataBlock().onCollision(%flag, %player); break; } @@ -439,4 +437,4 @@ function testFlagSpeed(%speed){ %fvec = %player.getForwardVector(); %vel = vectorScale(%fvec,%speed); %player.setVelocity(%vel); -} +} \ No newline at end of file From d736c3a8ff6ff213bbcdeb76217e9fed7310cd38 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Wed, 7 May 2025 20:30:56 -0400 Subject: [PATCH 33/60] Add LCTF --- Classic/scripts/autoexec/ObserveFlag.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Classic/scripts/autoexec/ObserveFlag.cs b/Classic/scripts/autoexec/ObserveFlag.cs index 9d53409..9f9d353 100644 --- a/Classic/scripts/autoexec/ObserveFlag.cs +++ b/Classic/scripts/autoexec/ObserveFlag.cs @@ -142,7 +142,7 @@ if (!isActivePackage(PizzaThings)) function serverCmdObserveFirstFlag(%client) { - if(Game.class !$= CTFGame && Game.class !$= SCtFGame) + if(Game.class !$= CTFGame && Game.class !$= SCtFGame && Game.class !$= LCTFGame ) return; // client must be an observer @@ -160,7 +160,7 @@ function serverCmdObserveFirstFlag(%client) function serverCmdObserveSecondFlag(%client) { - if(Game.class !$= CTFGame && Game.class !$= SCtFGame) + if(Game.class !$= CTFGame && Game.class !$= SCtFGame && Game.class !$= LCTFGame ) return; // client must be an observer @@ -184,7 +184,7 @@ function observeFlag(%client, %target, %type, %flagTeam) if(!isObject(%client) || !isObject(%target) || !isObject(%client.camera)) return; - if(Game.class !$= CTFGame && Game.class !$= SCtFGame) + if(Game.class !$= CTFGame && Game.class !$= SCtFGame && Game.class !$= LCTFGame ) return; if(%client.team > 0) From d21c5060c575d465abda7e2dcca7f31bfc42ee1c Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Wed, 14 May 2025 14:42:52 -0400 Subject: [PATCH 34/60] Oops --- Classic/scripts/autoexec/z_dtStats.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Classic/scripts/autoexec/z_dtStats.cs b/Classic/scripts/autoexec/z_dtStats.cs index 5757627..448a3b0 100644 --- a/Classic/scripts/autoexec/z_dtStats.cs +++ b/Classic/scripts/autoexec/z_dtStats.cs @@ -13383,7 +13383,6 @@ function dtPingStats(){ %cl.dtStats.stat["idleTime"] += ($dtStats::prefTestTime/1000)/60; if(!%cl.isAIControlled()){ %ping = %cl.getPing(); - %cl.lastPing = %ping; %cl.pingTotal += %ping; %cl.pingCount++; %cl.dtStats.stat["pingAvg"] = %cl.pingTotal / %cl.pingCount; From 37f30b8654754b85f1a6fbfaaf69ac0d5bc9d24e Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Wed, 14 May 2025 14:43:42 -0400 Subject: [PATCH 35/60] Full sweep --- Classic/scripts/autoexec/flagTunnelingFix.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classic/scripts/autoexec/flagTunnelingFix.cs b/Classic/scripts/autoexec/flagTunnelingFix.cs index a7a6e35..3761a01 100644 --- a/Classic/scripts/autoexec/flagTunnelingFix.cs +++ b/Classic/scripts/autoexec/flagTunnelingFix.cs @@ -279,7 +279,7 @@ function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ if(%player.lastSim > 0 && (%player.getState() !$= "Dead")){// only check at speed //%fdot = vectorDot(vectorNormalize(%player.getVelocity()),vectorNormalize(VectorSub(%flagPos, %playerPos))); // %tickDist = vectorLen(%player.getVelocity()) * ($flagSimTime/1000); - %sweepCount = mFloor(vectorDist(%playerPos, %player.oldPos) + 1.5); + %sweepCount = mFloor(vectorDist(%playerPos, %player.oldPos) + 2); if((getSimTime() - %player.lastSim) <= 128){//make sure are last position is valid //schedule(1000,0,"drawBeamItem", %player.oldPos,%playerPos,15000); for(%i = 0; %i < %sweepCount; %i++){// sweep behind us to see if we should have hit something From 8297f5e5b660bb8886668a77a397e79c6d1fab77 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Wed, 14 May 2025 14:48:00 -0400 Subject: [PATCH 36/60] Added OuterWildsLT --- Classic/prefs/MapRotation.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classic/prefs/MapRotation.cs b/Classic/prefs/MapRotation.cs index 83cd9cd..3bb80e2 100644 --- a/Classic/prefs/MapRotation.cs +++ b/Classic/prefs/MapRotation.cs @@ -525,7 +525,7 @@ addRotationMap("Bridgepoint", "LCTF",1,1,-1,14); addRotationMap("NarcolepsyLT", "LCTF",1,1,-1,14); addRotationMap("WhiteDwarfDeluxeLT", "LCTF",1,0,-1,14); addRotationMap("ClusterUnFuct", "LCTF",1,1,8,-1); -addRotationMap("OuterWilds", "LCTF",1,1,-1,12); +addRotationMap("OuterWildsLT", "LCTF",1,1,-1,12); addRotationMap("Drafts", "LCTF",1,1,-1,12); addRotationMap("DermCrossingDeluxeLT", "LCTF",1,1,-1,-1); addRotationMap("SuperiorWaterworks", "LCTF",1,0,-1,12); From fae87aa449dcaaab13681929b39fe76101d6f1f4 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Wed, 14 May 2025 14:50:46 -0400 Subject: [PATCH 37/60] LCTF Things --- Classic/scripts/LCTFGame.cs | 111 ++++++++++++++++++++++++++++++++++-- 1 file changed, 105 insertions(+), 6 deletions(-) diff --git a/Classic/scripts/LCTFGame.cs b/Classic/scripts/LCTFGame.cs index 075786a..c9754c3 100644 --- a/Classic/scripts/LCTFGame.cs +++ b/Classic/scripts/LCTFGame.cs @@ -23,6 +23,15 @@ exec("scripts/aiLCTF.cs"); //exec the prefs //exec("prefs/LCTFPrefs.cs"); +//Time for auto overtime sudden-death mode +$LCTF::Overtime = 5; //5 Minutes, 0 to disable +//Damage scales for Chaingun and Grenade Launcher +//1 = 100%, 0.85 = 85%, 0 = OFF, etc +$LCTF::CGDamageScale = "0"; +$LCTF::GLDamageScale = "0"; +//Ban Mines +$LCTF::BanMines = 0; + function setArmorDefaults(%armor) { switch$ ( %armor ) @@ -57,7 +66,7 @@ function setArmorDefaults(%armor) $InvBanList[LCTF, "Mortar"] = 1; $InvBanList[LCTF, "SniperRifle"] = 1; // Misc - $InvBanList[LCTF, "Mine"] = 0; + $InvBanList[LCTF, "Mine"] = $LCTF::BanMines; $InvBanList[LCTF, "ConcussionGrenade"] = 0; $InvBanList[LCTF, "CameraGrenade"] = 1; $InvBanList[LCTF, "FlareGrenade"] = 1; @@ -368,7 +377,22 @@ package LCTFGame //Take out anything vehicle related function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %mineSC) { - //error("Armor::damageObject( "@%data@", "@%targetObject@", "@%sourceObject@", "@%position@", "@%amount@", "@%damageType@", "@%momVec@" )"); + //CG and GL Damage Scales + if($LCTF::CGDamageScale){ + if(Game.class $= "LCTFGame" && %damageType $= $DamageType::Bullet){ + %amount *= $LCTF::CGDamageScale; + } + } + if($LCTF::GLDamageScale){ + if(isObject($LCTFLastExploded)){ + %name = $LCTFLastExploded.getName();// find what what exploded last + if(Game.class $= "LCTFGame" && %name $= "BasicGrenade"){// BasicGrenade is the nade launcher + %amount *= $LCTF::GLDamageScale; + } + } + } + + //error("Armor::damageObject( "@%data@", "@%targetObject@", "@%sourceObject@", "@%position@", "@%amount@", "@%damageType@", "@%momVec@" )"); if(%targetObject.invincible || %targetObject.getState() $= "Dead") return; @@ -474,6 +498,12 @@ package LCTFGame playPain( %targetObject ); } } + + //Needed for Grenade Launcher type detection + function ProjectileData::onExplode(%data, %proj, %pos, %mod){ + $LCTFLastExploded = %data;// record what exploded + parent::onExplode(%data, %proj, %pos, %mod); + } }; ///////////////////////////////////////////////////////////////////////////////////////// @@ -672,8 +702,8 @@ function LCTFGame::playerTouchFlag(%game, %player, %flag) if ((%flag.carrier $= "") && (%player.getState() !$= "Dead")) { // z0dd - ZOD, 5/07/04. Cancel the lava return. - if(isEventPending(%obj.lavaEnterThread)) - cancel(%obj.lavaEnterThread); + if(isEventPending(%flag.lavaEnterThread)) + cancel(%flag.lavaEnterThread); //flag isn't held and has been touched by a live player if (%client.team == %flag.team) @@ -683,6 +713,12 @@ function LCTFGame::playerTouchFlag(%game, %player, %flag) } // toggle visibility of the flag setTargetRenderMask(%flag.waypoint.getTarget(), %flag.isHome ? 0 : 1); + + if( %player > 0 ) + { + %player.setInvincibleMode(0 ,0.00); + %player.setInvincible( false ); // fire your weapon and your invincibility goes away. + } } function LCTFGame::playerTouchOwnFlag(%game, %player, %flag) @@ -1511,14 +1547,77 @@ function LCTFGame::resetDontScoreTimer(%game, %team) $dontScoreTimer[%team] = false; } +function LCTFGame::checkTimeLimit(%game, %forced) +{ + // Don't add extra checks: + if ( %forced ) + cancel( %game.timeCheck ); + + // if there is no time limit, check back in a minute to see if it's been set + if(($Host::TimeLimit $= "") || $Host::TimeLimit == 0) + { + %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); + return; + } + + %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + + if (%curTimeLeftMS <= 0) + { + %teamOneCaps = mFloor($TeamScore[1] / %game.SCORE_PER_TEAM_FLAG_CAP); + %teamTwoCaps = mFloor($TeamScore[2] / %game.SCORE_PER_TEAM_FLAG_CAP); + if(%teamOneCaps == %teamTwoCaps && $LCTF::Overtime && $Host::TournamentMode){ //Setting exists + if(!%game.overtime){ + %game.overtime = 1; + if($LCTF::Overtime > 1){ %s = "s"; } + messageAll('MsgOvertime', '\c2Sudden-Death Overtime Initiated: %1 Minute%2 Remaining~wfx/powered/turret_heavy_activate.wav', $LCTF::Overtime, %s); + echo("Sudden-Death Overtime Initiated"); + UpdateClientTimes($LCTF::Overtime * 60 * 1000); + EndCountdown($LCTF::Overtime * 60 * 1000); + %game.timeCheck = %game.schedule($LCTF::Overtime * 60 * 1000, "timeLimitReached"); + } + } + else{ + if(%game.scheduleVote !$= ""){ + if(!%game.voteOT){ + messageAll('MsgOvertime', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav'); + %game.voteOT = 1; + } + } + else{ + %game.timeLimitReached(); + } + } + } + else + { + if(%curTimeLeftMS >= 20000) + %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); + else + %game.timeCheck = %game.schedule(%curTimeLeftMS + 1, "checkTimeLimit"); + + //now synchronize everyone's clock + messageAll('MsgSystemClock', "", $Host::TimeLimit, %curTimeLeftMS); + } +} + function LCTFGame::checkScoreLimit(%game, %team) { %scoreLimit = MissionGroup.CTF_scoreLimit * %game.SCORE_PER_TEAM_FLAG_CAP; // default of 5 if scoreLimit not defined if(%scoreLimit $= "") %scoreLimit = 5 * %game.SCORE_PER_TEAM_FLAG_CAP; - if($TeamScore[%team] >= %scoreLimit) - %game.scoreLimitReached(); + if(%game.overtime){ + %teamOneCaps = mFloor($TeamScore[1] / %game.SCORE_PER_TEAM_FLAG_CAP); + %teamTwoCaps = mFloor($TeamScore[2] / %game.SCORE_PER_TEAM_FLAG_CAP); + if(%teamOneCaps != %teamTwoCaps){ + %game.scoreLimitReached(); + } + } + else{ + if($TeamScore[%team] >= %scoreLimit) + %game.scoreLimitReached(); + } } function LCTFGame::awardScoreFlagReturn(%game, %cl, %perc) From d1131f76b347b94c3613a58019d9a5e051ebdaf5 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Wed, 14 May 2025 14:51:15 -0400 Subject: [PATCH 38/60] Numerous fixes --- Classic/scripts/autoexec/VoteMenu.cs | 45 ++++++++++++---------------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/Classic/scripts/autoexec/VoteMenu.cs b/Classic/scripts/autoexec/VoteMenu.cs index f8beadb..27bc536 100644 --- a/Classic/scripts/autoexec/VoteMenu.cs +++ b/Classic/scripts/autoexec/VoteMenu.cs @@ -486,19 +486,8 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, % } else //is an admin { - if($Host::TournamentMode) //Admins still have the option to set the time to 30 minutes in Tourney Mode - { - if(%arg1 !$= "30") //30 minutes only - { - messageClient(%client, "", "\c2Invalid time selection."); - return; - } - } - else - { - messageClient(%client, "", "\c2Invalid time selection."); - return; - } + messageClient(%client, "", "\c2Invalid time selection."); + return; } } @@ -834,21 +823,21 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, % // LakRabbit Stuff case "VoteDuelMode": - if(!$CurrentMissionType $= "LakRabbit") + if($CurrentMissionType !$= "LakRabbit") return; if(!%isAdmin || (%isAdmin && %client.ForceVote)) %msg = %client.nameBase @ " initiated a vote to " @ (Game.duelMode == 0 ? "enable" : "disable") @ " duel mode."; case "VoteSplashDamage": - if(!$CurrentMissionType $= "LakRabbit") + if($CurrentMissionType !$= "LakRabbit") return; if(!%isAdmin || (%isAdmin && %client.ForceVote)) %msg = %client.nameBase @ " initiated a vote to " @ (Game.noSplashDamage == 1 ? "enable" : "disable") @ " splash damage."; case "VotePro": - if(!$CurrentMissionType $= "LakRabbit") + if($CurrentMissionType !$= "LakRabbit") return; if(!%isAdmin || (%isAdmin && %client.ForceVote)) @@ -856,7 +845,7 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, % //Deathmatch Stuff case "DMSLOnlyMode": - if(!$CurrentMissionType $= "DM") + if($CurrentMissionType !$= "DM") return; if(!%isAdmin || (%isAdmin && %client.ForceVote)) @@ -864,18 +853,21 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, % //LCTF Stuff case "LCTFProMode": - if(!$CurrentMissionType $= "LCTF") + if($CurrentMissionType !$= "LCTF") return; if(!%isAdmin || (%isAdmin && %client.ForceVote)) %msg = %client.nameBase @ " initiated a vote to " @ (Game.LCTFProMode == 0 ? "enable" : "disable") @ " pro mode."; case "LCTFOneMine": - if(!$CurrentMissionType $= "LCTF") - return; + if($CurrentMissionType !$= "LCTF") + return; - if(!%isAdmin || (%isAdmin && %client.ForceVote)) - %msg = %client.nameBase @ " initiated a vote to " @ (Game.LCTFOneMine == 0 ? "enable" : "disable") @ " one mine mode."; + if($InvBanList[LCTF, "Mine"]) + messageClient(%client, "", "\c2Mines are disabled at this time."); + + if(!%isAdmin || (%isAdmin && %client.ForceVote)) + %msg = %client.nameBase @ " initiated a vote to " @ (Game.LCTFOneMine == 0 ? "enable" : "disable") @ " one mine mode."; case "showServerRules": if (($Host::ServerRules[1] !$= "") && (!%client.CantView)) @@ -1220,7 +1212,8 @@ function DefaultGame::voteChangeTimeLimit( %game, %admin, %newLimit ) { messageAll( 'MsgAdminForce', '\c2The Admin %2 changed the mission time limit to %1 minutes.', %display, %admin.name ); $Host::TimeLimit = %newLimit; - adminLog(%admin, " has changed the mission time limit to " @ %display @ " minutes."); + adminLog(%admin, " has changed the mission time limit to " @ %display @ " minutes."); + $TimeLimitChanged = 1; } else { @@ -1230,9 +1223,9 @@ function DefaultGame::voteChangeTimeLimit( %game, %admin, %newLimit ) { messageAll('MsgVotePassed', '\c2The mission time limit was set to %1 minutes by vote.', %display); $Host::TimeLimit = %newLimit; - // VoteOvertime - ResetVOTimeChanged(%game); - // Reset the voted time limit when changing mission + // VoteOvertime + ResetVOTimeChanged(%game); + // Reset the voted time limit when changing mission $TimeLimitChanged = 1; //Log Vote % From 3a1a6beaf63c297d1b0502807f99bf4e992d7811 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Wed, 14 May 2025 14:51:26 -0400 Subject: [PATCH 39/60] Added Overtime --- Classic/scripts/CTFGame.cs | 73 +++++++++++++++++++++++++++++++++++--- 1 file changed, 69 insertions(+), 4 deletions(-) diff --git a/Classic/scripts/CTFGame.cs b/Classic/scripts/CTFGame.cs index 95373d2..e26cda5 100755 --- a/Classic/scripts/CTFGame.cs +++ b/Classic/scripts/CTFGame.cs @@ -9,6 +9,8 @@ //exec the AI scripts exec("scripts/aiCTF.cs"); +//Time for auto overtime sudden-death mode +$CTF::Overtime = 5; //5 Minutes, 0 to disable //-- tracking --- function CTFGame::initGameVars(%game) @@ -376,8 +378,8 @@ function CTFGame::playerTouchFlag(%game, %player, %flag) if ((%flag.carrier $= "") && (%player.getState() !$= "Dead")) { // z0dd - ZOD, 5/07/04. Cancel the lava return. - if(isEventPending(%obj.lavaEnterThread)) - cancel(%obj.lavaEnterThread); + if(isEventPending(%flag.lavaEnterThread)) + cancel(%flag.lavaEnterThread); //flag isn't held and has been touched by a live player if (%client.team == %flag.team) @@ -1245,14 +1247,77 @@ function CTFGame::resetDontScoreTimer(%game, %team) $dontScoreTimer[%team] = false; } +function CTFGame::checkTimeLimit(%game, %forced) +{ + // Don't add extra checks: + if ( %forced ) + cancel( %game.timeCheck ); + + // if there is no time limit, check back in a minute to see if it's been set + if(($Host::TimeLimit $= "") || $Host::TimeLimit == 0) + { + %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); + return; + } + + %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + + if (%curTimeLeftMS <= 0) + { + %teamOneCaps = mFloor($TeamScore[1] / %game.SCORE_PER_TEAM_FLAG_CAP); + %teamTwoCaps = mFloor($TeamScore[2] / %game.SCORE_PER_TEAM_FLAG_CAP); + if(%teamOneCaps == %teamTwoCaps && $CTF::Overtime && $Host::TournamentMode){ //Setting exists + if(!%game.overtime){ + %game.overtime = 1; + if($CTF::Overtime > 1){ %s = "s"; } + messageAll('MsgOvertime', '\c2Sudden-Death Overtime Initiated: %1 Minute%2 Remaining~wfx/powered/turret_heavy_activate.wav', $CTF::Overtime, %s); + echo("Sudden-Death Overtime Initiated"); + UpdateClientTimes($CTF::Overtime * 60 * 1000); + EndCountdown($CTF::Overtime * 60 * 1000); + %game.timeCheck = %game.schedule($CTF::Overtime * 60 * 1000, "timeLimitReached"); + } + } + else{ + if(%game.scheduleVote !$= ""){ + if(!%game.voteOT){ + messageAll('MsgOvertime', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav'); + %game.voteOT = 1; + } + } + else{ + %game.timeLimitReached(); + } + } + } + else + { + if(%curTimeLeftMS >= 20000) + %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); + else + %game.timeCheck = %game.schedule(%curTimeLeftMS + 1, "checkTimeLimit"); + + //now synchronize everyone's clock + messageAll('MsgSystemClock', "", $Host::TimeLimit, %curTimeLeftMS); + } +} + function CTFGame::checkScoreLimit(%game, %team) { %scoreLimit = MissionGroup.CTF_scoreLimit * %game.SCORE_PER_TEAM_FLAG_CAP; // default of 5 if scoreLimit not defined if(%scoreLimit $= "") %scoreLimit = 5 * %game.SCORE_PER_TEAM_FLAG_CAP; - if($TeamScore[%team] >= %scoreLimit) - %game.scoreLimitReached(); + if(%game.overtime){ + %teamOneCaps = mFloor($TeamScore[1] / %game.SCORE_PER_TEAM_FLAG_CAP); + %teamTwoCaps = mFloor($TeamScore[2] / %game.SCORE_PER_TEAM_FLAG_CAP); + if(%teamOneCaps != %teamTwoCaps){ + %game.scoreLimitReached(); + } + } + else{ + if($TeamScore[%team] >= %scoreLimit) + %game.scoreLimitReached(); + } } function CTFGame::awardScoreFlagReturn(%game, %cl, %perc) From 9ba847500eb75fa66b1d87ac202cc87384717f8e Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Wed, 14 May 2025 14:51:48 -0400 Subject: [PATCH 40/60] Fixed lava bug --- Classic/scripts/SCtFGame.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classic/scripts/SCtFGame.cs b/Classic/scripts/SCtFGame.cs index 4a3a74e..00e6b85 100644 --- a/Classic/scripts/SCtFGame.cs +++ b/Classic/scripts/SCtFGame.cs @@ -427,8 +427,8 @@ function SCtFGame::playerTouchFlag(%game, %player, %flag) if ((%flag.carrier $= "") && (%player.getState() !$= "Dead")) { // z0dd - ZOD, 5/07/04. Cancel the lava return. - if(isEventPending(%obj.lavaEnterThread)) - cancel(%obj.lavaEnterThread); + if(isEventPending(%flag.lavaEnterThread)) + cancel(%flag.lavaEnterThread); //flag isn't held and has been touched by a live player if (%client.team == %flag.team) From a8af516f52d47e373aeff6a77c9971dfc49733b5 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Sat, 17 May 2025 13:41:52 -0400 Subject: [PATCH 41/60] Rework --- Classic/scripts/autoexec/flagTunnelingFix.cs | 112 +++++++------------ 1 file changed, 43 insertions(+), 69 deletions(-) diff --git a/Classic/scripts/autoexec/flagTunnelingFix.cs b/Classic/scripts/autoexec/flagTunnelingFix.cs index 3761a01..3012bdb 100644 --- a/Classic/scripts/autoexec/flagTunnelingFix.cs +++ b/Classic/scripts/autoexec/flagTunnelingFix.cs @@ -1,5 +1,6 @@ //Fixes for collision tunneling and other issues, note only tested in classic //Script By:DarkTiger +//v4.3 - logic rework remove any skips in the checks //v3.8 - removed sweep optimization/ bug fix in old method //v3.7 - removed bypass code //v3.6 - lctf and SCtFGame @@ -31,6 +32,7 @@ $flagCheckRadius = 50; $playerSizeBox = "1.2 1.2 2.3"; $flagBoxSize = "0.796666 0.139717 2.46029"; +$boxCollision = 0; //0 = old AABB method uses fixed box size makes the player bit narrow //1 = new OBB method uses perfect box intersection @@ -189,43 +191,16 @@ package flagFix{ }; activatePackage(flagFix); -function vectorMul(%a,%b){ - %x = getWords(%a,0) * getWords(%b,0); - %y = getWords(%a,1) * getWords(%b,1); - %z = getWords(%a,2) * getWords(%b,2); - return %x SPC %y SPC %z; -} - function generateBoxData(){ + %halfSize = vectorScale($playerSizeBox, 0.5); + $plrBoxMin = getWords(VectorSub("0 0 0", %halfSize),0,1) SPC 0; + $plrBoxMax = getWords(%halfSize,0,1) SPC getWord($playerSizeBox,2); + $plrBox = $plrBoxMin SPC $plrBoxMax; - %playerSize = $playerSizeBox; //"1.2 1.2 2.3"; - %halfSize = vectorMul(%playerSize, "0.5 0.5 0"); - $plrBoxMin = %minA = VectorSub("0 0 0", %halfSize); - $plrBoxMax = %maxA = getWords(%halfSize,0,1) SPC getWord(%playerSize,2); - $plrBox = %minA SPC %maxA; - %vSubA = vectorSub(%maxA, %minA); - - %flagSize = $flagBoxSize; - %halfSize = vectorMul(%flagSize, "0.5 0.5 0"); - $flagBoxMin = %minB = VectorSub("0 0 -0.1", %halfSize); - $flagBoxMax = %maxB = getWords(%halfSize,0,1) SPC getWord(%flagSize,2); - $flagBox = %minB SPC %maxB; - %vSubB = vectorSub(%maxB, %minB); - - %box[0] = "0 0 0"; - %box[1] = "1 0 0"; - %box[2] = "0 1 0"; - %box[3] = "1 1 0"; - %box[4] = "0 0 1"; - %box[5] = "1 0 1"; - %box[6] = "0 1 1"; - %box[7] = "1 1 1"; - - for(%i = 0; %i < 8; %i++){ - $playerBoxData[%i] = vectorAdd(%minA, vectorMul(%vSubA, %box[%i])); - $flagBoxData[%i] = vectorAdd(%minB, vectorMul(%vSubB, %box[%i])); - } - + %halfSize = vectorScale($flagBoxSize, 0.5); + $flagBoxMin = getWords(VectorSub("0 0 0", %halfSize),0,1) SPC 0; + $flagBoxMax = getWords(%halfSize,0,1) SPC getWord($flagBoxSize,2); + $flagBox = $flagBoxMin SPC $flagBoxMax; }generateBoxData(); function vectorLerp(%point1, %point2, %t) { @@ -233,7 +208,8 @@ function vectorLerp(%point1, %point2, %t) { } function boxIntersectAABB(%plr, %flg, %lerpPos){ - if($boxCollision == 2){ + %testMode = 0; + if(%testMode == 1){ %fpos = %flg.getPosition(); %a = vectorAdd($plrBoxMin, %lerpPos) SPC vectorAdd($plrBoxMax, %lerpPos); @@ -250,7 +226,7 @@ function boxIntersectAABB(%plr, %flg, %lerpPos){ (getWord(%a, 2)<= getWord(%b, 5) && getWord(%a, 5) >= getWord(%b, 2)); } -function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ +function DefaultGame::flagColTest(%game, %flag, %rsTeam,%fc){ //////////////////////////////////////////////////////////////////////////////// //obj tunneling check %flagPos = %flag.getPosition(); @@ -273,37 +249,32 @@ function DefaultGame::flagColTest(%game, %flag, %rsTeam, %ext){ InitContainerRadiusSearch( %flagPos, $flagCheckRadius, $TypeMasks::PlayerObjectType); while((%player = containerSearchNext()) != 0){ %playerPos = %player.getPosition(); - //%rot = getWords(%player.getTransform(),3,6); - if((%rsTeam && %flag.team != %player.team) || !%rsTeam || %player == %ext){ - %flagDist = vectorDist(%flagPos, %playerPos); - if(%player.lastSim > 0 && (%player.getState() !$= "Dead")){// only check at speed - //%fdot = vectorDot(vectorNormalize(%player.getVelocity()),vectorNormalize(VectorSub(%flagPos, %playerPos))); - // %tickDist = vectorLen(%player.getVelocity()) * ($flagSimTime/1000); - %sweepCount = mFloor(vectorDist(%playerPos, %player.oldPos) + 2); - if((getSimTime() - %player.lastSim) <= 128){//make sure are last position is valid - //schedule(1000,0,"drawBeamItem", %player.oldPos,%playerPos,15000); - for(%i = 0; %i < %sweepCount; %i++){// sweep behind us to see if we should have hit something - %lerpPos = vectorLerp(%playerPos, %player.oldPos, %i/(%sweepCount-1));//back sweep - //%point = MatrixMulPoint(%lerpPos SPC %rot, "-0.6 -0.6 0"); - //schedule(1000+(%i*128), 0, "drawBoxItemC", %point, %rot, "1.2 1.2 2.3", 15000); - if($boxCollision == 1 && boxIntersect(%player, %flag, %lerpPos)){ - // %point = MatrixMulPoint(%flagPos SPC %rot,"-0.398 -0.069 0"); - // schedule(1000+(%i*128), 0, "drawBoxItemC", %point, %rot, "0.796666 0.139717 4", 15000); - %flag.getDataBlock().onCollision(%flag, %player); - break; - } - else if(!$boxCollision && boxIntersectAABB(%player, %flag, %lerpPos)){ - %flag.getDataBlock().onCollision(%flag, %player); - break; - } - } + //%toPlayer = vectorNormalize(vectorSub(%flagPos,%playerPos)); + //%moveDir = vectorNormalize(%player.getVelocity()); + //%d = vectorDot( %toPlayer, %moveDir ); + if(((%flag.team != %player.team) || !%rsTeam || %fc == %player) && %player.getState() !$= "Dead"){ + //%futurePos = vectorAdd(%playerPos, vectorScale(%player.getVelocity(), $flagSimTime / 1000)); + if(%player.lastSim[%flag] $= "" || (getSimTime() - %player.lastSim[%flag]) >= 128){ + %lastPos = vectorSub(%playerPos, vectorScale(%player.getVelocity(), $flagSimTime / 1000)); + %player.oldPos[%flag] = %lastPos;// old data so lets do it velocity based + } + %sweepCount = mFloor(vectorDist(%playerPos, %player.oldPos[%flag]) + 1);// min of 2 + for(%i = 0; %i < %sweepCount; %i++){// sweep behind us to see if we should have hit something + %lerpPos = vectorLerp(%playerPos, %player.oldPos[%flag], %i/(%sweepCount-1));//back sweep + if($boxCollision == 1 && boxIntersect(%player, %flag, %lerpPos)){ + %flag.getDataBlock().onCollision(%flag, %player); + break; + } + else if(!$boxCollision && boxIntersectAABB(%player, %flag, %lerpPos)){ + %flag.getDataBlock().onCollision(%flag, %player); + //error("hit" SPC %player.count++); + break; } } } - %player.oldPos = %playerPos; - %player.lastSim = getSimTime(); + %player.oldPos[%flag] = %playerPos; + %player.lastSim[%flag] = getSimTime(); } - //error("scan count" SPC %scanCount SPC %scanPlrCount); } function DefaultGame::atHomeFlagLoop(%game){ @@ -321,13 +292,16 @@ function DefaultGame::atHomeFlagLoop(%game){ %game.flagResetTime += $flagSimTime; } + //%game.flagColTest($TeamFlag[1]); + //%game.flagColTest($TeamFlag[2]); + if($TeamFlag[1].isHome && $TeamFlag[2].isHome){//11 %game.flagColTest($TeamFlag[1],1,0);// only look at the other team %game.flagColTest($TeamFlag[2],1,0);// only look at the other team } else if(!$TeamFlag[1].isHome && $TeamFlag[2].isHome){//01 if(isObject($TeamFlag[1].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[2],1, $TeamFlag[1].carrier); //scan for other team expect for are carrier + %game.flagColTest($TeamFlag[2],1,$TeamFlag[1].carrier); //scan for other team expect for are carrier } else{ %game.flagColTest($TeamFlag[1],0,0);// scan for everyone can touch it @@ -336,7 +310,7 @@ function DefaultGame::atHomeFlagLoop(%game){ } else if($TeamFlag[1].isHome && !$TeamFlag[2].isHome){//10 if(isObject($TeamFlag[2].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[1],1, $TeamFlag[2].carrier); //scan for other team expect for are carrier + %game.flagColTest($TeamFlag[1],1,$TeamFlag[2].carrier); //scan for other team expect for are carrier } else{ %game.flagColTest($TeamFlag[1],1,0);// team 1 flag is still at home so only scan for the other team @@ -345,10 +319,10 @@ function DefaultGame::atHomeFlagLoop(%game){ } else if(!$TeamFlag[1].isHome && !$TeamFlag[2].isHome){//00 if(!isObject($TeamFlag[1].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[1],0,0);// scan for everyone can touch it + %game.flagColTest($TeamFlag[1],0);// scan for everyone can touch it } if(!isObject($TeamFlag[2].carrier)){// flag has been dropped - %game.flagColTest($TeamFlag[2],0,0);// scan for everyone can touch it + %game.flagColTest($TeamFlag[2],0);// scan for everyone can touch it } } } @@ -437,4 +411,4 @@ function testFlagSpeed(%speed){ %fvec = %player.getForwardVector(); %vel = vectorScale(%fvec,%speed); %player.setVelocity(%vel); -} \ No newline at end of file +} From 1e6ad89251d4376b254254780f7d3baf2bbdb787 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Wed, 18 Jun 2025 17:22:29 -0400 Subject: [PATCH 42/60] Create spawnDir.cs --- Classic/scripts/autoexec/spawnDir.cs | 107 +++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 Classic/scripts/autoexec/spawnDir.cs diff --git a/Classic/scripts/autoexec/spawnDir.cs b/Classic/scripts/autoexec/spawnDir.cs new file mode 100644 index 0000000..2f3b0cd --- /dev/null +++ b/Classic/scripts/autoexec/spawnDir.cs @@ -0,0 +1,107 @@ +// points players in the diretion of the enemy flag home position when outdoors +// Script By: DarkTiger +// version 1.0 + +function CTFGame::pickTeamSpawn(%game, %team) { + return %game.pickTeamSpawnRot(%team); +} +function LCTFGame::pickTeamSpawn(%game, %team) { + return %game.pickTeamSpawnRot(%team); +} +function SCtFGame::pickTeamSpawn(%game, %team) { + return %game.pickTeamSpawnRot(%team); +} + +function DefaultGame::pickTeamSpawnRot(%game, %team){ +// early exit if no nav graph + if (!navGraphExists()) + { + echo("No navigation graph is present. Build one."); + return -1; + } + + for (%attempt = 0; %attempt < 20; %attempt++) + { + // finds a random spawn sphere + // selects inside/outside on this random sphere + // if the navgraph exists, then uses it to grab a random node as spawn + // location/rotation + %sphere = %game.selectSpawnSphere(%team); + if (%sphere == -1) + { + echo("No spawn spheres found for team " @ %team); + return -1; + } + + %zone = %game.selectSpawnZone(%sphere); + %useIndoor = %zone; + %useOutdoor = !%zone; + if (%zone) + %area = "indoor"; + else + %area = "outdoor"; + + %radius = %sphere.radius; + %sphereTrans = %sphere.getTransform(); + %sphereCtr = getWord(%sphereTrans, 0) @ " " @ getWord(%sphereTrans, 1) @ " " @ getWord(%sphereTrans, 2); //don't need full transform here, just x, y, z + //echo("Selected Sphere is " @ %sphereCtr @ " with a radius of " @ %radius @ " meters. Selecting from " @ %area @ " zone."); + + %avoidThese = $TypeMasks::VehicleObjectType | $TypeMasks::MoveableObjectType | + $TypeMasks::PlayerObjectType | $TypeMasks::TurretObjectType; + + for (%tries = 0; %tries < 10; %tries++) + { + %nodeIndex = navGraph.randNode(%sphereCtr, %radius, %useIndoor, %useOutdoor); + if (%nodeIndex >= 0) + { + %loc = navGraph.randNodeLoc(%nodeIndex); + %adjUp = VectorAdd(%loc, "0 0 1.0"); // don't go much below + + if (ContainerBoxEmpty( %avoidThese, %adjUp, 2.0)) + break; + } + } + + if (%nodeIndex >= 0) + { + %loc = navGraph.randNodeLoc(%nodeIndex); + if (%zone)//spawn indoors + { + %fpos = getWords($TeamFlag[%team == 1 ? 2 : 1].originalPosition,0,2); + %flos = containerRayCast(vectorAdd(%loc,"0 0 1"), vectorAdd(%fpos, "0 0 1"), $TypeMasks::InteriorObjectType | $TypeMasks::StaticTSObjectType | $TypeMasks::ForceFieldObjectType); + if(%flos){// do we have anything inbetween us and the flag if not face it + if(vectorDist(%loc, getWords(%flos,1,3)) < 25){ + //error("indoor" SPC %loc); + %trns = %loc @ " 0 0 1 0"; + %spawnLoc = whereToLook(%trns); + return %spawnLoc; + } + } + //error("outdoor" SPC %loc); + %rot = %game.selectSpawnDir(%loc, %team, %zone); + %spawnLoc = %loc @ %rot; + return %spawnLoc; + } + //error("outdoor" SPC %loc); + %rot = %game.selectSpawnDir(%loc, %team, %zone); + %spawnLoc = %loc @ %rot; + return %spawnLoc; + } + } +} + +//face flag when spawn +function DefaultGame::selectSpawnDir(%game, %loc, %team, %zone){ + %team = %team == 1 ? 2 : 1; + %fpos = getWords($TeamFlag[%team].originalPosition,0,2); + //this used only when spawn loc is not on an interior. This points spawning player to the ctr of spawnshpere + %fpos = setWord(%fpos, 2, 0); + %loc = setWord(%loc, 2, 0); + + if(VectorDist(%loc, %fpos) == 0) + return " 0 0 1 0 "; + + %vec = VectorNormalize(VectorSub(%fpos, %loc)); + %angle = mAcos(getWord(%vec, 1)); + return (%loc < %fpos) ? (" 0 0 1 " @ %angle) : (" 0 0 1 " @ -%angle);// this works some how +} From 9aea8e23a6c52e5193d3f39d14d6aaffc1e47b27 Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Mon, 23 Jun 2025 15:38:00 -0400 Subject: [PATCH 43/60] Overtime Bug --- Classic/scripts/CTFGame.cs | 20 +++++++++++--------- Classic/scripts/LCTFGame.cs | 20 +++++++++++--------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/Classic/scripts/CTFGame.cs b/Classic/scripts/CTFGame.cs index e26cda5..5677f3c 100755 --- a/Classic/scripts/CTFGame.cs +++ b/Classic/scripts/CTFGame.cs @@ -1266,8 +1266,9 @@ function CTFGame::checkTimeLimit(%game, %forced) { %teamOneCaps = mFloor($TeamScore[1] / %game.SCORE_PER_TEAM_FLAG_CAP); %teamTwoCaps = mFloor($TeamScore[2] / %game.SCORE_PER_TEAM_FLAG_CAP); - if(%teamOneCaps == %teamTwoCaps && $CTF::Overtime && $Host::TournamentMode){ //Setting exists - if(!%game.overtime){ + if(%teamOneCaps == %teamTwoCaps && $CTF::Overtime && (($TeamRank[1, count] + $TeamRank[2, count]) > 6)){ + if(!%game.overtime) + { %game.overtime = 1; if($CTF::Overtime > 1){ %s = "s"; } messageAll('MsgOvertime', '\c2Sudden-Death Overtime Initiated: %1 Minute%2 Remaining~wfx/powered/turret_heavy_activate.wav', $CTF::Overtime, %s); @@ -1277,14 +1278,15 @@ function CTFGame::checkTimeLimit(%game, %forced) %game.timeCheck = %game.schedule($CTF::Overtime * 60 * 1000, "timeLimitReached"); } } - else{ - if(%game.scheduleVote !$= ""){ - if(!%game.voteOT){ - messageAll('MsgOvertime', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav'); - %game.voteOT = 1; - } + else + { + if(%game.scheduleVote !$= "" && !%game.voteOT) + { + messageAll('MsgOvertime', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav'); + %game.voteOT = 1; } - else{ + else + { %game.timeLimitReached(); } } diff --git a/Classic/scripts/LCTFGame.cs b/Classic/scripts/LCTFGame.cs index c9754c3..e856790 100644 --- a/Classic/scripts/LCTFGame.cs +++ b/Classic/scripts/LCTFGame.cs @@ -1566,8 +1566,9 @@ function LCTFGame::checkTimeLimit(%game, %forced) { %teamOneCaps = mFloor($TeamScore[1] / %game.SCORE_PER_TEAM_FLAG_CAP); %teamTwoCaps = mFloor($TeamScore[2] / %game.SCORE_PER_TEAM_FLAG_CAP); - if(%teamOneCaps == %teamTwoCaps && $LCTF::Overtime && $Host::TournamentMode){ //Setting exists - if(!%game.overtime){ + if(%teamOneCaps == %teamTwoCaps && $LCTF::Overtime && (($TeamRank[1, count] + $TeamRank[2, count]) > 6)){ + if(!%game.overtime) + { %game.overtime = 1; if($LCTF::Overtime > 1){ %s = "s"; } messageAll('MsgOvertime', '\c2Sudden-Death Overtime Initiated: %1 Minute%2 Remaining~wfx/powered/turret_heavy_activate.wav', $LCTF::Overtime, %s); @@ -1577,14 +1578,15 @@ function LCTFGame::checkTimeLimit(%game, %forced) %game.timeCheck = %game.schedule($LCTF::Overtime * 60 * 1000, "timeLimitReached"); } } - else{ - if(%game.scheduleVote !$= ""){ - if(!%game.voteOT){ - messageAll('MsgOvertime', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav'); - %game.voteOT = 1; - } + else + { + if(%game.scheduleVote !$= "" && !%game.voteOT) + { + messageAll('MsgOvertime', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav'); + %game.voteOT = 1; } - else{ + else + { %game.timeLimitReached(); } } From 7fe6bb3b98e039924a1c2237c56fb1556d868fda Mon Sep 17 00:00:00 2001 From: ChocoTaco Date: Fri, 27 Jun 2025 13:45:38 -0400 Subject: [PATCH 44/60] Wrong message --- Classic/scripts/autoexec/VoteMenu.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classic/scripts/autoexec/VoteMenu.cs b/Classic/scripts/autoexec/VoteMenu.cs index 27bc536..f0f72bc 100644 --- a/Classic/scripts/autoexec/VoteMenu.cs +++ b/Classic/scripts/autoexec/VoteMenu.cs @@ -867,7 +867,7 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, % messageClient(%client, "", "\c2Mines are disabled at this time."); if(!%isAdmin || (%isAdmin && %client.ForceVote)) - %msg = %client.nameBase @ " initiated a vote to " @ (Game.LCTFOneMine == 0 ? "enable" : "disable") @ " one mine mode."; + %msg = %client.nameBase @ " initiated a vote to " @ (Game.LCTFOneMine == 1 ? "enable" : "disable") @ " one mine mode."; case "showServerRules": if (($Host::ServerRules[1] !$= "") && (!%client.CantView)) From 7cd1cb8815e19990ab5a0cf632aedc82726333ed Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Mon, 18 Aug 2025 16:15:26 -0400 Subject: [PATCH 45/60] LoadingScreen Safeguards Shorter time Added check --- Classic/scripts/autoexec/zDebriefLoadingScreen.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Classic/scripts/autoexec/zDebriefLoadingScreen.cs b/Classic/scripts/autoexec/zDebriefLoadingScreen.cs index b43ec39..f3396fd 100755 --- a/Classic/scripts/autoexec/zDebriefLoadingScreen.cs +++ b/Classic/scripts/autoexec/zDebriefLoadingScreen.cs @@ -51,7 +51,7 @@ // First Screen loading time (Map Screen) // If this is set too low the second screen wont show at all -$dtLoadingScreen::FirstScreen = 5500; +$dtLoadingScreen::FirstScreen = 3000; // Second Screen Delay $dtLoadingScreen::Delay = 0; @@ -149,6 +149,10 @@ if (!isActivePackage(LoadScreenPackage) && $Host::LoadingScreenUseDebrief) // Just make our own function ALTsendModInfoToClient(%client) { + if(%client.isReady){ + return; + } + // Wont allow Debrief on consecutive map loads if(%client.loaded) { From 90620a1c6c5900f5136688a45f9945a2f3af1a57 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Mon, 18 Aug 2025 17:56:46 -0400 Subject: [PATCH 46/60] Removed some things --- Classic/scripts/autoexec/MemPatches.cs | 85 +++++++++++++------------- 1 file changed, 42 insertions(+), 43 deletions(-) diff --git a/Classic/scripts/autoexec/MemPatches.cs b/Classic/scripts/autoexec/MemPatches.cs index ff9b7eb..bfd3888 100644 --- a/Classic/scripts/autoexec/MemPatches.cs +++ b/Classic/scripts/autoexec/MemPatches.cs @@ -4,59 +4,58 @@ //From Krash memPatch("756076","6169"); -// Thanks Turkeh -// TraversalRoot Console spam fix -function suppressTraversalRootPatch() -{ - if($tvpatched) - return; +//// Thanks Turkeh +//// TraversalRoot Console spam fix +//function suppressTraversalRootPatch() +//{ + //if($tvpatched) + //return; - warn("Patching traversal root error..."); - memPatch("56AD8A", "90909090909090909090909090909090909090909090"); - memPatch("56D114", "90909090909090909090909090909090909090909090"); - $tvpatched = 1; -} + //warn("Patching traversal root error..."); + //memPatch("56AD8A", "90909090909090909090909090909090909090909090"); + //memPatch("56D114", "90909090909090909090909090909090909090909090"); + //$tvpatched = 1; +//} -if (!$CmdArmor::Patched) -{ - $CmdArmor::Patched = true; - //memPatch("6FC746", "66B8000090906683FE017408ACAA84C075FA89D05F5EC3"); - memPatch("6FC746", "83FE017408ACAA84C075FA89D05F5EC3"); - //Removed register size override (cmp si, 1 -> cmp esi, 1) and got rid of - //weird NASM garbage code at the beginning. Had a mov ax, 0 which did nothing - //and wasn't necessary anyways because of xor eax, eax in the original. It also - //generated several NOPs after that for no reason. -} +//if (!$CmdArmor::Patched) +//{ + //$CmdArmor::Patched = true; + ////memPatch("6FC746", "66B8000090906683FE017408ACAA84C075FA89D05F5EC3"); + //memPatch("6FC746", "83FE017408ACAA84C075FA89D05F5EC3"); + ////Removed register size override (cmp si, 1 -> cmp esi, 1) and got rid of + ////weird NASM garbage code at the beginning. Had a mov ax, 0 which did nothing + ////and wasn't necessary anyways because of xor eax, eax in the original. It also + ////generated several NOPs after that for no reason. +//} -function serverCmd(%client) -{ - // Stick your own administrative action code here - messageAll('msgAll',"\c3" @ %client.namebase SPC "is attempting to crash the server!"); +//function serverCmd(%client) +//{ + //// Stick your own administrative action code here + //messageAll('msgAll',"\c3" @ %client.namebase SPC "is attempting to crash the server!"); - messageClient(%client, 'onClientBanned', ""); - messageAllExcept( %client, -1, 'MsgClientDrop', "", %client.name, %client ); + //messageClient(%client, 'onClientBanned', ""); + //messageAllExcept( %client, -1, 'MsgClientDrop', "", %client.name, %client ); - // kill and delete this client - if( isObject(%client.player) ) - %client.player.scriptKill(0); + //// kill and delete this client + //if( isObject(%client.player) ) + //%client.player.scriptKill(0); - if ( isObject( %client ) ) - { - %client.setDisconnectReason("You have been banned for attempting to crash the server."); - %client.schedule(700, "delete"); - } + //if ( isObject( %client ) ) + //{ + //%client.setDisconnectReason("You have been banned for attempting to crash the server."); + //%client.schedule(700, "delete"); + //} - BanList::add(%client.guid, %client.getAddress(), $Host::BanTime); -} + //BanList::add(%client.guid, %client.getAddress(), $Host::BanTime); +//} -//Disable UE box on crash +//Disable UE box on crash (Tribesnext Preview Unpatched Only) //Used if a clean crash is desired -memPatch("7dc7fc","90"); +//memPatch("7dc7fc","90"); //Loops Crash patch (Prevent the Uncaught Exception dialog from appearing) -memPatch("006ff376", "909090909090"); +//memPatch("006ff376", "909090909090"); //Show Linux Icon in server list //memPatch("5C9628","80CB05"); - -//Bahke MPB stability fix -//memPatch("614120","9090"); \ No newline at end of file +//Show no Linux Icon +//memPatch("5C9628","80CB01"); From d5a0cad2a253c519c451c0ac140a9e29968e6c21 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Mon, 18 Aug 2025 18:00:24 -0400 Subject: [PATCH 47/60] Update 10.59 --- Classic/scripts/autoexec/z_dtStats.cs | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Classic/scripts/autoexec/z_dtStats.cs b/Classic/scripts/autoexec/z_dtStats.cs index 448a3b0..f6a03cf 100644 --- a/Classic/scripts/autoexec/z_dtStats.cs +++ b/Classic/scripts/autoexec/z_dtStats.cs @@ -1,4 +1,5 @@ + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Stats system for classic and base // Script BY: DarkTiger @@ -15,7 +16,7 @@ // Note See bottom of file for full log ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //-----------Settings----------- -$dtStats::version = 10.58; +$dtStats::version = 10.59; //disable stats system $dtStats::Enable = $Host::dtStatsEnable $= "" ? ($Host::dtStatsEnable = 1) : $Host::dtStatsEnable; if(!$dtStats::Enable){ return;}// so it disables with a restart @@ -1862,6 +1863,8 @@ $statsName["discKillGroundTG"] = "Ground Disc Kills" TAB "Total"; $statsName["WLRAvg"] = "Win Loss Ratio" TAB "Average"; $statsName["roundsWonTG"] = "Rounds Won" TAB "Total"; $statsName["hatTricksTG"] = "Hat Tricks" TAB "Total"; +$statsName["OffKillsTG"] = "Offensive Kills" TAB "Total"; +$statsName["DefKillsTG"] = "Defensive Kills" TAB "Total"; $panelCount = 0; $upperWepPanel[$panelCount, "CTFGame"] = "discMAHitDistMax"; $upperWepPanel[$panelCount++, "CTFGame"] = "plasmaMAHitDistMax";$upperWepPanel[$panelCount++, "CTFGame"] = "blasterMAHitDistMax"; @@ -16456,7 +16459,7 @@ function genBigStats(%game, %lType, %mon, %year){ %year = 2024; } %callCount = 0; - %callTime = 16; + %callTime = 32; deleteVariables("$textColor*"); %mainXSize =1860; %mainySize = 1115; @@ -16688,7 +16691,7 @@ function genMapStatsImg(%game,%count){ return; } %callCount = 0; - %callTime = 16; + %callTime = 32; deleteVariables("$textColor*"); %mainXSize =1860; %mainySize = 1115; @@ -16955,12 +16958,12 @@ function imgCycle3(%img, %count){ } %img.yc++; if(%img.yc < %img.y) - schedule(32,0,"imgCycle3",%img); + schedule(32,0,"imgCycle3",%img, %count); else{ %img.close(); %img.delete(); deleteVariables("$textColor*"); - error("Stats Image Done"); + error("Stats Image Done" SPC %count); genBigMapStats(%count++); } } @@ -17202,7 +17205,7 @@ function renderArenaMapTextTM(%id){ %sizeX = 1280+20; %sizeY = 810; - %callTime = 8; + %callTime = 32; %spaceing = 20; %justLeft = 355; %justLeft2 = 55; @@ -17979,7 +17982,7 @@ function renderLCTFMapTextTM(%id){ %sizeX = 1280+20; %sizeY = 810; - %callTime = 8; + %callTime = 32; %spaceing = 20; %justLeft = 355; %justLeft2 = 55; @@ -18756,7 +18759,7 @@ function renderCTFMapTextTM(%id){ %sizeX = 1280+20; %sizeY = 1115; - %callTime = 8; + %callTime = 32; %spaceing = 20; %justLeft = 355; %justLeft2 = 55; @@ -19804,6 +19807,12 @@ function dtBuildMissionList(%reset){ } else if ( getSubStr( %line, 0, 18 ) $= "// MissionTypes = " ){ %typeList = getSubStr( %line, 18, 1000 ); + if(strstr(%typeList,"CTF") != -1 && strstr(%typeList,"LCTF") == -1){ + %typeList = %typeList SPC "LCTF"; + } + if(strstr(%typeList,"CTF") != -1 && strstr(%typeList,"SCtF") == -1){ + %typeList = %typeList SPC "SCtF"; + } break; } } From e96039866f74e6fd16e2b65f3be29af98772d4f7 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Sat, 27 Sep 2025 17:49:57 -0400 Subject: [PATCH 48/60] Comp Reversions --- Classic/scripts/CTFGame.cs | 2 +- Classic/scripts/autoexec/TacoOverrides.cs | 11 --- Classic/scripts/defaultGame.cs | 4 +- Classic/scripts/packs/cloakingpack.cs | 2 +- Classic/scripts/packs/sensorjammerpack.cs | 47 ++++++----- Classic/scripts/player.cs | 12 +-- Classic/scripts/vehicles/vehicle_tank.cs | 2 +- Classic/scripts/weapons/flashGrenade.cs | 2 +- Classic/scripts/weapons/missileLauncher.cs | 83 +++++++++---------- Classic/scripts/weapons/mortar.cs | 95 +++++++++++----------- README.md | 25 +++--- 11 files changed, 135 insertions(+), 150 deletions(-) diff --git a/Classic/scripts/CTFGame.cs b/Classic/scripts/CTFGame.cs index 5677f3c..bf65472 100755 --- a/Classic/scripts/CTFGame.cs +++ b/Classic/scripts/CTFGame.cs @@ -2019,7 +2019,7 @@ function CTFGame::awardScoreKill(%game, %killerID) function checkVehicleCamping( %team ) { %position = $flagPos[%team]; - %radius = 15; + %radius = 5; InitContainerRadiusSearch(%position, %radius, $TypeMasks::VehicleObjectType ); while ((%vehicle = containerSearchNext()) != 0) diff --git a/Classic/scripts/autoexec/TacoOverrides.cs b/Classic/scripts/autoexec/TacoOverrides.cs index 640ee4b..0e8fb6e 100644 --- a/Classic/scripts/autoexec/TacoOverrides.cs +++ b/Classic/scripts/autoexec/TacoOverrides.cs @@ -323,17 +323,6 @@ function serverCmdScopeCommanderMap(%client, %scope) %client.player.ccActive = %scope; } -//Mortar Throw Reload Fix -// function ShapeBase::throwWeapon(%this) -// { -// if((%this.getMountedImage($WeaponSlot).getName() $= "MortarImage" || %this.getMountedImage($WeaponSlot).getName() $= "MissileLauncherImage" || %this.getMountedImage($WeaponSlot).getName() $= "ShockLanceImage") && -// (%this.getImageState($WeaponSlot) $= "Reload" || %this.getImageState($WeaponSlot) $= "Fire")){ -// return; -// } - -// parent::throwWeapon(%this); -// } - // Added object check function VehicleData::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType, %momVec, %theClient, %proj) diff --git a/Classic/scripts/defaultGame.cs b/Classic/scripts/defaultGame.cs index 46f4386..64609f6 100644 --- a/Classic/scripts/defaultGame.cs +++ b/Classic/scripts/defaultGame.cs @@ -459,9 +459,9 @@ function DefaultGame::createPlayer(%game, %client, %spawnLoc, %respawn) if(%respawn) { %player.setInvincible(true); - %player.setCloaked(true); // z0dd - ZOD, 8/6/02. Don't spawn players cloaked //was // + //%player.setCloaked(true); // z0dd - ZOD, 8/6/02. Don't spawn players cloaked %player.setInvincibleMode($InvincibleTime,0.02); - %player.respawnCloakThread = %player.schedule($InvincibleTime * 50, "setRespawnCloakOff"); // z0dd - ZOD, 8/6/02. Don't spawn players cloaked //was 1000 + //%player.respawnCloakThread = %player.schedule($InvincibleTime * 50, "setRespawnCloakOff"); // z0dd - ZOD, 8/6/02. Don't spawn players cloaked //was 1000 %player.schedule($InvincibleTime * 1000, "setInvincible", false); } diff --git a/Classic/scripts/packs/cloakingpack.cs b/Classic/scripts/packs/cloakingpack.cs index b21ae1c..5ed4048 100755 --- a/Classic/scripts/packs/cloakingpack.cs +++ b/Classic/scripts/packs/cloakingpack.cs @@ -34,7 +34,7 @@ datablock AudioDescription(CloakLooping3d) is3D = true; minDistance= 10.0; - MaxDistance= 55.0; //Was 50 + MaxDistance= 50.0; type = $EffectAudioType; environmentLevel = 1.0; }; diff --git a/Classic/scripts/packs/sensorjammerpack.cs b/Classic/scripts/packs/sensorjammerpack.cs index b7085ef..2ac0e64 100644 --- a/Classic/scripts/packs/sensorjammerpack.cs +++ b/Classic/scripts/packs/sensorjammerpack.cs @@ -64,7 +64,7 @@ datablock ItemData(SensorJammerPack) }; -datablock SensorData(JammerSensorObjectPassive) //v2 was commented out... +datablock SensorData(JammerSensorObjectPassive) { // same detection info as 'PlayerObject' sensorData detects = true; @@ -76,7 +76,7 @@ datablock SensorData(JammerSensorObjectPassive) //v2 was commented out... detectFOVPercent = 1.3; useObjectFOV = true; - detectscloaked = 1; //v2 + //detectscloaked = 1; //v2 jams = true; jamsOnlyGroup = true; @@ -96,52 +96,55 @@ datablock SensorData(JammerSensorObjectActive) detectFOVPercent = 1.3; useObjectFOV = true; - detectscloaked = 1; //v2 + //detectscloaked = 1; //v2 jams = true; jamsOnlyGroup = true; jamsUsingLOS = true; - jamRadius = 45; //was 30 + jamRadius = 30; }; function SensorJammerPackImage::onMount(%data, %obj, %slot) { - setTargetSensorData(%obj.client.target, JammerSensorObjectPassive); //v2 - %obj.setImageTrigger(%slot, false); - commandToClient( %obj.client, 'setSenJamIconOff' ); - %obj.setJammerFX(false); + setTargetSensorData(%obj.client.target, JammerSensorObjectPassive); } -function deactivateJammer(%data, %obj, %slot) +function SensorJammerPackImage::onUnmount(%data, %obj, %slot) { - SensorJammerPackImage::onDeactivate(%data, %obj, %slot); -} - -function SensorJammerPackImage::onUnmount(%data, %obj, %slot) //v2 -{ - %obj.setImageTrigger(%slot, false); setTargetSensorData(%obj.client.target, PlayerSensor); + %obj.setImageTrigger(%slot, false); } function SensorJammerPackImage::onActivate(%data, %obj, %slot) { messageClient(%obj.client, 'MsgSensorJammerPackOn', '\c2Sensor jammer pack on.'); setTargetSensorData(%obj.client.target, JammerSensorObjectActive); + // z0dd - ZOD, 9/29/02. Removed T2 demo code from here commandToClient( %obj.client, 'setSenJamIconOn' ); + %obj.setJammerFX( true ); } function SensorJammerPackImage::onDeactivate(%data, %obj, %slot) { messageClient(%obj.client, 'MsgSensorJammerPackOff', '\c2Sensor jammer pack off.'); - setTargetSensorData(%obj.client.target, PlayerSensor); //v2 H bug fix %obj.setImageTrigger(%slot, false); - setTargetSensorData(%obj.client.target, JammerSensorObjectPassive); //v2 was PlayerSensor + + // ---------------------------------------------------------------------- + // z0dd - ZOD, 4/25/02. This function is actually getting called AFTER + // ::onUnmount. We must check to see what the players current sensor data + // is, then if it is NOT PlayerSensor, set to passive jam, bug fix. + if(getTargetSensorData(%obj.client.target).getName() !$= "PlayerSensor") + setTargetSensorData(%obj.client.target, JammerSensorObjectPassive); + // ---------------------------------------------------------------------- + + // z0dd - ZOD, 9/29/02. Removed T2 demo code from here commandToClient( %obj.client, 'setSenJamIconOff' ); + %obj.setJammerFX( false ); } - -function SensorJammerPack::onPickup(%this, %obj, %shape, %amount) -{ -//Nope -} +// z0dd - ZOD, 5/18/03. Removed functions, created parent. Streamline. +//function SensorJammerPack::onPickup(%this, %obj, %shape, %amount) +//{ + // created to prevent console errors +//} diff --git a/Classic/scripts/player.cs b/Classic/scripts/player.cs index 5139f30..d9558c1 100755 --- a/Classic/scripts/player.cs +++ b/Classic/scripts/player.cs @@ -1085,8 +1085,8 @@ datablock ParticleData(LightPuff) textureName = "particleTest"; colors[0] = "0.46 0.36 0.26 0.4"; colors[1] = "0.46 0.46 0.36 0.0"; - sizes[0] = 0.8; //was 0.4 - sizes[1] = 1.4; //was 1.0 + sizes[0] = 0.4; + sizes[1] = 1.0; }; datablock ParticleEmitterData(LightPuffEmitter) @@ -1123,9 +1123,9 @@ datablock ParticleData(LiftoffDust) colors[0] = "0.46 0.36 0.26 0.0"; colors[1] = "0.46 0.46 0.36 0.4"; colors[2] = "0.46 0.46 0.36 0.0"; - sizes[0] = 0.6; //was 0.2 - sizes[1] = 1.0; //was 0.6 - sizes[2] = 1.4; //was 1.0 + sizes[0] = 0.2; + sizes[1] = 0.6; + sizes[2] = 1.0; times[0] = 0.0; times[1] = 0.5; times[2] = 1.0; @@ -1765,7 +1765,7 @@ datablock PlayerData(HeavyMaleHumanArmor) : HeavyPlayerDamageProfile //Value changed halfway between base and classic. //Classic is 54, Base is 75 //Shield breaks right at two mine-disc - energyPerDamagePoint = 60.0; // shield energy required to block one point of damage + energyPerDamagePoint = 54.0; // shield energy required to block one point of damage rechargeRate = 0.256; jetForce = 29.58 * 180; diff --git a/Classic/scripts/vehicles/vehicle_tank.cs b/Classic/scripts/vehicles/vehicle_tank.cs index 6cac286..55432e7 100755 --- a/Classic/scripts/vehicles/vehicle_tank.cs +++ b/Classic/scripts/vehicles/vehicle_tank.cs @@ -235,7 +235,7 @@ datablock HoverVehicleData(AssaultVehicle) : TankDamageProfile isShielded = true; rechargeRate = 1.0; - energyPerDamagePoint = 142; //was 135 + energyPerDamagePoint = 135; maxEnergy = 400; minJetEnergy = 15; jetEnergyDrain = 2.0; diff --git a/Classic/scripts/weapons/flashGrenade.cs b/Classic/scripts/weapons/flashGrenade.cs index 7bb3eda..7241668 100755 --- a/Classic/scripts/weapons/flashGrenade.cs +++ b/Classic/scripts/weapons/flashGrenade.cs @@ -37,7 +37,7 @@ datablock ItemData(FlashGrenadeThrown) radiusDamageType = $DamageType::Grenade; kickBackStrength = 1000; computeCRC = true; - maxWhiteout = 0.78; // z0dd - ZOD, 9/8/02. Was 1.2 //Reduced. Was 0.9 Choco + maxWhiteout = 0.9; // z0dd - ZOD, 9/8/02. Was 1.2 }; datablock ItemData(FlashGrenade) diff --git a/Classic/scripts/weapons/missileLauncher.cs b/Classic/scripts/weapons/missileLauncher.cs index abaec08..65063fe 100644 --- a/Classic/scripts/weapons/missileLauncher.cs +++ b/Classic/scripts/weapons/missileLauncher.cs @@ -2,6 +2,37 @@ // Missile launcher //-------------------------------------- +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(MissileSwitchEffect) +{ + effectname = "weapons/missile_launcher_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(MissileFireEffect) +{ + effectname = "weapons/missile_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(MissileDryFireEffect) +{ + effectname = "weapons/missile_launcher_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(MissileExplosionEffect) +{ + effectname = "explosions/explosion.xpl23"; + minDistance = 10; + maxDistance = 30; +}; + //-------------------------------------------------------------------------- // Sounds //-------------------------------------- @@ -10,6 +41,7 @@ datablock AudioProfile(MissileSwitchSound) filename = "fx/weapons/missile_launcher_activate.wav"; description = AudioClosest3d; preload = true; + effect = MissileSwitchEffect; }; datablock AudioProfile(MissileFireSound) @@ -17,6 +49,7 @@ datablock AudioProfile(MissileFireSound) filename = "fx/weapons/missile_fire.WAV"; description = AudioDefault3d; preload = true; + effect = MissileFireEffect; }; datablock AudioProfile(MissileProjectileSound) @@ -45,6 +78,7 @@ datablock AudioProfile(MissileExplosionSound) filename = "fx/explosions/explosion.xpl23.wav"; description = AudioBIGExplosion3d; preload = true; + effect = MissileExplosionEffect; }; datablock AudioProfile(MissileDryFireSound) @@ -52,6 +86,7 @@ datablock AudioProfile(MissileDryFireSound) filename = "fx/weapons/missile_launcher_dryfire.wav"; description = AudioClose3d; preload = true; + effect = MissileDryFireEffect; }; @@ -727,9 +762,9 @@ datablock ShapeBaseImageData(MissileLauncherImage) stateSequence[0] = "Activate"; stateSound[0] = MissileSwitchSound; - stateName[1] = "ActivateReady"; - stateTransitionOnAmmo[1] = "Ready"; - stateTransitionOnNoAmmo[1] = "FirstLoad"; + stateName[1] = "ActivateReady"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; stateName[2] = "Ready"; stateTransitionOnNoAmmo[2] = "NoAmmo"; @@ -792,9 +827,6 @@ datablock ShapeBaseImageData(MissileLauncherImage) stateSequence[10] = "Fire"; stateScript[10] = "onDumbFire"; stateSound[10] = MissileFireSound; - - stateName[11] = "FirstLoad"; - stateTransitionOnAmmo[11] = "Ready"; }; function MissileLauncherImage::onDumbFire(%data,%obj,%slot) @@ -815,42 +847,3 @@ function MissileLauncherImage::onDumbFire(%data,%obj,%slot) %obj.decInventory(%data.ammo, 1); return %p; } -function MissileLauncherImage::onUnmount(%this,%obj,%slot){ - parent::onUnmount(%this,%obj,%slot); - if(isEventPending(%obj.reloadDelaySch)) - cancel(%obj.reloadDelaySch); -} -function MissileLauncherImage::onMount(%this,%obj,%slot){ - - if(%obj.getClassName() !$= "Player") - return; - - if (%this.armthread $= "") - %obj.setArmThread(look); - else - %obj.setArmThread(%this.armThread); - - if(%obj.getMountedImage($WeaponSlot).ammo !$= ""){ - if (%obj.getInventory(%this.ammo)){ - - %fireAndReloadTime = mFloor((%this.stateTimeoutValue[4] + %this.stateTimeoutValue[3]) * 1000); - - if(%obj.lfireTime[%this.getName()] && (getSimTime() - %obj.lfireTime[%this.getName()]) < %fireAndReloadTime){ - if(isEventPending(%obj.reloadDelaySch)){ - cancel(%obj.reloadDelaySch); - } - %time = mFloor(%fireAndReloadTime - (getSimTime() - %obj.lfireTime[%this.getName()])); - %obj.reloadDelaySch = schedule(%time, 0, "ammoStateDelay", %obj, %slot, true); - } - else{ - %obj.setImageAmmo(%slot,true); - } - } - } - - %obj.client.setWeaponsHudActive(%this.item); - if(%obj.getMountedImage($WeaponSlot).ammo !$= "") - %obj.client.setAmmoHudCount(%obj.getInventory(%this.ammo)); - else - %obj.client.setAmmoHudCount(-1); -} \ No newline at end of file diff --git a/Classic/scripts/weapons/mortar.cs b/Classic/scripts/weapons/mortar.cs index 876ee09..4d33872 100644 --- a/Classic/scripts/weapons/mortar.cs +++ b/Classic/scripts/weapons/mortar.cs @@ -2,6 +2,44 @@ // Mortar //-------------------------------------- +//-------------------------------------------------------------------------- +// Force-Feedback Effects +//-------------------------------------- +datablock EffectProfile(MortarSwitchEffect) +{ + effectname = "weapons/mortar_activate"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(MortarFireEffect) +{ + effectname = "weapons/mortar_fire"; + minDistance = 2.5; + maxDistance = 5.0; +}; + +datablock EffectProfile(MortarReloadEffect) +{ + effectname = "weapons/mortar_reload"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(MortarDryFireEffect) +{ + effectname = "weapons/mortar_dryfire"; + minDistance = 2.5; + maxDistance = 2.5; +}; + +datablock EffectProfile(MortarExplosionEffect) +{ + effectname = "explosions/explosion.xpl03"; + minDistance = 30; + maxDistance = 65; +}; + //-------------------------------------------------------------------------- // Sounds //-------------------------------------- @@ -10,6 +48,7 @@ datablock AudioProfile(MortarSwitchSound) filename = "fx/weapons/mortar_activate.wav"; description = AudioClosest3d; preload = true; + effect = MortarSwitchEffect; }; datablock AudioProfile(MortarReloadSound) @@ -17,6 +56,7 @@ datablock AudioProfile(MortarReloadSound) filename = "fx/weapons/mortar_reload.wav"; description = AudioClosest3d; preload = true; + effect = MortarReloadEffect; }; datablock AudioProfile(MortarIdleSound) @@ -25,6 +65,7 @@ datablock AudioProfile(MortarIdleSound) filename = "fx/weapons/plasma_rifle_idle.wav"; description = ClosestLooping3d; preload = true; + effect = PlasmaIdleEffect; }; datablock AudioProfile(MortarFireSound) @@ -32,6 +73,7 @@ datablock AudioProfile(MortarFireSound) filename = "fx/weapons/mortar_fire.wav"; description = AudioDefault3d; preload = true; + effect = MortarFireEffect; }; datablock AudioProfile(MortarProjectileSound) @@ -46,6 +88,7 @@ datablock AudioProfile(MortarExplosionSound) filename = "fx/weapons/mortar_explode.wav"; description = AudioBIGExplosion3d; preload = true; + effect = MortarExplosionEffect; }; datablock AudioProfile(UnderwaterMortarExplosionSound) @@ -53,6 +96,7 @@ datablock AudioProfile(UnderwaterMortarExplosionSound) filename = "fx/weapons/mortar_explode_UW.wav"; description = AudioBIGExplosion3d; preload = true; + effect = MortarExplosionEffect; }; datablock AudioProfile(MortarDryFireSound) @@ -60,6 +104,7 @@ datablock AudioProfile(MortarDryFireSound) filename = "fx/weapons/mortar_dryfire.wav"; description = AudioClose3d; preload = true; + effect = MortarDryFireEffect; }; //---------------------------------------------------------------------------- @@ -740,8 +785,8 @@ datablock ShapeBaseImageData(MortarImage) stateSound[0] = MortarSwitchSound; stateName[1] = "ActivateReady"; - stateTransitionOnAmmo[1] = "Ready"; - stateTransitionOnNoAmmo[1] = "FirstLoad"; + stateTransitionOnLoaded[1] = "Ready"; + stateTransitionOnNoAmmo[1] = "NoAmmo"; stateName[2] = "Ready"; stateTransitionOnNoAmmo[2] = "NoAmmo"; @@ -775,50 +820,4 @@ datablock ShapeBaseImageData(MortarImage) stateSound[6] = MortarDryFireSound; stateTimeoutValue[6] = 1.5; stateTransitionOnTimeout[6] = "NoAmmo"; - - stateName[7] = "FirstLoad"; - stateTransitionOnAmmo[7] = "Ready"; }; - -function MortarImage::onUnmount(%this,%obj,%slot){ - parent::onUnmount(%this,%obj,%slot); - if(isEventPending(%obj.reloadDelaySch)) - cancel(%obj.reloadDelaySch); -} -function MortarImage::onMount(%this,%obj,%slot){ - - if(%obj.getClassName() !$= "Player") - return; - - if (%this.armthread $= "") - %obj.setArmThread(look); - else - %obj.setArmThread(%this.armThread); - - if(%obj.getMountedImage($WeaponSlot).ammo !$= ""){ - if (%obj.getInventory(%this.ammo)){ - %fireAndReloadTime = mFloor((%this.stateTimeoutValue[4] + %this.stateTimeoutValue[3]) * 1000); - if(%obj.lfireTime[%this.getName()] && (getSimTime() - %obj.lfireTime[%this.getName()]) < %fireAndReloadTime){ - if(isEventPending(%obj.reloadDelaySch)){ - cancel(%obj.reloadDelaySch); - } - %time = mFloor(%fireAndReloadTime - (getSimTime() - %obj.lfireTime[%this.getName()])); - %obj.reloadDelaySch = schedule(%time, 0, "ammoStateDelay", %obj, %slot, true); - } - else{ - %obj.setImageAmmo(%slot,true); - } - } - } - - %obj.client.setWeaponsHudActive(%this.item); - if(%obj.getMountedImage($WeaponSlot).ammo !$= "") - %obj.client.setAmmoHudCount(%obj.getInventory(%this.ammo)); - else - %obj.client.setAmmoHudCount(-1); -} - -function ammoStateDelay(%obj, %slot, %state){ - if(isObject(%obj) && %obj.getState() !$= "Dead") - %obj.setImageAmmo(%slot, %state); -} \ No newline at end of file diff --git a/README.md b/README.md index 568c238..1a83266 100644 --- a/README.md +++ b/README.md @@ -45,19 +45,20 @@ Discord: [Tribes 2 Discord](https://playt2.com/discord) --- ### Important Gameplay Changes over stock classic - - OG blaster buffed for Heavy Armors - - No Vehicle Zone around flag is bigger 5 >> 15 - - Heavy Shield Nerfed (54 to block 1 DMG, is now 60) + - OG blaster buffed against Heavy Armors (Not Tournament Mode Only) - Max FOV 120 >> 138 (For Wide Screens) - - Item respawn time can be changed (default 30) - - Cloak Sound 50m >> 55m - - Bigger ground dust puffs (For cloak) 0.4 larger - - Sensor Jammer jam radius is buffed to jam cloaks 30 >> 45 - - Sensor Jammer can passively see cloaker's triangle - - Mortor reload rework (Player can throw, but must wait until reload time has passed) - - Tank Shield Nerf (135 to block 1 DMG, is now 142) - - Whiteout grenades are less seizurely (Due to spamming) 0.9 >> 0.78 - - All water viscosity follows a global preset + - Item respawn time can be changed (Optional) + - All water viscosity follows a global preset (3) + - No Vehicle Zone around flag is bigger 5 >> 15 + - Heavy Shield Nerfed (54 to block 1 DMG, is now 60) + - Cloak Sound 50m >> 55m + - Bigger ground dust puffs (For cloak) 0.4 larger + - Sensor Jammer jam radius is buffed to jam cloaks 30 >> 45 + - Sensor Jammer can passively see cloaker's triangle + - Mortor reload rework (Player can throw, but must wait until reload time has passed) + - Tank Shield Nerf (135 to block 1 DMG, is now 142) + - Whiteout grenades are less seizurely (Due to spamming) 0.9 >> 0.78 + - Spawn fade-in effect --- From 8af6ce887cddcf7b63ea0888f7bf8f2dacf95e27 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Sat, 27 Sep 2025 17:57:13 -0400 Subject: [PATCH 49/60] Update 10.60 --- Classic/scripts/autoexec/z_dtStats.cs | 113 +++++++++----------------- 1 file changed, 38 insertions(+), 75 deletions(-) diff --git a/Classic/scripts/autoexec/z_dtStats.cs b/Classic/scripts/autoexec/z_dtStats.cs index f6a03cf..a7e97cd 100644 --- a/Classic/scripts/autoexec/z_dtStats.cs +++ b/Classic/scripts/autoexec/z_dtStats.cs @@ -16,7 +16,7 @@ // Note See bottom of file for full log ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //-----------Settings----------- -$dtStats::version = 10.59; +$dtStats::version = 10.60; //disable stats system $dtStats::Enable = $Host::dtStatsEnable $= "" ? ($Host::dtStatsEnable = 1) : $Host::dtStatsEnable; if(!$dtStats::Enable){ return;}// so it disables with a restart @@ -13981,8 +13981,10 @@ package dtBanSys{ //Reapply the gag function GameConnection::onConnect( %client, %name, %raceGender, %skin, %voice, %voicePitch ){ + if (banList_checkClient(%client, getField(%client.t2csri_authInfo, 3))){ + return 0; + } parent::onConnect( %client, %name, %raceGender, %skin, %voice, %voicePitch ); - %client.isGagged = ($chatGagged[getClientCleanIP(%client)] || $chatGagged[%client.guid]); //restore status } @@ -13991,7 +13993,8 @@ package dtBanSys{ %time = (%time $= "") ? 100000 : %time; %name = getClientBanName(%guid, %ipAddress); %bareIP = getCleanIP(%ipAddress); - if(!isObject($dtBanTemp::GUID[%guid]) && !isObject($dtBanTemp::GUID[%bareIP])){ + //error("GUID" SPC %guid SPC "IP" SPC %bareIP); + if(!isObject($dtBanTemp::GUID[%guid]) && !isObject($dtBanTemp::IP[%bareIP])){ if(!isObject(dtBanList)){ new simGroup(dtBanList); RootGroup.add(dtBanList); @@ -14001,64 +14004,20 @@ package dtBanSys{ name = %name; guid = %guid; ip = %bareip; - banDateTime = dtMarkDate(); + banDateTime = dtMarkDate(); banLengthMin = %time; }; dtBanList.add(%banObj); - if(!%bareIP) + if(%bareIP !$= "0") $dtBanTemp::IP[%bareIP] = %banObj; if(%guid){ $dtBanTemp::GUID[%guid] = %banObj; rmvWhiteListGuid(%guid); } } - if(isObject($dtBanTemp::GUID[%guid]) && !isObject($dtBanTemp::GUID[%bareIP])){ - %obj = $dtBanTemp::GUID[%guid]; - %obj.ip = %bareIP; - } - else if(isObject($dtBanTemp::GUID[%bareIP]) && !isObject($dtBanTemp::GUID[%guid])){ - %obj = $dtBanTemp::GUID[%bareIP]; - %obj.guid = %guid; - } - saveBanList(); } - function banList_checkIP(%client){ - %ip = getClientCleanIP(%client); - %obj = $dtBanTemp::IP[%ip]; - if(isObject(%obj) && %obj.banDateTime > 0){ - %delta = getTimeDelta(%obj.banDateTime); - if (%delta < %obj.banLengthMin){ - pushFailJoin(%obj.name, %obj.gui, 0, "Kick/Ban" SPC %obj.banDateTime - %delta SPC "Minutes Left", 1); - return 1; - } - else{ - unbanUserObj(%obj); - } - } - return 0; - } - - // from tribes next did not want to override this but need to pass %client id into ban check to avoid wierd issues - function serverCmdt2csri_challengeResponse(%client, %serverChallenge){ - if (%client.doneAuthenticating) - return; - - if (%client.t2csri_serverChallenge $= %serverChallenge){ - // check to see if the client is GUID banned, now that we verified their certificate - if (banList_checkClientGUID(%client, getField(%client.t2csri_authInfo, 3))){ - return; - } - - // client checks out... continue loading sequence - %client.onConnect(%client.tname, %client.trgen, %client.tskin, %client.tvoic, %client.tvopi); - } - else{ - %client.setDisconnectReason("Invalid server challenge. Check your account key for corruption."); - %client.delete(); - } - } }; function dtIsAdmin(%client,%guid){ @@ -14082,10 +14041,12 @@ function dtIsAdmin(%client,%guid){ return false; } - - -function banList_checkClientGUID(%client, %guid){// only one we care about in whitelist mode - %obj = $dtBanTemp::GUID[%guid]; +function banList_checkClient(%client, %guid){// only one we care about in whitelist mode + //error("banlist check" SPC "client" SPC %client SPC "Guid" SPC %guid); + %objA = $dtBanTemp::GUID[%guid]; + %ip = getClientCleanIP(%client); + %objB = $dtBanTemp::IP[%ip]; + %obj = (isObject(%objA) == 1) ? %objA : %objB; if (isObject(%obj) && %obj.banDateTime > 0){ %delta = getTimeDelta(%obj.banDateTime); if (%delta < %obj.banLengthMin){ @@ -14099,30 +14060,31 @@ function banList_checkClientGUID(%client, %guid){// only one we care about in wh unbanUserObj(%obj); } } + if(isObject(%objA)){ + %realName = getField(%client.t2csri_authInfo, 0 ); + if(%realName !$= "") + %name = trim(%realName); + else + %name = trim(stripChars( detag( getTaggedString( %fc.name ) ), "\cp\co\c6\c7\c8\c9\c0" )); - %realName = getField(%client.t2csri_authInfo, 0 ); - if(%realName !$= "") - %name = trim(%realName); - else - %name = trim(stripChars( detag( getTaggedString( %fc.name ) ), "\cp\co\c6\c7\c8\c9\c0" )); + %safe = ( dtIsAdmin(%client,%guid) || isObject($dtWhtList::WhiteList[%guid])); + if(!%safe){ + pushFailJoin(%name, %guid, 0, "Not Whitelisted", 0); + if($dtServerVars::WhiteListMode){ + %client.setDisconnectReason("Server is locked, please message admin or wait for approval"); + %client.delete(); + return 1; + } + } - %safe = ( dtIsAdmin(%client,%guid) || isObject($dtWhtList::WhiteList[%guid])); - if(!%safe){ - pushFailJoin(%name, %guid, 0, "Not Whitelisted", 0); - if($dtServerVars::WhiteListMode){ - %client.setDisconnectReason("Server is locked, please message admin or wait for approval"); + // this is here in case of banned ip is a whitelisted account + if($dtServerVars::IPBanListMode && $dtIPList[%ip] && !isObject($dtWhtList::WhiteList[%guid])){ + pushFailJoin(%name, %client.guid, %ip, "IP Ban List", 2); + %client.setDisconnectReason("You are not allowed to play on this server."); %client.delete(); return 1; } } - - %ip = getClientCleanIP(%client);// this is here in case of banned ip is a whitelisted account - if($dtServerVars::IPBanListMode && $dtIPList[%ip] && !isObject($dtWhtList::WhiteList[%guid])){ - pushFailJoin(%name, %client.guid, %ip, "IP Ban List", 2); - %client.setDisconnectReason("You are not allowed to play on this server."); - %client.delete(); - return 1; - } return 0; } @@ -20571,16 +20533,17 @@ function mapCyleTest(){ // Added custom two team debrief as well as a evo style extended stats // Reworked enable disable, only disables stats saving and stats access, do to systems relying on systems // -// 10.1 - 10.2 - 10.3 +// 10.1 - 10.2 - 10.3 - 10.6 // Ban system changes // Fix bad loop in ban system // Misc arena things // Added LCTF Naming // serverPrefs Support -//////////////////////////////////////////////////////////////////////////////// -////////////////////////////////Storage///////////////////////////////////////// -//////////////////////////////////////////////////////////////////////////////// +// bansystem rework doto new tribes next changes + +//////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// function testVarsRandomAll(%max){ %game = Game.class; for(%q = 0; %q < $statsVars::count[%game]; %q++){ From b5ed76eb54f48a431c2c1fd9bc93a89fda26da45 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Sat, 27 Sep 2025 18:06:42 -0400 Subject: [PATCH 50/60] Fix Readme logo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1a83266..a7e3d5f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Tribes 2](https://media.discordapp.net/attachments/1160685717303861413/1160685718176280666/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3532313739373031323031343735393937302f3637383436303530353539373134393231342f5461636f5365727665722e706e67.png?ex=671814cf&is=6716c34f&hm=7d071d3b2e221ad89b80de48f91e4ed17d548573c16ed512f3a03efaa719b605&) +![Tribes 2](https://playt2.com/images/avatar300.png) # TacoServer ## A Tribes 2 server with competitive features that is also open-source. From e1f42951afa3af8e13321f1bfe8cbb2c360f1a9c Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Mon, 27 Oct 2025 14:06:01 -0400 Subject: [PATCH 51/60] Reenable Zodd's rapid fire fix Forgot this existed, whoops Use classic code --- Classic/scripts/projectiles.cs | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/Classic/scripts/projectiles.cs b/Classic/scripts/projectiles.cs index 1ba0fd7..3e30715 100644 --- a/Classic/scripts/projectiles.cs +++ b/Classic/scripts/projectiles.cs @@ -62,21 +62,20 @@ function ShapeBaseImageData::onFire(%data, %obj, %slot) { // --------------------------------------------------------------------------- // z0dd - ZOD, 9/3/02. Anti rapid fire mortar/missile fix. - // if (%obj.cantFire !$= "") - // { - // return 0; - // } + if (%obj.cantFire !$= "") + { + return 0; + } - // %wpnName = %data.getName(); - // if((%wpnName $= "MortarImage") || (%wpnName $= "MissileLauncherImage")) - // { - // %obj.cantFire = 1; - // %preventTime = %data.stateTimeoutValue[4]; - // //%preventTime = (%data.stateTimeoutValue[4] + %data.stateTimeoutValue[3]) - 0.032; - // %obj.reloadSchedule = schedule(%preventTime * 1000, %obj, resetFire, %obj); - // } + %wpnName = %data.getName(); + if((%wpnName $= "MortarImage") || (%wpnName $= "MissileLauncherImage")) + { + %obj.cantFire = 1; + %preventTime = %data.stateTimeoutValue[4]; + %obj.reloadSchedule = schedule(%preventTime * 1000, %obj, resetFire, %obj); + } // --------------------------------------------------------------------------- - %obj.lfireTime[%data.getName()] = getSimTime(); + //%obj.lfireTime[%data.getName()] = getSimTime(); %data.lightStart = getSimTime(); From 3e858b564963516a903477d9826b4e0470125195 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Tue, 28 Oct 2025 14:42:20 -0400 Subject: [PATCH 52/60] General updates --- Classic/prefs/MapRotation.cs | 623 ------------------------------ Classic/prefs/mapRotation.cs | 507 ++++++++++++++++++++++++ Classic/prefs/serverPrefs.cs | 16 +- Classic/scripts/serverDefaults.cs | 20 +- 4 files changed, 525 insertions(+), 641 deletions(-) delete mode 100644 Classic/prefs/MapRotation.cs create mode 100644 Classic/prefs/mapRotation.cs diff --git a/Classic/prefs/MapRotation.cs b/Classic/prefs/MapRotation.cs deleted file mode 100644 index 3bb80e2..0000000 --- a/Classic/prefs/MapRotation.cs +++ /dev/null @@ -1,623 +0,0 @@ -// __ __ _____ _ _ _ -// | \/ | | __ \ | | | | (_) -// | \ / | __ _ _ __ | |__) |___ | |_ __ _| |_ _ ___ _ __ -// | |\/| |/ _` | '_ \ | _ // _ \| __/ _` | __| |/ _ \| '_ \ -// | | | | (_| | |_) | | | \ \ (_) | || (_| | |_| | (_) | | | | -// |_| |_|\__,_| .__/ |_| \_\___/ \__\__,_|\__|_|\___/|_| |_| -// | | -// |_| -// -// Use of this file -// To add a new map follow this rules: -// 1. Find the file name, ending in .mis (ie BeggarsRun.mis) -// 2. Add a line with this syntact: addRotationMap(filename, gametype, %voteable, %cycle, %min. %max); -// -//addRotationMap("MAP_NAME","MAP_MODE",VOTEABLE,IN-ROTATION,MINIMUM_PLAYERS,MAXIMUM_PLAYERS); -// -// Example: addRotationMap("BeggarsRun","CTF",1,1,-1,64); -// Beggar's Run will be in the mapRotation. It's in the cycle and can be voted. The map has no minimum player count requirement, and a 64 player max. -// -// Example: addRotationMap("BeggarsRun","CTF",1,0,10,20); -// Beggar's Run will be in the mapRotation. It's not in the cycle, but can be voted. The map has a minimum player count requirement of 10, and 20 players is the maximum to be picked. -// -// Example: addRotationMap("BeggarsRun","CTF",0,0,18,-1); -// Beggar's Run won't be in the mapRotation. It's not in the cycle and can't be voted. The map has a minimum player count requirement of 18, and has no maximum for players. -// -// -//addRotationMap("Casern_Cavite","Bounty",1,1,0,64); -//addRotationMap("Sirocco","CnH",1,1,0,64); -//addRotationMap("aabaaGH","CTF",1,0,0,64); -//addRotationMap("AcidRain","DnD",1,1,0,64); -//addRotationMap("AgentsOfFortune","Hunters",1,1,0,64); -//addRotationMap("SunDriedLak1","LakRabbit",1,1,0,64); -//addRotationMap("Arrakis","Rabbit",1,1,0,64); -//addRotationMap("VulcansHammer","Siege",1,1,0,64); -//addRotationMap("AgentsOfFortune","TeamHunters",1,1,0,64); -// - - -// _____ _______ ______ -// / ____|__ __| ____| -// | | | | | |__ -// | | | | | __| -// | |____ | | | | -// \_____| |_| |_| -///////////////////////////////////////////////////////////////////// - -//Small Maps -///////////////////////////////////////////////////////////////////// - -//addRotationMap("SmallCrossing", "CTF",1,1,-1,16); //Using DMP Version -addRotationMap("TWL2_CanyonCrusadeDeluxe", "CTF",1,1,-1,24); -addRotationMap("RoundTheMountain", "CTF",1,1,-1,18); -addRotationMap("oasisintensity", "CTF",1,1,-1,10); -addRotationMap("Minotaur", "CTF",1,0,-1,18); -addRotationMap("SmallMelee", "CTF",1,0,-1,12); -addRotationMap("Machineeggs", "CTF",1,1,-1,10); -addRotationMap("Mac_FlagArena", "CTF",1,0,-1,14); -addRotationMap("SmallTimeCTF", "CTF",1,0,-1,14); -addRotationMap("TWL2_Hildebrand", "CTF",1,1,-1,18); -addRotationMap("ArenaDome", "CTF",1,0,-1,12); -addRotationMap("Firestorm", "CTF",1,0,-1,12); -addRotationMap("Bulwark", "CTF",1,1,-1,12); -addRotationMap("Blink", "CTF",1,0,-1,10); -addRotationMap("Discord", "CTF",1,1,6,16); -addRotationMap("TWL2_MidnightMayhemDeluxe", "CTF",1,0,8,12); -addRotationMap("Sentry", "CTF",1,1,-1,14); -addRotationMap("TWL2_Skylight", "CTF",1,1,-1,10); -addRotationMap("Exhumed", "CTF",1,0,-1,12); -addRotationMap("FrozenHope", "CTF",1,1,8,12); -addRotationMap("ClusterUnFuct", "CTF",1,0,8,12); -//addRotationMap("Raspian", "CTF",1,0,8,12); -addRotationMap("Zilch", "CTF",1,1,6,12); -addRotationMap("SuperHappyBouncyFunTime", "CTF",1,0,-1,12); -addRotationMap("SuperiorWaterworks", "CTF",1,0,-1,12); -//addRotationMap("TWL2_FrozenHope", "CTF",1,0,8,20); -//addRotationMap("Island", "CTF",1,1,-1,12); -//addRotationMap("TitForTat", "CTF",1,1,-1,12); -//addRotationMap("Cinerarium", "CTF",1,0,-1,12); //Using DMP Version -//addRotationMap("StarFallCTF", "CTF",1,0,6,12); //Using DMP Version -//addRotationMap("TWL_OsIris", "CTF",1,0,8,18); -//addRotationMap("FrostPipe", "CTF",1,0,-1,12); - -//Medium Maps -///////////////////////////////////////////////////////////////////// - -addRotationMap("HighOctane", "CTF",1,0,10,24); -addRotationMap("S5_Mordacity", "CTF",1,1,10,24); -addRotationMap("S5_Damnation", "CTF",1,1,12,20); -addRotationMap("TWL2_JaggedClaw", "CTF",1,1,14,28); -addRotationMap("S5_Massive", "CTF",1,1,12,32); -addRotationMap("TWL_Stonehenge", "CTF",1,1,8,20); -addRotationMap("TWL_Feign", "CTF",1,1,10,28); -addRotationMap("TheFray", "CTF",1,0,10,20); -//addRotationMap("DangerousCrossing_nef", "CTF",1,1,8,20); -addRotationMap("TWL_DangerousCrossing", "CTF",1,0,10,28); -addRotationMap("TWL2_Ocular", "CTF",1,1,20,-1); -addRotationMap("Dire", "CTF",1,0,10,16); -addRotationMap("berlard", "CTF",1,1,12,24); -addRotationMap("S8_Opus", "CTF",1,1,12,24); -addRotationMap("TWL_BeggarsRun", "CTF",1,0,18,24); -addRotationMap("Headstone", "CTF",1,1,8,24); -addRotationMap("Signal", "CTF",1,0,8,24); -addRotationMap("S5_Woodymyrk", "CTF",1,1,10,32); -addRotationMap("TenebrousCTF", "CTF",1,0,8,12); -addRotationMap("Prismatic", "CTF",1,0,16,32); -addRotationMap("TWL_WilderZone", "CTF",1,1,12,32); -addRotationMap("S5_Mimicry", "CTF",1,0,12,32); -addRotationMap("TWL_Snowblind", "CTF",1,1,20,-1); -addRotationMap("ShortFall", "CTF",1,0,18,28); -addRotationMap("IceRidge_nef", "CTF",1,0,12,32); -//addRotationMap("Disjointed", "CTF",1,0,8,20); -addRotationMap("TWL2_MuddySwamp", "CTF",1,0,10,24); -addRotationMap("HighAnxiety", "CTF",1,1,-1,12); -addRotationMap("S5_Centaur", "CTF",1,1,-1,12); -addRotationMap("S8_Cardiac", "CTF",1,1,18,-1); -addRotationMap("CirclesEdge", "CTF",1,0,10,24); -addRotationMap("S5_Icedance", "CTF",1,1,10,28); -addRotationMap("Surreal", "CTF",1,0,24,-1); -addRotationMap("TWL2_Drifts", "CTF",1,0,14,24); -//addRotationMap("TWL2_Drorck", "CTF",1,0,12,24); -addRotationMap("S5_HawkingHeat", "CTF",1,0,16,28); -addRotationMap("TWL2_Celerity", "CTF",1,1,12,32); -addRotationMap("Draco", "CTF",1,0,8,24); -//addRotationMap("Pariah", "CTF",1,0,8,24); //Using DMP Version -//addRotationMap("Mirage", "CTF",1,0,8,20); -addRotationMap("Norty", "CTF",1,1,18,32); - -//Voteable but Not in Rotation -///////////////////////////////////////////////////////////////////// - -addRotationMap("TWL2_IceDagger", "CTF",1,1,10,20); -addRotationMap("TWL_Titan", "CTF",1,0,16,32); -addRotationMap("Burstside", "CTF",1,0,10,20); -addRotationMap("Infernus", "CTF",1,0,18,26); -addRotationMap("Confusco", "CTF",1,0,10,20); -//addRotationMap("Snowcone", "CTF",1,0,10,20); -addRotationMap("S5_Drache", "CTF",1,0,16,28); -//addRotationMap("JadeValley", "CTF",1,0,10,20); -addRotationMap("S5_Sherman", "CTF",1,1,24,-1); -addRotationMap("S5_Silenus", "CTF",1,0,8,20); -addRotationMap("S5_Reynard", "CTF",1,0,10,20); -//addRotationMap("Coppersky", "CTF",1,0,8,20); -//addRotationMap("TWL2_Crevice", "CTF",1,0,10,20); -addRotationMap("TWL_SubZero", "CTF",1,0,16,32); -addRotationMap("Fallout", "CTF",1,1,16,24); -//addRotationMap("TheClocktower", "CTF",1,0,10,20); -//addRotationMap("SoylentGreen", "CTF",1,0,10,20); -//addRotationMap("Ramparts", "CTF",1,0,10,20); -//addRotationMap("Blastside_nef", "CTF",1,0,10,24); -//addRotationMap("NatureMagic", "CTF",1,0,10,20); -//addRotationMap("TWL_Damnation", "CTF",1,0,10,20); -addRotationMap("TWL_DeadlyBirdsSong", "CTF",1,0,24,32); -addRotationMap("Vauban", "CTF",1,0,18,-1); -addRotationMap("TWL_Pandemonium", "CTF",1,0,16,24); -addRotationMap("TWL_WhiteDwarf", "CTF",1,0,18,24); -//addRotationMap("Cinereous", "CTF",1,0,12,20); - -//Vehicle Maps -///////////////////////////////////////////////////////////////////// - -addRotationMap("Logans_Run", "CTF",1,1,14,28); -addRotationMap("Rollercoaster_nef", "CTF",1,1,8,-1); -addRotationMap("HostileLoch", "CTF",1,1,8,12); -addRotationMap("TWL_BeachBlitz", "CTF",1,1,18,28); -addRotationMap("TWL2_Magnum", "CTF",1,1,12,-1); -//addRotationMap("MoonDance", "CTF",1,0,12,28); //Using DMP Version -addRotationMap("Raindance_nef", "CTF",1,1,12,28); -addRotationMap("TWL_Magmatic", "CTF",1,0,14,28); -addRotationMap("TWL2_FrozenGlory", "CTF",1,1,12,24); -addRotationMap("LandingParty", "CTF",1,0,16,20); -addRotationMap("TWL_Crossfire", "CTF",1,1,18,28); -//addRotationMap("TitanV", "CTF",1,0,12,28); -//addRotationMap("Rollercoaster_nef_FZ", "CTF",1,1,8,28); -//addRotationMap("The_Calm", "CTF",1,0,12,24); -addRotationMap("TWL2_Dissention", "CTF",1,0,16,32); - -//Vehicle Maps: Voteable, But Not in Rotation -///////////////////////////////////////////////////////////////////// - -addRotationMap("SubZeroV", "CTF",1,0,12,24); -addRotationMap("S8_Geothermal", "CTF",1,0,12,24); -addRotationMap("Lakefront", "CTF",1,0,16,24); -addRotationMap("ShockRidge", "CTF",1,0,12,24); -addRotationMap("TWL2_BlueMoon", "CTF",1,1,18,32); -addRotationMap("TWL_Katabatic", "CTF",1,0,16,32); -addRotationMap("SandOcean", "CTF",1,0,12,28); -addRotationMap("ks_braistv", "CTF",1,0,12,24); -addRotationMap("Nightdance", "CTF",1,0,16,24); -addRotationMap("TWL_Abaddon", "CTF",1,0,16,24); -//addRotationMap("StarIce", "CTF",1,0,12,24); -//addRotationMap("FilteredDust", "CTF",1,0,12,24); -//addRotationMap("Choke", "CTF",1,0,12,24); -addRotationMap("TWL_Chokepoint", "CTF",1,0,12,24); -//addRotationMap("TWL_Starfallen", "CTF",1,0,12,24); -//addRotationMap("ConstructionYard", "CTF",1,0,12,24); -//addRotationMap("AcidRain", "CTF",1,0,12,24); -addRotationMap("Agorazscium", "CTF",1,0,12,24); - -//BIG Vehicle Maps -///////////////////////////////////////////////////////////////////// - -addRotationMap("Circleofstones", "CTF",1,1,16,-1); -addRotationMap("Ruined", "CTF",1,0,24,-1); -//addRotationMap("FullCircle", "CTF",1,0,18,30); -//addRotationMap("Surro", "CTF",1,0,18,24); -addRotationMap("TWL2_RoughLand", "CTF",1,0,16,-1); -addRotationMap("HarvestDance", "CTF",1,1,24,-1); -//addRotationMap("WindyGap", "CTF",1,0,24,-1); -addRotationMap("Fenix", "CTF",1,1,26,-1); -addRotationMap("Hillside", "CTF",1,0,28,-1); -addRotationMap("TWL_Slapdash", "CTF",1,0,24,-1); -addRotationMap("BerylBasin", "CTF",1,1,20,-1); -//addRotationMap("TWL_Frozen", "CTF",1,0,20,-1); -addRotationMap("TWL_Harvester", "CTF",1,1,24,-1); -addRotationMap("TWL2_Bleed", "CTF",1,0,24,-1); -addRotationMap("DeathBirdsFly1", "CTF",1,1,24,-1); -//addRotationMap("Scarabrae_nef", "CTF",1,0,28,-1); -addRotationMap("aabaa", "CTF",1,1,28,-1); -addRotationMap("TWL_Reversion", "CTF",1,1,28,-1); -addRotationMap("Horde", "CTF",1,0,24,-1); -addRotationMap("CloakofNightV", "CTF",1,0,24,-1); -//addRotationMap("TWL2_Ruined", "CTF",1,1,18,-1); -//addRotationMap("Glade", "CTF",1,1,28,-1); -//addRotationMap("Pantheon", "CTF",1,0,20,-1); -//addRotationMap("Archipelago", "CTF",1,0,20,-1); -//addRotationMap("Sangre_de_Grado", "CTF",1,0,20,-1); - -//DMP Mappack -///////////////////////////////////////////////////////////////////// -addRotationMap("DMP_Agroleon", "CTF",1,1,18,28); -addRotationMap("DMP_Astro", "CTF",1,0,16,26); -addRotationMap("DMP_BastardForge", "CTF",1,1,8,28); -addRotationMap("DMP_BitterGorge", "CTF",1,0,24,-1); -addRotationMap("DMP_Bunkered", "CTF",1,0,6,14); -addRotationMap("DMP_Cinerarium", "CTF",1,1,-1,20); -addRotationMap("DMP_DermCity", "CTF",1,0,-1,-1); -addRotationMap("DMP_Embers", "CTF",1,0,-1,14); -addRotationMap("DMP_EmeraldSpit", "CTF",1,0,10,20); -addRotationMap("DMP_FaceCrossing", "CTF",1,0,10,20); -addRotationMap("DMP_Hoth", "CTF",1,1,26,-1); -addRotationMap("DMP_IceGiant", "CTF",1,0,20,32); -addRotationMap("DMP_IsleDeBatalla", "CTF",1,0,10,20); -addRotationMap("DMP_LavaGods", "CTF",1,0,10,20); -addRotationMap("DMP_Magellan", "CTF",1,1,10,28); -addRotationMap("DMP_MoonDance", "CTF",1,1,12,32); -addRotationMap("DMP_Pantheon", "CTF",1,0,16,24); -addRotationMap("DMP_Paranoia", "CTF",1,0,6,10); -addRotationMap("DMP_Pariah", "CTF",1,1,8,24); -addRotationMap("DMP_PipeDream", "CTF",1,0,8,16); -addRotationMap("DMP_RavineV", "CTF",1,0,12,28); -addRotationMap("DMP_ScorchedEarth", "CTF",1,0,24,-1); -addRotationMap("DMP_SimpleFlagArena", "CTF",1,0,-1,12); -addRotationMap("DMP_SpinCycle", "CTF",1,1,-1,16); -addRotationMap("DMP_StarFall", "CTF",1,0,-1,16); -addRotationMap("DMP_Tyre", "CTF",1,1,16,-1); -addRotationMap("DMP_Wasteland", "CTF",1,0,10,20); - -addRotationMap("SC_Normal", "CTF",1,0,-1,16); -//addRotationMap("SC_Badlands", "CTF",1,0,-1,16); -//addRotationMap("SC_Desert", "CTF",1,0,-1,16); -//addRotationMap("SC_Lush", "CTF",1,0,-1,16); -addRotationMap("SC_Ice", "CTF",1,1,-1,16); -addRotationMap("SC_Night", "CTF",1,0,-1,16); -//addRotationMap("DX_Badlands", "CTF",1,0,10,20); -//addRotationMap("DX_Desert", "CTF",1,0,10,20); -addRotationMap("DX_Ice", "CTF",1,1,10,28); -//addRotationMap("HO_Badlands", "CTF",1,1,8,24); -//addRotationMap("HO_Desert", "CTF",1,0,8,24); -addRotationMap("HO_Ice", "CTF",1,1,8,28); -addRotationMap("HO_Lush", "CTF",1,0,8,24); -addRotationMap("Attrition", "CTF",1,0,-1,10); -//addRotationMap("Chasmaclysmic", "CTF",1,1,-1,-1); -//addRotationMap("DBS_Smoothed", "CTF",1,0,-1,-1); -addRotationMap("PuliVeivari", "CTF",1,0,-1,-1); -addRotationMap("PlanetX", "CTF",1,0,-1,-1); -//addRotationMap("Ravine", "CTF",1,1,-1,-1); -addRotationMap("Stripmine", "CTF",1,0,-1,-1); - -//Not In Rotation - Not Voteable -///////////////////////////////////////////////////////////////////// - -//addRotationMap("Sandstorm", "CTF",1,0,-1,-1); -//addRotationMap("Starfallen", "CTF",1,0,-1,-1); -//addRotationMap("Stonehenge_nef", "CTF",1,0,-1,-1); -addRotationMap("Extractor", "CTF",1,0,16,-1); -//addRotationMap("AstersDescent", "CTF",1,0,-1,-1); -//addRotationMap("Azoth", "CTF",1,0,-1,-1); -//addRotationMap("BattleGrove", "CTF",1,0,-1,-1); -//addRotationMap("Durango", "CTF",1,0,-1,-1); -//addRotationMap("DustLust", "CTF",1,0,-1,-1); -//addRotationMap("IceGulch", "CTF",1,0,-1,-1); -//addRotationMap("MountainMist", "CTF",1,0,-1,-1); -//addRotationMap("Peak", "CTF",1,0,-1,-1); -//addRotationMap("Pendulum", "CTF",1,0,-1,-1); -//addRotationMap("S5_Misadventure", "CTF",1,0,-1,-1); -//addRotationMap("S8_CentralDogma", "CTF",1,0,-1,-1); -//addRotationMap("S8_Mountking", "CTF",1,0,-1,-1); -//addRotationMap("S8_Zilch", "CTF",1,0,-1,-1); -//addRotationMap("TWL2_CloakOfNight", "CTF",1,0,-1,-1); -//addRotationMap("TWL_BaNsHee", "CTF",1,0,-1,-1); -//addRotationMap("TWL_Boss", "CTF",1,0,-1,-1); -//addRotationMap("TWL_NoShelter", "CTF",1,0,-1,-1); -//addRotationMap("TWL_Clusterfuct", "CTF",1,0,-1,-1); -addRotationMap("TWL_Curtilage", "CTF",1,0,-1,-1); -//addRotationMap("TWL_Deserted", "CTF",1,0,-1,-1); -//addRotationMap("TWL_Frostclaw", "CTF",1,0,-1,-1); -//addRotationMap("TWL_Neve", "CTF",1,0,-1,-1); -//addRotationMap("TWL_Ramparts", "CTF",1,0,-1,-1); -//addRotationMap("TWL_Sandstorm", "CTF",1,0,-1,-1); -//addRotationMap("TWL_WoodyMyrk", "CTF",1,0,-1,-1); -//addRotationMap("OctoberRust", "CTF",1,0,-1,-1); -//addRotationMap("DevilsElbow", "CTF",1,0,-1,-1); -//addRotationMap("CloudCity", "CTF",1,0,-1,-1); -//addRotationMap("Damnation", "CTF",1,0,-1,-1); -//addRotationMap("DeathBirdsFly", "CTF",1,0,-1,-1); -//addRotationMap("Desiccator", "CTF",1,0,-1,-1); -//addRotationMap("DustToDust", "CTF",1,0,-1,-1); -//addRotationMap("Katabatic", "CTF",1,0,-1,-1); -//addRotationMap("Quagmire", "CTF",1,0,-1,-1); -//addRotationMap("Recalescence", "CTF",1,0,-1,-1); -//addRotationMap("Reversion", "CTF",1,0,-1,-1); -//addRotationMap("RiverDance", "CTF",1,0,-1,-1); -//addRotationMap("Sanctuary", "CTF",1,0,-1,-1); -//addRotationMap("ThinIce", "CTF",1,0,-1,-1); -//addRotationMap("Tombstone", "CTF",1,0,-1,-1); -//addRotationMap("Broadside_nef", "CTF",1,0,-1,-1); -//addRotationMap("Camelland", "CTF",1,0,-1,-1); -//addRotationMap("HighTrepidation", "CTF",1,0,-1,-1); -//addRotationMap("SmallDesertofDeath", "CTF",1,0,-1,-1); -//addRotationMap("BasinFury", "CTF",1,0,-1,-1); -//addRotationMap("Cadaver", "CTF",1,0,-1,-1); -//addRotationMap("EivoItoxico", "CTF",1,0,-1,-1); -//addRotationMap("Einfach", "CTF",1,0,-1,-1); -//addRotationMap("PicnicTable", "CTF",1,0,-1,-1); -//addRotationMap("Hostility", "CTF",1,0,-1,-1); -//addRotationMap("HighWire", "CTF",1,0,-1,-1); -//addRotationMap("CloudBurst", "CTF",1,0,-1,-1); -//addRotationMap("CloseCombat", "CTF",1,0,-1,-1); -//addRotationMap("DesertofDeath_nef", "CTF",1,0,-1,-1); -//addRotationMap("Gorgon", "CTF",1,0,-1,-1); -//addRotationMap("Magmatic", "CTF",1,0,-1,-1); -//addRotationMap("Sub-zero", "CTF",1,0,-1,-1); - - -// Custom -///////////////////////////////////////////////////////////////////// - -addRotationMap("CoconutFury", "CTF",1,0,-1,-1); -addRotationMap("CinderCone", "CTF",1,0,-1,-1); -addRotationMap("Sector1", "CTF",1,0,-1,-1); -//addRotationMap("Slamnation", "CTF",0,0,-1,-1); -//addRotationMap("MountaintopMayhem", "CTF",0,0,-1,-1); - -addRotationMap("ChasmClash", "CTF",1,0,-1,14); -//addRotationMap("FrostBite", "CTF",1,0,-1,-1); -//addRotationMap("Lapiths", "CTF",1,0,-1,-1); -addRotationMap("GreenLawn", "CTF",1,1,12,32); -addRotationMap("OuterWilds", "CTF",1,1,-1,12); -addRotationMap("Jettisoned", "CTF",1,0,-1,10); -addRotationMap("Moonwalk", "CTF",1,1,12,-1); -addRotationMap("Drafts", "CTF",1,1,-1,12); -//addRotationMap("IslaHermano", "CTF",1,0,-1,-1); -addRotationMap("DermCrossingDeluxe", "CTF",1,0,-1,-1); -addRotationMap("DaftGulch", "CTF",1,1,16,24); -addRotationMap("Triad", "CTF",1,0,12,20); -addRotationMap("Vaubania", "CTF",1,0,-1,12); -addRotationMap("VanDamnedCTF", "CTF",1,1,-1,14); -addRotationMap("HillKingCTF", "CTF",1,1,-1,18); -addRotationMap("Bonespur", "CTF",1,1,-1,14); -addRotationMap("Bridgepoint", "CTF",1,0,-1,18); -addRotationMap("Narcolepsy", "CTF",1,1,-1,20); -addRotationMap("WhiteDwarfDeluxe", "CTF",1,0,-1,14); -addRotationMap("SmallSpit", "CTF",1,1,-1,20); -addRotationMap("MisadventureV2", "CTF",1,1,12,28); -addRotationMap("El_Fin", "CTF",1,1,-1,14); -addRotationMap("HogansRun24", "CTF",1,0,-1,14); -addRotationMap("SignalDX", "CTF",1,0,8,24); - -// _ _ _ _ _ _ -// | | | | | | | | (_) | -// | | __ _| | ___ __ __ _| |__ | |__ _| |_ -// | | / _` | |/ / '__/ _` | '_ \| '_ \| | __| -// | |___| (_| | <| | | (_| | |_) | |_) | | |_ -// |______\__,_|_|\_\_| \__,_|_.__/|_.__/|_|\__| -///////////////////////////////////////////////////////////////////// - -//In Rotation -///////////////////////////////////////////////////////////////////// - -addRotationMap("VaubanLak", "Lakrabbit",1,1,8,-1); -addRotationMap("MiniSunDried", "Lakrabbit",1,1,-1,12); -addRotationMap("Sundance", "Lakrabbit",1,1,-1,-1); -addRotationMap("TWL_BeachBlitzLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("DesertofDeathLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("Raindance_nefLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("SunDriedLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("SkinnyDipLak", "Lakrabbit",1,0,-1,-1); -addRotationMap("SaddiesHill", "Lakrabbit",1,0,-1,-1); -addRotationMap("HavenLak", "Lakrabbit",1,0,-1,-1); -addRotationMap("LushLak", "Lakrabbit",1,1,8,-1); -addRotationMap("BoxLak", "Lakrabbit",1,1,-1,10); -addRotationMap("TitaniaLak", "Lakrabbit",1,0,8,-1); -addRotationMap("TibbawLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("InfernusLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("S8_GeothermalLak", "Lakrabbit",1,0,-1,-1); -addRotationMap("CankerLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("DustRunLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("CrossfiredLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("CloakofLak", "Lakrabbit",1,0,-1,-1); -addRotationMap("SpectreLak", "Lakrabbit",1,1,-1,-1); - -//Voteable, But not in rotation -///////////////////////////////////////////////////////////////////// - -addRotationMap("TreasureIslandLak", "Lakrabbit",1,1,-1,-1); -addRotationMap("Sulfide", "Lakrabbit",1,0,-1,-1); -addRotationMap("FrozenFuryLak", "Lakrabbit",1,0,-1,-1); -addRotationMap("Arrakis", "Lakrabbit",1,0,-1,-1); -addRotationMap("EquinoxLak", "Lakrabbit",1,0,-1,-1); -addRotationMap("PhasmaDustLak", "Lakrabbit",1,0,-1,12); -addRotationMap("GodsRiftLak", "Lakrabbit",1,0,-1,-1); -addRotationMap("SolsDescentLak", "Lakrabbit",1,0,-1,-1); -addRotationMap("Crater71Lak", "Lakrabbit",1,0,6,-1); - -//Not Voteable, Not in rotation -///////////////////////////////////////////////////////////////////// - -//addRotationMap("EscaladeLak", "Lakrabbit",1,0,-1,-1); -//addRotationMap("MagmaticLak", "Lakrabbit",1,0,-1,-1); -//addRotationMap("HillsOfSorrow", "Lakrabbit",1,0,-1,-1); -//addRotationMap("TWL2_MuddySwampLak", "Lakrabbit",1,0,-1,-1); -//addRotationMap("SandStormLak", "Lakrabbit",1,0,-1,-1); -//addRotationMap("BeggarsRunLak", "Lakrabbit",1,0,-1,-1); -//addRotationMap("DamnnationLak", "Lakrabbit",1,0,-1,-1); - - -// _ _____ _______ ______ -// | | / ____|__ __| ____| -// | | | | | | | |__ -// | | | | | | | __| -// | |___| |____ | | | | -// |______\_____| |_| |_| -///////////////////////////////////////////////////////////////////// - -//In Rotation -///////////////////////////////////////////////////////////////////// -addRotationMap("DangerousCrossingLT", "LCTF",1,0,-1,-1); -addRotationMap("SmallCrossingLT", "LCTF",1,0,-1,12); -addRotationMap("DireLT", "LCTF",1,0,-1,-1); -addRotationMap("RoundTheMountainLT", "LCTF",1,1,-1,-1); -addRotationMap("CirclesEdgeLT", "LCTF",1,1,-1,-1); -addRotationMap("TenebrousCTF", "LCTF",1,0,-1,-1); -addRotationMap("TheFray", "LCTF",1,0,-1,-1); -addRotationMap("SignalLT", "LCTF",1,0,-1,-1); -addRotationMap("S5_DamnationLT", "LCTF",1,0,8,-1); -addRotationMap("S5_Icedance", "LCTF",1,1,-1,-1); -addRotationMap("S5_Mordacity", "LCTF",1,1,10,-1); -addRotationMap("S5_SilenusLT", "LCTF",1,0,-1,-1); -addRotationMap("TWL2_CanyonCrusadeDeluxeLT", "LCTF",1,1,-1,-1); -addRotationMap("TWL2_HildebrandLT", "LCTF",1,1,-1,-1); -addRotationMap("TWL2_SkylightLT", "LCTF",1,1,-1,-1); -addRotationMap("TWL_FeignLT", "LCTF",1,0,-1,-1); -addRotationMap("TWL_RollercoasterLT", "LCTF",1,0,-1,-1); -addRotationMap("TWL_StonehengeLT", "LCTF",1,1,-1,-1); -addRotationMap("TWL_WilderZoneLT", "LCTF",1,0,-1,-1); -addRotationMap("oasisintensity", "LCTF",1,1,-1,10); -addRotationMap("berlard", "LCTF",1,1,-1,-1); -addRotationMap("RaindanceLT", "LCTF",1,0,-1,-1); -addRotationMap("SmallTimeLT", "LCTF",1,0,-1,-1); -addRotationMap("ArenaDome", "LCTF",1,1,-1,10); -addRotationMap("Bulwark", "LCTF",1,1,-1,-1); -addRotationMap("Discord", "LCTF",1,1,-1,-1); -addRotationMap("S5_MassiveLT", "LCTF",1,0,-1,-1); -addRotationMap("Blink", "LCTF",1,0,-1,-1); -addRotationMap("HillSideLT", "LCTF",1,1,-1,10); -addRotationMap("IcePick", "LCTF",1,1,-1,16); -addRotationMap("OsIrisLT", "LCTF",1,0,-1,-1); -addRotationMap("GrassyKnollLT", "LCTF",1,1,-1,-1); -addRotationMap("TWL2_MuddySwamp", "LCTF",1,0,8,-1); -addRotationMap("SandyRunLT", "LCTF",1,0,-1,12); -addRotationMap("Sentry", "LCTF",1,1,-1,-1); -addRotationMap("DMP_Cinerarium", "LCTF",1,1,-1,14); -addRotationMap("Exhumed", "LCTF",1,1,-1,-1); -addRotationMap("S8_ZilchLT", "LCTF",1,1,-1,-1); -addRotationMap("TWL_BeachBlitzLT", "LCTF",1,0,-1,-1); -addRotationMap("FrozenHopeLT", "LCTF",1,1,-1,-1); -//addRotationMap("Confusco", "LCTF",1,0,6,-1); -addRotationMap("TWL2_JaggedClawLT", "LCTF",1,1,-1,-1); - -//Voteable, But not in rotation -///////////////////////////////////////////////////////////////////// - -addRotationMap("BeggarsRunLT", "LCTF",1,0,-1,-1); -addRotationMap("S5_WoodymyrkLT", "LCTF",1,0,-1,-1); -addRotationMap("S8_Opus", "LCTF",1,0,-1,-1); -addRotationMap("TWL_DangerousCrossing", "LCTF",1,0,-1,-1); - -//DMP Mappack -///////////////////////////////////////////////////////////////////// -addRotationMap("AttritionLT", "LCTF",1,1,-1,-1); -addRotationMap("RushLT", "LCTF",1,1,-1,-1); -addRotationMap("HillKingLT", "LCTF",1,1,-1,-1); -addRotationMap("DMP_BastardForgeLT", "LCTF",1,1,-1,-1); -addRotationMap("VanDamnedLT", "LCTF",1,1,-1,-1); -addRotationMap("DMP_Paranoia", "LCTF",1,0,-1,-1); -addRotationMap("DMP_SpincycleLT", "LCTF",1,1,-1,-1); -addRotationMap("Ravine", "LCTF",1,1,-1,-1); -// addRotationMap("DX_Badlands", "LCTF",1,0,-1,-1); -// addRotationMap("DX_Desert", "LCTF",1,0,-1,-1); -addRotationMap("DX_Ice", "LCTF",1,1,-1,-1); -addRotationMap("PipeDreamLT", "LCTF",1,0,-1,-1); -addRotationMap("DMP_LavaGods", "LCTF",1,0,10,20); -addRotationMap("DMP_StarFallLT", "LCTF",1,1,-1,-1); -addRotationMap("DMP_BunkeredLT", "LCTF",1,1,-1,12); -addRotationMap("DMP_PariahLT", "LCTF",1,1,-1,-1); - -//Not Voteable, Not in rotation -///////////////////////////////////////////////////////////////////// - -//addRotationMap("SurrealLT", "LCTF",1,0,-1,-1); -addRotationMap("DuelersDelight", "LCTF",1,0,-1,12); -addRotationMap("SmallSpit", "LCTF",1,1,-1,14); -addRotationMap("BonespurLT", "LCTF",1,1,-1,14); -addRotationMap("Bridgepoint", "LCTF",1,1,-1,14); -addRotationMap("NarcolepsyLT", "LCTF",1,1,-1,14); -addRotationMap("WhiteDwarfDeluxeLT", "LCTF",1,0,-1,14); -addRotationMap("ClusterUnFuct", "LCTF",1,1,8,-1); -addRotationMap("OuterWildsLT", "LCTF",1,1,-1,12); -addRotationMap("Drafts", "LCTF",1,1,-1,12); -addRotationMap("DermCrossingDeluxeLT", "LCTF",1,1,-1,-1); -addRotationMap("SuperiorWaterworks", "LCTF",1,0,-1,12); -addRotationMap("FrozenForgeLT", "LCTF",1,1,-1,20); -addRotationMap("TWL2_CelerityLT", "LCTF",1,1,-1,20); -addRotationMap("El_FinLT", "LCTF",1,1,-1,14); -addRotationMap("CapriLT", "LCTF",1,1,-1,14); -addRotationMap("RunenmachtLT", "LCTF",1,1,-1,14); - - -// _____ _ _ _ _ -// | __ \ | | | | | | | | -// | | | | ___ __ _| |_| |__ _ __ ___ __ _| |_ ___| |__ -// | | | |/ _ \/ _` | __| '_ \| '_ ` _ \ / _` | __/ __| '_ \ -// | |__| | __/ (_| | |_| | | | | | | | | (_| | || (__| | | | -// |_____/ \___|\__,_|\__|_| |_|_| |_| |_|\__,_|\__\___|_| |_| -///////////////////////////////////////////////////////////////////// - -addRotationMap("RaspDM", "DM",1,1,8,-1); -addRotationMap("EntombedDM", "DM",1,1,-1,-1); -addRotationMap("IceDomeDM", "DM",1,1,-1,-1); -addRotationMap("HoofToeDM", "DM",1,1,6,-1); -addRotationMap("ArenaDomeDM", "DM",1,1,-1,-1); -addRotationMap("VulcansWrathDM", "DM",1,1,-1,-1); -addRotationMap("RampartsDM", "DM",1,1,-1,-1); -addRotationMap("ShrineDM", "DM",1,1,-1,12); -addRotationMap("LiveBaitDM", "DM",1,1,-1,-1); -addRotationMap("FourSquareDM", "DM",1,1,-1,10); -addRotationMap("BrigDM", "DM",1,1,-1,8); -addRotationMap("PitsDM", "DM",1,1,-1,10); -addRotationMap("RingofFireDM", "DM",1,1,-1,10); -addRotationMap("GorgonDM", "DM",1,1,-1,10); - - -// _____ _ -// | __ \ | | -// | | | |_ _ ___| | -// | | | | | | |/ _ \ | -// | |__| | |_| | __/ | -// |_____/ \__,_|\___|_| -///////////////////////////////////////////////////////////////////// - -//addRotationMap("AgentsOfFortune", "Duel",1,1,-1,-1); -//addRotationMap("Casern_Cavite", "Duel",1,1,-1,-1); -//addRotationMap("Equinox", "Duel",1,1,-1,-1); -//addRotationMap("Escalade", "Duel",1,1,-1,-1); -//addRotationMap("Fracas", "Duel",1,1,-1,-1); -//addRotationMap("Invictus", "Duel",1,1,-1,-1); -//addRotationMap("MyrkWood", "Duel",1,1,-1,-1); -//addRotationMap("Oasis", "Duel",1,1,-1,-1); -//addRotationMap("Pyroclasm", "Duel",1,1,-1,-1); -//addRotationMap("Rasp", "Duel",1,1,-1,-1); -//addRotationMap("SunDried", "Duel",1,1,-1,-1); -//addRotationMap("Talus", "Duel",1,1,-1,-1); -//addRotationMap("Underhill", "Duel",1,1,-1,-1); -//addRotationMap("Whiteout", "Duel",1,1,-1,-1); -//addRotationMap("Tombstone", "Duel",1,1,-1,-1); -//addRotationMap("VaubanLak", "Duel",1,1,-1,-1); -//addRotationMap("DesertofDeathLak", "Duel",1,1,-1,-1); - - - -// _____ _ -// / ____(_) -// | (___ _ ___ __ _ ___ -// \___ \| |/ _ \/ _` |/ _ \ -// ____) | | __/ (_| | __/ -// |_____/|_|\___|\__, |\___| -// __/ | -// |___/ -///////////////////////////////////////////////////////////////////// - -//addRotationMap("Alcatraz", "Siege",1,1,-1,-1); -//addRotationMap("BridgeTooFar", "Siege",1,1,-1,-1); -//addRotationMap("Caldera", "Siege",1,1,-1,-1); -//addRotationMap("Gauntlet", "Siege",1,1,-1,-1); -//addRotationMap("IceBound", "Siege",1,1,-1,-1); -//addRotationMap("Isleofman", "Siege",1,1,-1,-1); -//addRotationMap("Masada", "Siege",1,1,-1,-1); -//addRotationMap("Respite", "Siege",1,1,-1,-1); -//addRotationMap("Trident", "Siege",1,1,-1,-1); -//addRotationMap("UltimaThule", "Siege",1,1,-1,-1); - - - -// _ _ _ -// | | | | | | -// | |__| |_ _ _ __ | |_ ___ _ __ ___ -// | __ | | | | '_ \| __/ _ \ '__/ __| -// | | | | |_| | | | | || __/ | \__ \ -// |_| |_|\__,_|_| |_|\__\___|_| |___/ -///////////////////////////////////////////////////////////////////// - -//addRotationMap("MiniSunDried","Hunters",1,1,-1,-1); -//addRotationMap("DustToDust","Hunters",1,1,-1,-1); diff --git a/Classic/prefs/mapRotation.cs b/Classic/prefs/mapRotation.cs new file mode 100644 index 0000000..dc64408 --- /dev/null +++ b/Classic/prefs/mapRotation.cs @@ -0,0 +1,507 @@ +//To use this file add a new map with the following rules: +//1. Find the file name, ending in .mis (ie BeggarsRun.mis) +//2. Add a line with this syntact: addRotationMap(filename, gametype, %voteable, %cycle, %min. %max); +//Example: addRotationMap("MAP_NAME","MAP_MODE",VOTEABLE,IN-ROTATION,MINIMUM_PLAYERS,MAXIMUM_PLAYERS); +//------------------------------------------------------------------------------- +addRotationMap("SC_Normal","CTF",true,false,-1,16); +//addRotationMap("SC_Badlands","CTF",true,false,-1,16); +//addRotationMap("SC_Desert","CTF",true,false,-1,16); +//addRotationMap("SC_Lush","CTF",true,false,-1,16); +addRotationMap("SC_Ice","CTF",true,true,-1,16); +addRotationMap("SC_Night","CTF",true,false,-1,16); +addRotationMap("TWL_DangerousCrossing","CTF",true,false,-1,20); +//addRotationMap("DX_Badlands","CTF",true,false,-1,20); +//addRotationMap("DX_Desert","CTF",true,false,-1,20); +addRotationMap("DX_Ice","CTF",true,true,-1,20); +addRotationMap("HighOctane","CTF",true,false,10,24); +//addRotationMap("HO_Badlands","CTF",true,true,10,24); +//addRotationMap("HO_Desert","CTF",true,false,10,24); +addRotationMap("HO_Ice","CTF",true,true,10,24); +addRotationMap("HO_Lush","CTF",true,false,10,24); +addRotationMap("TWL2_CanyonCrusadeDeluxe","CTF",true,true,-1,-1); +addRotationMap("TWL2_Skylight","CTF",true,false,-1,12); +addRotationMap("TWL2_Hildebrand","CTF",true,true,-1,18); +addRotationMap("RoundTheMountain","CTF",true,true,-1,14); +addRotationMap("oasisintensity","CTF",true,true,-1,12); +addRotationMap("Machineeggs","CTF",true,true,-1,10); +addRotationMap("Mac_FlagArena","CTF",true,false,-1,10); +addRotationMap("SmallTimeCTF","CTF",true,true,-1,12); +addRotationMap("ArenaDome","CTF",true,true,-1,10); +addRotationMap("Bulwark","CTF",true,true,-1,12); +addRotationMap("Discord","CTF",true,true,-1,16); +addRotationMap("Sentry","CTF",true,true,-1,12); +addRotationMap("FrozenHope","CTF",true,true,8,12); +addRotationMap("ClusterUnFuct","CTF",true,true,8,12); +addRotationMap("Zilch","CTF",true,true,6,12); +addRotationMap("SuperHappyBouncyFunTime","CTF",true,false,-1,12); +addRotationMap("SuperiorWaterworks","CTF",true,true,-1,10); +//addRotationMap("TWL2_FrozenHope","CTF",true,false,-1,12); +//addRotationMap("Island","CTF",true,true,-1,12); +//addRotationMap("TitForTat","CTF",true,true,-1,12); +//addRotationMap("TWL_OsIris","CTF",true,false,8,18); +//addRotationMap("FrostPipe","CTF",true,false,-1,12); +//addRotationMap("Raspian","CTF",true,false,8,12); +//addRotationMap("Exhumed","CTF",true,false,-1,12); +//addRotationMap("Blink","CTF",true,false,-1,10); +//addRotationMap("Firestorm","CTF",true,false,-1,12); +//addRotationMap("SmallMelee","CTF",true,false,-1,12); +//addRotationMap("Attrition","CTF",true,true,-1,10); +//addRotationMap("Coppersky","CTF",true,false,8,20); +//addRotationMap("S5_Silenus","CTF",true,false,8,20); +//------------------------------------------------------------------------------- +addRotationMap("TWL_Stonehenge","CTF",true,false,8,-1); +addRotationMap("TWL_Feign","CTF",true,true,8,32); +addRotationMap("TWL_Snowblind","CTF",true,false,14,-1); +addRotationMap("TWL_BeggarsRun","CTF",true,true,14,-1); +addRotationMap("TWL_WilderZone","CTF",true,false,12,-1); +addRotationMap("TWL_Titan","CTF",true,false,14,-1); +addRotationMap("TWL_SubZero","CTF",true,true,14,-1); +addRotationMap("TWL_DeadlyBirdsSong","CTF",true,false,14,-1); +addRotationMap("TWL_Pandemonium","CTF",true,false,14,-1); +addRotationMap("TWL2_MidnightMayhemDeluxe","CTF",true,true,12,-1); +addRotationMap("TWL2_JaggedClaw","CTF",true,true,12,-1); +addRotationMap("TWL2_Ocular","CTF",true,true,14,-1); +addRotationMap("TWL2_Drifts","CTF",true,false,14,-1); +addRotationMap("TWL2_Celerity","CTF",true,true,12,-1); +addRotationMap("Minotaur","CTF",true,false,12,-1); +addRotationMap("S5_Centaur","CTF",true,false,-1,12); +addRotationMap("S5_Mordacity","CTF",true,true,10,32); +addRotationMap("S5_Damnation","CTF",true,false,12,-1); +addRotationMap("S5_Massive","CTF",true,true,12,-1); +addRotationMap("S5_Mimicry","CTF",true,true,12,-1); +addRotationMap("S5_Icedance","CTF",true,true,10,-1); +addRotationMap("S5_Woodymyrk","CTF",true,true,10,-1); +addRotationMap("S8_Cardiac","CTF",true,true,14,-1); +addRotationMap("TheFray","CTF",true,false,10,32); +addRotationMap("berlard","CTF",true,true,12,32); +addRotationMap("Headstone","CTF",true,true,12,32); +addRotationMap("Signal","CTF",true,false,12,32); +addRotationMap("TenebrousCTF","CTF",true,false,10,24); +addRotationMap("Prismatic","CTF",true,false,12,32); +addRotationMap("IceRidge_nef","CTF",true,true,12,-1); +addRotationMap("CirclesEdge","CTF",true,false,12,-1); +addRotationMap("Surreal","CTF",true,false,20,-1); +addRotationMap("Norty","CTF",true,true,14,-1); +addRotationMap("Confusco","CTF",true,false,14,32); +addRotationMap("Vauban","CTF",true,false,14,-1); +//addRotationMap("TWL2_MuddySwamp","CTF",true,false,12,32); +//addRotationMap("TWL2_Drorck","CTF",true,false,12,32); +//addRotationMap("TWL2_Crevice","CTF",true,false,12,32); +//addRotationMap("TWL2_IceDagger","CTF",true,false,12,32); +//addRotationMap("S5_HawkingHeat","CTF",true,false,12,32); +//addRotationMap("S5_Drache","CTF",true,true,12,32); +//addRotationMap("S5_Sherman","CTF",true,false,20,-1); +//addRotationMap("S5_Reynard","CTF",true,false,14,32); +//addRotationMap("S8_Opus","CTF",true,false,10,32); +//addRotationMap("ShortFall","CTF",true,false,12,32); +//addRotationMap("Disjointed","CTF",true,false,12,32); +//addRotationMap("HighAnxiety","CTF",true,false,-1,12); +//addRotationMap("Dire","CTF",true,false,10,32); +//addRotationMap("Draco","CTF",true,false,12,32); +//addRotationMap("Mirage","CTF",true,false,12,32); +//addRotationMap("TWL_WhiteDwarf","CTF",true,false,14,-1); +//addRotationMap("Cinereous","CTF",true,false,14,-1); +//addRotationMap("Fallout","CTF",true,false,14,32); +//addRotationMap("TheClocktower","CTF",true,false,10,20); +//addRotationMap("SoylentGreen","CTF",true,false,10,20); +//addRotationMap("Ramparts","CTF",true,false,14,-1); +//addRotationMap("Blastside_nef","CTF",true,false,14,-1); +//addRotationMap("NatureMagic","CTF",true,false,14,-1); +//addRotationMap("TWL_Damnation","CTF",true,false,12,32); +//addRotationMap("Snowcone","CTF",true,false,12,32); +//addRotationMap("JadeValley","CTF",true,false,12,32); +//addRotationMap("Burstside","CTF",true,false,12,32); +//addRotationMap("Infernus","CTF",true,false,14,-1); +//------------------------------------------------------------------------------- +addRotationMap("TWL_Katabatic","CTF",true,false,14,-1); +addRotationMap("TWL_Crossfire","CTF",true,true,14,-1); +addRotationMap("TWL_BeachBlitz","CTF",true,true,12,-1); +addRotationMap("TWL_Magmatic","CTF",true,false,14,-1); +addRotationMap("TWL_Harvester","CTF",true,true,20,-1); +addRotationMap("TWL2_BlueMoon","CTF",true,true,14,-1); +addRotationMap("TWL2_Bleed","CTF",true,false,20,-1); +addRotationMap("TWL2_Dissention","CTF",true,false,14,-1); +addRotationMap("TWL2_Magnum","CTF",true,true,12,-1); +addRotationMap("TWL2_FrozenGlory","CTF",true,true,12,-1); +addRotationMap("Logans_Run","CTF",true,false,12,32); +addRotationMap("Rollercoaster_nef","CTF",true,true,10,-1); +addRotationMap("HostileLoch","CTF",true,false,14,32); +addRotationMap("Raindance_nef","CTF",true,true,12,-1); +addRotationMap("LandingParty","CTF",true,false,12,20); +addRotationMap("ShockRidge","CTF",true,false,12,-1); +addRotationMap("Nightdance","CTF",true,false,14,32); +addRotationMap("TWL_Abaddon","CTF",true,false,20,-1); +addRotationMap("Agorazscium","CTF",true,false,12,32); +addRotationMap("Circleofstones","CTF",true,true,14,-1); +addRotationMap("Ruined","CTF",true,false,14,-1); +addRotationMap("Fenix","CTF",true,false,20,-1); +addRotationMap("Hillside","CTF",true,false,24,-1); +addRotationMap("TWL_Slapdash","CTF",true,false,24,-1); +addRotationMap("BerylBasin","CTF",true,false,14,-1); +addRotationMap("DeathBirdsFly1","CTF",true,false,24,-1); +addRotationMap("aabaa","CTF",true,false,28,-1); +addRotationMap("CloakofNightV","CTF",true,false,24,-1); +addRotationMap("Sangre_de_Grado","CTF",true,false,20,-1); +addRotationMap("FullCircle","CTF",true,false,14,-1); +//addRotationMap("Lakefront","CTF",true,false,14,-1); +//addRotationMap("S8_Geothermal","CTF",true,false,12,32); +//addRotationMap("TWL_Frozen","CTF",true,false,20,-1); +//addRotationMap("TWL_Chokepoint","CTF",true,false,12,24); +//addRotationMap("TWL_Starfallen","CTF",true,false,12,24); +//addRotationMap("TWL_Reversion","CTF",true,false,28,-1); +//addRotationMap("TWL2_RoughLand","CTF",true,false,16,-1); +//addRotationMap("TWL2_Ruined","CTF",true,true,18,-1); +//addRotationMap("SandOcean","CTF",true,false,16,24); +//addRotationMap("ks_braistv","CTF",true,true,12,24); +//addRotationMap("Horde","CTF",true,false,24,-1); +//addRotationMap("Glade","CTF",true,true,28,-1); +//addRotationMap("Pantheon","CTF",true,false,20,-1); +//addRotationMap("Archipelago","CTF",true,false,20,-1); +//addRotationMap("TitanV","CTF",true,false,12,28); +//addRotationMap("The_Calm","CTF",true,false,12,24); +//addRotationMap("Surro","CTF",true,false,18,24); +//addRotationMap("HarvestDance","CTF",true,false,24,-1); +//addRotationMap("WindyGap","CTF",true,false,24,-1); +addRotationMap("Scarabrae_nef","CTF",true,false,28,-1); +//addRotationMap("StarIce","CTF",true,false,12,24); +//addRotationMap("FilteredDust","CTF",true,false,12,24); +//addRotationMap("Choke","CTF",true,false,12,24); +//addRotationMap("ConstructionYard","CTF",true,false,12,24); +//addRotationMap("AcidRain","CTF",true,false,12,24); +//addRotationMap("SubZeroV","CTF",true,true,12,24); +//------------------------------------------------------------------------------- +//addRotationMap("DMP_Agroleon","CTF",true,true,18,28); +//addRotationMap("DMP_Astro","CTF",true,false,16,26); +addRotationMap("DMP_BastardForge","CTF",true,true,12,32); +addRotationMap("DMP_BitterGorge","CTF",true,false,24,-1); +//addRotationMap("DMP_Bunkered","CTF",true,true,6,14); +addRotationMap("DMP_Cinerarium","CTF",true,true,-1,14); +//addRotationMap("DMP_DermCity","CTF",true,false,-1,-1); +//addRotationMap("DMP_Embers","CTF",true,false,-1,14); +//addRotationMap("DMP_EmeraldSpit","CTF",true,false,10,20); +//addRotationMap("DMP_FaceCrossing","CTF",true,false,10,20); +addRotationMap("DMP_Hoth","CTF",true,false,24,-1); +//addRotationMap("DMP_IceGiant","CTF",true,false,20,32); +//addRotationMap("DMP_IsleDeBatalla","CTF",true,false,10,20); +//addRotationMap("DMP_LavaGods","CTF",true,false,10,20); +addRotationMap("DMP_Magellan","CTF",true,false,12,32); +addRotationMap("DMP_MoonDance","CTF",true,true,12,-1); +//addRotationMap("DMP_Pantheon","CTF",true,false,16,24); +addRotationMap("DMP_Paranoia","CTF",true,false,-1,16); +addRotationMap("DMP_Pariah","CTF",true,true,8,32); +addRotationMap("DMP_PipeDream","CTF",true,false,8,24); +addRotationMap("DMP_RavineV","CTF",true,false,12,32); +//addRotationMap("DMP_ScorchedEarth","CTF",true,false,24,-1); +addRotationMap("DMP_SimpleFlagArena","CTF",true,true,-1,14); +addRotationMap("DMP_SpinCycle","CTF",true,true,-1,12); +addRotationMap("DMP_StarFall","CTF",true,true,-1,14); +addRotationMap("DMP_Tyre","CTF",true,true,14,-1); +//addRotationMap("DMP_Wasteland","CTF",true,false,12,32); +//addRotationMap("Chasmaclysmic","CTF",true,true,-1,-1); +//addRotationMap("DBS_Smoothed","CTF",true,false,-1,-1); +//addRotationMap("PuliVeivari","CTF",true,false,-1,-1); +//addRotationMap("PlanetX","CTF",true,false,-1,-1); +//addRotationMap("Ravine","CTF",true,true,-1,-1); +//addRotationMap("Stripmine","CTF",true,false,-1,-1); +//------------------------------------------------------------------------------- +//addRotationMap("S5_Misadventure","CTF",true,false,-1,-1); +//addRotationMap("S8_CentralDogma","CTF",true,false,-1,-1); +//addRotationMap("S8_Mountking","CTF",true,false,-1,-1); +//addRotationMap("S8_Zilch","CTF",true,false,-1,-1); +//addRotationMap("TWL2_CloakOfNight","CTF",true,false,-1,-1); +//addRotationMap("TWL_BaNsHee","CTF",true,false,-1,-1); +//addRotationMap("TWL_Boss","CTF",true,false,-1,-1); +//addRotationMap("TWL_NoShelter","CTF",true,false,-1,-1); +//addRotationMap("TWL_Clusterfuct","CTF",true,false,-1,-1); +//addRotationMap("TWL_Curtilage","CTF",true,false,-1,-1); +//addRotationMap("TWL_Deserted","CTF",true,false,-1,-1); +//addRotationMap("TWL_Frostclaw","CTF",true,false,-1,-1); +//addRotationMap("TWL_Neve","CTF",true,false,-1,-1); +//addRotationMap("TWL_Ramparts","CTF",true,false,-1,-1); +//addRotationMap("TWL_Sandstorm","CTF",true,false,-1,-1); +//addRotationMap("TWL_WoodyMyrk","CTF",true,false,-1,-1); +//addRotationMap("Sandstorm","CTF",true,false,-1,-1); +//addRotationMap("Starfallen","CTF",true,false,-1,-1); +//addRotationMap("Stonehenge_nef","CTF",true,false,-1,-1); +//addRotationMap("Extractor","CTF",true,false,16,-1); +//addRotationMap("AstersDescent","CTF",true,false,-1,-1); +//addRotationMap("Azoth","CTF",true,false,-1,-1); +//addRotationMap("BattleGrove","CTF",true,false,-1,-1); +//addRotationMap("Durango","CTF",true,false,-1,-1); +//addRotationMap("DustLust","CTF",true,false,-1,-1); +//addRotationMap("IceGulch","CTF",true,false,-1,-1); +//addRotationMap("MountainMist","CTF",true,false,-1,-1); +//addRotationMap("Peak","CTF",true,false,-1,-1); +//addRotationMap("Pendulum","CTF",true,false,-1,-1); +//addRotationMap("OctoberRust","CTF",true,false,-1,-1); +//addRotationMap("DevilsElbow","CTF",true,false,-1,-1); +//addRotationMap("CloudCity","CTF",true,false,-1,-1); +//addRotationMap("Damnation","CTF",true,false,-1,-1); +//addRotationMap("DeathBirdsFly","CTF",true,false,-1,-1); +//addRotationMap("Desiccator","CTF",true,false,-1,-1); +//addRotationMap("DustToDust","CTF",true,false,-1,-1); +//addRotationMap("Katabatic","CTF",true,false,-1,-1); +//addRotationMap("Quagmire","CTF",true,false,-1,-1); +//addRotationMap("Recalescence","CTF",true,false,-1,-1); +//addRotationMap("Reversion","CTF",true,false,-1,-1); +//addRotationMap("RiverDance","CTF",true,false,-1,-1); +//addRotationMap("Sanctuary","CTF",true,false,-1,-1); +//addRotationMap("ThinIce","CTF",true,false,-1,-1); +//addRotationMap("Tombstone","CTF",true,false,-1,-1); +//addRotationMap("Broadside_nef","CTF",true,false,-1,-1); +//addRotationMap("Camelland","CTF",true,false,-1,-1); +//addRotationMap("HighTrepidation","CTF",true,false,-1,-1); +//addRotationMap("SmallDesertofDeath","CTF",true,false,-1,-1); +//addRotationMap("BasinFury","CTF",true,false,-1,-1); +//addRotationMap("Cadaver","CTF",true,false,-1,-1); +//addRotationMap("EivoItoxico","CTF",true,false,-1,-1); +//addRotationMap("Einfach","CTF",true,false,-1,-1); +//addRotationMap("PicnicTable","CTF",true,false,-1,-1); +//addRotationMap("Hostility","CTF",true,false,-1,-1); +//addRotationMap("HighWire","CTF",true,false,-1,-1); +//addRotationMap("CloudBurst","CTF",true,false,-1,-1); +//addRotationMap("CloseCombat","CTF",true,false,-1,-1); +//addRotationMap("DesertofDeath_nef","CTF",true,false,-1,-1); +//addRotationMap("Gorgon","CTF",true,false,-1,-1); +//addRotationMap("Magmatic","CTF",true,false,-1,-1); +//------------------------------------------------------------------------------- +addRotationMap("SmallSpit","CTF",true,true,-1,12); +addRotationMap("MisadventureV2","CTF",true,false,12,32); +addRotationMap("El_Fin","CTF",true,true,-1,14); +addRotationMap("HogansRun24","CTF",true,false,14,-1); +addRotationMap("VanDamnedCTF","CTF",true,true,-1,12); +addRotationMap("HillKingCTF","CTF",true,true,-1,12); +addRotationMap("DaftGulch","CTF",true,false,12,32); +addRotationMap("Triad","CTF",true,false,12,32); +addRotationMap("Moonwalk","CTF",true,true,12,-1); +addRotationMap("GreenLawn","CTF",true,true,12,-1); +addRotationMap("OuterWilds","CTF",true,true,-1,14); +addRotationMap("CoconutFury","CTF",true,false,-1,32); +addRotationMap("TWL2_FrozenGlory_Thawed","CTF",true,false,12,-1); +addRotationMap("Sector1","CTF",true,false,-1,-1); +//addRotationMap("CinderCone","CTF",true,false,-1,-1); +//addRotationMap("Slamnation","CTF",false,false,-1,-1); +//addRotationMap("MountaintopMayhem","CTF",false,false,-1,-1); +//addRotationMap("ChasmClash","CTF",true,false,-1,14); +//addRotationMap("FrostBite","CTF",true,false,-1,-1); +//addRotationMap("Lapiths","CTF",true,false,-1,-1); +//addRotationMap("Jettisoned","CTF",true,false,-1,-1); +//addRotationMap("Drafts","CTF",true,true,-1,12); +//addRotationMap("IslaHermano","CTF",true,false,-1,-1); +//addRotationMap("DermCrossingDeluxe","CTF",true,false,-1,-1); +//addRotationMap("Vaubania","CTF",true,true,-1,12); +//addRotationMap("Bonespur","CTF",true,true,-1,14); +//addRotationMap("Bridgepoint","CTF",true,false,-1,18); +//addRotationMap("Narcolepsy","CTF",true,false,-1,20); +//addRotationMap("WhiteDwarfDeluxe","CTF",true,true,-1,14); +//addRotationMap("SignalDX","CTF",true,false,8,24); +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +addRotationMap("VaubanLak","Lakrabbit",true,false,8,-1); +addRotationMap("MiniSunDried","Lakrabbit",true,true,-1,12); +addRotationMap("Sundance","Lakrabbit",true,true,-1,-1); +addRotationMap("TWL_BeachBlitzLak","Lakrabbit",true,true,-1,-1); +addRotationMap("DesertofDeathLak","Lakrabbit",true,true,-1,-1); +addRotationMap("Raindance_nefLak","Lakrabbit",true,true,-1,-1); +addRotationMap("SunDriedLak","Lakrabbit",true,true,-1,-1); +addRotationMap("SkinnyDipLak","Lakrabbit",true,false,-1,-1); +addRotationMap("SaddiesHill","Lakrabbit",true,false,-1,-1); +addRotationMap("HavenLak","Lakrabbit",true,false,-1,-1); +addRotationMap("LushLak","Lakrabbit",true,false,8,-1); +addRotationMap("BoxLak","Lakrabbit",true,true,-1,10); +addRotationMap("TitaniaLak","Lakrabbit",true,false,8,-1); +addRotationMap("TibbawLak","Lakrabbit",true,true,-1,-1); +addRotationMap("InfernusLak","Lakrabbit",true,true,-1,-1); +addRotationMap("S8_GeothermalLak","Lakrabbit",true,false,-1,-1); +addRotationMap("CankerLak","Lakrabbit",true,true,-1,-1); +addRotationMap("DustRunLak","Lakrabbit",true,true,-1,-1); +addRotationMap("CrossfiredLak","Lakrabbit",true,true,-1,-1); +addRotationMap("CloakofLak","Lakrabbit",true,false,-1,-1); +addRotationMap("SpectreLak","Lakrabbit",true,false,-1,-1); +addRotationMap("TreasureIslandLak","Lakrabbit",true,true,-1,-1); +addRotationMap("Sulfide","Lakrabbit",true,false,-1,-1); +addRotationMap("FrozenFuryLak","Lakrabbit",true,false,-1,-1); +addRotationMap("Arrakis","Lakrabbit",true,false,-1,-1); +addRotationMap("EquinoxLak","Lakrabbit",true,false,-1,-1); +addRotationMap("PhasmaDustLak","Lakrabbit",true,true,-1,12); +addRotationMap("GodsRiftLak","Lakrabbit",true,false,-1,-1); +addRotationMap("SolsDescentLak","Lakrabbit",true,true,-1,-1); +addRotationMap("Crater71Lak","Lakrabbit",true,false,6,-1); +//------------------------------------------------------------------------------- +addRotationMap("darrellw-Starlight","Lakrabbit",true,false,-1,-1); +addRotationMap("Hybrid-SunChips","Lakrabbit",true,false,-1,-1); +addRotationMap("Hybrid-TealMagic","Lakrabbit",true,false,-1,-1); +addRotationMap("Tacocat-AshnDust","Lakrabbit",true,false,-1,-1); +addRotationMap("Tacocat-Breaker","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-DantesHill","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-DeepCool","Lakrabbit",true,false,-1,-1); +addRotationMap("Tacocat-EmeraldRun","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-FairField","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-FireBrand","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-FroastyLak","Lakrabbit",true,false,-1,-1); +addRotationMap("Tacocat-IronGiant","Lakrabbit",true,false,-1,-1); +addRotationMap("Tacocat-Jagged","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-LucidCold","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-MiddlePassage","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Mirage","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Muave","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Silencio","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-SnowCrevice","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Spire","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-TheStill","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Toxica","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-WhiteCap","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Moonscape","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Temporal","Lakrabbit",true,false,-1,-1); +addRotationMap("Tacocat-Vein","Lakrabbit",true,false,-1,-1); +addRotationMap("DarkTiger-LakIce","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-BigSky","Lakrabbit",true,false,-1,-1); +addRotationMap("Tacocat-Thawed","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Circular","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-RollingGreen","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Hellmire","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-HighLaktane","Lakrabbit",true,false,-1,-1); +addRotationMap("Tacocat-Hillview","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-IceCap","Lakrabbit",true,false,-1,-1); +addRotationMap("Tacocat-Yerba","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-ColdFoot","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Dunes","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Rusted","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-FrostRun","Lakrabbit",true,true,-1,-1); +addRotationMap("Tacocat-Zambre","Lakrabbit",true,false,-1,-1); +addRotationMap("Tacocat-SoylentJade","Lakrabbit",true,true,-1,-1); +//addRotationMap("EscaladeLak","Lakrabbit",true,false,-1,-1); +//addRotationMap("MagmaticLak","Lakrabbit",true,false,-1,-1); +//addRotationMap("HillsOfSorrow","Lakrabbit",true,false,-1,-1); +//addRotationMap("TWL2_MuddySwampLak","Lakrabbit",true,false,-1,-1); +//addRotationMap("SandStormLak","Lakrabbit",true,false,-1,-1); +//addRotationMap("BeggarsRunLak","Lakrabbit",true,false,-1,-1); +//addRotationMap("DamnnationLak","Lakrabbit",true,false,-1,-1); +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +addRotationMap("DangerousCrossingLT","LCTF",true,false,-1,-1); +addRotationMap("DX_Ice","LCTF",true,true,-1,-1); +//addRotationMap("DX_Badlands","LCTF",true,false,-1,-1); +//addRotationMap("DX_Desert","LCTF",true,false,-1,-1); +addRotationMap("SmallCrossingLT","LCTF",true,false,-1,-1); +addRotationMap("DireLT","LCTF",true,false,-1,-1); +addRotationMap("RoundTheMountainLT","LCTF",true,true,-1,-1); +addRotationMap("TWL_FeignLT","LCTF",true,false,-1,-1); +addRotationMap("TWL_RollercoasterLT","LCTF",true,false,10,-1); +addRotationMap("TWL_StonehengeLT","LCTF",true,true,-1,-1); +addRotationMap("TWL_WilderZoneLT","LCTF",true,false,-1,-1); +addRotationMap("TWL_BeachBlitzLT","LCTF",true,true,-1,-1); +addRotationMap("TWL2_CanyonCrusadeDeluxeLT","LCTF",true,true,-1,-1); +addRotationMap("TWL2_HildebrandLT","LCTF",true,true,-1,-1); +addRotationMap("TWL2_SkylightLT","LCTF",true,false,-1,-1); +addRotationMap("TWL2_JaggedClawLT","LCTF",true,false,-1,-1); +addRotationMap("S5_MassiveLT","LCTF",true,false,-1,-1); +addRotationMap("S5_DamnationLT","LCTF",true,false,8,-1); +addRotationMap("S5_Icedance","LCTF",true,true,10,-1); +addRotationMap("S5_Mordacity","LCTF",true,true,10,-1); +addRotationMap("S8_ZilchLT","LCTF",true,true,-1,-1); +addRotationMap("CirclesEdgeLT","LCTF",true,true,10,-1); +addRotationMap("TenebrousCTF","LCTF",true,false,-1,-1); +addRotationMap("oasisintensity","LCTF",true,true,-1,10); +addRotationMap("berlard","LCTF",true,true,-1,-1); +addRotationMap("RaindanceLT","LCTF",true,false,-1,-1); +addRotationMap("SmallTimeLT","LCTF",true,false,-1,-1); +addRotationMap("ArenaDome","LCTF",true,true,-1,10); +addRotationMap("Bulwark","LCTF",true,true,-1,-1); +addRotationMap("Discord","LCTF",true,true,-1,-1); +addRotationMap("HillSideLT","LCTF",true,true,-1,-1); +addRotationMap("IcePick","LCTF",true,true,-1,16); +addRotationMap("OsIrisLT","LCTF",true,true,-1,-1); +addRotationMap("GrassyKnollLT","LCTF",true,true,-1,-1); +addRotationMap("SandyRunLT","LCTF",true,false,-1,12); +addRotationMap("Sentry","LCTF",true,true,-1,-1); +addRotationMap("Exhumed","LCTF",true,false,-1,-1); +addRotationMap("FrozenHopeLT","LCTF",true,true,-1,-1); +//addRotationMap("TheFray","LCTF",true,false,-1,-1); +//addRotationMap("SignalLT","LCTF",true,false,-1,-1); +//------------------------------------------------------------------------------- +addRotationMap("HillKingLT","LCTF",true,true,-1,-1); +addRotationMap("DMP_BastardForgeLT","LCTF",true,true,10,-1); +addRotationMap("DMP_Paranoia","LCTF",true,false,-1,-1); +addRotationMap("DMP_SpincycleLT","LCTF",true,true,-1,-1); +addRotationMap("DMP_Cinerarium","LCTF",true,true,-1,-1); +addRotationMap("DMP_StarFallLT","LCTF",true,true,-1,-1); +addRotationMap("DMP_BunkeredLT","LCTF",true,true,-1,-1); +addRotationMap("DMP_PariahLT","LCTF",true,true,-1,-1); +addRotationMap("DMP_SimpleFlagArena","LCTF",true,true,-1,-1); +addRotationMap("VanDamnedLT","LCTF",true,true,-1,-1); +addRotationMap("Ravine","LCTF",true,true,10,-1); +addRotationMap("PipeDreamLT","LCTF",true,true,-1,-1); +//addRotationMap("DMP_LavaGods","LCTF",true,false,10,20); +//addRotationMap("AttritionLT","LCTF",true,true,-1,-1); +//addRotationMap("RushLT","LCTF",true,false,-1,-1); +//------------------------------------------------------------------------------- +addRotationMap("SmallSpit","LCTF",true,true,10,-1); +addRotationMap("ClusterUnFuct","LCTF",true,true,10,-1); +addRotationMap("OuterWildsLT","LCTF",true,true,-1,-1); +addRotationMap("SuperiorWaterworks","LCTF",true,true,-1,-1); +addRotationMap("FrozenForgeLT","LCTF",true,true,-1,-1); +addRotationMap("El_FinLT","LCTF",true,true,-1,-1); +addRotationMap("CapriLT","LCTF",true,true,-1,-1); +addRotationMap("RunenmachtLT","LCTF",true,true,-1,-1); +addRotationMap("Machineeggs","LCTF",true,true,-1,-1); +addRotationMap("Mac_FlagArena","LCTF",true,false,-1,-1); +addRotationMap("SuperHappyBouncyFuntime","LCTF",true,false,-1,-1); +addRotationMap("NarcolepsyLT","LCTF",true,false,10,-1); +//addRotationMap("BonespurLT","LCTF",true,true,-1,14); +//addRotationMap("DuelersDelight","LCTF",true,false,-1,12); +//addRotationMap("TWL2_CelerityLT","LCTF",true,true,-1,20); +//addRotationMap("Drafts","LCTF",true,true,-1,12); +//addRotationMap("DermCrossingDeluxeLT","LCTF",true,true,-1,-1); +//addRotationMap("Bridgepoint","LCTF",true,true,-1,14); +//addRotationMap("WhiteDwarfDeluxeLT","LCTF",true,false,-1,14); +//addRotationMap("SurrealLT","LCTF",true,false,-1,-1); +//addRotationMap("Confusco","LCTF",true,false,6,-1); +//addRotationMap("TWL2_MuddySwamp","LCTF",true,false,8,-1); +//addRotationMap("Blink","LCTF",true,false,-1,-1); +//addRotationMap("S8_Opus","LCTF",true,false,-1,-1); +//addRotationMap("BeggarsRunLT","LCTF",true,false,-1,-1); +//addRotationMap("S5_WoodymyrkLT","LCTF",true,false,-1,-1); +//addRotationMap("S5_SilenusLT","LCTF",true,false,-1,-1); +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +addRotationMap("RaspDM","DM",true,true,8,-1); +addRotationMap("EntombedDM","DM",true,true,-1,-1); +addRotationMap("IceDomeDM","DM",true,true,-1,-1); +addRotationMap("HoofToeDM","DM",true,true,6,-1); +addRotationMap("ArenaDomeDM","DM",true,true,-1,-1); +addRotationMap("VulcansWrathDM","DM",true,true,-1,-1); +addRotationMap("RampartsDM","DM",true,true,-1,-1); +addRotationMap("ShrineDM","DM",true,true,-1,12); +addRotationMap("LiveBaitDM","DM",true,true,-1,-1); +addRotationMap("FourSquareDM","DM",true,true,-1,10); +addRotationMap("BrigDM","DM",true,true,-1,8); +addRotationMap("PitsDM","DM",true,true,-1,10); +addRotationMap("RingofFireDM","DM",true,true,-1,10); +addRotationMap("GorgonDM","DM",true,true,-1,10); +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//addRotationMap("Alcatraz","Siege",true,true,-1,-1); +//addRotationMap("Caldera","Siege",true,true,-1,-1); +//addRotationMap("Gauntlet","Siege",true,true,-1,-1); +//addRotationMap("IceBound","Siege",true,true,-1,-1); +//addRotationMap("Masada","Siege",true,true,-1,-1); +//addRotationMap("Respite","Siege",true,true,-1,-1); +//addRotationMap("UltimaThule","Siege",true,true,-1,-1); +//addRotationMap("BridgeTooFar","Siege",true,true,-1,-1); +//addRotationMap("IsleOfMan","Siege",true,true,-1,-1); +//addRotationMap("Trident","Siege",true,true,-1,-1); +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//addRotationMap("MiniSunDried","Hunters",true,true,-1,-1); +//addRotationMap("DustToDust","Hunters",true,true,-1,-1); diff --git a/Classic/prefs/serverPrefs.cs b/Classic/prefs/serverPrefs.cs index 4374ddd..218f6da 100644 --- a/Classic/prefs/serverPrefs.cs +++ b/Classic/prefs/serverPrefs.cs @@ -56,7 +56,7 @@ $Host::ClassicLoadVRamChanges = 0; $Host::ClassicLogEchoEnabled = 0; $Host::ClassicMaxVotes = 3; $Host::ClassicMaxTelepads = 3; -$Host::ClassicMOTD = "Tribes 2 Test\nServer brought to you via Commuity Effort\nCelebrating 20 Years of Tribes2!"; +$Host::ClassicMOTD = "Tribes 2 Test\nServer brought to you via Commuity Effort\nCelebrating 25 Years of Tribes2!"; $Host::ClassicMOTDLines = 3; $Host::ClassicMOTDTime = 6; $Host::ClassicNoNullVoiceSpam = 0; @@ -123,7 +123,7 @@ $Host::LoadScreenColor3 = "33CCCC"; $Host::LoadScreenLine1 = "Join Discord:"; $Host::LoadScreenLine1_Msg = "playt2.com/discord"; $Host::LoadScreenLine2 = "Game Modes:"; -$Host::LoadScreenLine2_Msg = "LakRabbit, Capture the Flag, DeathMatch, (Light Only) Capture the Flag"; +$Host::LoadScreenLine2_Msg = "Lak, CTF, DeathMatch, LCTF"; $Host::LoadScreenLine3 = "Get Mappacks:"; $Host::LoadScreenLine3_Msg = "playt2.com/mappacks"; $Host::LoadScreenLine4 = "Server Location:"; @@ -132,7 +132,7 @@ $Host::LoadScreenLine5 = "Server Hosted:"; $Host::LoadScreenLine5_Msg = "Internet"; $Host::LoadScreenLine6 = "Server Github:"; $Host::LoadScreenLine6_Msg = "https://github.com/ChocoTaco1/TacoServer"; -$Host::LoadScreenMOTD1 = "Celebrating 20 Years of Tribes2!"; +$Host::LoadScreenMOTD1 = "Celebrating 25 Years of Tribes2!"; $Host::LoadScreenMOTD2 = "Come play Arena on Wednesday Nights!"; $Host::LoadScreenMOTD3 = "Lak crowd early evenings after work during the week."; $Host::LoadScreenMOTD4 = "Big CTF games Fridays, Saturdays, and Sundays!"; @@ -160,10 +160,10 @@ $Host::PUGautoPassword = 0; $Host::PUGPassword = "pickup"; $Host::PUGpasswordAlwaysOn = 0; $Host::PureServer = 0; -$Host::ServerRules1 = "\c2if\c4(\c3%client.attitude \c4$= \c5\"fun\" \c4&& \c3%client.Llama_Grabs \c4< \c51\c4) {"; -$Host::ServerRules2 = " \c1keepTeamsBalanced\c4(\c2%client\c4); \c1dontSwitch2WinningTeam(\c2%client\c4); }"; -$Host::ServerRules3 = "\c2else if\c4(\c3%client.attitude \c4$= \c5\"too_serious\"\c4) {"; -$Host::ServerRules4 = " \c1try2HaveFun\c4(\c2%client, %attitude\c4); \c1thisIsPubServer\c4(\c2%client, %attitude\c4); }"; +$Host::ServerRules1 = "1. Don\'t Llama Grab. (Grab flag slowly)"; +$Host::ServerRules2 = "2. Don\'t sit on teams and AFK. Move to observer."; +$Host::ServerRules3 = "3. Don\'t Excessively teamkill or teamkill on purpose."; +$Host::ServerRules4 = "4. Don\'t spam chat with inappropriate topics. Play the game."; $Host::ShowEndingPlayerScores = 1; $Host::ShowIngamePlayerScores = 1; $Host::Siege::Halftime = 20000; @@ -191,7 +191,7 @@ $Host::TN::echo = 1; $Host::TournamentMode = 0; $Host::useCustomSkins = 1; $Host::VoteCooldown = 120; -$Host::VoteDelayTime = 120; +$Host::VoteDelayTime = 60; $Host::VotePassPercent = 60; $Host::VoteSpread = 20; $Host::VoteTime = "45"; diff --git a/Classic/scripts/serverDefaults.cs b/Classic/scripts/serverDefaults.cs index f52d72c..d51f88b 100755 --- a/Classic/scripts/serverDefaults.cs +++ b/Classic/scripts/serverDefaults.cs @@ -141,16 +141,16 @@ $Host::LoadScreenColor3 = "33CCCC"; //Loading Screen color; Accents $Host::LoadScreenLine1 = "Join Discord:"; //Loading screen Line 1 Topic $Host::LoadScreenLine1_Msg = "playt2.com/discord"; //Loading Screen Line 1 Message $Host::LoadScreenLine2 = "Game Modes:"; //Loading screen Line 2 Topic -$Host::LoadScreenLine2_Msg = "LakRabbit, Capture the Flag, DeathMatch, (Light Only) Capture the Flag"; //Loading Screen Line 2 Message +$Host::LoadScreenLine2_Msg = "Lak, CTF, DeathMatch, LCTF"; //Loading Screen Line 2 Message $Host::LoadScreenLine3 = "Get Mappacks:"; //Loading screen Line 3 Topic $Host::LoadScreenLine3_Msg = "playt2.com/mappacks"; //Loading Screen Line 3 Message $Host::LoadScreenLine4 = "Server Location:"; //Loading screen Line 4 Topic -$Host::LoadScreenLine4_Msg = "Iowa"; //Loading Screen Line 4 Message +$Host::LoadScreenLine4_Msg = "Somewhere"; //Loading Screen Line 4 Message $Host::LoadScreenLine5 = "Server Hosted:"; //Loading screen Line 5 Topic (Debrief LoadScreen Only) -$Host::LoadScreenLine5_Msg = "Google Compute Engine"; //Loading Screen Line 5 Message (Debrief LoadScreen Only) +$Host::LoadScreenLine5_Msg = "Internet"; //Loading Screen Line 5 Message (Debrief LoadScreen Only) $Host::LoadScreenLine6 = "Server Github:"; //Loading screen Line 6 Topic (Debrief LoadScreen Only) $Host::LoadScreenLine6_Msg = "https://github.com/ChocoTaco1/TacoServer"; //Loading Screen Line 6 Message (Debrief LoadScreen Only) -$Host::LoadScreenMOTD1 = "Celebrating 20 Years of Tribes2!"; //MOTD or Events Line 1 Message (Debrief LoadScreen Only) +$Host::LoadScreenMOTD1 = "Celebrating 25 Years of Tribes2!"; //MOTD or Events Line 1 Message (Debrief LoadScreen Only) $Host::LoadScreenMOTD2 = "Come play Arena on Wednesday Nights!"; //MOTD or Events Line 2 Message (Debrief LoadScreen Only) $Host::LoadScreenMOTD3 = "Lak crowd early evenings after work during the week."; //MOTD or Events Line 3 Message (Debrief LoadScreen Only) $Host::LoadScreenMOTD4 = "Big CTF games Fridays, Saturdays, and Sundays!"; //MOTD or Events Line 4 Message (Debrief LoadScreen Only) @@ -160,7 +160,7 @@ $Host::ClassicChatLog = 1; $Host::ClassicChatLogPath = "logs/Chat/"; $Host::ClassicConnectLog = 1; $Host::ClassicConnLogPath = "logs/Connect/log.txt"; -$Host::ClassicMOTD = "Discord PUB\nServer brought to you by Ravin and Choco\nCelebrating 20 Years of Tribes2!"; +$Host::ClassicMOTD = "Tribes 2 Test\nServer brought to you via Commuity Effort\nCelebrating 25 Years of Tribes2!"; $Host::ClassicMOTDLines = 3; $Host::ClassicMOTDTime = 6; $Host::ClassicRotationCustom = 1; @@ -171,10 +171,10 @@ $Host::ClassicSuppressTraversalRootError = 1; //Suppress console spam e $Host::ClassicMaxVotes = 5; //Max a player can vote per mission $Host::ClassicVoteLog = 1; //Log Votes $Host::ClassicVoteLogPath = "logs/Vote/Vote.log"; //Vote Log location -$Host::ServerRules1 = "\c2if\c4(\c3%client.attitude \c4$= \c5\"fun\" \c4&& \c3%client.Llama_Grabs \c4< \c51\c4) {"; -$Host::ServerRules2 = " \c1keepTeamsBalanced\c4(\c2%client\c4); \c1dontSwitch2WinningTeam(\c2%client\c4); }"; -$Host::ServerRules3 = "\c2else if\c4(\c3%client.attitude \c4$= \c5\"too_serious\"\c4) {"; -$Host::ServerRules4 = " \c1try2HaveFun\c4(\c2%client, %attitude\c4); \c1thisIsPubServer\c4(\c2%client, %attitude\c4); }"; +$Host::ServerRules1 = "1. Don\'t Llama Grab. (Grab flag slowly)"; +$Host::ServerRules2 = "2. Don\'t sit on teams and AFK. Move to observer."; +$Host::ServerRules3 = "3. Don\'t Excessively teamkill or teamkill on purpose."; +$Host::ServerRules4 = "4. Don\'t spam chat with inappropriate topics. Play the game."; $Host::AnimateWithTransitions = 1; //????????????? T1 engine var may or may not help timescale ????????????? $Host::AllowAdmin2Admin = 0; $Host::AllowAdminBan = 0; @@ -201,7 +201,7 @@ $Host::KickObserverStartOnJoin = 0; //Start KickObserver Timer as so $Host::KickObserverTimeout = 1200; //How long player can stay in observer before being booted (1200 is 20 mins) //$Host::ClassicBanlist = "prefs/banlist.cs"; $Host::VoteCooldown = 120; //Time cooldown that dosnt allow a player to vote again after theyve initiated a vote (120 is 2 mins) -$Host::VoteDelayTime = 120; //Delay the ability to vote (For everyone) at the beginning of the match (120 is 2 minutes) +$Host::VoteDelayTime = 60; //Delay the ability to vote (For everyone) at the beginning of the match (120 is 2 minutes) $Host::ClassicTeamKillLog = 1; //Enable/Disable Teamkill Logging $Host::ClassicTeamKillLogPath = "logs/TeamKills/teamkills.log"; //TeamKill Log Path $Host::ClassicDailyHardRestart = 0; //Enable/Disable Daily Hard Restart From 3bd45778321eab461e6704eece9d43025b5739d3 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Wed, 29 Oct 2025 15:31:04 -0400 Subject: [PATCH 53/60] Vote Overtime Redo --- Classic/scripts/CTFGame.cs | 37 ++++++--- Classic/scripts/LCTFGame.cs | 37 ++++++--- Classic/scripts/LakRabbitGame.cs | 39 ++++++++++ Classic/scripts/autoexec/VoteMenu.cs | 10 +-- Classic/scripts/autoexec/VoteOverTime.cs | 99 ------------------------ 5 files changed, 95 insertions(+), 127 deletions(-) delete mode 100644 Classic/scripts/autoexec/VoteOverTime.cs diff --git a/Classic/scripts/CTFGame.cs b/Classic/scripts/CTFGame.cs index bf65472..d75e4ba 100755 --- a/Classic/scripts/CTFGame.cs +++ b/Classic/scripts/CTFGame.cs @@ -1266,7 +1266,13 @@ function CTFGame::checkTimeLimit(%game, %forced) { %teamOneCaps = mFloor($TeamScore[1] / %game.SCORE_PER_TEAM_FLAG_CAP); %teamTwoCaps = mFloor($TeamScore[2] / %game.SCORE_PER_TEAM_FLAG_CAP); - if(%teamOneCaps == %teamTwoCaps && $CTF::Overtime && (($TeamRank[1, count] + $TeamRank[2, count]) > 6)){ + if(%game.scheduleVote !$= "" && !%game.voteOT && !$Host::TournamentMode) + { + messageAll('MsgOvertime', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav'); + %game.voteOT = 1; + } + else if(%teamOneCaps == %teamTwoCaps && $CTF::Overtime && (($TeamRank[1, count] + $TeamRank[2, count]) > 6)) + { if(!%game.overtime) { %game.overtime = 1; @@ -1276,19 +1282,30 @@ function CTFGame::checkTimeLimit(%game, %forced) UpdateClientTimes($CTF::Overtime * 60 * 1000); EndCountdown($CTF::Overtime * 60 * 1000); %game.timeCheck = %game.schedule($CTF::Overtime * 60 * 1000, "timeLimitReached"); + + //Cancel vote if any + if(%game.scheduleVote !$= "") + { + messageAll('closeVoteHud', ""); + cancel(Game.scheduleVote); + Game.scheduleVote = ""; + Game.kickClient = ""; + clearVotes(); + + //Stop vote chimes + for(%i = 0; %i < $Host::EnableVoteSoundReminders; %i++) + { + if(isEventPending(Game.voteReminder[%i])) + cancel(Game.voteReminder[%i]); + Game.voteReminder[%i] = ""; + } + messageAll('MsgOvertime', "\c2Vote has been cancelled due to Sudden-Death Overtime."); + } } } else { - if(%game.scheduleVote !$= "" && !%game.voteOT) - { - messageAll('MsgOvertime', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav'); - %game.voteOT = 1; - } - else - { - %game.timeLimitReached(); - } + %game.timeLimitReached(); } } else diff --git a/Classic/scripts/LCTFGame.cs b/Classic/scripts/LCTFGame.cs index e856790..9de5730 100644 --- a/Classic/scripts/LCTFGame.cs +++ b/Classic/scripts/LCTFGame.cs @@ -1566,7 +1566,13 @@ function LCTFGame::checkTimeLimit(%game, %forced) { %teamOneCaps = mFloor($TeamScore[1] / %game.SCORE_PER_TEAM_FLAG_CAP); %teamTwoCaps = mFloor($TeamScore[2] / %game.SCORE_PER_TEAM_FLAG_CAP); - if(%teamOneCaps == %teamTwoCaps && $LCTF::Overtime && (($TeamRank[1, count] + $TeamRank[2, count]) > 6)){ + if(%game.scheduleVote !$= "" && !%game.voteOT && !$Host::TournamentMode) + { + messageAll('MsgOvertime', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav'); + %game.voteOT = 1; + } + else if(%teamOneCaps == %teamTwoCaps && $LCTF::Overtime && (($TeamRank[1, count] + $TeamRank[2, count]) > 6)) + { if(!%game.overtime) { %game.overtime = 1; @@ -1576,19 +1582,30 @@ function LCTFGame::checkTimeLimit(%game, %forced) UpdateClientTimes($LCTF::Overtime * 60 * 1000); EndCountdown($LCTF::Overtime * 60 * 1000); %game.timeCheck = %game.schedule($LCTF::Overtime * 60 * 1000, "timeLimitReached"); + + //Cancel vote if any + if(%game.scheduleVote !$= "") + { + messageAll('closeVoteHud', ""); + cancel(Game.scheduleVote); + Game.scheduleVote = ""; + Game.kickClient = ""; + clearVotes(); + + //Stop vote chimes + for(%i = 0; %i < $Host::EnableVoteSoundReminders; %i++) + { + if(isEventPending(Game.voteReminder[%i])) + cancel(Game.voteReminder[%i]); + Game.voteReminder[%i] = ""; + } + messageAll('MsgOvertime', "\c2Vote has been cancelled due to Sudden-Death Overtime."); + } } } else { - if(%game.scheduleVote !$= "" && !%game.voteOT) - { - messageAll('MsgOvertime', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav'); - %game.voteOT = 1; - } - else - { - %game.timeLimitReached(); - } + %game.timeLimitReached(); } } else diff --git a/Classic/scripts/LakRabbitGame.cs b/Classic/scripts/LakRabbitGame.cs index e7cfe1d..d9cba89 100644 --- a/Classic/scripts/LakRabbitGame.cs +++ b/Classic/scripts/LakRabbitGame.cs @@ -2017,6 +2017,45 @@ function LakRabbitGame::resetFlag(%game, %flag) cancel(%game.updateFlagThread[%flag]); // z0dd - ZOD, 8/4/02. Cancel this flag's thread to KineticPoet's flag updater } +function LakRabbitGame::checkTimeLimit(%game, %forced) +{ + // Don't add extra checks: + if ( %forced ) + cancel( %game.timeCheck ); + + // if there is no time limit, check back in a minute to see if it's been set + if(($Host::TimeLimit $= "") || $Host::TimeLimit == 0) + { + %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); + return; + } + + %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + + if (%curTimeLeftMS <= 0) + { + if(%game.scheduleVote !$= "" && !%game.voteOT && !$Host::TournamentMode) + { + messageAll('MsgOvertime', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav'); + %game.voteOT = 1; + } + else + { + %game.timeLimitReached(); + } + } + else + { + if(%curTimeLeftMS >= 20000) + %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); + else + %game.timeCheck = %game.schedule(%curTimeLeftMS + 1, "checkTimeLimit"); + + //now synchronize everyone's clock + messageAll('MsgSystemClock', "", $Host::TimeLimit, %curTimeLeftMS); + } +} + // ----- These functions are native to Rabbit function LakRabbitGame::timeLimitReached(%game) diff --git a/Classic/scripts/autoexec/VoteMenu.cs b/Classic/scripts/autoexec/VoteMenu.cs index f0f72bc..e6c37af 100644 --- a/Classic/scripts/autoexec/VoteMenu.cs +++ b/Classic/scripts/autoexec/VoteMenu.cs @@ -502,8 +502,6 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, % { if(%arg1 $= "999") %time = "unlimited"; else %time = %arg1; %msg = %client.nameBase @ " initiated a vote to change the time limit to " @ %time SPC "minutes."; - // VoteOvertime - StartVOTimeVote(%game); $CMHasVoted[%client.guid]++; } @@ -583,7 +581,8 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, % case "stopRunningVote": if(%client.isSuperAdmin || (%client.isAdmin && $Host::AllowAdminStopVote)) { - if($VOStatus $="InProgress") //Dont allow a stop vote after time has expired, then no new time is set - VoteOverTime + %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + if(%curTimeLeftMS <= 0) //Dont allow a stop vote after time has expired, then no new time is set - VoteOverTime { messageClient(%client, "", "\c2Can't stop time vote after time has expired."); return; @@ -1223,8 +1222,6 @@ function DefaultGame::voteChangeTimeLimit( %game, %admin, %newLimit ) { messageAll('MsgVotePassed', '\c2The mission time limit was set to %1 minutes by vote.', %display); $Host::TimeLimit = %newLimit; - // VoteOvertime - ResetVOTimeChanged(%game); // Reset the voted time limit when changing mission $TimeLimitChanged = 1; @@ -1243,9 +1240,6 @@ function DefaultGame::voteChangeTimeLimit( %game, %admin, %newLimit ) votePercentLog(%newLimit, %typeName, %key, %game.totalVotesFor, %game.totalVotesAgainst, %totalVotes, %game.totalVotesNone); //Show Vote % messageAll('', '\c1Vote %6: \c0Yea: %1 Nay: %2 Abstain: %7 Total: %3 [%4%5]', %game.totalVotesFor, %game.totalVotesAgainst, %totalVotes, mfloor((%game.totalVotesFor/(ClientGroup.getCount() - %game.totalVotesNone)) * 100), "%", %key, %game.totalVotesNone); - - // VoteOvertime - ResetVOall(%game); } } diff --git a/Classic/scripts/autoexec/VoteOverTime.cs b/Classic/scripts/autoexec/VoteOverTime.cs deleted file mode 100644 index 70eb648..0000000 --- a/Classic/scripts/autoexec/VoteOverTime.cs +++ /dev/null @@ -1,99 +0,0 @@ -// Vote OverTime Script -// -// Dont allow the match to end if a time vote is pending -// Or if the timelimit has changed -// -// Changes were also made in how time votes are handled in scripts/autoexec/VoteMenu.cs -// DefaultGame::voteChangeMission, DefaultGame::voteChangeTimeLimit, serverCmdStartNewVote -// -// The VoteChangeTimeLimit functions in evo dictate VOStatus conditions - -$VOStatus = "Normal"; - -package VoteOverTime -{ - -function DefaultGame::checkTimeLimit(%game, %forced) -{ - // Don't add extra checks: - if ( %forced ) - cancel( %game.timeCheck ); - - // if there is no time limit, check back in a minute to see if it's been set - if(($Host::TimeLimit $= "") || $Host::TimeLimit == 0) - { - %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); - return; - } - - %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); - - if (%curTimeLeftMS <= 0) - { - //Vote Overtime - //Check if Time Vote is starting or active or if the timelimit has changed. - //If the timelimit has changed, don't end the game. - switch$($VOStatus) - { - case Starting: - if($missionRunning) - { - messageAll('', '\c2Vote Overtime Initiated.~wfx/powered/turret_heavy_activate.wav', %display); - $VOStatus = "InProgress"; - } - case InProgress: - //Do Nothing - case TimeChanged: - //Do Nothing - case Normal: - // time's up, put down your pencils - %game.timeLimitReached(); - } - } - else - { - if(%curTimeLeftMS >= 20000) - %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); - else - %game.timeCheck = %game.schedule(%curTimeLeftMS + 1, "checkTimeLimit"); - - //now synchronize everyone's clock - messageAll('MsgSystemClock', "", $Host::TimeLimit, %curTimeLeftMS); - } -} - -function DefaultGame::gameOver(%game) -{ - Parent::gameOver(%game); - - //Reset everything to do with Vote Overtime - ResetVOall(%game); -} - -}; - -// Various Flags for the different situations -// Starting a TimeVote - Sets flags so the game wont end during this vote -function StartVOTimeVote(%game) -{ - if(!$Host::TournamentMode) - $VOStatus = "Starting"; -} - -// Tribes wont change the time after its reached zero and you cant change it again afterwards until a gameover/map change. -// But this serves its purpose for extending the game whether it works (technically) or not. -function ResetVOTimeChanged(%game) -{ - $VOStatus = "TimeChanged"; -} - -// Reset everything. So everything functions normally after a map change. -function ResetVOall(%game) -{ - $VOStatus = "Normal"; -} - - -// Prevent package from being activated if it is already -if (!isActivePackage(VoteOverTime)) - activatePackage(VoteOverTime); From 14caa5aca580d3afefc9641472e2ae42b7cfae32 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Sun, 2 Nov 2025 20:45:05 -0500 Subject: [PATCH 54/60] Removed --- Classic/prefs/mapRotation.cs | 42 ---------------------------- Classic/prefs/serverPrefs.cs | 1 - Classic/scripts/autoexec/VoteMenu.cs | 12 ++++---- 3 files changed, 6 insertions(+), 49 deletions(-) diff --git a/Classic/prefs/mapRotation.cs b/Classic/prefs/mapRotation.cs index dc64408..7906e8b 100644 --- a/Classic/prefs/mapRotation.cs +++ b/Classic/prefs/mapRotation.cs @@ -330,48 +330,6 @@ addRotationMap("GodsRiftLak","Lakrabbit",true,false,-1,-1); addRotationMap("SolsDescentLak","Lakrabbit",true,true,-1,-1); addRotationMap("Crater71Lak","Lakrabbit",true,false,6,-1); //------------------------------------------------------------------------------- -addRotationMap("darrellw-Starlight","Lakrabbit",true,false,-1,-1); -addRotationMap("Hybrid-SunChips","Lakrabbit",true,false,-1,-1); -addRotationMap("Hybrid-TealMagic","Lakrabbit",true,false,-1,-1); -addRotationMap("Tacocat-AshnDust","Lakrabbit",true,false,-1,-1); -addRotationMap("Tacocat-Breaker","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-DantesHill","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-DeepCool","Lakrabbit",true,false,-1,-1); -addRotationMap("Tacocat-EmeraldRun","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-FairField","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-FireBrand","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-FroastyLak","Lakrabbit",true,false,-1,-1); -addRotationMap("Tacocat-IronGiant","Lakrabbit",true,false,-1,-1); -addRotationMap("Tacocat-Jagged","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-LucidCold","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-MiddlePassage","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Mirage","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Muave","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Silencio","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-SnowCrevice","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Spire","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-TheStill","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Toxica","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-WhiteCap","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Moonscape","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Temporal","Lakrabbit",true,false,-1,-1); -addRotationMap("Tacocat-Vein","Lakrabbit",true,false,-1,-1); -addRotationMap("DarkTiger-LakIce","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-BigSky","Lakrabbit",true,false,-1,-1); -addRotationMap("Tacocat-Thawed","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Circular","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-RollingGreen","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Hellmire","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-HighLaktane","Lakrabbit",true,false,-1,-1); -addRotationMap("Tacocat-Hillview","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-IceCap","Lakrabbit",true,false,-1,-1); -addRotationMap("Tacocat-Yerba","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-ColdFoot","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Dunes","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Rusted","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-FrostRun","Lakrabbit",true,true,-1,-1); -addRotationMap("Tacocat-Zambre","Lakrabbit",true,false,-1,-1); -addRotationMap("Tacocat-SoylentJade","Lakrabbit",true,true,-1,-1); //addRotationMap("EscaladeLak","Lakrabbit",true,false,-1,-1); //addRotationMap("MagmaticLak","Lakrabbit",true,false,-1,-1); //addRotationMap("HillsOfSorrow","Lakrabbit",true,false,-1,-1); diff --git a/Classic/prefs/serverPrefs.cs b/Classic/prefs/serverPrefs.cs index 218f6da..a20e0a7 100644 --- a/Classic/prefs/serverPrefs.cs +++ b/Classic/prefs/serverPrefs.cs @@ -5,7 +5,6 @@ $Host::AllowAdminKick = 1; $Host::AllowAdminPassVote = 1; $Host::allowAdminPlayerVotes = "0"; $Host::AllowAdminStopVote = 1; -$Host::AllowAdminStopVotes = 1; $Host::AllowAdminVotes = 1; $Host::AllowMapScript = "True"; $Host::AllowPlayerVoteChangeMission = 1; diff --git a/Classic/scripts/autoexec/VoteMenu.cs b/Classic/scripts/autoexec/VoteMenu.cs index e6c37af..8c6f300 100644 --- a/Classic/scripts/autoexec/VoteMenu.cs +++ b/Classic/scripts/autoexec/VoteMenu.cs @@ -581,12 +581,12 @@ function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, % case "stopRunningVote": if(%client.isSuperAdmin || (%client.isAdmin && $Host::AllowAdminStopVote)) { - %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); - if(%curTimeLeftMS <= 0) //Dont allow a stop vote after time has expired, then no new time is set - VoteOverTime - { - messageClient(%client, "", "\c2Can't stop time vote after time has expired."); - return; - } + // %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); + // if(%curTimeLeftMS <= 0) //Dont allow a stop vote after time has expired, then no new time is set - VoteOverTime + // { + // messageClient(%client, "", "\c2Can't stop vote after time has expired."); + // return; + // } stopCurrentVote(%client); adminLog(%client, " stopped the vote in progress."); From d24df745abf305bffb12fa1edf3a60abd867ba26 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Mon, 3 Nov 2025 16:19:53 -0500 Subject: [PATCH 55/60] Added Overtime Reset --- Classic/scripts/CTFGame.cs | 3 +++ Classic/scripts/LCTFGame.cs | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Classic/scripts/CTFGame.cs b/Classic/scripts/CTFGame.cs index d75e4ba..3d5ebe0 100755 --- a/Classic/scripts/CTFGame.cs +++ b/Classic/scripts/CTFGame.cs @@ -952,6 +952,9 @@ function CTFGame::gameOver(%game) } for(%j = 1; %j <= %game.numTeams; %j++) $TeamScore[%j] = 0; + + %game.voteOT = 0; + %game.overtime = 0; } function CTFGame::onClientDamaged(%game, %clVictim, %clAttacker, %damageType, %implement, %damageLoc) diff --git a/Classic/scripts/LCTFGame.cs b/Classic/scripts/LCTFGame.cs index 9de5730..b0dcd2b 100644 --- a/Classic/scripts/LCTFGame.cs +++ b/Classic/scripts/LCTFGame.cs @@ -689,6 +689,9 @@ function LCTFGame::gameOver(%game) if (isActivePackage(LCTFOneMine)) deactivatePackage(LCTFOneMine); + + %game.voteOT = 0; + %game.overtime = 0; } From 6075098d7902ba321cbb205cbbe4ca4b8bf6c022 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Mon, 3 Nov 2025 16:28:06 -0500 Subject: [PATCH 56/60] Added TR2 Bonus, Overtime Reset, rabbitSplash Added TR2 Bonus, Overtime Reset, rabbitSplash --- Classic/scripts/LakRabbitGame.cs | 210 +++++++++++++++++-------------- 1 file changed, 113 insertions(+), 97 deletions(-) diff --git a/Classic/scripts/LakRabbitGame.cs b/Classic/scripts/LakRabbitGame.cs index d9cba89..0dea6d2 100644 --- a/Classic/scripts/LakRabbitGame.cs +++ b/Classic/scripts/LakRabbitGame.cs @@ -166,6 +166,23 @@ // 1 - Players get 999 or unlimited DiscJumps // +datablock ItemData(LakFakeFlag2) : flag +{ + lightColor = "0.1 0.1 0.9 1.0"; + className = LakFakeFlag; + lightTime = "100"; + lightRadius = "5"; +}; + +datablock ItemData(LakFakeFlag4) : LakFakeFlag2 +{ + lightColor = "0.9 0.9 0.1 1.0"; +}; + +datablock ItemData(LakFakeFlag8) : LakFakeFlag2 +{ + lightColor = "0.1 0.9 0.1 1.0"; +}; package LakRabbitGame { @@ -417,7 +434,12 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am // no splash damage vote if(Game.noSplashDamage && %percentDam < 98 && $lastObjExplode && !$lastObjExplode.isHandNade && %damageType != $DamageType::Mine) - %amount = 0.0; + { + if(!%targetObject.holdingFlag) + %amount = 0.0; + else if(((getSimTime() - %targetObject.client.rabbitSplash) < 15000)) //Turn on splash for rabbit after not making a shot for an alotted time + %amount = 0.0; + } switch$(%damageType) { @@ -435,6 +457,10 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am %sound = %defaultSound; } + %tgPos = %targetObject.getPosition(); + %terrHeight = getTerrainHeight(getWords(%tgPos,0,1)); + %playerHeight = mAbs(getWord(%tgPos,2) - %terrHeight); + // special knockback if you hit too close, max 15% chance (point blank).. 5% at 30meters, 1% chance for any MA // Slap based on a Disc headshot @@ -483,6 +509,42 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am messageAll('msgSlapmessage','\c0%1 is taking a short tour around the map.', %targetObject.client.name ); } } + else if(%ma && getRandom(1,35) <= %chance && %playerHeight >= 100 && %targetObject.holdingFlag) + { + + Game.playerDroppedFlag(%targetObject); + + %position = %targetObject.getPosition(); + %count = 40; + %ttl = 60000; + %player = %targetObject; + if( %position $= "" ) + { + error("No position passed!"); + return 0; + } + if( %count <= 0 ) + { + error("Number of flags to spew must be greater than 0!"); + return 0; + } + + %flagArr[0] = LakFakeFlag8; + %flagArr[1] = LakFakeFlag2; + %flagArr[2] = LakFakeFlag4; + + while( %count > 0 ) + { + %index = mFloor(getRandom() * 3); + // throwDummyFlag(location, Datablock); + LakRabbitGame::throwDummyFlag(%position, %flagArr[%index], %player, %ttl); + %count--; + } + + %targetObject.blowup(); + %targetObject.scriptKill($DamageType::Explosion); + %sound = '~wfx/misc/MA1.wav'; + } %weapon = "Disc"; case $DamageType::Grenade: if($lastObjExplode.isHandNade) //Hand grenades @@ -746,10 +808,15 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am } // borlak -- make a sound when you hit someone - if(%sound $= "" && %sourceObject.client.team != %targetObject.client.team) - messageClient(%sourceObject.client,'MsgHitSound','~wfx/misc/diagnostic_beep.wav'); - else if(%sound !$= "") + // if(%sound $= "" && %sourceObject.client.team != %targetObject.client.team) + // messageClient(%sourceObject.client,'MsgHitSound','~wfx/misc/diagnostic_beep.wav'); + // else if(%sound !$= ""){ + if(%sound !$= ""){ messageAll('msgSpecialHitSound', %sound); + if(%sourceObject.holdingFlag){ + %sourceObject.client.rabbitSplash = getSimTime(); + } + } // borlak -- rabbit should be able to kill heavies/mediums fast(er) in duel mode if(%targetObject.client.armor $= "Heavy" || %targetObject.client.armor $= "Medium") @@ -1905,6 +1972,7 @@ function LakRabbitGame::playerTouchFlag(%game, %player, %flag) cancel(%game.updateFlagThread[%flag]); // z0dd - ZOD, 8/4/02. Cancel this flag's thread to KineticPoet's flag updater %player.freeDJ = 0; %flag.bounced = 0; + %player.client.rabbitSplash = getSimTime(); %player.client.startTime = getSimTime(); %player.holdingFlag = %flag; @@ -2131,6 +2199,9 @@ function LakRabbitGame::gameOver(%game) // borlak -- delete variables deleteVariables("$LakFired*"); deleteVariables("$LakDamaged*"); + + %game.voteOT = 0; + %game.overtime = 0; } function LakRabbitGame::resetScore(%game, %client) @@ -2656,96 +2727,41 @@ function LakRabbitGame::applyConcussion(%game, %player) %game.dropFlag( %player ); } -//--------------------------------Footnotes--------------------------------------- -// -// -//To make vote options work in evo admin mod, demonstration only below -// -//function serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %playerVote) -//{ -// parent::serverCmdStartNewVote(%client, %typeName, %arg1, %arg2, %arg3, %arg4, %playerVote); -// -// // sonic9k 11/6/2003 - Added support for LakRabbit DuelMode option -// // -// case "VoteDuelMode": -// if( %isAdmin && !%client.ForceVote ) -// { -// adminStartNewVote(%client, %typename, %arg1, %arg2, %arg3, %arg4); -// adminLog(%client, " has toggled " @ %arg1 @ " (" @ %arg2 @ ")"); -// } -// else -// { -// if(Game.scheduleVote !$= "") -// { -// messageClient(%client, 'voteAlreadyRunning', '\c2A vote is already in progress.'); -// return; -// } -// %actionMsg = ($Host::LakRabbitDuelMode ? "disable Duel mode" : "enable Duel mode"); -// for(%idx = 0; %idx < ClientGroup.getCount(); %idx++) -// { -// %cl = ClientGroup.getObject(%idx); -// if(!%cl.isAIControlled()) -// { -// messageClient(%cl, 'VoteStarted', '\c2%1 initiated a vote to %2.', %client.name, %actionMsg); -// %clientsVoting++; -// } -// } -// playerStartNewVote(%client, %typename, %arg1, %arg2, %arg3, %arg4, %clientsVoting); -// } -// // -// // sonic9k 11/6/2003 - Added support for LakRabbit SplashDamage option -// // -// case "VoteSplashDamage": -// if( %isAdmin && !%client.ForceVote ) -// { -// adminStartNewVote(%client, %typename, %arg1, %arg2, %arg3, %arg4); -// adminLog(%client, " has toggled " @ %arg1 @ " (" @ %arg2 @ ")"); -// } -// else -// { -// if(Game.scheduleVote !$= "") -// { -// messageClient(%client, 'voteAlreadyRunning', '\c2A vote is already in progress.'); -// return; -// } -// %actionMsg = ($Host::LakRabbitNoSplashDamage ? "enable SplashDamage" : "disable SplashDamage"); -// for(%idx = 0; %idx < ClientGroup.getCount(); %idx++) -// { -// %cl = ClientGroup.getObject(%idx); -// if(!%cl.isAIControlled()) -// { -// messageClient(%cl, 'VoteStarted', '\c2%1 initiated a vote to %2.', %client.name, %actionMsg); -// %clientsVoting++; -// } -// } -// playerStartNewVote(%client, %typename, %arg1, %arg2, %arg3, %arg4, %clientsVoting); -// } -// // -// // chocotaco 8/7/2018 - Added support for LakRabbit Pro option -// // -// case "VotePro": -// if( %isAdmin && !%client.ForceVote ) -// { -// adminStartNewVote(%client, %typename, %arg1, %arg2, %arg3, %arg4); -// adminLog(%client, " has toggled " @ %arg1 @ " (" @ %arg2 @ ")"); -// } -// else -// { -// if(Game.scheduleVote !$= "") -// { -// messageClient(%client, 'voteAlreadyRunning', '\c2A vote is already in progress.'); -// return; -// } -// %actionMsg = ($Host::LakRabbitPubPro ? "disable Pro mode" : "enable Pro mode"); -// for(%idx = 0; %idx < ClientGroup.getCount(); %idx++) -// { -// %cl = ClientGroup.getObject(%idx); -// if(!%cl.isAIControlled()) -// { -// messageClient(%cl, 'VoteStarted', '\c2%1 initiated a vote to %2.', %client.name, %actionMsg); -// %clientsVoting++; -// } -// } -// playerStartNewVote(%client, %typename, %arg1, %arg2, %arg3, %arg4, %clientsVoting); -// } -//} +function LakRabbitGame::throwDummyFlag(%position, %datablock, %player, %ttl) +{ + %client = %player.client; + + // create a flag and throw it + %droppedflag = new Item() { + position = %position; + rotation = "0 0 1 " @ (getRandom() * 360); + scale = "1 1 1"; + dataBlock = %datablock; + collideable = "0"; + static = "0"; + rotate = "1"; + team = "0"; + isFake = 1; + }; + MissionCleanup.add(%droppedflag); + + %vec = (-1.0 + getRandom() * 2.0) SPC (-1.0 + getRandom() * 2.0) SPC getRandom(); + %vec = VectorScale(%vec, getrandom(250,1000) + (getRandom() * 300)); + + // Add player's velocity + if (%player !$= "") + { + %droppedflag.setCollisionTimeout(%player); + %vec = vectorAdd(%vec, %player.getVelocity()); + } + + %droppedflag.applyImpulse(%pos, %vec); + + %droppedFlag.die = schedule(getrandom(1500,3500), 0, "removeLakFakeFlag", %droppedflag); +} + +function removeLakFakeFlag(%flag) +{ + %flag.startFade(600, 0, true); + %flag.schedule(601, "delete"); +} From 97c9bf7270374ba190dfa9caba5f2f42eedcdad6 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Sun, 23 Nov 2025 13:14:18 -0500 Subject: [PATCH 57/60] Update LakRabbitGame.cs --- Classic/scripts/LakRabbitGame.cs | 174 +++++++++++++++++-------------- 1 file changed, 93 insertions(+), 81 deletions(-) diff --git a/Classic/scripts/LakRabbitGame.cs b/Classic/scripts/LakRabbitGame.cs index 0dea6d2..f5cdf80 100644 --- a/Classic/scripts/LakRabbitGame.cs +++ b/Classic/scripts/LakRabbitGame.cs @@ -457,94 +457,106 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am %sound = %defaultSound; } - %tgPos = %targetObject.getPosition(); - %terrHeight = getTerrainHeight(getWords(%tgPos,0,1)); - %playerHeight = mAbs(getWord(%tgPos,2) - %terrHeight); + if(%targetObject.holdingFlag) + { + %tgPos = %targetObject.getPosition(); + %terrHeight = getTerrainHeight(getWords(%tgPos,0,1)); + %playerHeight = mAbs(getWord(%tgPos,2) - %terrHeight); + } - // special knockback if you hit too close, max 15% chance (point blank).. 5% at 30meters, 1% chance for any MA + if(%targetObject.holdingFlag && %playerHeight >= 100) + { + // tr2 style flag drop.. it does kill the rabbit - // Slap based on a Disc headshot - //%chance = mFloor(25 - %distance/3); - //if(%ma && getRandom(1,50) <= %chance && %targetObject.client.headshot) + %chance = mFloor(20 - %distance/%playerHeight); + if(%chance <= 0) %chance = 1; + if(%ma && getRandom(1,100) <= %chance) + { + Game.playerDroppedFlag(%targetObject); - //Normal Slap - %chance = mFloor(15 - %distance/3); - if(%chance <= 0) %chance = 1; - - if(%ma && getRandom(1,100) <= %chance) + %position = %targetObject.getPosition(); + %count = 40; + %ttl = 60000; + %player = %targetObject; + if( %position $= "" ) { - if(%targetObject.holdingFlag) - { - Game.playerDroppedFlag(%targetObject); - //Added so cloak is turned off when slapped. - %targetObject.setCloaked(false); - %targetObject.freeDJ = 1; - } - if(%sourceObject.holdingFlag && Game.duelMode) - { - duelBonus(%sourceObject.client); - $LakDamaged[%targetObject.client] = 0; - } - - // lower damage and make invincible to ground damage to make it a little more fun - %amount = 0.01; - %targetObject.setKnockback(true); - %targetObject.schedule(15000, "setKnockback", false); - - %p = %targetObject.getWorldBoxCenter(); - %muzzleVec = %sourceObject.getMuzzleVector(0); - %impulseVec = VectorScale(%muzzleVec, 25000); - %targetObject.applyImpulse(%p, %impulseVec); - %sound = '~wfx/misc/slapshot.wav'; - - %slapmsg = getRandom(1,3); - switch$(%slapmsg) - { - case 1: - messageAll('msgSlapmessage','\c0%1 wonders what the five fingers said to the face.', %targetObject.client.name ); - case 2: - messageAll('msgSlapmessage','\c0%1 gets slapped the heck out!', %targetObject.client.name ); - case 3: - messageAll('msgSlapmessage','\c0%1 is taking a short tour around the map.', %targetObject.client.name ); - } + error("No position passed!"); + return 0; } - else if(%ma && getRandom(1,35) <= %chance && %playerHeight >= 100 && %targetObject.holdingFlag) + if( %count <= 0 ) { - - Game.playerDroppedFlag(%targetObject); - - %position = %targetObject.getPosition(); - %count = 40; - %ttl = 60000; - %player = %targetObject; - if( %position $= "" ) - { - error("No position passed!"); - return 0; - } - if( %count <= 0 ) - { - error("Number of flags to spew must be greater than 0!"); - return 0; - } - - %flagArr[0] = LakFakeFlag8; - %flagArr[1] = LakFakeFlag2; - %flagArr[2] = LakFakeFlag4; - - while( %count > 0 ) - { - %index = mFloor(getRandom() * 3); - // throwDummyFlag(location, Datablock); - LakRabbitGame::throwDummyFlag(%position, %flagArr[%index], %player, %ttl); - %count--; - } - - %targetObject.blowup(); - %targetObject.scriptKill($DamageType::Explosion); - %sound = '~wfx/misc/MA1.wav'; + error("Number of flags to spew must be greater than 0!"); + return 0; } + + %flagArr[0] = LakFakeFlag8; + %flagArr[1] = LakFakeFlag2; + %flagArr[2] = LakFakeFlag4; + + while( %count > 0 ) + { + %index = mFloor(getRandom() * 3); + // throwDummyFlag(location, Datablock); + LakRabbitGame::throwDummyFlag(%position, %flagArr[%index], %player, %ttl); + %count--; + } + + %targetObject.blowup(); + %targetObject.scriptKill($DamageType::Explosion); + %sound = '~wfx/misc/MA1.wav'; + } + } + else + { + // special knockback if you hit too close, max 15% chance (point blank).. 5% at 30meters, 1% chance for any MA + + // Slap based on a Disc headshot + //%chance = mFloor(25 - %distance/3); + //if(%ma && getRandom(1,50) <= %chance && %targetObject.client.headshot) + + //Normal Slap + %chance = mFloor(15 - %distance/3); + if(%chance <= 0) %chance = 1; + + if(%ma && getRandom(1,100) <= %chance) + { + if(%targetObject.holdingFlag) + { + Game.playerDroppedFlag(%targetObject); + //Added so cloak is turned off when slapped. + %targetObject.setCloaked(false); + %targetObject.freeDJ = 1; + } + if(%sourceObject.holdingFlag && Game.duelMode) + { + duelBonus(%sourceObject.client); + $LakDamaged[%targetObject.client] = 0; + } + + // lower damage and make invincible to ground damage to make it a little more fun + %amount = 0.01; + %targetObject.setKnockback(true); + %targetObject.schedule(15000, "setKnockback", false); + + %p = %targetObject.getWorldBoxCenter(); + %muzzleVec = %sourceObject.getMuzzleVector(0); + %impulseVec = VectorScale(%muzzleVec, 25000); + %targetObject.applyImpulse(%p, %impulseVec); + %sound = '~wfx/misc/slapshot.wav'; + + %slapmsg = getRandom(1,3); + switch$(%slapmsg) + { + case 1: + messageAll('msgSlapmessage','\c0%1 wonders what the five fingers said to the face.', %targetObject.client.name ); + case 2: + messageAll('msgSlapmessage','\c0%1 gets slapped the heck out!', %targetObject.client.name ); + case 3: + messageAll('msgSlapmessage','\c0%1 is taking a short tour around the map.', %targetObject.client.name ); + } + } + } %weapon = "Disc"; case $DamageType::Grenade: if($lastObjExplode.isHandNade) //Hand grenades @@ -2757,7 +2769,7 @@ function LakRabbitGame::throwDummyFlag(%position, %datablock, %player, %ttl) %droppedflag.applyImpulse(%pos, %vec); - %droppedFlag.die = schedule(getrandom(1500,3500), 0, "removeLakFakeFlag", %droppedflag); + %droppedFlag.die = schedule(getrandom(1500,5500), 0, "removeLakFakeFlag", %droppedflag); } function removeLakFakeFlag(%flag) From e99b0131834fd818da39fbce6ae21ecb201615b1 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Fri, 5 Dec 2025 16:48:41 -0500 Subject: [PATCH 58/60] Update TacoOverrides.cs Treat all vehicles the same --- Classic/scripts/autoexec/TacoOverrides.cs | 30 ++++++----------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/Classic/scripts/autoexec/TacoOverrides.cs b/Classic/scripts/autoexec/TacoOverrides.cs index 0e8fb6e..d5840ef 100644 --- a/Classic/scripts/autoexec/TacoOverrides.cs +++ b/Classic/scripts/autoexec/TacoOverrides.cs @@ -57,7 +57,7 @@ function VehicleData::onDestroyed(%data, %obj, %prevState) %zVel = (getRandom() * 100.0) + 50.0; %flingVel = %xVel @ " " @ %yVel @ " " @ %zVel; %flingee.applyImpulse(%flingee.getTransform(), %flingVel); - echo("got player..." @ %flingee.getClassName()); + //echo("got player..." @ %flingee.getClassName()); %flingee.damage(0, %obj.getPosition(), 0.4, $DamageType::Crash); } } @@ -70,29 +70,13 @@ function VehicleData::onDestroyed(%data, %obj, %prevState) %data.deleteAllMounted(%obj); // ----------------------------------------------------------------------------------------- // z0dd - ZOD - Czar, 6/24/02. Move this vehicle out of the way so nothing collides with it. - if(%data.getName() $="AssaultVehicle") - { - // %obj.setFrozenState(true); - %obj.schedule(500, "delete"); //was 2000 - //%data.schedule(500, 'onAvoidCollisions', %obj); + %obj.setFrozenState(true); + %obj.schedule(2000, "delete"); //was 500 + %data.schedule(500, 'onAvoidCollisions', %obj); - //Transfer the vehicle far away - %obj.schedule(128, "setPosition", vectorAdd(%obj.getPosition(), "40 -27 10000")); //Lowered: was 500 - } - else if(%data.getName() $="BomberFlyer" || %data.getName() $="MobileBaseVehicle") - { - // %obj.setFrozenState(true); - %obj.schedule(2000, "delete"); //was 2000 - //%data.schedule(500, 'onAvoidCollisions', %obj); + //Transfer the vehicle far away + %obj.schedule(128, "setPosition", vectorAdd(%obj.getPosition(), "40 -27 10000")); //Lowered: was 500 - //Transfer the vehicle far away - %obj.schedule(128, "setPosition", vectorAdd(%obj.getPosition(), "40 -27 10000")); //Lowered: was 500 - } - else - { - %obj.setFrozenState(true); - %obj.schedule(500, "delete"); //was 500 - } // ----------------------------------------------------------------------------------------- } @@ -422,4 +406,4 @@ if (!isActivePackage(TacoOverrides)) // %z = getWord(%impulseVec, 2) / %data.mass; // %vel = %x SPC %y SPC %z; // %this.setVelocity(vectorAdd(%this.getVelocity(), %vel)); -// } \ No newline at end of file +// } From 47e19322791fd973808cc650852080fd208d5226 Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Mon, 15 Dec 2025 12:43:12 -0500 Subject: [PATCH 59/60] TotalTeamPlayerCount fix Improper team count for lakrabbit which effects things like setnextmission votes --- Classic/scripts/autoexec/TeamManagement.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classic/scripts/autoexec/TeamManagement.cs b/Classic/scripts/autoexec/TeamManagement.cs index 8785f05..5862199 100644 --- a/Classic/scripts/autoexec/TeamManagement.cs +++ b/Classic/scripts/autoexec/TeamManagement.cs @@ -42,7 +42,7 @@ function GetTeamCounts(%game) if($countdownStarted && $MatchStarted) { //Variables - $TotalTeamPlayerCount = $TeamRank[1, count] + $TeamRank[2, count]; + $TotalTeamPlayerCount = (Game.class $= "LakRabbitGame") ? $TeamRank[0, count] : ($TeamRank[1, count] + $TeamRank[2, count]); $AllPlayerCount = $HostGamePlayerCount; //Observers From 74ed8c8cdee8a798833fcf2ad5d6786ecb7a335b Mon Sep 17 00:00:00 2001 From: ChocoTaco1 Date: Mon, 5 Jan 2026 15:57:01 -0500 Subject: [PATCH 60/60] Added LCTF --- Classic/scripts/inventory.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classic/scripts/inventory.cs b/Classic/scripts/inventory.cs index 1093efd..5dbac31 100644 --- a/Classic/scripts/inventory.cs +++ b/Classic/scripts/inventory.cs @@ -445,7 +445,7 @@ function ShapeBase::throwObject(%this,%obj) { %obj.static = false; // z0dd - ZOD - SquirrelOfDeath, 10/02/02. Hack for flag collision bug. - if(Game.Class $= CTFGame || Game.Class $= PracticeCTFGame || Game.Class $= SCtFGame) + if(Game.Class $= CTFGame || Game.Class $= PracticeCTFGame || Game.Class $= SCtFGame || Game.Class $= LCTFGame) %obj.searchSchedule = Game.schedule(10, "startFlagCollisionSearch", %obj); } //------------------------------------------------------------------