Update zDarkTigerStats.cs

This commit is contained in:
ChocoTaco1 2020-09-28 11:58:38 -04:00
parent cf0a58d05b
commit 6d8f1522dc

View file

@ -159,10 +159,18 @@
// Fixed killStreaks // Fixed killStreaks
// Fixed unused vars reset // Fixed unused vars reset
// //
// // 7.6
// Removed the cross check form mine disc, as the timer cross check is enough
// Converted kdr to decimal to better match website and is less confusing
// Commented out nexusCampingKills/Deaths as we currenlty dont support hunters
// Commented out server stat client crash, it will just echo to the console if it sees any
// Removed lockout schedule on chain kills, left the multi kill one in as its kind of nessaary in how it functions
// Renamed mid air distance vars to know at a glance how its tracking, Ex: instead of cgMaDist renamed to cgMAHitDist
// Fixed land spike turret stats
//-----------Settings------------ //-----------Settings------------
//Notes score ui width is 592 //Notes score ui width is 592
$dtStats::version = 7.5; $dtStats::version = 7.6;
//disable stats system //disable stats system
$dtStats::Enable = 1; $dtStats::Enable = 1;
//enable disable map stats //enable disable map stats
@ -387,8 +395,10 @@ $dtStats::FV[$dtStats::FC["CTFGame","TG"]++,"CTFGame","TG"] = "winCount";
$dtStats::FV[$dtStats::FC["CTFGame","TG"]++,"CTFGame","TG"] = "lossCount"; $dtStats::FV[$dtStats::FC["CTFGame","TG"]++,"CTFGame","TG"] = "lossCount";
$dtStats::FV[$dtStats::FC["CTFGame","TG"]++,"CTFGame","TG"] = "destruction"; $dtStats::FV[$dtStats::FC["CTFGame","TG"]++,"CTFGame","TG"] = "destruction";
$dtStats::FV[$dtStats::FC["CTFGame","Min"]++,"CTFGame","Min"] = "heldTimeSec"; $dtStats::FV[$dtStats::FC["CTFGame","Min"]++,"CTFGame","Min"] = "heldTimeSec";
$dtStats::FV[$dtStats::FC["CTFGame","Min"]++,"CTFGame","Min"] = "heldTimeSecLow";
$dtStats::FV[$dtStats::FC["CTFGame","AvgI"]++,"CTFGame","AvgI"] = "heldTimeSec"; $dtStats::FV[$dtStats::FC["CTFGame","AvgI"]++,"CTFGame","AvgI"] = "heldTimeSec";
$dtStats::FV[$dtStats::FC["CTFGame","Max"]++,"CTFGame","Max"] = "grabSpeed"; $dtStats::FV[$dtStats::FC["CTFGame","Max"]++,"CTFGame","Max"] = "grabSpeed";
$dtStats::FV[$dtStats::FC["CTFGame","Max"]++,"CTFGame","Max"] = "grabSpeedLow";
$dtStats::FV[$dtStats::FC["CTFGame","Avg"]++,"CTFGame","Avg"] = "grabSpeed"; $dtStats::FV[$dtStats::FC["CTFGame","Avg"]++,"CTFGame","Avg"] = "grabSpeed";
$dtStats::FV[$dtStats::FC["CTFGame","Avg"]++,"CTFGame","Avg"] = "capEfficiency"; $dtStats::FV[$dtStats::FC["CTFGame","Avg"]++,"CTFGame","Avg"] = "capEfficiency";
$dtStats::FV[$dtStats::FC["CTFGame","Avg"]++,"CTFGame","Avg"] = "winLostPct"; $dtStats::FV[$dtStats::FC["CTFGame","Avg"]++,"CTFGame","Avg"] = "winLostPct";
@ -485,8 +495,10 @@ $dtStats::FVG[$dtStats::FCG["SCtFGame","TG"]++,"SCtFGame","TG"] = "flagDefends";
$dtStats::FV[$dtStats::FC["SCtFGame","TG"]++,"SCtFGame","TG"] = "winCount";// in this script only $dtStats::FV[$dtStats::FC["SCtFGame","TG"]++,"SCtFGame","TG"] = "winCount";// in this script only
$dtStats::FV[$dtStats::FC["SCtFGame","TG"]++,"SCtFGame","TG"] = "lossCount"; $dtStats::FV[$dtStats::FC["SCtFGame","TG"]++,"SCtFGame","TG"] = "lossCount";
$dtStats::FV[$dtStats::FC["SCtFGame","Min"]++,"SCtFGame","Min"] = "heldTimeSec"; $dtStats::FV[$dtStats::FC["SCtFGame","Min"]++,"SCtFGame","Min"] = "heldTimeSec";
$dtStats::FV[$dtStats::FC["SCtFGame","Min"]++,"SCtFGame","Min"] = "heldTimeSecLow";
$dtStats::FV[$dtStats::FC["SCtFGame","AvgI"]++,"SCtFGame","AvgI"] = "heldTimeSec"; $dtStats::FV[$dtStats::FC["SCtFGame","AvgI"]++,"SCtFGame","AvgI"] = "heldTimeSec";
$dtStats::FV[$dtStats::FC["SCtFGame","Max"]++,"SCtFGame","Max"] = "grabSpeed"; $dtStats::FV[$dtStats::FC["SCtFGame","Max"]++,"SCtFGame","Max"] = "grabSpeed";
$dtStats::FV[$dtStats::FC["SCtFGame","Max"]++,"SCtFGame","Max"] = "grabSpeedLow";
$dtStats::FV[$dtStats::FC["SCtFGame","Avg"]++,"SCtFGame","Avg"] = "grabSpeed"; $dtStats::FV[$dtStats::FC["SCtFGame","Avg"]++,"SCtFGame","Avg"] = "grabSpeed";
$dtStats::FV[$dtStats::FC["SCtFGame","Avg"]++,"SCtFGame","Avg"] = "capEfficiency"; $dtStats::FV[$dtStats::FC["SCtFGame","Avg"]++,"SCtFGame","Avg"] = "capEfficiency";
$dtStats::FV[$dtStats::FC["SCtFGame","Avg"]++,"SCtFGame","Avg"] = "winLostPct"; $dtStats::FV[$dtStats::FC["SCtFGame","Avg"]++,"SCtFGame","Avg"] = "winLostPct";
@ -644,8 +656,8 @@ $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "forceFieldPowerUpKills";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "forceFieldPowerUpDeaths"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "forceFieldPowerUpDeaths";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "crashKills"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "crashKills";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "crashDeaths"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "crashDeaths";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "nexusCampingKills"; //$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "nexusCampingKills";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "nexusCampingDeaths"; //$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "nexusCampingDeaths";
//Damage Stats //Damage Stats
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "cgDmg"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "cgDmg";
@ -917,17 +929,17 @@ $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "discAoeMA";
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "plasmaAoeMA"; $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "plasmaAoeMA";
//ma dist //ma dist
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "cgMADist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "cgMAHitDist";
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "discMADist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "discMAHitDist";
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "grenadeMADist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "grenadeMAHitDist";
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "laserMADist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "laserMAHitDist";
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "mortarMADist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "mortarMAHitDist";
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "shockMADist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "shockMAHitDist";
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "plasmaMADist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "plasmaMAHitDist";
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "blasterMADist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "blasterMAHitDist";
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "hGrenadeMADist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "hGrenadeMAHitDist";
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "missileMADist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "missileMAHitDist";
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "mineMADist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "mineMAHitDist";
$dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "cgHitDist"; $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "cgHitDist";
@ -1276,7 +1288,7 @@ $mapStats::mapVars[47,"CTFGame"] = "hGrenadeKillsTG";
$mapStats::mapVars[48,"CTFGame"] = "satchelKillsTG"; $mapStats::mapVars[48,"CTFGame"] = "satchelKillsTG";
//16 //16
$mapStats::mapVars[49,"CTFGame"] = "discHitDistMax"; $mapStats::mapVars[49,"CTFGame"] = "discHitDistMax";
$mapStats::mapVars[50,"CTFGame"] = "discMADistMAx"; $mapStats::mapVars[50,"CTFGame"] = "discMAHitDistMax";
$mapStats::mapVars[51,"CTFGame"] = "totalTimeTG"; $mapStats::mapVars[51,"CTFGame"] = "totalTimeTG";
//17 //17
$mapStats::mapVars[52,"CTFGame"] = "InventoryDepTG"; $mapStats::mapVars[52,"CTFGame"] = "InventoryDepTG";
@ -1294,6 +1306,7 @@ $mapStats::mapVars[60,"CTFGame"] = "distMovTG";
$mapStats::mapVars[61,"CTFGame"] = "repairpackpickupCountTG"; $mapStats::mapVars[61,"CTFGame"] = "repairpackpickupCountTG";
$mapStats::mapVars[62,"CTFGame"] = "repairpackpickupEnemyTG"; $mapStats::mapVars[62,"CTFGame"] = "repairpackpickupEnemyTG";
$mapStats::mapVars[63,"CTFGame"] = "invyEatRepairPackTG"; $mapStats::mapVars[63,"CTFGame"] = "invyEatRepairPackTG";
$mapStats::mapVarCount["CTFGame"] = 63; $mapStats::mapVarCount["CTFGame"] = 63;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
//1 //1
@ -2246,8 +2259,12 @@ package dtStatsGame{
if(!%player.flagStatsWait){ if(!%player.flagStatsWait){
%grabspeed = mFloor(VectorLen(setWord(%player.getVelocity(), 2, 0)) * 3.6); %grabspeed = mFloor(VectorLen(setWord(%player.getVelocity(), 2, 0)) * 3.6);
if(%grabSpeed > %player.client.dtStats.grabSpeed){ if(%grabSpeed > %player.client.dtStats.grabSpeed){
if($TeamRank[2,"count"] > 5 && $TeamRank[1,"count"] > 5) if($TeamRank[2,"count"] > 5 && $TeamRank[1,"count"] > 5){
%player.client.dtStats.grabSpeed = %grabSpeed; %player.client.dtStats.grabSpeed = %grabSpeed;
%player.client.dtStats.grabSpeedLow = %grabSpeed;
}
else
%player.client.dtStats.grabSpeedLow = %grabSpeed;
} }
} }
} }
@ -2259,8 +2276,12 @@ package dtStatsGame{
if(%game.dtTotalFlagTime[%flag]){ if(%game.dtTotalFlagTime[%flag]){
%heldTime = (getSimTime() - %game.dtTotalFlagTime[%flag])/1000; %heldTime = (getSimTime() - %game.dtTotalFlagTime[%flag])/1000;
if(%heldTime < %player.client.dtStats.heldTimeSec || !%player.client.dtStats.heldTimeSec){ if(%heldTime < %player.client.dtStats.heldTimeSec || !%player.client.dtStats.heldTimeSec){
if($TeamRank[2,"count"] > 5 && $TeamRank[1,"count"] > 5) if($TeamRank[2,"count"] > 5 && $TeamRank[1,"count"] > 5){
%player.client.dtStats.heldTimeSec = %heldTime; %player.client.dtStats.heldTimeSec = %heldTime;
%player.client.dtStats.heldTimeLow = %heldTime;
}
else
%player.client.dtStats.heldTimeLow = %heldTime;
} }
} }
} }
@ -3639,11 +3660,12 @@ function dtStatsMissionDropReady(%game, %client){ // called when client has fini
%name = stripChars( detag( getTaggedString( %client.name ) ), "\cp\co\c6\c7\c8\c9" ); %name = stripChars( detag( getTaggedString( %client.name ) ), "\cp\co\c6\c7\c8\c9" );
%crash = 0; %crash = 0;
if(clientCrash(%name) && !$dtStats::cs[%client]){ if(clientCrash(%name)){// && !$dtStats::cs[%client]
$dtStats::cs[%client] = 1; error("Client Crash" SPC %name);
$dtServer::clientCrash[cleanMapName($CurrentMission),%game.class]++; //$dtStats::cs[%client] = 1;
$dtServer::clientCrashCount++; //$dtServer::clientCrash[cleanMapName($CurrentMission),%game.class]++;
%crash = 1; //$dtServer::clientCrashCount++;
//%crash = 1;
} }
if(!isObject(%client.dtStats)){ if(!isObject(%client.dtStats)){
@ -4737,6 +4759,20 @@ function cropDec(%num){
else else
return getSubStr(%num,0,%dot) @ "x"; return getSubStr(%num,0,%dot) @ "x";
} }
function cropFloat(%num,%x){
%length = strlen(%num);
%dot = strPos(%num,".");
if(%dot != -1){
%int =getSubStr(%num,0,%dot);
%decLen = %length - strLen(%int)-1;
%x = %decLen >= %x ? %x : %decLen;
error(%x);
%dec = getSubStr(%num,%dot,%dot+%x);
return %int @ %dec;
}
else
return %num;
}
function addNum(%a,%b){ function addNum(%a,%b){
if(strPos(%a,"x") == -1 && strPos(%b,"x") == -1){ if(strPos(%a,"x") == -1 && strPos(%b,"x") == -1){
%ab = %a + %b; %ab = %a + %b;
@ -5070,7 +5106,7 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d
%clVictim.lastHitBy = 0; %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 || %damageType == $DamageType::OutdoorDepTurret){
%clKiller = %implement.owner; %clKiller = %implement.owner;
} }
else else
@ -5133,12 +5169,11 @@ function clientKillStats(%game,%clVictim, %clKiller, %damageType, %implement, %d
}%clKiller.mKill = getSimTime(); }%clKiller.mKill = getSimTime();
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
if(getSimTime() - %clKiller.mCKill < 10000){ if(getSimTime() - %clKiller.mCKill < 10000){
%clKiller.chainCount++; if(%clKiller.chainCount++ > 1)
if(!isEventPending(%clKiller.chainID)) chainKill(%killerDT,%clKiller);
%clKiller.chainID = schedule(256,0,"chainKill",%clKiller,%killerDT);
} }
else{ else{
%clKiller.chainCount = 1; %clKiller.chainCount = 1;
}%clKiller.mCKill = getSimTime(); }%clKiller.mCKill = getSimTime();
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
@ -5452,13 +5487,14 @@ function multiKillDelayer(%clKiller,%killerDT){
%killerDT.decupleKill++; %killerDT.decupleKill++;
default: default:
if(%clKiller.mkCounter > 10) if(%clKiller.mkCounter > 10)
%killerDT.nuclearKill++; %killerDT.nuclearKill++;
} }
%killerDT.multiKill++; %killerDT.multiKill++;
%clKiller.mkCounter = 1; %clKiller.mkCounter = 1;
} }
function chainKill(%clKiller,%killerDT){ function chainKill(%killerDT,%clKiller){
%killerDT.chainKill++;
switch(%clKiller.chainCount){ switch(%clKiller.chainCount){
case 2: case 2:
%killerDT.doubleChainKill++; %killerDT.doubleChainKill++;
@ -5470,20 +5506,15 @@ function chainKill(%clKiller,%killerDT){
%killerDT.quintupleChainKill++; %killerDT.quintupleChainKill++;
case 6: case 6:
%killerDT.sextupleChainKill++; %killerDT.sextupleChainKill++;
default: case 7:
if(%clKiller.chainCount > 6) %killerDT.septupleChainKill++;
switch(%clKiller.chainCount){ case 8:
case 7: %killerDT.octupleChainKill++;
%killerDT.septupleChainKill++; case 9:
case 8: %killerDT.nonupleChainKill++;
%killerDT.octupleChainKill++; case 10:
case 9: %killerDT.decupleChainKill++;
%killerDT.nonupleChainKill++;
case 10:
%killerDT.decupleChainKill++;
}
} }
%killerDT.chainKill++;
} }
function GameConnection::dtMessage(%this,%message,%sfx,%bypass){ function GameConnection::dtMessage(%this,%message,%sfx,%bypass){
if(!%this.isAIControlled()){ if(!%this.isAIControlled()){
@ -5510,10 +5541,8 @@ function rayTest(%targetObject,%dis){
%ground = !ContainerRayCast(%rayStart, %rayEnd, %mask, %targetObject); %ground = !ContainerRayCast(%rayStart, %rayEnd, %mask, %targetObject);
return %ground; return %ground;
} }
else{ else
return 0; return 0;
error("Fix Me rayTest");
}
} }
function rayTestDis(%targetObject){ function rayTestDis(%targetObject){
if(isObject(%targetObject)){ if(isObject(%targetObject)){
@ -5525,10 +5554,8 @@ function rayTestDis(%targetObject){
return 0; return 0;
return vectorDist(%rayStart,getWords(%ray,1,3)) - 1.15; return vectorDist(%rayStart,getWords(%ray,1,3)) - 1.15;
} }
else{ else
return 0; return 0;
error("Fix Me rayTestDis");
}
} }
function vectorRayCast(%startPos,%vec,%dis){ function vectorRayCast(%startPos,%vec,%dis){
%mask = $TypeMasks::StaticShapeObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::TerrainObjectType | $TypeMasks::PlayerObjectType; %mask = $TypeMasks::StaticShapeObjectType | $TypeMasks::InteriorObjectType | $TypeMasks::TerrainObjectType | $TypeMasks::PlayerObjectType;
@ -5590,16 +5617,16 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
%sourceClient = %sourceObject.client; %sourceClient = %sourceObject.client;
%sourceClient.lastPlayer = %sourceClient.player; %sourceClient.lastPlayer = %sourceClient.player;
%sourceDT = %sourceClient.dtStats; %sourceDT = %sourceClient.dtStats;
%aoeHIT = testHit(%sourceClient); %directHit = testHit(%sourceClient);
%sv = mFloor(vectorLen(%sourceObject.getVelocity()) * 3.6); %sv = mFloor(vectorLen(%sourceObject.getVelocity()) * 3.6);
} }
else if(%sourceClass $= "Turret" || %sourceClass $= "FlyingVehicle" || %sourceClass $= "HoverVehicle" || %sourceClass $= "WheeledVehicle"){ else if(%sourceClass $= "Turret" || %sourceClass $= "FlyingVehicle" || %sourceClass $= "HoverVehicle" || %sourceClass $= "WheeledVehicle"){
%sourceClient = %sourceObject.getControllingClient(); %sourceClient = %sourceObject.getControllingClient();
%sourceDT = %sourceClient.dtStats; %sourceDT = %sourceClient.dtStats;
%aoeHIT = 0; %directHit = 0;
} }
else{ else{
%aoeHIT = 0; %directHit = 0;
} }
} }
if(isObject(%targetObject)){ if(isObject(%targetObject)){
@ -5681,22 +5708,22 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
if(%sourceDT.blasterHitDist < %dis){%sourceDT.blasterHitDist = %dis;} if(%sourceDT.blasterHitDist < %dis){%sourceDT.blasterHitDist = %dis;}
if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;} if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;}
if(%rayTest >= $dtStats::midAirHeight){ if(%rayTest >= $dtStats::midAirHeight){
if(%sourceDT.blasterMADist < %dis){%sourceDT.blasterMADist = %dis;} if(%sourceDT.blasterMAHitDist < %dis){%sourceDT.blasterMAHitDist = %dis;}
%sourceDT.blasterMA++; %sourceDT.blasterMA++;
} }
if(%sourceDT.blasterHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.blasterHitSV = %sourceObject.client.dtShotSpeed;} if(%sourceDT.blasterHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.blasterHitSV = %sourceObject.client.dtShotSpeed;}
if(%sourceDT.blasterHitVV < %vv){%sourceDT.blasterHitVV = %vv;} if(%sourceDT.blasterHitVV < %vv){%sourceDT.blasterHitVV = %vv;}
case $DamageType::Plasma: case $DamageType::Plasma:
%sourceDT.plasmaDmg += %amount; %sourceDT.plasmaDmg += %amount;
if(%aoeHIT){%sourceDT.plasmaHits++;%sourceDT.plasmaDmgHits++;} if(%directHit){%sourceDT.plasmaHits++;%sourceDT.plasmaDmgHits++;}
else{%sourceDT.plasmaDmgHits++;} else{%sourceDT.plasmaDmgHits++;}
%sourceDT.plasmaACC = (%sourceDT.plasmaHits / (%sourceDT.plasmaShotsFired ? %sourceDT.plasmaShotsFired : 1)) * 100; %sourceDT.plasmaACC = (%sourceDT.plasmaHits / (%sourceDT.plasmaShotsFired ? %sourceDT.plasmaShotsFired : 1)) * 100;
%sourceDT.plasmaDmgACC = (%sourceDT.plasmaDmgHits / (%sourceDT.plasmaShotsFired ? %sourceDT.plasmaShotsFired : 1)) * 100; %sourceDT.plasmaDmgACC = (%sourceDT.plasmaDmgHits / (%sourceDT.plasmaShotsFired ? %sourceDT.plasmaShotsFired : 1)) * 100;
if(%sourceDT.plasmaHitDist < %dis){%sourceDT.plasmaHitDist = %dis;} if(%sourceDT.plasmaHitDist < %dis){%sourceDT.plasmaHitDist = %dis;}
if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;} if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;}
if(%rayTest >= $dtStats::midAirHeight){ if(%rayTest >= $dtStats::midAirHeight){
if(%sourceDT.plasmaMADist < %dis){%sourceDT.plasmaMADist = %dis;} if(%sourceDT.plasmaMAHitDist < %dis){%sourceDT.plasmaMAHitDist = %dis;}
if(%aoeHIT){ if(%directHit){
%sourceDT.plasmaMA++; %sourceDT.plasmaMA++;
%sourceDT.plasmaAoeMA++; %sourceDT.plasmaAoeMA++;
} }
@ -5713,26 +5740,25 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
if(%sourceDT.cgHitDist < %dis){%sourceDT.cgHitDist = %dis;} if(%sourceDT.cgHitDist < %dis){%sourceDT.cgHitDist = %dis;}
if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;} if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;}
if(%rayTest >= $dtStats::midAirHeight){ if(%rayTest >= $dtStats::midAirHeight){
if(%sourceDT.cgMADist < %dis){%sourceDT.cgMADist = %dis;} if(%sourceDT.cgMAHitDist < %dis){%sourceDT.cgMAHitDist = %dis;}
%sourceDT.cgMA++; %sourceDT.cgMA++;
} }
if(%sourceDT.cgHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.cgHitSV = %sourceObject.client.dtShotSpeed;} if(%sourceDT.cgHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.cgHitSV = %sourceObject.client.dtShotSpeed;}
if(%sourceDT.cgHitVV < %vv){%sourceDT.cgHitVV = %vv;} if(%sourceDT.cgHitVV < %vv){%sourceDT.cgHitVV = %vv;}
case $DamageType::Disc: case $DamageType::Disc:
%sourceDT.discDmg += %amount; %sourceDT.discDmg += %amount;
if(%aoeHIT){%sourceDT.discHits++;%sourceDT.discDmgHits++;} if(%directHit){%sourceDT.discHits++;%sourceDT.discDmgHits++;}
else{%sourceDT.discDmgHits++;} else{%sourceDT.discDmgHits++;}
%sourceDT.discACC = (%sourceDT.discHits / (%sourceDT.discShotsFired ? %sourceDT.discShotsFired : 1)) * 100; %sourceDT.discACC = (%sourceDT.discHits / (%sourceDT.discShotsFired ? %sourceDT.discShotsFired : 1)) * 100;
%sourceDT.discDmgACC = (%sourceDT.discDmgHits / (%sourceDT.discShotsFired ? %sourceDT.discShotsFired : 1)) * 100; %sourceDT.discDmgACC = (%sourceDT.discDmgHits / (%sourceDT.discShotsFired ? %sourceDT.discShotsFired : 1)) * 100;
if(%sourceDT.discHitDist < %dis){%sourceDT.discHitDist = %dis;} if(%sourceDT.discHitDist < %dis){%sourceDT.discHitDist = %dis;}
if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;} if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;}
%targetClient.mdHit = 0; %targetClient.mdHit = 0;
if(%targetClient.md == 1 && (getSimTime() - %targetClient.mdTime1) < 256){%sourceDT.minePlusDisc++; %targetClient.mdHit = 1;} if((getSimTime() - %targetClient.mdTime1) < 256){%sourceDT.minePlusDisc++; %targetClient.mdHit = 1;}
%targetClient.md = 2;
%targetClient.mdTime2 = getSimTime(); %targetClient.mdTime2 = getSimTime();
if(%rayTest >= $dtStats::midAirHeight){ if(%rayTest >= $dtStats::midAirHeight){
if(%sourceDT.discMADist < %dis){%sourceDT.discMADist = %dis;} if(%sourceDT.discMAHitDist < %dis){%sourceDT.discMAHitDist = %dis;}
if(%aoeHIT){ if(%directHit){
%sourceDT.discMA++; %sourceDT.discMA++;
%sourceDT.discAoeMA++; %sourceDT.discAoeMA++;
} }
@ -5749,7 +5775,7 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
if(%sourceDT.hGrenadeHitDist < %dis){%sourceDT.hGrenadeHitDist = %dis;} if(%sourceDT.hGrenadeHitDist < %dis){%sourceDT.hGrenadeHitDist = %dis;}
if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;} if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;}
if(%rayTest >= $dtStats::midAirHeight){ if(%rayTest >= $dtStats::midAirHeight){
if(%sourceDT.hGrenadeMADist < %dis){%sourceDT.hGrenadeMADist = %dis;} if(%sourceDT.hGrenadeMAHitDist < %dis){%sourceDT.hGrenadeMAHitDist = %dis;}
%sourceDT.hGrenadeMA++; %sourceDT.hGrenadeMA++;
} }
if(%sourceDT.hGrenadeHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.hGrenadeHitSV = %sourceObject.client.dtShotSpeed;} if(%sourceDT.hGrenadeHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.hGrenadeHitSV = %sourceObject.client.dtShotSpeed;}
@ -5757,14 +5783,14 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
} }
else{ else{
%sourceDT.grenadeDmg += %amount; %sourceDT.grenadeDmg += %amount;
if(%aoeHIT){%sourceDT.grenadeHits++;%sourceDT.grenadeDmgHits++;} if(%directHit){%sourceDT.grenadeHits++;%sourceDT.grenadeDmgHits++;}
else{%sourceDT.grenadeDmgHits++;} else{%sourceDT.grenadeDmgHits++;}
%sourceDT.grenadeACC = (%sourceDT.grenadeHits / (%sourceDT.grenadeShotsFired ? %sourceDT.grenadeShotsFired : 1)) * 100; %sourceDT.grenadeACC = (%sourceDT.grenadeHits / (%sourceDT.grenadeShotsFired ? %sourceDT.grenadeShotsFired : 1)) * 100;
%sourceDT.grenadeDmgACC = (%sourceDT.grenadeDmgHits / (%sourceDT.grenadeShotsFired ? %sourceDT.grenadeShotsFired : 1)) * 100; %sourceDT.grenadeDmgACC = (%sourceDT.grenadeDmgHits / (%sourceDT.grenadeShotsFired ? %sourceDT.grenadeShotsFired : 1)) * 100;
if(%sourceDT.grenadeHitDist < %dis){%sourceDT.grenadeHitDist = %dis;} if(%sourceDT.grenadeHitDist < %dis){%sourceDT.grenadeHitDist = %dis;}
if(%rayTest >= $dtStats::midAirHeight){ if(%rayTest >= $dtStats::midAirHeight){
if(%sourceDT.grenadeMADist < %dis){%sourceDT.grenadeMADist = %dis;} if(%sourceDT.grenadeMAHitDist < %dis){%sourceDT.grenadeMAHitDist = %dis;}
if(%aoeHIT){ if(%directHit){
%sourceDT.grenadeMA++; %sourceDT.grenadeMA++;
%sourceDT.grenadeAoeMA++; %sourceDT.grenadeAoeMA++;
} }
@ -5787,22 +5813,22 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
if(%sourceDT.laserHitDist < %dis){%sourceDT.laserHitDist = %dis;} if(%sourceDT.laserHitDist < %dis){%sourceDT.laserHitDist = %dis;}
if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;} if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;}
if(%rayTest >= $dtStats::midAirHeight){ if(%rayTest >= $dtStats::midAirHeight){
if(%sourceDT.laserMADist < %dis){%sourceDT.laserMADist = %dis;} if(%sourceDT.laserMAHitDist < %dis){%sourceDT.laserMAHitDist = %dis;}
%sourceDT.laserMA++; %sourceDT.laserMA++;
} }
if(%sourceDT.laserHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.laserHitSV = %sourceObject.client.dtShotSpeed;} if(%sourceDT.laserHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.laserHitSV = %sourceObject.client.dtShotSpeed;}
if(%sourceDT.laserHitVV < %vv){%sourceDT.laserHitVV = %vv;} if(%sourceDT.laserHitVV < %vv){%sourceDT.laserHitVV = %vv;}
case $DamageType::Mortar: case $DamageType::Mortar:
%sourceDT.mortarDmg += %amount; %sourceDT.mortarDmg += %amount;
if(%aoeHIT){%sourceDT.mortarHits++;%sourceDT.mortarDmgHits++;} if(%directHit){%sourceDT.mortarHits++;%sourceDT.mortarDmgHits++;}
else{%sourceDT.mortarDmgHits++;} else{%sourceDT.mortarDmgHits++;}
%sourceDT.mortarACC = (%sourceDT.mortarHits / (%sourceDT.mortarShotsFired ? %sourceDT.mortarShotsFired : 1)) * 100; %sourceDT.mortarACC = (%sourceDT.mortarHits / (%sourceDT.mortarShotsFired ? %sourceDT.mortarShotsFired : 1)) * 100;
%sourceDT.mortarDmgACC = (%sourceDT.mortarDmgHits / (%sourceDT.mortarShotsFired ? %sourceDT.mortarShotsFired : 1)) * 100; %sourceDT.mortarDmgACC = (%sourceDT.mortarDmgHits / (%sourceDT.mortarShotsFired ? %sourceDT.mortarShotsFired : 1)) * 100;
if(%sourceDT.mortarHitDist < %dis){%sourceDT.mortarHitDist = %dis;} if(%sourceDT.mortarHitDist < %dis){%sourceDT.mortarHitDist = %dis;}
if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;} if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;}
if(%rayTest >= $dtStats::midAirHeight){ if(%rayTest >= $dtStats::midAirHeight){
if(%sourceDT.mortarMADist < %dis){%sourceDT.mortarMADist = %dis;} if(%sourceDT.mortarMAHitDist < %dis){%sourceDT.mortarMAHitDist = %dis;}
if(%aoeHIT){ if(%directHit){
%sourceDT.mortarMA++; %sourceDT.mortarMA++;
%sourceDT.mortarAoeMA++; %sourceDT.mortarAoeMA++;
} }
@ -5818,7 +5844,7 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
if(%sourceDT.missileHitDist < %dis){%sourceDT.missileHitDist = %dis;} if(%sourceDT.missileHitDist < %dis){%sourceDT.missileHitDist = %dis;}
if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;} if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;}
if(%rayTest >= $dtStats::midAirHeight){ if(%rayTest >= $dtStats::midAirHeight){
if(%sourceDT.missileMADist < %dis){%sourceDT.missileMADist = %dis;} if(%sourceDT.missileMAHitDist < %dis){%sourceDT.missileMAHitDist = %dis;}
%sourceDT.missileMA++; %sourceDT.missileMA++;
} }
if(%sourceDT.missileHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.missileHitSV = %sourceObject.client.dtShotSpeed;} if(%sourceDT.missileHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.missileHitSV = %sourceObject.client.dtShotSpeed;}
@ -5833,7 +5859,7 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
if(%sourceDT.shockHitDist < %dis){%sourceDT.shockHitDist = %dis;} if(%sourceDT.shockHitDist < %dis){%sourceDT.shockHitDist = %dis;}
if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;} if(%sourceDT.weaponHitDist < %dis){%sourceDT.weaponHitDist = %dis;}
if(%rayTest >= $dtStats::midAirHeight){ if(%rayTest >= $dtStats::midAirHeight){
if(%sourceDT.shockMADist < %dis){%sourceDT.shockMADist = %dis;} if(%sourceDT.shockMAHitDist < %dis){%sourceDT.shockMAHitDist = %dis;}
%sourceDT.shockMA++; %sourceDT.shockMA++;
} }
if(%sourceDT.shockHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.shockHitSV = %sourceObject.client.dtShotSpeed;} if(%sourceDT.shockHitSV < %sourceObject.client.dtShotSpeed){%sourceDT.shockHitSV = %sourceObject.client.dtShotSpeed;}
@ -5844,11 +5870,10 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
%sourceDT.mineACC = (%sourceDT.mineHits / (%sourceDT.mineShotsFired ? %sourceDT.mineShotsFired : 1)) * 100; %sourceDT.mineACC = (%sourceDT.mineHits / (%sourceDT.mineShotsFired ? %sourceDT.mineShotsFired : 1)) * 100;
if(%sourceDT.mineHitDist < %dis){%sourceDT.mineHitDist = %dis;} if(%sourceDT.mineHitDist < %dis){%sourceDT.mineHitDist = %dis;}
%targetClient.mdHit = 0; %targetClient.mdHit = 0;
if(%targetClient.md == 2 && (getSimTime() - %targetClient.mdTime2) < 256){%sourceDT.minePlusDisc++; %targetClient.mdHit = 1;} if((getSimTime() - %targetClient.mdTime2) < 256){%sourceDT.minePlusDisc++; %targetClient.mdHit = 1;}
%targetClient.md = 1;
%targetClient.mdTime1 = getSimTime(); %targetClient.mdTime1 = getSimTime();
if(%rayTest >= $dtStats::midAirHeight){ if(%rayTest >= $dtStats::midAirHeight){
if(%sourceDT.mineMADist < %dis){%sourceDT.mineMADist = %dis;} if(%sourceDT.mineMAHitDist < %dis){%sourceDT.mineMAHitDist = %dis;}
%sourceDT.mineMA++; %sourceDT.mineMA++;
} }
if(%sourceDT.mineHitVV < %vv){%sourceDT.mineHitVV = %vv;} if(%sourceDT.mineHitVV < %vv){%sourceDT.mineHitVV = %vv;}
@ -5871,7 +5896,7 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
%sourceDT.blasterHits++; %sourceDT.blasterHits++;
%sourceDT.blasterACC = (%sourceDT.blasterHits / (%sourceDT.blasterShotsFired ? %sourceDT.blasterShotsFired : 1)) * 100; %sourceDT.blasterACC = (%sourceDT.blasterHits / (%sourceDT.blasterShotsFired ? %sourceDT.blasterShotsFired : 1)) * 100;
case $DamageType::Plasma: case $DamageType::Plasma:
if(%aoeHIT){%sourceDT.plasmaHits++;%sourceDT.plasmaDmgHits++;} if(%directHit){%sourceDT.plasmaHits++;%sourceDT.plasmaDmgHits++;}
else{%sourceDT.plasmaDmgHits++;} else{%sourceDT.plasmaDmgHits++;}
%sourceDT.plasmaACC = (%sourceDT.plasmaHits / (%sourceDT.plasmaShotsFired ? %sourceDT.plasmaShotsFired : 1)) * 100; %sourceDT.plasmaACC = (%sourceDT.plasmaHits / (%sourceDT.plasmaShotsFired ? %sourceDT.plasmaShotsFired : 1)) * 100;
%sourceDT.plasmaDmgACC = (%sourceDT.plasmaDmgHits / (%sourceDT.plasmaShotsFired ? %sourceDT.plasmaShotsFired : 1)) * 100; %sourceDT.plasmaDmgACC = (%sourceDT.plasmaDmgHits / (%sourceDT.plasmaShotsFired ? %sourceDT.plasmaShotsFired : 1)) * 100;
@ -5879,7 +5904,7 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
%sourceDT.cgHits++; %sourceDT.cgHits++;
%sourceDT.cgACC = (%sourceDT.cgHits / (%sourceDT.cgShotsFired ? %sourceDT.cgShotsFired : 1)) * 100; %sourceDT.cgACC = (%sourceDT.cgHits / (%sourceDT.cgShotsFired ? %sourceDT.cgShotsFired : 1)) * 100;
case $DamageType::Disc: case $DamageType::Disc:
if(%aoeHIT){%sourceDT.discHits++;%sourceDT.discDmgHits++;} if(%directHit){%sourceDT.discHits++;%sourceDT.discDmgHits++;}
else{%sourceDT.discDmgHits++;} else{%sourceDT.discDmgHits++;}
%sourceDT.discACC = (%sourceDT.discHits / (%sourceDT.discShotsFired ? %sourceDT.discShotsFired : 1)) * 100; %sourceDT.discACC = (%sourceDT.discHits / (%sourceDT.discShotsFired ? %sourceDT.discShotsFired : 1)) * 100;
%sourceDT.discDmgACC = (%sourceDT.discDmgHits / (%sourceDT.discShotsFired ? %sourceDT.discShotsFired : 1)) * 100; %sourceDT.discDmgACC = (%sourceDT.discDmgHits / (%sourceDT.discShotsFired ? %sourceDT.discShotsFired : 1)) * 100;
@ -5889,7 +5914,7 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
%sourceDT.hGrenadeACC = (%sourceDT.hGrenadeHits / (%sourceDT.hGrenadeShotsFired ? %sourceDT.hGrenadeShotsFired : 1)) * 100; %sourceDT.hGrenadeACC = (%sourceDT.hGrenadeHits / (%sourceDT.hGrenadeShotsFired ? %sourceDT.hGrenadeShotsFired : 1)) * 100;
} }
else{ else{
if(%aoeHIT){%sourceDT.grenadeHits++;%sourceDT.grenadeDmgHits++;} if(%directHit){%sourceDT.grenadeHits++;%sourceDT.grenadeDmgHits++;}
else{%sourceDT.grenadeDmgHits++;} else{%sourceDT.grenadeDmgHits++;}
%sourceDT.grenadeACC = (%sourceDT.grenadeHits / (%sourceDT.grenadeShotsFired ? %sourceDT.grenadeShotsFired : 1)) * 100; %sourceDT.grenadeACC = (%sourceDT.grenadeHits / (%sourceDT.grenadeShotsFired ? %sourceDT.grenadeShotsFired : 1)) * 100;
%sourceDT.grenadeDmgACC = (%sourceDT.grenadeDmgHits / (%sourceDT.grenadeShotsFired ? %sourceDT.grenadeShotsFired : 1)) * 100; %sourceDT.grenadeDmgACC = (%sourceDT.grenadeDmgHits / (%sourceDT.grenadeShotsFired ? %sourceDT.grenadeShotsFired : 1)) * 100;
@ -5898,7 +5923,7 @@ function clientDmgStats(%data,%position,%sourceObject, %targetObject, %damageTyp
%sourceDT.laserHits++; %sourceDT.laserHits++;
%sourceDT.laserACC = (%sourceDT.laserHits / (%sourceDT.laserShotsFired ? %sourceDT.laserShotsFired : 1)) * 100; %sourceDT.laserACC = (%sourceDT.laserHits / (%sourceDT.laserShotsFired ? %sourceDT.laserShotsFired : 1)) * 100;
case $DamageType::Mortar: case $DamageType::Mortar:
if(%aoeHIT){%sourceDT.mortarHits++;%sourceDT.mortarDmgHits++;} if(%directHit){%sourceDT.mortarHits++;%sourceDT.mortarDmgHits++;}
else{%sourceDT.mortarDmgHits++;} else{%sourceDT.mortarDmgHits++;}
%sourceDT.mortarACC = (%sourceDT.mortarHits / (%sourceDT.mortarShotsFired ? %sourceDT.mortarShotsFired : 1)) * 100; %sourceDT.mortarACC = (%sourceDT.mortarHits / (%sourceDT.mortarShotsFired ? %sourceDT.mortarShotsFired : 1)) * 100;
%sourceDT.mortarDmgACC = (%sourceDT.mortarDmgHits / (%sourceDT.mortarShotsFired ? %sourceDT.mortarShotsFired : 1)) * 100; %sourceDT.mortarDmgACC = (%sourceDT.mortarDmgHits / (%sourceDT.mortarShotsFired ? %sourceDT.mortarShotsFired : 1)) * 100;
@ -6083,18 +6108,6 @@ function numReduce(%num,%des){
return 0; return 0;
} }
function kdr(%x,%y)
{
if(%x == 0)
return 0;
else if(%y == 0)
return 100;
if(%x >= %y)
return 100 - mFloatLength((%y / %x) * 100,1) + 0;
else
return mFloatLength((%x / %y) * 100,1) - 100 + 0;
}
function menuReset(%client){ function menuReset(%client){
%client.viewMenu = 0; %client.viewMenu = 0;
%client.viewClient = 0; %client.viewClient = 0;
@ -6243,9 +6256,9 @@ function statsMenu(%client,%game){
%b4 = ($dtServer::hostHangTime ? "<color:00FF00>" @ $dtServer::hostHangTime : 0); %b4 = ($dtServer::hostHangTime ? "<color:00FF00>" @ $dtServer::hostHangTime : 0);
%c1 = ($dtStats::pingAvg ? $dtStats::pingAvg : 0); %c1 = ($dtStats::pingAvg ? $dtStats::pingAvg : 0);
%cli = ($dtServer::clientCrashCount ? "<color:00FF00>" @ $dtServer::clientCrashCount : 0); //%cli = ($dtServer::clientCrashCount ? "<color:00FF00>" @ $dtServer::clientCrashCount : 0);
%line = 'Server Ping Avg = %1 - Client Issues = %2'; %line = 'Server Ping Avg = %1';
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%c1@"ms",%cli); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%c1@"ms");
%line = '<color:0befe7>Server Hangs - This Map = %1<color:0befe7> - All Time = %2'; %line = '<color:0befe7>Server Hangs - This Map = %1<color:0befe7> - All Time = %2';
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%a1,%a2); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%a1,%a2);
@ -6298,7 +6311,7 @@ function statsMenu(%client,%game){
$dtServer::voteFor[%map,%client.lgame] = 0; $dtServer::voteFor[%map,%client.lgame] = 0;
$dtServer::skipCount[%map,%client.lgame] = 0; $dtServer::skipCount[%map,%client.lgame] = 0;
$dtServer::maxPlayers[%map,%client.lgame] = 0; $dtServer::maxPlayers[%map,%client.lgame] = 0;
$dtServer::clientCrash[%map,%client.lgame] = 0; //$dtServer::clientCrash[%map,%client.lgame] = 0;
$dtServer::serverHangMap[%map,%client.lgame] = 0; $dtServer::serverHangMap[%map,%client.lgame] = 0;
$dtServer::serverHangMapMicro[%map,%client.lgame] = 0; $dtServer::serverHangMapMicro[%map,%client.lgame] = 0;
$dtServer::hostHangMap[%map,%client.lgame] = 0; $dtServer::hostHangMap[%map,%client.lgame] = 0;
@ -6310,7 +6323,7 @@ function statsMenu(%client,%game){
$dtServer::hostHang = 0; $dtServer::hostHang = 0;
$dtServer::hostTime = 0; $dtServer::hostTime = 0;
$dtServer::hostHangLast = 0; $dtServer::hostHangLast = 0;
$dtServer::clientCrashCount = 0; //$dtServer::clientCrashCount = 0;
%client.cat = %cat = 1; %client.cat = %cat = 1;
} }
else if(%cat !$= "C"){ else if(%cat !$= "C"){
@ -7610,7 +7623,8 @@ function statsMenu(%client,%game){
%line = '<tab:0,145,290,435><font:univers condensed:18>\t%1\t%2\t%3\t%4'; %line = '<tab:0,145,290,435><font:univers condensed:18>\t%1\t%2\t%3\t%4';
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%i1,%i2,%i3,%i4); messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%i1,%i2,%i3,%i4);
%i1 = "<color:0befe7>KDR:<color:03d597>" SPC kdr(%vClient.kills,%vClient.deaths) @ "%"; %kdr = %vClient.deaths ? mFloatLength(%vClient.kills/%vClient.deaths,2)+0 : %vClient.kills;
%i1 = "<color:0befe7>KDR:<color:03d597>" SPC %kdr;
%i2 = "<color:0befe7>KillStreak:<color:03d597>" SPC %dtVClient.killStreak; %i2 = "<color:0befe7>KillStreak:<color:03d597>" SPC %dtVClient.killStreak;
%i3 = "<color:0befe7>MineDisc:<color:03d597>" SPC %dtVClient.minePlusDisc; %i3 = "<color:0befe7>MineDisc:<color:03d597>" SPC %dtVClient.minePlusDisc;
%i4 = %dtVClient.plasmaMA + %dtVClient.discMA + %dtVClient.mineMA + %dtVClient.grenadeMA + %dtVClient.hGrenadeMA + %dtVClient.mortarMA + %dtVClient.shockMA + %dtVClient.laserMA + %i4 = %dtVClient.plasmaMA + %dtVClient.discMA + %dtVClient.mineMA + %dtVClient.grenadeMA + %dtVClient.hGrenadeMA + %dtVClient.mortarMA + %dtVClient.shockMA + %dtVClient.laserMA +
@ -8706,7 +8720,7 @@ function statsMenu(%client,%game){
%var1 = "minePlusDiscTG"; %var1Title = "Mine + Disc:"; %var1Name = "Mine Disc Hits"; %var1TypeName = "Total"; %var1 = "minePlusDiscTG"; %var1Title = "Mine + Disc:"; %var1Name = "Mine Disc Hits"; %var1TypeName = "Total";
%var2 = "discACCAvg"; %var2Title = "Spinfusor Acc:"; %var2Name = "Spinfusor Accuracy"; %var2TypeName = "Percentage"; %var2 = "discACCAvg"; %var2Title = "Spinfusor Acc:"; %var2Name = "Spinfusor Accuracy"; %var2TypeName = "Percentage";
%var3 = "discMADistMax"; %var3Title = "Disc MA Dist:"; %var3Name = "Spinfusor MidAir Distance"; %var3TypeName = "Meters"; %var3 = "discMAHitDistMax"; %var3Title = "Disc MA Dist:"; %var3Name = "Spinfusor MidAir Distance"; %var3TypeName = "Meters";
%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;
@ -11151,7 +11165,7 @@ function loadMapLeaderBoards(%reset){
else{ else{
if($dtStats::lsmMap){ if($dtStats::lsmMap){
if($dtStats::debugEchos){error("Deleting old file" SPC %filepath);} if($dtStats::debugEchos){error("Deleting old file" SPC %filepath);}
schedule((%i+1) * 1000,0,"deleteFile",%filepath); schedule((%i+1) * 500,0,"deleteFile",%filepath);
} }
} }
} }
@ -11666,12 +11680,6 @@ function prefTest(%time,%skip){
schedule($dtStats::prefTestIdleTime, 0, "prefTest",%real,1); schedule($dtStats::prefTestIdleTime, 0, "prefTest",%real,1);
} }
} }
function dtBuildEvent(){
if(getTimeDif($dtStats::buildSetTime) < 900000){
if(!isEventPending($dtStats::buildEvent))
$dtStats::buildEvent = schedule(getTimeDif($dtStats::buildSetTime),0,"lStatsCycle",1);
}
}
function dtPingAvg(){ function dtPingAvg(){
%ping = %pc = 0; %ping = %pc = 0;
for(%i = 0; %i < ClientGroup.getCount(); %i++){ for(%i = 0; %i < ClientGroup.getCount(); %i++){
@ -11748,8 +11756,8 @@ function dtSaveServerVars(){
schedule(6000,0,"export", "$dtServer::voteFor*", "serverStats/voteFor.cs", false ); schedule(6000,0,"export", "$dtServer::voteFor*", "serverStats/voteFor.cs", false );
schedule(7000,0,"export", "$dtServer::skipCount*", "serverStats/skipCount.cs", false ); schedule(7000,0,"export", "$dtServer::skipCount*", "serverStats/skipCount.cs", false );
schedule(8000,0,"export", "$dtServer::maxPlayers*", "serverStats/maxPlayers.cs", false ); schedule(8000,0,"export", "$dtServer::maxPlayers*", "serverStats/maxPlayers.cs", false );
schedule(9000,0,"export", "$dtServer::clientCrash*", "serverStats/clientCrash.cs", false ); //schedule(9000,0,"export", "$dtServer::clientCrash*", "serverStats/clientCrash.cs", false );
schedule(10000,0,"export", "$mapID::*", "serverStats/mapIDList.cs", false ); schedule(9000,0,"export", "$mapID::*", "serverStats/mapIDList.cs", false );
} }
function dtLoadServerVars(){// keep function at the bottom function dtLoadServerVars(){// keep function at the bottom
if($dtStats::Enable){ if($dtStats::Enable){
@ -11795,8 +11803,8 @@ function dtLoadServerVars(){// keep function at the bottom
exec("serverStats/skipCount.cs"); exec("serverStats/skipCount.cs");
if(isFile("serverStats/maxPlayers.cs")) if(isFile("serverStats/maxPlayers.cs"))
exec("serverStats/maxPlayers.cs"); exec("serverStats/maxPlayers.cs");
if(isFile("serverStats/clientCrash.cs")) //if(isFile("serverStats/clientCrash.cs"))
exec("serverStats/clientCrash.cs"); //exec("serverStats/clientCrash.cs");
genBlanks(); genBlanks();
buildVarList(); buildVarList();
startMonitor(); startMonitor();