Update zDarkTigerStats.cs

This commit is contained in:
ChocoTaco1 2020-09-02 20:23:52 -04:00
parent 0e05187229
commit b50e27bd7e

View file

@ -134,9 +134,19 @@
// //
// 7.3 // 7.3
// Stat fixes to do copy paste mistakes // Stat fixes to do copy paste mistakes
//
// 7.35
// Mine Disc Kill Stat
// Some extra lightning stats
// Stat name and rename fixes
// Fixed pixel margin on LMB and LB page
// clientDmgStats optimization and cleanup
// Score hud bug with viewing last month map stats
// Remove dtTurret stat unused
//
//-----------Settings------------ //-----------Settings------------
//Notes score ui width is 592 //Notes score ui width is 592
$dtStats::version = 7.2; $dtStats::version = 7.35;
//disable stats system restart required; //disable stats system restart required;
$dtStats::Enable = 1; $dtStats::Enable = 1;
//enable disable map stats //enable disable map stats
@ -183,7 +193,7 @@ $dtStats::quarter = 0;//-4
$dtStats::year = 0;// number of years $dtStats::year = 0;// number of years
$dtStats::expireMax = 90; $dtStats::expireMax = 90;
$dtStats::expireMin = 15; $dtStats::expireMin = 5;
// you gain extra days based on time played extra days = gameCount * expireFactor; // 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 // 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::expireFactor["CTFGame"] = 0.596; $dtStats::expireFactor["CTFGame"] = 0.596;
@ -578,8 +588,6 @@ $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "impactKills";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "impactDeaths"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "impactDeaths";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "groundKills"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "groundKills";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "groundDeaths"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "groundDeaths";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "dtTurretKills";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "dtTurretDeaths";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "plasmaTurretKills"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "plasmaTurretKills";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "plasmaTurretDeaths"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "plasmaTurretDeaths";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "aaTurretKills"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "aaTurretKills";
@ -676,6 +684,7 @@ $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "mortarDmgHits";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "laserHeadShot"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "laserHeadShot";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "shockRearShot"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "shockRearShot";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "minePlusDisc"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "minePlusDisc";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "minePlusDiscKill";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "shotsFired"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "shotsFired";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "totalMA"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "totalMA";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "totalTime"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "totalTime";
@ -705,6 +714,12 @@ $dtStats::FV[$dtStats::FC["Avg"]++,"Avg"] = "groundTime";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "EVKills"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "EVKills";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "EVDeaths"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "EVDeaths";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "lightningMAkills"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "lightningMAkills";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "lightningMAHits";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "lightningMAEVKills";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "EVHitWep";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "EVMAHit";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "totalWepDmg"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "totalWepDmg";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "timeTL"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "timeTL";
$dtStats::FV[$dtStats::FC["Avg"]++,"Avg"] = "timeTL"; $dtStats::FV[$dtStats::FC["Avg"]++,"Avg"] = "timeTL";
@ -1801,6 +1816,8 @@ package dtStats{
dtSaveServerVars(); dtSaveServerVars();
dtScanForRepair(); dtScanForRepair();
$mapID::gameID = addNum($mapID::gameID,1); $mapID::gameID = addNum($mapID::gameID,1);
if($dtStats::debugEchos)
error("GAME ID" SPC $mapID::gameID SPC "//////////////////////////////");
export( "$mapID::*", "serverStats/mapIDList.cs", false ); export( "$mapID::*", "serverStats/mapIDList.cs", false );
} }
} }
@ -3684,7 +3701,7 @@ function dtStatsMissionDropReady(%game, %client){ // called when client has fini
} }
} }
function dtStatsClientLeaveGame(%client){ function dtStatsClientLeaveGame(%client){
if(isObject(Game) && $CurrentMission !$= "" && $missionRunning){// if they dc during game over dont count it if(isGameRun()){// if they dc during game over dont count it
$dtServer::mapDisconnects[cleanMapName($CurrentMission),Game.class]++; $dtServer::mapDisconnects[cleanMapName($CurrentMission),Game.class]++;
if(%client.score != 0) if(%client.score != 0)
$dtServer::mapDisconnectsScore[cleanMapName($CurrentMission),Game.class]++; $dtServer::mapDisconnectsScore[cleanMapName($CurrentMission),Game.class]++;
@ -5052,6 +5069,7 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d
%damageType == $DamageType::Suicide ){ %damageType == $DamageType::Suicide ){
if((getSimTime() - %clVictim.lastHitTime) < 3000) if((getSimTime() - %clVictim.lastHitTime) < 3000)
%clKiller = %clVictim.lastHitBy; %clKiller = %clVictim.lastHitBy;
%clVictim.lastHitBy = 0;
} }
else if(!isObject(%clKiller) && isObject(%implement)){ else if(!isObject(%clKiller) && isObject(%implement)){
if(%damageType == $DamageType::IndoorDepTurret || %damageLocation == $DamageType::OutdoorDepTurret){ if(%damageType == $DamageType::IndoorDepTurret || %damageLocation == $DamageType::OutdoorDepTurret){
@ -5162,13 +5180,13 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d
%rvel = %dis = 0; %rvel = %dis = 0;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
if(%clVictim.EVDamageType && %clVictim.EVDamageType != %damageType && (getSimTime() - %clVictim.EVDamagetime) < 3000){ // they were hit by something befor they were killed if(%clVictim.EVDamageType && %clVictim.EVDamageType != %damageType){ // they were hit by something befor they were killed
%killerDT.EVKillsWep++; %killerDT.EVKillsWep++;
%victimDT.EVDeathsWep++; %victimDT.EVDeathsWep++;
if(rayTest(%clVictim.player, $dtStats::midAirHeight)){ if(rayTest(%clVictim.player, $dtStats::midAirHeight)){
if(%clVictim.EVDamageType == $DamageType::Lightning){ if(%clVictim.EVDamageType == $DamageType::Lightning && (getSimTime() - %clVictim.EVDamagetime) < 3000){
%killerDT.lightningMAkills++; %killerDT.lightningMAkills++;
%clKiller.dtMessage("Lightning MidAir","fx/Bonuses/down_perppass3_bunnybump.wav"); %clKiller.dtMessage("Lightning MidAir Kill","fx/misc/MA2.wav",1);
} }
else else
%killerDT.EVMA++; %killerDT.EVMA++;
@ -5201,6 +5219,7 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d
if(%killerDT.discKillVV < %victimVel){%killerDT.discKillVV = %victimVel;} if(%killerDT.discKillVV < %victimVel){%killerDT.discKillVV = %victimVel;}
if(%killerDT.discKillSV < %clKiller.dtShotSpeed){%killerDT.discKillSV = %clKiller.dtShotSpeed;} if(%killerDT.discKillSV < %clKiller.dtShotSpeed){%killerDT.discKillSV = %clKiller.dtShotSpeed;}
if(%isCombo){%killerDT.discCom++;} if(%isCombo){%killerDT.discCom++;}
if(%clVictim.md == 1 && (getSimTime() - %clVictim.mdTime1) < 256){%killerDT.minePlusDiscKill++;}
if(%kcAir == 1 && %vcAir == 1){%killerDT.discKillAir++;%victimDT.discDeathAir++;%killerDT.discKillAirAir++;%victimDT.discDeathAirAir++;} if(%kcAir == 1 && %vcAir == 1){%killerDT.discKillAir++;%victimDT.discDeathAir++;%killerDT.discKillAirAir++;%victimDT.discDeathAirAir++;}
else if(%kcAir == 2 && %vcAir == 1){%killerDT.discKillAir++;%victimDT.discDeathAir++;%killerDT.discKillGroundAir++;%victimDT.discDeathGroundAir++;} else if(%kcAir == 2 && %vcAir == 1){%killerDT.discKillAir++;%victimDT.discDeathAir++;%killerDT.discKillGroundAir++;%victimDT.discDeathGroundAir++;}
@ -5306,6 +5325,7 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d
if(%killerDT.mineKillDist < %dis){%killerDT.mineKillDist = %dis;} if(%killerDT.mineKillDist < %dis){%killerDT.mineKillDist = %dis;}
if(%killerDT.mineKillVV < %victimVel){%killerDT.mineKillVV = %victimVel;} if(%killerDT.mineKillVV < %victimVel){%killerDT.mineKillVV = %victimVel;}
if(%isCombo){%killerDT.mineCom++;} if(%isCombo){%killerDT.mineCom++;}
if(%clVictim.md == 2 && (getSimTime() - %clVictim.mdTime2) < 256){%killerDT.minePlusDiscKill++;}
if(%kcAir == 1 && %vcAir == 1){%killerDT.mineKillAir++;%victimDT.mineDeathAir++;%killerDT.mineKillAirAir++;%victimDT.mineDeathAirAir++;} if(%kcAir == 1 && %vcAir == 1){%killerDT.mineKillAir++;%victimDT.mineDeathAir++;%killerDT.mineKillAirAir++;%victimDT.mineDeathAirAir++;}
else if(%kcAir == 2 && %vcAir == 1){%killerDT.mineKillAir++;%victimDT.mineDeathAir++;%killerDT.mineKillGroundAir++;%victimDT.mineDeathGroundAir++;} else if(%kcAir == 2 && %vcAir == 1){%killerDT.mineKillAir++;%victimDT.mineDeathAir++;%killerDT.mineKillGroundAir++;%victimDT.mineDeathGroundAir++;}
else if(%kcAir == 1 && %vcAir == 2){%killerDT.mineKillGround++;%victimDT.mineDeathGround++;%killerDT.mineKillAirGround++;%victimDT.mineDeathAirGround++;} else if(%kcAir == 1 && %vcAir == 2){%killerDT.mineKillGround++;%victimDT.mineDeathGround++;%killerDT.mineKillAirGround++;%victimDT.mineDeathAirGround++;}
@ -5321,7 +5341,7 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d
else if(%kcAir == 1 && %vcAir == 2){%killerDT.satchelKillGround++;%victimDT.satchelDeathGround++;%killerDT.satchelKillAirGround++;%victimDT.satchelDeathAirGround++;} else if(%kcAir == 1 && %vcAir == 2){%killerDT.satchelKillGround++;%victimDT.satchelDeathGround++;%killerDT.satchelKillAirGround++;%victimDT.satchelDeathAirGround++;}
else if(%kcAir == 2 && %vcAir == 2){%killerDT.satchelKillGround++;%victimDT.satchelDeathGround++;%killerDT.satchelKillGroundGround++; %victimDT.satchelDeathGroundGround++;} else if(%kcAir == 2 && %vcAir == 2){%killerDT.satchelKillGround++;%victimDT.satchelDeathGround++;%killerDT.satchelKillGroundGround++; %victimDT.satchelDeathGroundGround++;}
case $DamageType::Explosion: case $DamageType::Explosion:
if(%clKiller){%clVictim.lastHitBy = 0;%killerDT.explosionKills++;} if(%clKiller){%killerDT.explosionKills++;}
%victimDT.explosionDeaths++; %victimDT.explosionDeaths++;
case $DamageType::Impact: case $DamageType::Impact:
if(isObject(%clKiller.vehicleMounted)){ if(isObject(%clKiller.vehicleMounted)){
@ -5339,11 +5359,8 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d
%killerDT.impactKills++; %killerDT.impactKills++;
%victimDT.impactDeaths++; %victimDT.impactDeaths++;
case $DamageType::Ground: case $DamageType::Ground:
if(%clKiller){%clVictim.lastHitBy = 0;%killerDT.groundKills++;} if(%clKiller){%killerDT.groundKills++;}
%victimDT.groundDeaths++; %victimDT.groundDeaths++;
case $DamageType::Turret:
%killerDT.dtTurretKills++;
%victimDT.dtTurretDeaths++;
case $DamageType::PlasmaTurret: case $DamageType::PlasmaTurret:
%killerDT.plasmaTurretKills++; %killerDT.plasmaTurretKills++;
%victimDT.plasmaTurretDeaths++; %victimDT.plasmaTurretDeaths++;
@ -5369,10 +5386,10 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d
%killerDT.sentryTurretKills++; %killerDT.sentryTurretKills++;
%victimDT.sentryTurretDeaths++; %victimDT.sentryTurretDeaths++;
case $DamageType::OutOfBounds: case $DamageType::OutOfBounds:
if(%clKiller){%clVictim.lastHitBy = 0;%killerDT.outOfBoundKills++;} if(%clKiller){%killerDT.outOfBoundKills++;}
%victimDT.outOfBoundDeaths++; %victimDT.outOfBoundDeaths++;
case $DamageType::Lava: case $DamageType::Lava:
if(%clKiller){%clVictim.lastHitBy = 0;%killerDT.lavaKills++;} if(%clKiller){%killerDT.lavaKills++;}
%victimDT.lavaDeaths++; %victimDT.lavaDeaths++;
case $DamageType::ShrikeBlaster: case $DamageType::ShrikeBlaster:
%killerDT.shrikeBlasterKills++; %killerDT.shrikeBlasterKills++;
@ -5390,22 +5407,29 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d
%killerDT.tankMortarKills++; %killerDT.tankMortarKills++;
%victimDT.tankMortarDeaths++; %victimDT.tankMortarDeaths++;
case $DamageType::Lightning: case $DamageType::Lightning:
if(%clKiller){%clVictim.lastHitBy = 0;%killerDT.lightningKills++;} if(%clKiller){
%killerDT.lightningKills++;
if(%vcAir == 1 && (getSimTime() - %clVictim.lastHitTime) < 3000 && %clVictim.lastHitMA){
%killerDT.lightningMAEVKills++;
%killerDT.lightningMAkills++;
%clKiller.dtMessage("Lightning MidAir EV Kill","fx/misc/MA2.wav",1);
}
}
%victimDT.lightningDeaths++; %victimDT.lightningDeaths++;
case $DamageType::VehicleSpawn: case $DamageType::VehicleSpawn:
if(%clKiller){%clVictim.lastHitBy = 0;%killerDT.vehicleSpawnKills++;} if(%clKiller){%killerDT.vehicleSpawnKills++;}
%victimDT.vehicleSpawnDeaths++; %victimDT.vehicleSpawnDeaths++;
case $DamageType::ForceFieldPowerup: case $DamageType::ForceFieldPowerup:
if(%clKiller){%clVictim.lastHitBy = 0;%killerDT.forceFieldPowerUpKills++;} if(%clKiller){%killerDT.forceFieldPowerUpKills++;}
%victimDT.forceFieldPowerUpDeaths++; %victimDT.forceFieldPowerUpDeaths++;
case $DamageType::Crash: case $DamageType::Crash:
%killerDT.crashKills++; %killerDT.crashKills++;
%victimDT.crashDeaths++; %victimDT.crashDeaths++;
case $DamageType::NexusCamping: case $DamageType::NexusCamping:
if(%clKiller){%clVictim.lastHitBy = 0;%killerDT.nexusCampingKills++;} if(%clKiller){%killerDT.nexusCampingKills++;}
%victimDT.nexusCampingDeaths++; %victimDT.nexusCampingDeaths++;
case $DamageType::Suicide: case $DamageType::Suicide:
if(%clKiller){%clVictim.lastHitBy = 0;%killerDT.ctrlKKills++;} if(%clKiller){%killerDT.ctrlKKills++;}
//%victimDT.ctrlKKills++; //%victimDT.ctrlKKills++;
} }
} }
@ -5466,10 +5490,14 @@ function chainKill(%clKiller,%killerDT){
} }
%killerDT.chainKill++; %killerDT.chainKill++;
} }
function GameConnection::dtMessage(%this,%message,%sfx){ function GameConnection::dtMessage(%this,%message,%sfx,%bypass){
if(!%this.isAIControlled()){ if(!%this.isAIControlled()){
%diff = getSimTime() - %this.dtLastMessage; %diff = getSimTime() - %this.dtLastMessage;
if(%sfx !$= "" && %diff > 32){// limits sound spam if(%sfx !$= "" && %bypass){
%this.dtLastMessage = getSimTime();
messageClient(%this,'MsgClient', "\c2" @ %message @ "~w" @ %sfx);
}
else if(%sfx !$= "" && %diff > 256){// limits sound spam
%this.dtLastMessage = getSimTime(); %this.dtLastMessage = getSimTime();
messageClient(%this,'MsgClient', "\c2" @ %message @ "~w" @ %sfx); messageClient(%this,'MsgClient', "\c2" @ %message @ "~w" @ %sfx);
} }
@ -5531,7 +5559,6 @@ function testHit(%client){
return 0; return 0;
} }
function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageType,%amount){ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageType,%amount){
//------------------------------------------------------------------------------
if(%damageType == $DamageType::Explosion || %damageType == $DamageType::Ground || if(%damageType == $DamageType::Explosion || %damageType == $DamageType::Ground ||
%damageType == $DamageType::OutOfBounds || %damageType == $DamageType::Lava || %damageType == $DamageType::OutOfBounds || %damageType == $DamageType::Lava ||
%damageType == $DamageType::VehicleSpawn || %damageType == $DamageType::ForceFieldPowerup || %damageType == $DamageType::VehicleSpawn || %damageType == $DamageType::ForceFieldPowerup ||
@ -5543,47 +5570,61 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
return; return;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
if(%amount > 0){ if(%amount > 0 && %damageType > 0){
%t = %s = 0;
if(isObject(%sourceObject)){ if(isObject(%sourceObject)){
if(%sourceObject.getClassName() !$= "Player"){%sourceClient = %sourceObject.getControllingClient();} %sourceClass = %sourceObject.getClassName();
else{%sourceClient = %sourceObject.client;} if(%sourceClass $= "Player"){
%sourceClient = %sourceObject.client;
%sourceDT = %sourceClient.dtStats; %sourceDT = %sourceClient.dtStats;
if(%sourceObject.getClassName() $= "Player")
%aoeHIT = testHit(%sourceClient); %aoeHIT = testHit(%sourceClient);
else %sv = mFloor(vectorLen(%sourceObject.getVelocity()) * 3.6);
}
else if(%sourceClass $= "Turret" || %sourceClass $= "FlyingVehicle" || %sourceClass $= "HoverVehicle" || %sourceClass $= "WheeledVehicle"){
%sourceClient = %sourceObject.getControllingClient();
%sourceDT = %sourceClient.dtStats;
%aoeHIT = 0; %aoeHIT = 0;
} }
else{
%aoeHIT = 0;
}
}
if(isObject(%targetObject)){ if(isObject(%targetObject)){
if(%targetObject.getClassName() !$= "Player"){%targetClient = %targetObject.getControllingClient();%objHit = 1;} %targetClass = %targetObject.getClassName();
else{%targetClient = %targetObject.client;%objHit = 0;} if(%targetClass $= "Player"){
%targetClient = %targetObject.client;
%targetDT = %targetClient.dtStats; %targetDT = %targetClient.dtStats;
}
//------------------------------------------------------------------------------
if(%damageType > 0 && %sourceObject != %targetObject){
%vv = mFloor(vectorLen(%targetObject.getVelocity()) * 3.6); %vv = mFloor(vectorLen(%targetObject.getVelocity()) * 3.6);
%sv = mFloor(vectorLen(%sourceObject.getVelocity()) * 3.6); if(%sourceClass $= "Player" && %targetClient.team != %sourceClient.team && %sourceObject != %targetObject){
if(%targetClient && %targetClient.team != %sourceClient.team){ %dis = vectorDist(%targetObject.getPosition(),%sourceObject.getPosition());
%targetClient.lastHitBy = %sourceClient; %targetObject.dtPlayer = %targetObject.player;
%targetClient.lastHitTime = getSimTime();
//------------------------------------------------------------------------------
if(!%targetObject.hitBy[%sourceClient]){
%sourceDT.assist++;
%targetObject.hitBy[%sourceClient] = 1;
}
//------------------------------------------------------------------------------
if(!%targetObject.combo[%sourceClient,%damageType]){ if(!%targetObject.combo[%sourceClient,%damageType]){
%targetObject.combo[%sourceClient,%damageType] = 1; %targetObject.combo[%sourceClient,%damageType] = 1;
%sourceClient.player.combo[%targetObject]++; %sourceClient.player.combo[%targetObject]++;
} }
//------------------------------------------------------------------------------
}
if(%targetClient && isObject(%sourceClient.player))
%dis = vectorDist(%targetObject.getPosition(),%sourceClient.player.getPosition());
//------------------------------------------------------------------------------ if(!%targetObject.hitBy[%sourceClient]){
if(%targetObject.getClassName() $= "Player"){ %sourceDT.assist++;
%targetObject.hitBy[%sourceClient] = 1;
}
%targetClient.lastHitBy = %sourceClient;
%targetClient.lastHitTime = getSimTime();
if(%targetClient.EVDamageType && %targetClient.EVDamageType != %damageType){ // they were hit by something befor they were killed
%sourceDT.EVHitWep++;
if(rayTest(%targetClient.player, $dtStats::midAirHeight) && %damageType != $DamageType::Bullet){
if(%targetClient.EVDamageType == $DamageType::Lightning && (getSimTime() - %targetClient.EVDamagetime) < 3000){
%sourceDT.lightningMAHits++;
%sourceClient.dtMessage("Lightning MidAir Hit","fx/Bonuses/down_perppass3_bunnybump.wav",0);
}
else
%sourceDT.EVMAHit++;
}
if((getSimTime() - %targetClient.EVDamagetime) > 3000){
%targetClient.EVDamageType = 0;
}
}
%dmgL = %targetObject.getDamageLocation(%position); %dmgL = %targetObject.getDamageLocation(%position);
switch$(getWord(%dmgL,0)){ switch$(getWord(%dmgL,0)){
case "legs": %sourceDT.hitLegs++;%targetDT.hitTakenLegs++; case "legs": %sourceDT.hitLegs++;%targetDT.hitTakenLegs++;
@ -5608,13 +5649,15 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
case "left_middle":%sourceDT.hitHeadLeft++; %targetDT.hitTakenHeadLeft++; case "left_middle":%sourceDT.hitHeadLeft++; %targetDT.hitTakenHeadLeft++;
} }
} }
}
//------------------------------------------------------------------------------
%rayTest = rayTestDis(%targetObject); %rayTest = rayTestDis(%targetObject);
if(%rayTest >= $dtStats::midAirHeight && %damageType != $DamageType::Bullet){ if(%rayTest >= $dtStats::midAirHeight && %damageType != $DamageType::Bullet){
if(%sourceDT.maHitDist < %dis){%sourceDT.maHitDist = %dis;} if(%sourceDT.maHitDist < %dis){%sourceDT.maHitDist = %dis;}
if(%sourceDT.maHitHeight < %rayTest){%sourceDT.maHitHeight = %rayTest;} if(%sourceDT.maHitHeight < %rayTest){%sourceDT.maHitHeight = %rayTest;}
if(%sourceDT.maHitSV < %sv){%sourceDT.maHitSV = %sv;} if(%sourceDT.maHitSV < %sv){%sourceDT.maHitSV = %sv;}
%targetClient.lastHitMA = 1;
}
else{
%targetClient.lastHitMA = 0;
} }
switch$(%damageType){// list of all damage types to track see damageTypes.cs switch$(%damageType){// list of all damage types to track see damageTypes.cs
case $DamageType::Blaster: case $DamageType::Blaster:
@ -5803,6 +5846,63 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
} }
} }
} }
else if(%targetClass $= "Turret" || %targetClass $= "FlyingVehicle" || %targetClass $= "HoverVehicle" || %targetClass $= "WheeledVehicle"){
%targetClient = %targetObject.getControllingClient();
%targetDT = %targetClient.dtStats;
if(%sourceClass $= "Player"){
switch$(%damageType){// list of all damage types to track see damageTypes.cs
case $DamageType::Blaster:
%sourceDT.blasterHits++;
%sourceDT.blasterACC = (%sourceDT.blasterHits / (%sourceDT.blasterShotsFired ? %sourceDT.blasterShotsFired : 1)) * 100;
case $DamageType::Plasma:
if(%aoeHIT){%sourceDT.plasmaHits++;%sourceDT.plasmaDmgHits++;}
else{%sourceDT.plasmaDmgHits++;}
%sourceDT.plasmaACC = (%sourceDT.plasmaHits / (%sourceDT.plasmaShotsFired ? %sourceDT.plasmaShotsFired : 1)) * 100;
%sourceDT.plasmaDmgACC = (%sourceDT.plasmaDmgHits / (%sourceDT.plasmaShotsFired ? %sourceDT.plasmaShotsFired : 1)) * 100;
case $DamageType::Bullet:
%sourceDT.cgHits++;
%sourceDT.cgACC = (%sourceDT.cgHits / (%sourceDT.cgShotsFired ? %sourceDT.cgShotsFired : 1)) * 100;
case $DamageType::Disc:
if(%aoeHIT){%sourceDT.discHits++;%sourceDT.discDmgHits++;}
else{%sourceDT.discDmgHits++;}
%sourceDT.discACC = (%sourceDT.discHits / (%sourceDT.discShotsFired ? %sourceDT.discShotsFired : 1)) * 100;
%sourceDT.discDmgACC = (%sourceDT.discDmgHits / (%sourceDT.discShotsFired ? %sourceDT.discShotsFired : 1)) * 100;
case $DamageType::Grenade:
if($dtObjExplode.dtNade){
%sourceDT.hGrenadeHits++;
%sourceDT.hGrenadeACC = (%sourceDT.hGrenadeHits / (%sourceDT.hGrenadeShotsFired ? %sourceDT.hGrenadeShotsFired : 1)) * 100;
}
else{
if(%aoeHIT){%sourceDT.grenadeHits++;%sourceDT.grenadeDmgHits++;}
else{%sourceDT.grenadeDmgHits++;}
%sourceDT.grenadeACC = (%sourceDT.grenadeHits / (%sourceDT.grenadeShotsFired ? %sourceDT.grenadeShotsFired : 1)) * 100;
%sourceDT.grenadeDmgACC = (%sourceDT.grenadeDmgHits / (%sourceDT.grenadeShotsFired ? %sourceDT.grenadeShotsFired : 1)) * 100;
}
case $DamageType::Laser:
%sourceDT.laserHits++;
%sourceDT.laserACC = (%sourceDT.laserHits / (%sourceDT.laserShotsFired ? %sourceDT.laserShotsFired : 1)) * 100;
case $DamageType::Mortar:
if(%aoeHIT){%sourceDT.mortarHits++;%sourceDT.mortarDmgHits++;}
else{%sourceDT.mortarDmgHits++;}
%sourceDT.mortarACC = (%sourceDT.mortarHits / (%sourceDT.mortarShotsFired ? %sourceDT.mortarShotsFired : 1)) * 100;
%sourceDT.mortarDmgACC = (%sourceDT.mortarDmgHits / (%sourceDT.mortarShotsFired ? %sourceDT.mortarShotsFired : 1)) * 100;
case $DamageType::Missile:
%sourceDT.missileHits++;
%sourceDT.missileACC = (%sourceDT.missileHits / (%sourceDT.missileShotsFired ? %sourceDT.missileShotsFired : 1)) * 100;
case $DamageType::ShockLance:
%sourceDT.shockHits++;
%sourceDT.shockACC = (%sourceDT.shockHits / (%sourceDT.shockShotsFired ? %sourceDT.shockShotsFired : 1)) * 100;
case $DamageType::Mine:
%sourceDT.mineHits++;
%sourceDT.mineACC = (%sourceDT.mineHits / (%sourceDT.mineShotsFired ? %sourceDT.mineShotsFired : 1)) * 100;
case $DamageType::SatchelCharge:
%sourceDT.satchelHits++;
%sourceDT.satchelACC = (%sourceDT.satchelHits / (%sourceDT.satchelShotsFired ? %sourceDT.satchelShotsFired : 1)) * 100;
}
}
}
}
}
} }
function clientShotsFired(%data, %sourceObject, %projectile){ // could do a fov check to see if we are trying to aim at a player function clientShotsFired(%data, %sourceObject, %projectile){ // could do a fov check to see if we are trying to aim at a player
if(isObject(%projectile) && isObject(%sourceObject)){ if(isObject(%projectile) && isObject(%sourceObject)){
@ -7771,7 +7871,7 @@ function statsMenu(%client,%game){
case "CTFGame": case "CTFGame":
%var1 = "scoreTG"; %var1Title = "Score Total:"; %var1Name = "Score Total"; %var1TypeName = "Total"; %var1 = "scoreTG"; %var1Title = "Score Total:"; %var1Name = "Score Total"; %var1TypeName = "Total";
%var2 = "scoreAVG"; %var2Title = "Score Avg:"; %var2Name = "Score Average "; %var2TypeName = "Average"; %var2 = "scoreAVG"; %var2Title = "Score Avg:"; %var2Name = "Score Average "; %var2TypeName = "Average";
%var3 = "scoreMax"; %var3Title = "Largest Score:"; %var3Name = "Largest Score"; %var3TypeName = "Max"; %var3 = "scoreMax"; %var3Title = "Highest Score:"; %var3Name = "Highest Score"; %var3TypeName = "Max";
%i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA; %i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA;
%i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA; %i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA;
%i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA; %i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA;
@ -7784,7 +7884,7 @@ function statsMenu(%client,%game){
%nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3; %nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3;
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3);
%var1 = "winLostPctAvg"; %var1Title = "Win Lost Ratio:"; %var1Name = "Win lost Average"; %var1TypeName = "Percentage"; %var1 = "winLostPctAvg"; %var1Title = "Win Lost Ratio:"; %var1Name = "Win lost Ratio Average"; %var1TypeName = "Ratio";
%var2 = "defenseScoreTG"; %var2Title = "Defense Score:"; %var2Name = "Defense Score"; %var2TypeName = "Total"; %var2 = "defenseScoreTG"; %var2Title = "Defense Score:"; %var2Name = "Defense Score"; %var2TypeName = "Total";
%var3 = "offenseScoreTG"; %var3Title = "Offense Score:"; %var3Name = "Offense Score"; %var3TypeName = "Total"; %var3 = "offenseScoreTG"; %var3Title = "Offense Score:"; %var3Name = "Offense Score"; %var3TypeName = "Total";
%i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA; %i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA;
@ -7934,7 +8034,7 @@ function statsMenu(%client,%game){
%nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3; %nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3;
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3);
%var1 = "destructionTG"; %var1Title = "Destroys:"; %var1Name = "Destroys"; %var1TypeName = "Total"; %var1 = "destructionTG"; %var1Title = "Assets Destroyed:"; %var1Name = "Assets Destroyed"; %var1TypeName = "Total";
%var2 = "repairsTG"; %var2Title = "Repairs:"; %var2Name = "Repairs"; %var2TypeName = "Total"; %var2 = "repairsTG"; %var2Title = "Repairs:"; %var2Name = "Repairs"; %var2TypeName = "Total";
%var3 = "repairpackpickupCountTTL"; %var3Title = "Repair Pack Grab:"; %var3Name = "Repair Pack Pickup"; %var3TypeName = "Total"; %var3 = "repairpackpickupCountTTL"; %var3Title = "Repair Pack Grab:"; %var3Name = "Repair Pack Pickup"; %var3TypeName = "Total";
%i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA; %i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA;
@ -7979,7 +8079,7 @@ function statsMenu(%client,%game){
%nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3; %nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3;
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3);
//15 //15
%var1 = "totalTimeTG"; %var1Title = "Time Played:"; %var1Name = "Time Played"; %var1TypeName = "Minutes"; %var1 = "totalTimeTG"; %var1Title = "Server Time:"; %var1Name = "Total Server Time"; %var1TypeName = "Minutes";
%var2 = "timeTLAvg"; %var2Title = "Avg Lifetime:"; %var2Name = "Average Lifetime"; %var2TypeName = "Seconds"; %var2 = "timeTLAvg"; %var2Title = "Avg Lifetime:"; %var2Name = "Average Lifetime"; %var2TypeName = "Seconds";
%var3 = "maxSpeedMax"; %var3Title = "Max Speed:"; %var3Name = "Highest Speed"; %var3TypeName = "Max"; %var3 = "maxSpeedMax"; %var3Title = "Max Speed:"; %var3Name = "Highest Speed"; %var3TypeName = "Max";
%i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA; %i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA;
@ -7997,7 +8097,7 @@ function statsMenu(%client,%game){
//1 //1
%var1 = "scoreTG"; %var1Title = "Score Total:"; %var1Name = "Score Total"; %var1TypeName = "Total"; %var1 = "scoreTG"; %var1Title = "Score Total:"; %var1Name = "Score Total"; %var1TypeName = "Total";
%var2 = "scoreAVG"; %var2Title = "Score Avg:"; %var2Name = "Score Average "; %var2TypeName = "Average"; %var2 = "scoreAVG"; %var2Title = "Score Avg:"; %var2Name = "Score Average "; %var2TypeName = "Average";
%var3 = "scoreMax"; %var3Title = "Largest Score:"; %var3Name = "Largest Score"; %var3TypeName = "Max"; %var3 = "scoreMax"; %var3Title = "Highest Score:"; %var3Name = "Highest Score"; %var3TypeName = "Max";
%i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA; %i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA;
%i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA; %i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA;
%i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA; %i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA;
@ -8209,7 +8309,7 @@ function statsMenu(%client,%game){
//2 //2
%var1 = "scoreTG"; %var1Title = "Score Total:"; %var1Name = "Score Total"; %var1TypeName = "Total"; %var1 = "scoreTG"; %var1Title = "Score Total:"; %var1Name = "Score Total"; %var1TypeName = "Total";
%var2 = "scoreAVG"; %var2Title = "Score Avg:"; %var2Name = "Score Average "; %var2TypeName = "Average"; %var2 = "scoreAVG"; %var2Title = "Score Avg:"; %var2Name = "Score Average "; %var2TypeName = "Average";
%var3 = "scoreMax"; %var3Title = "Largest Score:"; %var3Name = "Largest Score"; %var3TypeName = "Max"; %var3 = "scoreMax"; %var3Title = "Highest Score:"; %var3Name = "Highest Score"; %var3TypeName = "Max";
%i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA; %i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA;
%i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA; %i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA;
%i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA; %i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA;
@ -8391,7 +8491,7 @@ function statsMenu(%client,%game){
//1 //1
%var1 = "scoreTG"; %var1Title = "Score Total:"; %var1Name = "Score Total"; %var1TypeName = "Total"; %var1 = "scoreTG"; %var1Title = "Score Total:"; %var1Name = "Score Total"; %var1TypeName = "Total";
%var2 = "scoreAVG"; %var2Title = "Score Avg:"; %var2Name = "Score Average "; %var2TypeName = "Average"; %var2 = "scoreAVG"; %var2Title = "Score Avg:"; %var2Name = "Score Average "; %var2TypeName = "Average";
%var3 = "scoreMax"; %var3Title = "Largest Score:"; %var3Name = "Largest Score"; %var3TypeName = "Max"; %var3 = "scoreMax"; %var3Title = "Highest Score:"; %var3Name = "Highest Score"; %var3TypeName = "Max";
%i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA; %i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA;
%i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA; %i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA;
%i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA; %i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA;
@ -8613,9 +8713,9 @@ function statsMenu(%client,%game){
%nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3; %nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3;
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3);
%var1 = "totalWepDmgTG"; %var1Title = "Total Weapon Dmg:"; %var1Name = "Score Total"; %var1TypeName = "Total"; %var1 = "totalWepDmgTG"; %var1Title = "Tot Wep Damage:"; %var1Name = "Total Weapon Damage"; %var1TypeName = "Total";
%var2 = "shotsFiredTG"; %var2Title = "Rounds Fired:"; %var2Name = "Score Average "; %var2TypeName = "Total"; %var2 = "shotsFiredTG"; %var2Title = "Rounds Fired:"; %var2Name = "Rounds Fired"; %var2TypeName = "Total";
%var3 = "elfShotsFiredTG"; %var3Title = "ELF Usage:"; %var3Name = "Largest Score"; %var3TypeName = "Max"; %var3 = "elfShotsFiredTG"; %var3Title = "ELF Usage:"; %var3Name = "ELF Usage"; %var3TypeName = "Max";
%i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA; %i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA;
%i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA; %i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA;
%i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA; %i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA;
@ -8922,7 +9022,7 @@ function statsMenu(%client,%game){
%nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3; %nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3;
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,0,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3);
%var1 = "switchteamCountTTL"; %var1Title = "Switch Teams:"; %var1Name = "Switch Teams"; %var1TypeName = "Minutes"; %var1 = "switchteamCountTTL"; %var1Title = "Switch Teams:"; %var1Name = "Switch Teams"; %var1TypeName = "Total";
%var2 = "teamkillCountTTL"; %var2Title = "Team Kills:"; %var2Name = "Team Kills"; %var2TypeName = "Average"; %var2 = "teamkillCountTTL"; %var2Title = "Team Kills:"; %var2Name = "Team Kills"; %var2TypeName = "Average";
%var3 = "obstimeoutkickCountTTL"; %var3Title = "Observer kick:"; %var3Name = "Observer Timeout Kick"; %var3TypeName = "Max"; %var3 = "obstimeoutkickCountTTL"; %var3Title = "Observer kick:"; %var3Name = "Observer Timeout Kick"; %var3TypeName = "Max";
%i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA; %i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA;
@ -8984,7 +9084,7 @@ function statsMenu(%client,%game){
%var1 = "repairpackpickupCountTTL"; %var1Title = "Repair Pickup:"; %var1Name = "Repair Pickup"; %var1TypeName = "Total"; %var1 = "repairpackpickupCountTTL"; %var1Title = "Repair Pickup:"; %var1Name = "Repair Pickup"; %var1TypeName = "Total";
%var2 = "repairpackpickupEnemyTTL"; %var2Title = "Pickup Enemy:"; %var2Name = "Repair Pickup Enemy"; %var2TypeName = "Total"; %var2 = "repairpackpickupEnemyTTL"; %var2Title = "Pickup Enemy:"; %var2Name = "Repair Pickup Enemy"; %var2TypeName = "Total";
%var3 = "invyEatRepairPackTTL"; %var3Title = "Invy Eat:"; %var3Name = "Invy Eat Repair Pack"; %var3TypeName = "Total"; %var3 = "invyEatRepairPackTTL"; %var3Title = "Invy Eat:"; %var3Name = "Repair Packs Eaten"; %var3TypeName = "Total";
%i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA; %i1 = getField($lData::data[%var1,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var1,%client.lgame,%lType,%mon,%year],0) : %NA;
%i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA; %i2 = getField($lData::data[%var2,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var2,%client.lgame,%lType,%mon,%year],0) : %NA;
%i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA; %i3 = getField($lData::data[%var3,%client.lgame,%lType,%mon,%year],0) ? getField($lData::name[%var3,%client.lgame,%lType,%mon,%year],0) : %NA;
@ -9053,14 +9153,14 @@ function statsMenu(%client,%game){
messageClient( %client, 'SetScoreHudHeader', "", '<just:center>%2 (Top %1 Players)',$dtStats::topAmount, %name); messageClient( %client, 'SetScoreHudHeader', "", '<just:center>%2 (Top %1 Players)',$dtStats::topAmount, %name);
messageClient( %client, 'SetScoreHudSubheader', "", '<a:gamelink\tS\t%3\t%1\t%2> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a>',%vClient,%lType,%client.backPage); messageClient( %client, 'SetScoreHudSubheader', "", '<a:gamelink\tS\t%3\t%1\t%2> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a>',%vClient,%lType,%client.backPage);
%header = '<tab:0,24,225><color:0befe7>\t #. \t%1\t%2'; %header = '<tab:5,24,225><color:0befe7>\t#. \t%1\t%2';
messageClient( %client, 'SetLineHud', "", %tag, %index++, %header,%name,%fieldName); messageClient( %client, 'SetLineHud', "", %tag, %index++, %header,%name,%fieldName);
for(%i = 0; %i < getFieldCount($lData::data[%field,%client.lgame,%lType,%mon,%year]) && %i < $dtStats::topAmount; %i++){ for(%i = 0; %i < getFieldCount($lData::data[%field,%client.lgame,%lType,%mon,%year]) && %i < $dtStats::topAmount; %i++){
%scoreName = getField($lData::name[%field,%client.lgame,%lType,%mon,%year],%i); %scoreName = getField($lData::name[%field,%client.lgame,%lType,%mon,%year],%i);
%gameScore = getField($lData::data[%field,%client.lgame,%lType,%mon,%year],%i); %gameScore = getField($lData::data[%field,%client.lgame,%lType,%mon,%year],%i);
if(%scoreName !$= "NA"){ if(%scoreName !$= "NA"){
%gameScore = (strPos(%gameScore,"x") == -1) ? (mFloatLength(%gameScore,2) + 0) : %gameScore; %gameScore = (strPos(%gameScore,"x") == -1) ? (mFloatLength(%gameScore,2) + 0) : %gameScore;
%line = '<tab:0,24,225><font:univers condensed:18><color:33CCCC> \t%1. \t%2\t<color:03d597>%3'; %line = '<tab:5,24,225><font:univers condensed:18><color:33CCCC> \t%1. \t%2\t<color:03d597>%3';
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%i+1,%scoreName,%gameScore); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%i+1,%scoreName,%gameScore);
} }
else{ else{
@ -9079,14 +9179,14 @@ function statsMenu(%client,%game){
messageClient( %client, 'SetScoreHudHeader', "", '<just:center>%2 (Top %1 Players)',$dtStats::topAmount, %name); messageClient( %client, 'SetScoreHudHeader', "", '<just:center>%2 (Top %1 Players)',$dtStats::topAmount, %name);
messageClient( %client, 'SetScoreHudSubheader', "", '<a:gamelink\tS\tMap\t%1\t%2\t0> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a>',%vClient,%map); messageClient( %client, 'SetScoreHudSubheader', "", '<a:gamelink\tS\tMap\t%1\t%2\t0> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a>',%vClient,%map);
%header = '<tab:0,24,225><color:0befe7>\t #. \t%1\t%2'; %header = '<tab:5,24,225><color:0befe7>\t#. \t%1\t%2';
messageClient( %client, 'SetLineHud', "", %tag, %index++, %header,%name,%fieldName); messageClient( %client, 'SetLineHud', "", %tag, %index++, %header,%name,%fieldName);
for(%i = 0; %i < getFieldCount($lMapData::data[%map,%field,%client.lgame,%client.curMon]) && %i < $dtStats::topAmount; %i++){ for(%i = 0; %i < getFieldCount($lMapData::data[%map,%field,%client.lgame,%client.curMon]) && %i < $dtStats::topAmount; %i++){
%scoreName = getField($lMapData::name[%map,%field,%client.lgame,%client.curMon],%i); %scoreName = getField($lMapData::name[%map,%field,%client.lgame,%client.curMon],%i);
%gameScore = getField($lMapData::data[%map,%field,%client.lgame,%client.curMon],%i); %gameScore = getField($lMapData::data[%map,%field,%client.lgame,%client.curMon],%i);
if(%scoreName !$= "NA"){ if(%scoreName !$= "NA"){
%gameScore = (strPos(%gameScore,"x") == -1) ? (mFloatLength(%gameScore,2) + 0) : %gameScore; %gameScore = (strPos(%gameScore,"x") == -1) ? (mFloatLength(%gameScore,2) + 0) : %gameScore;
%line = '<tab:0,24,225><font:univers condensed:18><color:33CCCC> \t%1. \t%2\t<color:03d597>%3'; %line = '<tab:5,24,225><font:univers condensed:18><color:33CCCC> \t%1. \t%2\t<color:03d597>%3';
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%i+1,%scoreName,%gameScore); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%i+1,%scoreName,%gameScore);
} }
else{ else{
@ -9180,7 +9280,7 @@ function statsMenu(%client,%game){
%nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3; %nameTitle3 = "<color:0befe7>" @ %var3Title SPC "<color:03d597>" @ %i3;
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,%map,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%vClient,%map,%nameTitle1,%nameTitle2,%nameTitle3,%vsc1,%vsc2,%vsc3);
%var1 = "destructionTG"; %var1Title = "Destruction:"; %var1Name = "Destroyed Base Items"; %var1TypeName = "Total"; %var1 = "destructionTG"; %var1Title = "Assets Destroyed:"; %var1Name = "Assets Destroyed"; %var1TypeName = "Total";
%var2 = "repairsTG"; %var2Title = "Repairs:"; %var2Name = "Repaired Base Items"; %var2TypeName = "Total"; %var2 = "repairsTG"; %var2Title = "Repairs:"; %var2Name = "Repaired Base Items"; %var2TypeName = "Total";
%var3 = "genDefendsTG"; %var3Title = "Gen Defends:"; %var3Name = "Generator Defends"; %var3TypeName = "Total"; %var3 = "genDefendsTG"; %var3Title = "Gen Defends:"; %var3Name = "Generator Defends"; %var3TypeName = "Total";
%i1 = getField($lMapData::data[%map,%var1,%client.lgame,%client.curMon],0) ? getField($lMapData::name[%map,%var1,%client.lgame,%client.curMon],0) : %NA; %i1 = getField($lMapData::data[%map,%var1,%client.lgame,%client.curMon],0) ? getField($lMapData::name[%map,%var1,%client.lgame,%client.curMon],0) : %NA;
@ -10528,14 +10628,14 @@ function statsMenu(%client,%game){
%perPage = 14;// num of games listed per page %perPage = 14;// num of games listed per page
messageClient( %client, 'SetScoreHudHeader', "", "<just:center>Map List" SPC monthString(%client.curMon)); // messageClient( %client, 'SetScoreHudHeader', "", "<just:center>Map List" SPC monthString(%client.curMon));
if(%curMon + %lastMon == 2 && %client.curMon == $dtStats::curMonth){ if(%curMon + %lastMon == 2 && %client.curMon == $dtStats::curMonth){
%line = '<a:gamelink\tS\tView\t%1> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a> <just:right><a:gamelink\tS\tMAPLIST\t%1\t%2\t%3-%4> [View last month stats]</a>'; %line = '<a:gamelink\tS\tView\t%1> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a> <just:right><a:gamelink\tS\tMAPLIST\t%1\t%2\t%3-%4> [View last month stats]</a>';
messageClient( %client, 'SetLineHud', "", %tag, %index++,%line,%vClient,1, %client.lgame, %lMon); messageClient( %client, 'SetScoreHudSubheader', "", %line,%vClient,1, %client.lgame, %lMon);
} }
else if(%curMon + %lastMon == 2 && %client.curMon == %lMon){ else if(%curMon + %lastMon == 2 && %client.curMon == %lMon){
%line = '<a:gamelink\tS\tView\t%1> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a> <just:right><a:gamelink\tS\tMAPLIST\t%1\t%2\t%3-%4> [View current month stats]</a>'; %line = '<a:gamelink\tS\tView\t%1> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a> <just:right><a:gamelink\tS\tMAPLIST\t%1\t%2\t%3-%4> [View current month stats]</a>';
messageClient( %client, 'SetLineHud', "", %tag, %index++,%line,%vClient,1, %client.lgame, $dtStats::curMonth); messageClient( %client, 'SetScoreHudSubheader', "", %line,%vClient,1, %client.lgame, $dtStats::curMonth);
} }
else{ else{
%line = '<a:gamelink\tS\tView\t%1> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a> '; %line = '<a:gamelink\tS\tView\t%1> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a> ';
@ -11146,6 +11246,7 @@ function dtCleanUp(%force){
%gcPM = getField(%gameCountLine,5); %gcPM = getField(%gameCountLine,5);
%gc = (%gcCM > %gcPM) ? %gcCM : %gcPM; %gc = (%gcCM > %gcPM) ? %gcCM : %gcPM;
%extraDays = mCeil((%gc * $dtStats::expireFactor[%game]) + $dtStats::expireMin); %extraDays = mCeil((%gc * $dtStats::expireFactor[%game]) + $dtStats::expireMin);
//error(%extraDays SPC %dayCount);
if(%dayCount > %extraDays || %dayCount > $dtStats::expireMax){ if(%dayCount > %extraDays || %dayCount > $dtStats::expireMax){
if($dtStats::sm || %force){ if($dtStats::sm || %force){
if($dtStats::debugEchos){error("Deleting old file" SPC %dayCount SPC %extraDays SPC %filepath);} if($dtStats::debugEchos){error("Deleting old file" SPC %dayCount SPC %extraDays SPC %filepath);}