mirror of
https://github.com/ChocoTaco1/TacoServer.git
synced 2026-07-16 00:24:35 +00:00
Merge branch 'NoEvo'
This commit is contained in:
commit
49fb4dddbb
10 changed files with 3166 additions and 2961 deletions
|
|
@ -45,7 +45,7 @@
|
||||||
//Small Maps
|
//Small Maps
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
addRotationMap("SmallCrossing", "CTF",1,1,-1,16);
|
//addRotationMap("SmallCrossing", "CTF",1,1,-1,16); //Using Small Crossing: DMP Version
|
||||||
addRotationMap("TWL2_CanyonCrusadeDeluxe", "CTF",1,1,-1,18);
|
addRotationMap("TWL2_CanyonCrusadeDeluxe", "CTF",1,1,-1,18);
|
||||||
addRotationMap("RoundTheMountain", "CTF",1,1,-1,18);
|
addRotationMap("RoundTheMountain", "CTF",1,1,-1,18);
|
||||||
addRotationMap("oasisintensity", "CTF",1,1,-1,12);
|
addRotationMap("oasisintensity", "CTF",1,1,-1,12);
|
||||||
|
|
@ -65,48 +65,51 @@ addRotationMap("Bulwark", "CTF",1,1,-1,12);
|
||||||
//addRotationMap("FrostPipe", "CTF",1,0,-1,12);
|
//addRotationMap("FrostPipe", "CTF",1,0,-1,12);
|
||||||
addRotationMap("Blink", "CTF",1,1,-1,10);
|
addRotationMap("Blink", "CTF",1,1,-1,10);
|
||||||
addRotationMap("Discord", "CTF",1,1,6,16);
|
addRotationMap("Discord", "CTF",1,1,6,16);
|
||||||
addRotationMap("StarFallCTF", "CTF",1,1,6,12);
|
addRotationMap("TWL2_MidnightMayhemDeluxe", "CTF",1,0,8,12);
|
||||||
addRotationMap("TWL2_MidnightMayhemDeluxe", "CTF",1,1,8,12);
|
|
||||||
addRotationMap("Sentry", "CTF",1,1,6,12);
|
addRotationMap("Sentry", "CTF",1,1,6,12);
|
||||||
addRotationMap("TWL2_Skylight", "CTF",1,1,6,12);
|
addRotationMap("TWL2_Skylight", "CTF",1,0,6,12);
|
||||||
addRotationMap("Cinerarium", "CTF",1,1,-1,10);
|
addRotationMap("Exhumed", "CTF",1,1,-1,10);
|
||||||
addRotationMap("Exhumed", "CTF",1,0,-1,10);
|
|
||||||
//addRotationMap("TWL2_FrozenHope", "CTF",1,0,8,20);
|
//addRotationMap("TWL2_FrozenHope", "CTF",1,0,8,20);
|
||||||
addRotationMap("FrozenHope", "CTF",1,0,8,12);
|
addRotationMap("FrozenHope", "CTF",1,1,8,12);
|
||||||
|
addRotationMap("ClusterUnFuct", "CTF",1,1,8,12);
|
||||||
|
addRotationMap("Raspian", "CTF",1,0,8,12);
|
||||||
|
addRotationMap("Zilch", "CTF",1,1,8,12);
|
||||||
|
addRotationMap("Cinerarium", "CTF",1,0,-1,12);
|
||||||
|
addRotationMap("StarFallCTF", "CTF",1,0,6,12);
|
||||||
|
|
||||||
//Medium Maps
|
//Medium Maps
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
addRotationMap("HighOctane", "CTF",1,1,8,24);
|
addRotationMap("HighOctane", "CTF",1,1,8,24);
|
||||||
addRotationMap("S5_Mordacity", "CTF",1,1,8,24);
|
addRotationMap("S5_Mordacity", "CTF",1,1,12,24);
|
||||||
addRotationMap("S5_Damnation", "CTF",1,0,8,20);
|
addRotationMap("S5_Damnation", "CTF",1,0,12,20);
|
||||||
addRotationMap("TWL2_JaggedClaw", "CTF",1,1,8,24);
|
addRotationMap("TWL2_JaggedClaw", "CTF",1,1,12,24);
|
||||||
addRotationMap("S5_Massive", "CTF",1,1,10,26);
|
addRotationMap("S5_Massive", "CTF",1,1,10,26);
|
||||||
addRotationMap("TWL_Stonehenge", "CTF",1,1,8,20);
|
addRotationMap("TWL_Stonehenge", "CTF",1,1,8,20);
|
||||||
addRotationMap("TWL_Feign", "CTF",1,1,10,20);
|
addRotationMap("TWL_Feign", "CTF",1,0,10,20);
|
||||||
addRotationMap("TheFray", "CTF",1,1,10,20);
|
addRotationMap("TheFray", "CTF",1,0,10,20);
|
||||||
addRotationMap("DangerousCrossing_nef", "CTF",1,1,8,20);
|
addRotationMap("DangerousCrossing_nef", "CTF",1,1,8,20);
|
||||||
addRotationMap("TWL2_Ocular", "CTF",1,1,12,-1);
|
addRotationMap("TWL2_Ocular", "CTF",1,1,16,-1);
|
||||||
addRotationMap("Dire", "CTF",1,0,10,16);
|
addRotationMap("Dire", "CTF",1,1,10,16);
|
||||||
addRotationMap("berlard", "CTF",1,1,12,24);
|
addRotationMap("berlard", "CTF",1,0,12,24);
|
||||||
addRotationMap("S8_Opus", "CTF",1,0,8,24);
|
addRotationMap("S8_Opus", "CTF",1,0,8,24);
|
||||||
addRotationMap("BeggarsRun", "CTF",1,0,8,24);
|
addRotationMap("BeggarsRun", "CTF",1,0,8,24);
|
||||||
addRotationMap("Headstone", "CTF",1,0,8,20);
|
addRotationMap("Headstone", "CTF",1,0,8,20);
|
||||||
addRotationMap("Signal", "CTF",1,0,8,26);
|
addRotationMap("Signal", "CTF",1,0,8,26);
|
||||||
addRotationMap("S5_Woodymyrk", "CTF",1,1,8,26);
|
addRotationMap("S5_Woodymyrk", "CTF",1,1,10,26);
|
||||||
addRotationMap("TenebrousCTF", "CTF",1,1,8,12);
|
addRotationMap("TenebrousCTF", "CTF",1,0,8,12);
|
||||||
addRotationMap("Pariah", "CTF",1,1,8,16);
|
addRotationMap("Pariah", "CTF",1,0,8,16);
|
||||||
addRotationMap("Prismatic", "CTF",1,0,12,26);
|
addRotationMap("Prismatic", "CTF",1,1,12,26);
|
||||||
addRotationMap("TWL_WilderZone", "CTF",1,1,8,20);
|
addRotationMap("TWL_WilderZone", "CTF",1,0,8,20);
|
||||||
//addRotationMap("Mirage", "CTF",1,0,8,20);
|
//addRotationMap("Mirage", "CTF",1,0,8,20);
|
||||||
addRotationMap("S5_Mimicry", "CTF",1,0,8,24);
|
addRotationMap("S5_Mimicry", "CTF",1,0,8,24);
|
||||||
//addRotationMap("TWL_Snowblind", "CTF",1,0,12,-1);
|
//addRotationMap("TWL_Snowblind", "CTF",1,0,12,-1);
|
||||||
addRotationMap("ShortFall", "CTF",1,0,12,24);
|
addRotationMap("ShortFall", "CTF",1,1,12,24);
|
||||||
//addRotationMap("IceRidge_nef", "CTF",1,0,8,20);
|
//addRotationMap("IceRidge_nef", "CTF",1,0,8,20);
|
||||||
//addRotationMap("Disjointed", "CTF",1,0,8,20);
|
//addRotationMap("Disjointed", "CTF",1,0,8,20);
|
||||||
addRotationMap("TWL2_MuddySwamp", "CTF",1,1,8,20);
|
addRotationMap("TWL2_MuddySwamp", "CTF",1,0,8,20);
|
||||||
addRotationMap("HighAnxiety", "CTF",1,0,8,20);
|
addRotationMap("HighAnxiety", "CTF",1,0,8,20);
|
||||||
addRotationMap("S5_Centaur", "CTF",1,1,8,20);
|
addRotationMap("S5_Centaur", "CTF",1,0,8,20);
|
||||||
addRotationMap("S8_Cardiac", "CTF",1,1,12,-1);
|
addRotationMap("S8_Cardiac", "CTF",1,1,12,-1);
|
||||||
addRotationMap("CirclesEdge", "CTF",1,1,10,24);
|
addRotationMap("CirclesEdge", "CTF",1,1,10,24);
|
||||||
addRotationMap("S5_Icedance", "CTF",1,1,8,24);
|
addRotationMap("S5_Icedance", "CTF",1,1,8,24);
|
||||||
|
|
@ -133,20 +136,20 @@ addRotationMap("Cinereous", "CTF",1,0,12,20);
|
||||||
//addRotationMap("Coppersky", "CTF",1,0,8,20);
|
//addRotationMap("Coppersky", "CTF",1,0,8,20);
|
||||||
//addRotationMap("TWL2_Crevice", "CTF",1,0,10,20);
|
//addRotationMap("TWL2_Crevice", "CTF",1,0,10,20);
|
||||||
//addRotationMap("TWL_SubZero", "CTF",1,0,10,20);
|
//addRotationMap("TWL_SubZero", "CTF",1,0,10,20);
|
||||||
//addRotationMap("TWL_Titan", "CTF",1,0,10,20);
|
addRotationMap("TWL_Titan", "CTF",1,0,12,20);
|
||||||
//addRotationMap("Confusco", "CTF",1,0,10,20);
|
addRotationMap("Confusco", "CTF",1,0,10,20);
|
||||||
//addRotationMap("Fallout", "CTF",1,0,10,20);
|
//addRotationMap("Fallout", "CTF",1,0,10,20);
|
||||||
//addRotationMap("TheClocktower", "CTF",1,0,10,20);
|
//addRotationMap("TheClocktower", "CTF",1,0,10,20);
|
||||||
//addRotationMap("SoylentGreen", "CTF",1,0,10,20);
|
//addRotationMap("SoylentGreen", "CTF",1,0,10,20);
|
||||||
//addRotationMap("Ramparts", "CTF",1,0,10,20);
|
//addRotationMap("Ramparts", "CTF",1,0,10,20);
|
||||||
//addRotationMap("Blastside_nef", "CTF",1,0,10,24);
|
//addRotationMap("Blastside_nef", "CTF",1,0,10,24);
|
||||||
//addRotationMap("Burstside", "CTF",1,0,10,20);
|
addRotationMap("Burstside", "CTF",1,0,10,20);
|
||||||
//addRotationMap("Infernus", "CTF",1,0,18,26);
|
//addRotationMap("Infernus", "CTF",1,0,18,26);
|
||||||
//addRotationMap("NatureMagic", "CTF",1,0,10,20);
|
//addRotationMap("NatureMagic", "CTF",1,0,10,20);
|
||||||
//addRotationMap("TWL_Damnation", "CTF",1,0,10,20);
|
//addRotationMap("TWL_Damnation", "CTF",1,0,10,20);
|
||||||
addRotationMap("TWL_DangerousCrossing", "CTF",1,1,10,20);
|
addRotationMap("TWL_DangerousCrossing", "CTF",1,1,10,20);
|
||||||
//addRotationMap("TWL_DeadlyBirdsSong", "CTF",1,0,10,20);
|
addRotationMap("TWL_DeadlyBirdsSong", "CTF",1,0,10,20);
|
||||||
addRotationMap("Vauban", "CTF",1,0,18,-1);
|
//addRotationMap("Vauban", "CTF",1,0,18,-1);
|
||||||
//addRotationMap("TWL_Pandemonium", "CTF",1,0,10,24);
|
//addRotationMap("TWL_Pandemonium", "CTF",1,0,10,24);
|
||||||
|
|
||||||
//Vehicle Maps
|
//Vehicle Maps
|
||||||
|
|
@ -154,12 +157,13 @@ addRotationMap("Vauban", "CTF",1,0,18,-1);
|
||||||
|
|
||||||
addRotationMap("Logans_Run", "CTF",1,1,8,28);
|
addRotationMap("Logans_Run", "CTF",1,1,8,28);
|
||||||
addRotationMap("Rollercoaster_nef", "CTF",1,1,8,28);
|
addRotationMap("Rollercoaster_nef", "CTF",1,1,8,28);
|
||||||
addRotationMap("HostileLoch", "CTF",1,1,12,24);
|
//addRotationMap("Rollercoaster_nef_FZ", "CTF",1,1,8,28);
|
||||||
|
addRotationMap("HostileLoch", "CTF",1,0,12,24);
|
||||||
addRotationMap("TWL_BeachBlitz", "CTF",1,1,12,24);
|
addRotationMap("TWL_BeachBlitz", "CTF",1,1,12,24);
|
||||||
addRotationMap("TWL2_Magnum", "CTF",1,1,12,28);
|
addRotationMap("TWL2_Magnum", "CTF",1,1,12,28);
|
||||||
addRotationMap("MoonDance", "CTF",1,1,12,28);
|
addRotationMap("MoonDance", "CTF",1,0,12,28);
|
||||||
addRotationMap("Raindance_nef", "CTF",1,1,12,28);
|
addRotationMap("Raindance_nef", "CTF",1,1,12,28);
|
||||||
addRotationMap("TWL_Magmatic", "CTF",1,0,18,28);
|
addRotationMap("TWL_Magmatic", "CTF",1,0,14,28);
|
||||||
addRotationMap("TWL2_FrozenGlory", "CTF",1,1,12,24);
|
addRotationMap("TWL2_FrozenGlory", "CTF",1,1,12,24);
|
||||||
addRotationMap("LandingParty", "CTF",1,1,12,28);
|
addRotationMap("LandingParty", "CTF",1,1,12,28);
|
||||||
//addRotationMap("TitanV", "CTF",1,0,12,28);
|
//addRotationMap("TitanV", "CTF",1,0,12,28);
|
||||||
|
|
@ -170,9 +174,9 @@ addRotationMap("TWL_Crossfire", "CTF",1,1,14,28);
|
||||||
//Vehicle Maps: Voteable, But Not in Rotation
|
//Vehicle Maps: Voteable, But Not in Rotation
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
//addRotationMap("SubZeroV", "CTF",1,0,12,24);
|
addRotationMap("SubZeroV", "CTF",1,0,12,24);
|
||||||
//addRotationMap("S8_Geothermal", "CTF",1,0,12,24);
|
addRotationMap("S8_Geothermal", "CTF",1,0,12,24);
|
||||||
//addRotationMap("Lakefront", "CTF",1,0,12,24);
|
addRotationMap("Lakefront", "CTF",1,0,12,24);
|
||||||
//addRotationMap("ShockRidge", "CTF",1,0,12,24);
|
//addRotationMap("ShockRidge", "CTF",1,0,12,24);
|
||||||
addRotationMap("TWL2_BlueMoon", "CTF",1,1,18,28);
|
addRotationMap("TWL2_BlueMoon", "CTF",1,1,18,28);
|
||||||
addRotationMap("TWL_Katabatic", "CTF",1,0,16,28);
|
addRotationMap("TWL_Katabatic", "CTF",1,0,16,28);
|
||||||
|
|
@ -185,38 +189,90 @@ addRotationMap("TWL_Katabatic", "CTF",1,0,16,28);
|
||||||
//addRotationMap("FilteredDust", "CTF",1,0,12,24);
|
//addRotationMap("FilteredDust", "CTF",1,0,12,24);
|
||||||
//addRotationMap("Choke", "CTF",1,0,12,24);
|
//addRotationMap("Choke", "CTF",1,0,12,24);
|
||||||
//addRotationMap("TWL_Chokepoint", "CTF",1,0,12,24);
|
//addRotationMap("TWL_Chokepoint", "CTF",1,0,12,24);
|
||||||
//addRotationMap("Nightdance", "CTF",1,0,10,24);
|
addRotationMap("Nightdance", "CTF",1,0,10,24);
|
||||||
//addRotationMap("TWL_Abaddon", "CTF",1,0,16,24);
|
//addRotationMap("TWL_Abaddon", "CTF",1,0,16,24);
|
||||||
|
|
||||||
//BIG Vehicle Maps
|
//BIG Vehicle Maps
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
addRotationMap("Circleofstones", "CTF",1,1,12,-1);
|
addRotationMap("Circleofstones", "CTF",1,1,16,-1);
|
||||||
addRotationMap("TWL2_Ruined", "CTF",1,1,18,-1);
|
//addRotationMap("TWL2_Ruined", "CTF",1,1,18,-1);
|
||||||
|
addRotationMap("Ruined", "CTF",1,0,16,-1);
|
||||||
//addRotationMap("Agorazscium", "CTF",1,0,24,-1);
|
//addRotationMap("Agorazscium", "CTF",1,0,24,-1);
|
||||||
//addRotationMap("FullCircle", "CTF",1,0,18,30);
|
//addRotationMap("FullCircle", "CTF",1,0,18,30);
|
||||||
//addRotationMap("Surro", "CTF",1,0,18,24);
|
//addRotationMap("Surro", "CTF",1,0,18,24);
|
||||||
//addRotationMap("TWL2_RoughLand", "CTF",1,0,20,-1);
|
//addRotationMap("TWL2_RoughLand", "CTF",1,0,20,-1);
|
||||||
addRotationMap("HarvestDance", "CTF",1,1,20,-1);
|
addRotationMap("HarvestDance", "CTF",1,1,16,-1);
|
||||||
//addRotationMap("WindyGap", "CTF",1,0,24,-1);
|
//addRotationMap("WindyGap", "CTF",1,0,24,-1);
|
||||||
addRotationMap("Fenix", "CTF",1,1,28,-1);
|
addRotationMap("Fenix", "CTF",1,1,24,-1);
|
||||||
addRotationMap("Hillside", "CTF",1,1,28,-1);
|
addRotationMap("Hillside", "CTF",1,1,24,-1);
|
||||||
//addRotationMap("Sangre_de_Grado", "CTF",1,0,20,-1);
|
//addRotationMap("Sangre_de_Grado", "CTF",1,0,20,-1);
|
||||||
//addRotationMap("Slapdash", "CTF",1,0,20,-1);
|
//addRotationMap("Slapdash", "CTF",1,0,20,-1);
|
||||||
addRotationMap("BerylBasin", "CTF",1,1,16,-1);
|
addRotationMap("BerylBasin", "CTF",1,0,16,-1);
|
||||||
//addRotationMap("TWL_Frozen", "CTF",1,0,20,-1);
|
//addRotationMap("TWL_Frozen", "CTF",1,0,20,-1);
|
||||||
addRotationMap("TWL_Harvester", "CTF",1,1,24,-1);
|
addRotationMap("TWL_Harvester", "CTF",1,1,24,-1);
|
||||||
//addRotationMap("Archipelago", "CTF",1,0,20,-1);
|
//addRotationMap("Archipelago", "CTF",1,0,20,-1);
|
||||||
addRotationMap("TWL2_Bleed", "CTF",1,0,18,-1);
|
addRotationMap("TWL2_Bleed", "CTF",1,0,18,-1);
|
||||||
addRotationMap("Pantheon", "CTF",1,1,20,-1);
|
addRotationMap("Pantheon", "CTF",1,0,20,-1);
|
||||||
addRotationMap("DeathBirdsFly1", "CTF",1,1,24,-1);
|
addRotationMap("DeathBirdsFly1", "CTF",1,1,24,-1);
|
||||||
//addRotationMap("Scarabrae_nef", "CTF",1,0,28,-1);
|
addRotationMap("Scarabrae_nef", "CTF",1,0,28,-1);
|
||||||
addRotationMap("aabaa", "CTF",1,1,28,-1);
|
addRotationMap("aabaa", "CTF",1,1,28,-1);
|
||||||
addRotationMap("TWL_Reversion", "CTF",1,1,28,-1);
|
addRotationMap("TWL_Reversion", "CTF",1,1,28,-1);
|
||||||
//addRotationMap("Glade", "CTF",1,1,28,-1);
|
//addRotationMap("Glade", "CTF",1,1,28,-1);
|
||||||
//addRotationMap("TWL_Horde", "CTF",1,0,28,-1);
|
addRotationMap("TWL_Horde", "CTF",1,1,24,-1);
|
||||||
addRotationMap("CloakofNightV", "CTF",1,1,24,-1);
|
addRotationMap("CloakofNightV", "CTF",1,1,24,-1);
|
||||||
|
|
||||||
|
//DMP Mappack
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
addRotationMap("DMP_Agroleon", "CTF",1,0,16,28);
|
||||||
|
addRotationMap("DMP_Astro", "CTF",1,1,8,18);
|
||||||
|
addRotationMap("DMP_BastardForge", "CTF",1,1,6,24);
|
||||||
|
addRotationMap("DMP_BitterGorge", "CTF",1,0,18,24);
|
||||||
|
addRotationMap("DMP_Bunkered", "CTF",1,1,6,12);
|
||||||
|
addRotationMap("DMP_Cinerarium", "CTF",1,1,6,12);
|
||||||
|
addRotationMap("DMP_DermCity", "CTF",1,0,-1,-1);
|
||||||
|
addRotationMap("DMP_Embers", "CTF",1,0,6,12);
|
||||||
|
addRotationMap("DMP_EmeraldSpit", "CTF",1,1,10,20);
|
||||||
|
addRotationMap("DMP_FaceCrossing", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("DMP_Hoth", "CTF",1,0,24,-1);
|
||||||
|
addRotationMap("DMP_IceGiant", "CTF",1,0,16,28);
|
||||||
|
addRotationMap("DMP_IsleDeBatalla", "CTF",1,0,10,20);
|
||||||
|
addRotationMap("DMP_LavaGods", "CTF",1,1,10,20);
|
||||||
|
addRotationMap("DMP_Magellan", "CTF",1,1,10,18);
|
||||||
|
addRotationMap("DMP_MoonDance", "CTF",1,1,12,28);
|
||||||
|
addRotationMap("DMP_Pantheon", "CTF",1,0,18,28);
|
||||||
|
addRotationMap("DMP_Paranoia", "CTF",1,1,6,10);
|
||||||
|
addRotationMap("DMP_Pariah", "CTF",1,1,8,16);
|
||||||
|
addRotationMap("DMP_PipeDream", "CTF",1,1,8,16);
|
||||||
|
addRotationMap("DMP_RavineV", "CTF",1,0,12,28);
|
||||||
|
addRotationMap("DMP_ScorchedEarth", "CTF",1,0,14,-1);
|
||||||
|
addRotationMap("DMP_SimpleFlagArena", "CTF",1,1,6,12);
|
||||||
|
addRotationMap("DMP_SpinCycle", "CTF",1,1,8,16);
|
||||||
|
addRotationMap("DMP_StarFall", "CTF",1,1,6,12);
|
||||||
|
addRotationMap("DMP_Tyre", "CTF",1,1,16,24);
|
||||||
|
addRotationMap("DMP_Wasteland", "CTF",1,1,10,20);
|
||||||
|
|
||||||
|
addRotationMap("SC_Normal", "CTF",1,1,-1,16);
|
||||||
|
// addRotationMap("SC_Badlands", "CTF",1,1,-1,16);
|
||||||
|
// addRotationMap("SC_Desert", "CTF",1,1,-1,16);
|
||||||
|
// addRotationMap("SC_Lush", "CTF",1,1,-1,16);
|
||||||
|
addRotationMap("SC_Ice", "CTF",1,1,-1,16);
|
||||||
|
// addRotationMap("SC_Night", "CTF",1,1,-1,16);
|
||||||
|
// addRotationMap("DX_Badlands", "CTF",1,1,10,20);
|
||||||
|
// addRotationMap("DX_Desert", "CTF",1,1,10,20);
|
||||||
|
addRotationMap("DX_Ice", "CTF",1,0,10,20);
|
||||||
|
// addRotationMap("HO_Badlands", "CTF",1,1,8,24);
|
||||||
|
// addRotationMap("HO_Desert", "CTF",1,1,8,24);
|
||||||
|
addRotationMap("HO_Ice", "CTF",1,1,8,24);
|
||||||
|
// addRotationMap("HO_Lush", "CTF",1,1,8,24);
|
||||||
|
addRotationMap("Attrition", "CTF",1,0,-1,-1);
|
||||||
|
// addRotationMap("Chasmaclysmic", "CTF",1,1,-1,-1);
|
||||||
|
// addRotationMap("DBS_Smoothed", "CTF",1,1,-1,-1);
|
||||||
|
// addRotationMap("PuliVeivari", "CTF",1,1,-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
|
//Not In Rotation - Not Voteable
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
@ -303,7 +359,7 @@ addRotationMap("DesertofDeathLak", "Lakrabbit",1,1,-1,-1);
|
||||||
addRotationMap("Raindance_nefLak", "Lakrabbit",1,1,-1,-1);
|
addRotationMap("Raindance_nefLak", "Lakrabbit",1,1,-1,-1);
|
||||||
addRotationMap("SunDriedLak", "Lakrabbit",1,1,-1,-1);
|
addRotationMap("SunDriedLak", "Lakrabbit",1,1,-1,-1);
|
||||||
addRotationMap("SkinnyDipLak", "Lakrabbit",1,1,-1,-1);
|
addRotationMap("SkinnyDipLak", "Lakrabbit",1,1,-1,-1);
|
||||||
addRotationMap("SaddiesHill", "Lakrabbit",1,0,-1,-1);
|
addRotationMap("SaddiesHill", "Lakrabbit",1,1,-1,-1);
|
||||||
addRotationMap("HavenLak", "Lakrabbit",1,0,-1,-1);
|
addRotationMap("HavenLak", "Lakrabbit",1,0,-1,-1);
|
||||||
addRotationMap("LushLak", "Lakrabbit",1,1,8,-1);
|
addRotationMap("LushLak", "Lakrabbit",1,1,8,-1);
|
||||||
addRotationMap("BoxLak", "Lakrabbit",1,1,-1,10);
|
addRotationMap("BoxLak", "Lakrabbit",1,1,-1,10);
|
||||||
|
|
@ -315,6 +371,7 @@ addRotationMap("CankerLak", "Lakrabbit",1,1,-1,-1);
|
||||||
addRotationMap("DustRunLak", "Lakrabbit",1,1,-1,-1);
|
addRotationMap("DustRunLak", "Lakrabbit",1,1,-1,-1);
|
||||||
addRotationMap("CrossfiredLak", "Lakrabbit",1,0,-1,-1);
|
addRotationMap("CrossfiredLak", "Lakrabbit",1,0,-1,-1);
|
||||||
addRotationMap("CloakofLak", "Lakrabbit",1,1,-1,-1);
|
addRotationMap("CloakofLak", "Lakrabbit",1,1,-1,-1);
|
||||||
|
addRotationMap("SpectreLak", "Lakrabbit",1,1,-1,-1);
|
||||||
|
|
||||||
//Voteable, But not in rotation
|
//Voteable, But not in rotation
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
@ -327,7 +384,7 @@ addRotationMap("EquinoxLak", "Lakrabbit",1,0,-1,-1);
|
||||||
addRotationMap("PhasmaDustLak", "Lakrabbit",1,1,-1,12);
|
addRotationMap("PhasmaDustLak", "Lakrabbit",1,1,-1,12);
|
||||||
addRotationMap("GodsRiftLak", "Lakrabbit",1,0,-1,-1);
|
addRotationMap("GodsRiftLak", "Lakrabbit",1,0,-1,-1);
|
||||||
addRotationMap("SolsDescentLak", "Lakrabbit",1,0,-1,-1);
|
addRotationMap("SolsDescentLak", "Lakrabbit",1,0,-1,-1);
|
||||||
addRotationMap("Crater71Lak", "Lakrabbit",1,1,6,-1);
|
addRotationMap("Crater71Lak", "Lakrabbit",1,0,6,-1);
|
||||||
|
|
||||||
//Not Voteable, Not in rotation
|
//Not Voteable, Not in rotation
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
@ -395,6 +452,7 @@ addRotationMap("PariahLT", "sctf",1,1,-1,16);
|
||||||
addRotationMap("S8_ZilchLT", "sctf",1,1,-1,-1);
|
addRotationMap("S8_ZilchLT", "sctf",1,1,-1,-1);
|
||||||
addRotationMap("TWL_BeachBlitzLT", "sctf",1,1,-1,-1);
|
addRotationMap("TWL_BeachBlitzLT", "sctf",1,1,-1,-1);
|
||||||
addRotationMap("FrozenHopeLT", "sctf",1,1,-1,-1);
|
addRotationMap("FrozenHopeLT", "sctf",1,1,-1,-1);
|
||||||
|
addRotationMap("Confusco", "sctf",1,0,6,-1);
|
||||||
//addRotationMap("TWL2_JaggedClawLT", "sctf",1,1,-1,-1);
|
//addRotationMap("TWL2_JaggedClawLT", "sctf",1,1,-1,-1);
|
||||||
|
|
||||||
//Voteable, But not in rotation
|
//Voteable, But not in rotation
|
||||||
|
|
@ -407,6 +465,21 @@ addRotationMap("S5_WoodymyrkLT", "sctf",1,1,-1,-1);
|
||||||
addRotationMap("S8_Opus", "sctf",1,0,-1,-1);
|
addRotationMap("S8_Opus", "sctf",1,0,-1,-1);
|
||||||
addRotationMap("TWL_DangerousCrossing", "sctf",1,0,-1,-1);
|
addRotationMap("TWL_DangerousCrossing", "sctf",1,0,-1,-1);
|
||||||
|
|
||||||
|
//DMP Mappack
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
// addRotationMap("Attrition", "sctf",1,0,-1,-1);
|
||||||
|
addRotationMap("Rush", "sctf",1,1,-1,-1);
|
||||||
|
addRotationMap("HillKingLT", "sctf",1,1,-1,-1);
|
||||||
|
addRotationMap("DMP_BastardForge", "sctf",1,1,-1,-1);
|
||||||
|
addRotationMap("VanDamnedLT", "sctf",1,1,-1,-1);
|
||||||
|
addRotationMap("DMP_Paranoia", "sctf",1,0,-1,-1);
|
||||||
|
addRotationMap("DMP_Spincycle", "sctf",1,1,-1,-1);
|
||||||
|
addRotationMap("Ravine", "sctf",1,1,-1,-1);
|
||||||
|
// addRotationMap("DX_Badlands", "sctf",1,0,-1,-1);
|
||||||
|
// addRotationMap("DX_Desert", "sctf",1,0,-1,-1);
|
||||||
|
// addRotationMap("DX_Ice", "sctf",1,0,-1,-1);
|
||||||
|
//addRotationMap("Moonwalk", "sctf",1,0,-1,-1);
|
||||||
|
|
||||||
|
|
||||||
//Not Voteable, Not in rotation
|
//Not Voteable, Not in rotation
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ $Host::AnimateWithTransitions = 1;
|
||||||
$Host::AntiPackEnable = 1;
|
$Host::AntiPackEnable = 1;
|
||||||
$Host::AntiPackPlayerCount = 6;
|
$Host::AntiPackPlayerCount = 6;
|
||||||
$Host::AveragePings = 1;
|
$Host::AveragePings = 1;
|
||||||
$Host::BanTime = 30;
|
$Host::BanTime = 43200;
|
||||||
$Host::BotCount = 14;
|
$Host::BotCount = 14;
|
||||||
$Host::BotsEnabled = "0";
|
$Host::BotsEnabled = "0";
|
||||||
$Host::ClassicAdminLog = 1;
|
$Host::ClassicAdminLog = 1;
|
||||||
|
|
@ -100,7 +100,7 @@ $Host::holoName5 = "BloodEagle";
|
||||||
$Host::holoName6 = "Harbinger";
|
$Host::holoName6 = "Harbinger";
|
||||||
$Host::Info = "This is a Tribes 2 Classic server. More information in Discord. <a:playt2.com/discord>playt2.com/discord</a>";
|
$Host::Info = "This is a Tribes 2 Classic server. More information in Discord. <a:playt2.com/discord>playt2.com/discord</a>";
|
||||||
$Host::ItemRespawnTime = 30;
|
$Host::ItemRespawnTime = 30;
|
||||||
$Host::KickBanTime = 1;
|
$Host::KickBanTime = 20;
|
||||||
$Host::KickObserverStartOnJoin = 1;
|
$Host::KickObserverStartOnJoin = 1;
|
||||||
$Host::KickObserverTimeout = 1200;
|
$Host::KickObserverTimeout = 1200;
|
||||||
$Host::LakRabbitDuelMode = 0;
|
$Host::LakRabbitDuelMode = 0;
|
||||||
|
|
|
||||||
|
|
@ -212,7 +212,7 @@ function Flag::objectiveInit(%data, %flag)
|
||||||
// -------------------------------------------------------------------------------------------
|
// -------------------------------------------------------------------------------------------
|
||||||
}
|
}
|
||||||
|
|
||||||
// AI consoel spam
|
// AI console spam
|
||||||
function AIThrowObject(%object)
|
function AIThrowObject(%object)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|
@ -313,6 +313,9 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am
|
||||||
if(%targetObject.invincible || %targetObject.getState() $= "Dead")
|
if(%targetObject.invincible || %targetObject.getState() $= "Dead")
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if(%damageType == $DamageType::SatchelCharge && $InvBanList[LakRabbit, "SatchelCharge"] $= 1)
|
||||||
|
return;
|
||||||
|
|
||||||
//rabbit can't DJ in duel mode
|
//rabbit can't DJ in duel mode
|
||||||
// if(Game.duelMode && %targetObject.holdingFlag && %targetObject == %sourceObject
|
// if(Game.duelMode && %targetObject.holdingFlag && %targetObject == %sourceObject
|
||||||
// && %damageType == $DamageType::Disc
|
// && %damageType == $DamageType::Disc
|
||||||
|
|
@ -342,10 +345,13 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am
|
||||||
&& %sourceObject.getDataBlock().getClassName() $= "PlayerData"
|
&& %sourceObject.getDataBlock().getClassName() $= "PlayerData"
|
||||||
&& %targetObject.client == %sourceObject.client)
|
&& %targetObject.client == %sourceObject.client)
|
||||||
{
|
{
|
||||||
if(%damageType == $DamageType::Disc && %sourceObject.freeDJ)
|
if(%sourceObject.holdingFlag $= "") //Not holding a flag (NonRabbit)
|
||||||
{
|
{
|
||||||
%amount = 0;
|
if(%damageType == $DamageType::Disc && (%sourceObject.freeDJ || $Host::LakRabbitUnlimitedDJ))
|
||||||
%sourceObject.freeDJ--;
|
{
|
||||||
|
%amount = 0;
|
||||||
|
%sourceObject.freeDJ--;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -626,7 +632,7 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am
|
||||||
}
|
}
|
||||||
%weapon = "Plasma";
|
%weapon = "Plasma";
|
||||||
case $DamageType::Laser:
|
case $DamageType::Laser:
|
||||||
if($InvBanList[LakRabbit, "SniperRifle"]) //banned
|
if($InvBanList[LakRabbit, "SniperRifle"] $= 1) //banned
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(%energy > 0.5 || %players > 7)
|
if(%energy > 0.5 || %players > 7)
|
||||||
|
|
@ -666,8 +672,11 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am
|
||||||
case $DamageType::Missile:
|
case $DamageType::Missile:
|
||||||
// doesn't matter if it's MA
|
// doesn't matter if it's MA
|
||||||
%ma = 0;
|
%ma = 0;
|
||||||
if((getSimTime() - $LakRabbit::MissileHeistTime > 10000) || !$LakRabbit::MissileHeistTime)
|
if($InvBanList[LakRabbit, "MissileLauncher"] $= 1)
|
||||||
return;
|
{
|
||||||
|
if((getSimTime() - $LakRabbit::MissileHeistTime > 10000) || !$LakRabbit::MissileHeistTime)
|
||||||
|
return;
|
||||||
|
}
|
||||||
%weapon = "Missile";
|
%weapon = "Missile";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -814,7 +823,8 @@ function Armor::damageObject(%data, %targetObject, %sourceObject, %position, %am
|
||||||
// should this guy be blown apart?
|
// should this guy be blown apart?
|
||||||
if( %damageType == $DamageType::Explosion ||
|
if( %damageType == $DamageType::Explosion ||
|
||||||
%damageType == $DamageType::Mortar ||
|
%damageType == $DamageType::Mortar ||
|
||||||
%damageType == $DamageType::Missile )
|
%damageType == $DamageType::Missile ||
|
||||||
|
%damageType == $DamageType::SatchelCharge )
|
||||||
{
|
{
|
||||||
if( %previousDamage >= 0.35 ) // only if <= 35 percent damage remaining
|
if( %previousDamage >= 0.35 ) // only if <= 35 percent damage remaining
|
||||||
{
|
{
|
||||||
|
|
@ -972,7 +982,7 @@ $InvBanList[LakRabbit, "Plasma"] = 0;
|
||||||
$InvBanList[LakRabbit, "Blaster"] = 0;
|
$InvBanList[LakRabbit, "Blaster"] = 0;
|
||||||
$InvBanList[LakRabbit, "EnergyPack"] = 0;
|
$InvBanList[LakRabbit, "EnergyPack"] = 0;
|
||||||
$InvBanList[LakRabbit, "Mine"] = 0;
|
$InvBanList[LakRabbit, "Mine"] = 0;
|
||||||
$InvBanList[LakRabbit, "TargetingLaser"] = 0;
|
$InvBanList[LakRabbit, "TargetingLaser"] = 1;
|
||||||
|
|
||||||
|
|
||||||
// borlak functions
|
// borlak functions
|
||||||
|
|
@ -1525,26 +1535,22 @@ function LakRabbitGame::playerSpawned(%game, %player)
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
%player.clearInventory();
|
%player.clearInventory();
|
||||||
%player.setInventory(Disc,1);
|
%player.setInventory(Disc,1);
|
||||||
%player.setInventory(Blaster,1);
|
%player.setInventory(Blaster,1);
|
||||||
%player.setInventory(Plasma,1);
|
%player.setInventory(Plasma,1);
|
||||||
%player.setInventory(DiscAmmo,30);
|
%player.setInventory(DiscAmmo,30);
|
||||||
%player.setInventory(PlasmaAmmo,40);
|
%player.setInventory(PlasmaAmmo,40);
|
||||||
%player.setInventory(Mine,6);
|
%player.setInventory(Mine,6);
|
||||||
%player.setInventory(RepairKit,1);
|
%player.setInventory(RepairKit,1);
|
||||||
%player.setInventory(EnergyPack,1);
|
%player.setInventory(EnergyPack,1);
|
||||||
%player.use("Disc");
|
%player.use("Disc");
|
||||||
}
|
}
|
||||||
|
|
||||||
%player.schedule(250,"selectWeaponSlot", 0);
|
%player.schedule(250,"selectWeaponSlot", 0);
|
||||||
%player.setEnergyLevel(%player.getDatablock().maxEnergy);
|
%player.setEnergyLevel(%player.getDatablock().maxEnergy);
|
||||||
|
|
||||||
if($Host::LakRabbitUnlimitedDJ == 1)
|
%player.freeDJ = 1; // free diskjump
|
||||||
%player.freeDJ = 999; // free diskjump
|
|
||||||
else
|
|
||||||
%player.freeDJ = 1; // free diskjump
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -85,6 +85,34 @@ function voteLog(%client, %typeName, %arg1, %arg2, %arg3, %arg4)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// votePercentLog(%client, %typeName, %key, %game.votesFor[%game.kickTeam], %game.votesAgainst[%game.kickTeam], %totalVotes, %game.totalVotesNone)
|
||||||
|
// Info: Logs voting percent events
|
||||||
|
function votePercentLog(%display, %typeName, %key, %voteYea, %voteNay, %voteTotal, %voteNone) //%voteNone = Did Not Vote (DNV) (Abstain)
|
||||||
|
{
|
||||||
|
if($Host::ClassicVoteLog)
|
||||||
|
{
|
||||||
|
// Dif calc for "VoteKickPlayer"
|
||||||
|
if(%typeName $= "VoteKickPlayer")
|
||||||
|
{
|
||||||
|
%percent = mFloor((%voteYea/ClientGroup.getCount()) * 100);
|
||||||
|
%voteNone = "N/A";
|
||||||
|
%display = %typeName SPC "[" @ %display.nameBase @ "]";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
%percent = mFloor((%voteYea/(ClientGroup.getCount() - %voteNone)) * 100);
|
||||||
|
%display = %typeName SPC "[" @ %display @ "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
$VoteLog = "[" @ %key @ "]" SPC %display SPC "Yea[" @ %voteYea @ "] Nay[" @ %voteNay @ "] Abstain[" @ %voteNone @ "] Total[" @ %voteTotal @ "] Vote%[" @ %percent @ "]";
|
||||||
|
|
||||||
|
// this is the info that will be logged
|
||||||
|
%logpath = $Host::ClassicVoteLogPath;
|
||||||
|
export("$VoteLog", %logpath, true);
|
||||||
|
logEcho($VoteLog);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// From Goon
|
// From Goon
|
||||||
// Slightly more elegant solution rather than spamming console
|
// Slightly more elegant solution rather than spamming console
|
||||||
function ClassicChatLog(%client, %id, %team, %msg)
|
function ClassicChatLog(%client, %id, %team, %msg)
|
||||||
|
|
|
||||||
|
|
@ -203,35 +203,51 @@ function GameBaseData::onAdd(%data, %obj)
|
||||||
// Throw Spam fix
|
// Throw Spam fix
|
||||||
function serverCmdThrow(%client, %data)
|
function serverCmdThrow(%client, %data)
|
||||||
{
|
{
|
||||||
if(%client.tossLock)
|
if(%client.tossLock)
|
||||||
return;
|
{
|
||||||
|
if(getSimTime() - %client.tossLockTime < 30000)
|
||||||
|
return;
|
||||||
|
else
|
||||||
|
%client.tossLock = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if(getSimTime() - %client.tossTime < 128)
|
if(getSimTime() - %client.tossTime < 128)
|
||||||
{
|
{
|
||||||
%client.tossCounter++;
|
%client.tossCounter++;
|
||||||
if(%client.tossCounter > 30)
|
if(%client.tossCounter > 30)
|
||||||
{
|
{
|
||||||
echo(%client.nameBase SPC "was Banned for exceeding" SPC %client.tossCounter SPC "Toss Limit.");
|
if(%client.tossLockWarning)
|
||||||
messageAll('msgAll',"\c3" @ %client.namebase SPC "is attempting to lag the server!");
|
{
|
||||||
messageClient(%client, 'onClientBanned', "");
|
echo(%client.nameBase SPC "was Banned for exceeding" SPC %client.tossCounter SPC "Toss Limit.");
|
||||||
messageAllExcept( %client, -1, 'MsgClientDrop', "", %client.name, %client );
|
messageAll('msgAll',"\c3" @ %client.namebase SPC "is attempting to lag the server!");
|
||||||
if(isObject(%client.player))
|
messageClient(%client, 'onClientBanned', "");
|
||||||
%client.player.scriptKill(0);
|
messageAllExcept( %client, -1, 'MsgClientDrop', "", %client.name, %client );
|
||||||
if (isObject(%client))
|
if(isObject(%client.player))
|
||||||
{
|
%client.player.scriptKill(0);
|
||||||
%client.setDisconnectReason("Item Spew scripts are not allowed on this server." );
|
if (isObject(%client))
|
||||||
%client.schedule(700, "delete");
|
{
|
||||||
}
|
%client.setDisconnectReason("Item Spew scripts are not allowed on this server." );
|
||||||
BanList::add(%client.guid, %client.getAddress(), $Host::BanTime);
|
%client.schedule(700, "delete");
|
||||||
%client.tossLock = 1;
|
}
|
||||||
return;
|
BanList::add(%client.guid, %client.getAddress(), $Host::BanTime);
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
else
|
{
|
||||||
%client.tossCounter = 0;
|
echo(%client.nameBase SPC "throwing items has been temporarily suspended for exceeding" SPC %client.tossCounter SPC "throw limit.");
|
||||||
|
centerprint(%client, "You are recieving this warning for throw spamming items.\nContinuing to use throw spew scripts will result in a ban.", 10, 2);
|
||||||
|
messageClient(%client, '', "Throwing items has been temporarily suspended.");
|
||||||
|
%client.tossLockTime = getSimTime();
|
||||||
|
%client.tossLockWarning = 1;
|
||||||
|
}
|
||||||
|
%client.tossLock = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
%client.tossCounter = 0;
|
||||||
|
|
||||||
parent::serverCmdThrow(%client, %data);
|
parent::serverCmdThrow(%client, %data);
|
||||||
%client.tossTime = getSimTime();
|
%client.tossTime = getSimTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -704,6 +704,7 @@ function DefaultGame::cancelMatchStart(%game, %admin)
|
||||||
function DefaultGame::voteKickPlayer(%game, %admin, %client)
|
function DefaultGame::voteKickPlayer(%game, %admin, %client)
|
||||||
{
|
{
|
||||||
%cause = "";
|
%cause = "";
|
||||||
|
%typeName = "VoteKickPlayer";
|
||||||
|
|
||||||
if(isObject(%admin))
|
if(isObject(%admin))
|
||||||
{
|
{
|
||||||
|
|
@ -716,8 +717,10 @@ function DefaultGame::voteKickPlayer(%game, %admin, %client)
|
||||||
%totalVotes = %game.votesFor[%game.kickTeam] + %game.votesAgainst[%game.kickTeam];
|
%totalVotes = %game.votesFor[%game.kickTeam] + %game.votesAgainst[%game.kickTeam];
|
||||||
if(%totalVotes > 0 && (%game.votesFor[%game.kickTeam] / %totalVotes) > ($Host::VotePasspercent / 100))
|
if(%totalVotes > 0 && (%game.votesFor[%game.kickTeam] / %totalVotes) > ($Host::VotePasspercent / 100))
|
||||||
{
|
{
|
||||||
kick(%client, %admin, %game.kickGuid);
|
kick(%client, %admin, %game.kickGuid);
|
||||||
%cause = "(vote)";
|
%cause = "(vote)";
|
||||||
|
|
||||||
|
%key = "Passed";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -728,9 +731,15 @@ function DefaultGame::voteKickPlayer(%game, %admin, %client)
|
||||||
if (%cl.team == %game.kickTeam && !%cl.isAIControlled())
|
if (%cl.team == %game.kickTeam && !%cl.isAIControlled())
|
||||||
messageClient( %cl, 'MsgVoteFailed', '\c2Kick player vote did not pass.' );
|
messageClient( %cl, 'MsgVoteFailed', '\c2Kick player vote did not pass.' );
|
||||||
}
|
}
|
||||||
|
%key = "Failed";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Log Vote %
|
||||||
|
votePercentLog(%client, %typeName, %key, %game.votesFor[%game.kickTeam], %game.votesAgainst[%game.kickTeam], %totalVotes, %game.totalVotesNone);
|
||||||
|
//Show Vote %
|
||||||
|
messageAll('', '\c1Vote %6: \c0Yea: %1 Nay: %2 Total: %3 [%4%5]', %game.votesFor[%game.kickTeam], %game.votesAgainst[%game.kickTeam], %totalVotes, mfloor((%game.votesFor[%game.kickTeam] / %totalVotes) * 100), "%", %key);
|
||||||
|
|
||||||
%game.kickTeam = "";
|
%game.kickTeam = "";
|
||||||
%game.kickGuid = "";
|
%game.kickGuid = "";
|
||||||
%game.kickClientName = "";
|
%game.kickClientName = "";
|
||||||
|
|
@ -742,6 +751,8 @@ function DefaultGame::voteKickPlayer(%game, %admin, %client)
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function DefaultGame::voteChangeMission(%game, %admin, %missionDisplayName, %typeDisplayName, %missionId, %missionTypeId)
|
function DefaultGame::voteChangeMission(%game, %admin, %missionDisplayName, %typeDisplayName, %missionId, %missionTypeId)
|
||||||
{
|
{
|
||||||
|
%typeName = "VoteChangeMission";
|
||||||
|
|
||||||
%mission = $HostMissionFile[%missionId];
|
%mission = $HostMissionFile[%missionId];
|
||||||
if ( %mission $= "" )
|
if ( %mission $= "" )
|
||||||
{
|
{
|
||||||
|
|
@ -765,22 +776,39 @@ function DefaultGame::voteChangeMission(%game, %admin, %missionDisplayName, %typ
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
%totalVotes = %game.totalVotesFor + %game.totalVotesAgainst;
|
%totalVotes = %game.totalVotesFor + %game.totalVotesAgainst;
|
||||||
// Added people who dont vote into the equation, now if you do not vote, it doesn't count as a no. - z0dd - ZOD
|
// Added people who dont vote into the equation, now if you do not vote, it doesn't count as a no. - z0dd - ZOD
|
||||||
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone)) > ($Host::VotePasspercent / 100))
|
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone)) > ($Host::VotePasspercent / 100))
|
||||||
{
|
{
|
||||||
messageAll('MsgVotePassed', '\c2The mission was changed to %1 (%2) by vote.', %missionDisplayName, %typeDisplayName );
|
messageAll('MsgVotePassed', '\c2The mission was changed to %1 (%2) by vote.', %missionDisplayName, %typeDisplayName );
|
||||||
|
|
||||||
|
//Log Vote % - Must be before Game Over
|
||||||
|
%key = "Passed";
|
||||||
|
votePercentLog(%missionDisplayName, %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);
|
||||||
|
|
||||||
%game.gameOver();
|
%game.gameOver();
|
||||||
loadMission( %mission, %missionType, false );
|
loadMission( %mission, %missionType, false );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
messageAll('MsgVoteFailed', '\c2Change mission vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
messageAll('MsgVoteFailed', '\c2Change mission vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
||||||
|
|
||||||
|
//Log Vote %
|
||||||
|
%key = "Failed";
|
||||||
|
votePercentLog(%missionDisplayName, %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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function DefaultGame::voteTournamentMode( %game, %admin, %missionDisplayName, %typeDisplayName, %missionId, %missionTypeId )
|
function DefaultGame::voteTournamentMode( %game, %admin, %missionDisplayName, %typeDisplayName, %missionId, %missionTypeId )
|
||||||
{
|
{
|
||||||
|
%typeName = "VoteTournamentMode";
|
||||||
|
|
||||||
%mission = $HostMissionFile[%missionId];
|
%mission = $HostMissionFile[%missionId];
|
||||||
if ( %mission $= "" )
|
if ( %mission $= "" )
|
||||||
{
|
{
|
||||||
|
|
@ -808,10 +836,25 @@ function DefaultGame::voteTournamentMode( %game, %admin, %missionDisplayName, %t
|
||||||
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone)) > ($Host::VotePasspercent / 100))
|
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone)) > ($Host::VotePasspercent / 100))
|
||||||
{
|
{
|
||||||
messageAll('MsgVotePassed', '\c2Server switched to Tournament mode by vote (%1): %2 percent.', %missionDisplayName, mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
messageAll('MsgVotePassed', '\c2Server switched to Tournament mode by vote (%1): %2 percent.', %missionDisplayName, mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
||||||
|
|
||||||
|
//Log Vote % - Must be before Game Over
|
||||||
|
%key = "Passed";
|
||||||
|
votePercentLog(%missionDisplayName, %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);
|
||||||
|
|
||||||
setModeTournament( %mission, %missionType );
|
setModeTournament( %mission, %missionType );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
messageAll('MsgVoteFailed', '\c2Tournament mode vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
{
|
||||||
|
//Log Vote %
|
||||||
|
%key = "Failed";
|
||||||
|
votePercentLog(%missionDisplayName, %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);
|
||||||
|
|
||||||
|
messageAll('MsgVoteFailed', '\c2Tournament mode vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(%cause !$= "")
|
if(%cause !$= "")
|
||||||
|
|
@ -821,6 +864,8 @@ function DefaultGame::voteTournamentMode( %game, %admin, %missionDisplayName, %t
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function DefaultGame::voteChangeTimeLimit( %game, %admin, %newLimit )
|
function DefaultGame::voteChangeTimeLimit( %game, %admin, %newLimit )
|
||||||
{
|
{
|
||||||
|
%typeName = "VoteChangeTimeLimit";
|
||||||
|
|
||||||
if( %newLimit == 999 )
|
if( %newLimit == 999 )
|
||||||
%display = "unlimited";
|
%display = "unlimited";
|
||||||
else
|
else
|
||||||
|
|
@ -844,10 +889,23 @@ function DefaultGame::voteChangeTimeLimit( %game, %admin, %newLimit )
|
||||||
ResetVOTimeChanged(%game);
|
ResetVOTimeChanged(%game);
|
||||||
// Reset the voted time limit when changing mission
|
// Reset the voted time limit when changing mission
|
||||||
$TimeLimitChanged = 1;
|
$TimeLimitChanged = 1;
|
||||||
|
|
||||||
|
//Log Vote %
|
||||||
|
%key = "Passed";
|
||||||
|
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);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
messageAll('MsgVoteFailed', '\c2The vote to change the mission time limit did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
messageAll('MsgVoteFailed', '\c2The vote to change the mission time limit did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
||||||
|
|
||||||
|
//Log Vote %
|
||||||
|
%key = "Failed";
|
||||||
|
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
|
// VoteOvertime
|
||||||
ResetVOall(%game);
|
ResetVOall(%game);
|
||||||
}
|
}
|
||||||
|
|
@ -894,6 +952,8 @@ function DefaultGame::voteFFAMode( %game, %admin, %client )
|
||||||
|
|
||||||
function DefaultGame::voteSkipMission(%game, %admin, %arg1, %arg2, %arg3, %arg4)
|
function DefaultGame::voteSkipMission(%game, %admin, %arg1, %arg2, %arg3, %arg4)
|
||||||
{
|
{
|
||||||
|
%typeName = "VoteSkipMission";
|
||||||
|
|
||||||
if(isObject(%admin))
|
if(isObject(%admin))
|
||||||
{
|
{
|
||||||
messageAll('MsgAdminForce', '\c2The Admin %1 has skipped to the next mission.',%admin.name );
|
messageAll('MsgAdminForce', '\c2The Admin %1 has skipped to the next mission.',%admin.name );
|
||||||
|
|
@ -908,13 +968,28 @@ function DefaultGame::voteSkipMission(%game, %admin, %arg1, %arg2, %arg3, %arg4)
|
||||||
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone)) > ($Host::VotePasspercent / 100))
|
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone)) > ($Host::VotePasspercent / 100))
|
||||||
{
|
{
|
||||||
messageAll('MsgVotePassed', '\c2The mission was skipped to next by vote.');
|
messageAll('MsgVotePassed', '\c2The mission was skipped to next by vote.');
|
||||||
|
|
||||||
|
//Log Vote % - Must be before Game Over
|
||||||
|
%key = "Passed";
|
||||||
|
votePercentLog("N/A", %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);
|
||||||
|
|
||||||
echo("mission skipped (vote)");
|
echo("mission skipped (vote)");
|
||||||
%game.gameOver();
|
%game.gameOver();
|
||||||
//loadMission( findNextCycleMission(), $CurrentMissionType, false );
|
//loadMission( findNextCycleMission(), $CurrentMissionType, false );
|
||||||
cycleMissions();
|
cycleMissions();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
messageAll('MsgVoteFailed', '\c2Skip mission vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
messageAll('MsgVoteFailed', '\c2Skip mission vote did not pass: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
||||||
|
|
||||||
|
//Log Vote %
|
||||||
|
%key = "Failed";
|
||||||
|
votePercentLog("N/A", %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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -946,9 +1021,9 @@ function DefaultGame::voteMatchStart( %game, %admin)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
%totalVotes = %game.totalVotesFor + %game.totalVotesAgainst;
|
%totalVotes = %game.totalVotesFor + %game.totalVotesAgainst;
|
||||||
// Added people who dont vote into the equation, now if you do not vote, it doesn't count as a no. - z0dd - ZOD
|
// Added people who dont vote into the equation, now if you do not vote, it doesn't count as a no. - z0dd - ZOD
|
||||||
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone)) > ($Host::VotePasspercent / 100))
|
if(%totalVotes > 0 && (%game.totalVotesFor / (ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone)) > ($Host::VotePasspercent / 100))
|
||||||
{
|
{
|
||||||
messageAll('MsgVotePassed', '\c2The match has been started by vote: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
messageAll('MsgVotePassed', '\c2The match has been started by vote: %1 percent.', mFloor(%game.totalVotesFor/(ClientGroup.getCount() - $HostGameBotCount - %game.totalVotesNone) * 100));
|
||||||
startTourneyCountdown();
|
startTourneyCountdown();
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,14 @@
|
||||||
//$dtBanList::IP192_168_0_133 = "336\t2020\t365";
|
|
||||||
//336 day of the year banned Dec1
|
|
||||||
//2020 year banned
|
|
||||||
//365 How long to ban (365 days = 1 year)
|
|
||||||
|
|
||||||
//$Host::dtBanlist = "prefs/dtBanlist.cs";
|
//$Host::dtBanlist = "prefs/dtBanlist.cs";
|
||||||
|
//$Host::KickBanTime = 20; is 20 Minutes
|
||||||
|
//$Host::BanTime = 43200; is One Month
|
||||||
|
//$Host::BanTime = 129600; is Three Months
|
||||||
|
//$Host::BanTime = 259200; is Six Months
|
||||||
|
//$Host::BanTime = 518400; is 1 year
|
||||||
|
//$Host::BanTime = 1000000; is Until you unban them (Forever)
|
||||||
|
//$Host::BanTime = BAN; is Until you unban them (Forever)
|
||||||
|
|
||||||
|
//$dtBanList::GUID3555379 = "DAY OF THE YEAR BANNED \t YEAR BANNED \t HOUR BANNED \t MINUTE BANNED \t TIME TO BE BANNED";
|
||||||
|
//$dtBanList::GUID3555379 = "4\t2021\t18\t31\t518400";
|
||||||
|
|
||||||
package dtBan
|
package dtBan
|
||||||
{
|
{
|
||||||
|
|
@ -17,57 +22,64 @@ function ClassicLoadBanlist()
|
||||||
exec($Host::ClassicWhitelist);
|
exec($Host::ClassicWhitelist);
|
||||||
}
|
}
|
||||||
|
|
||||||
function BanList::add(%guid, %ipAddress, %days)
|
function BanList::add(%guid, %ipAddress, %time){
|
||||||
{
|
if(%time > 999999){
|
||||||
if (%guid > 0)
|
%time = "BAN";
|
||||||
$dtBanList::GUID[%guid] = dtBanDay() TAB getBanYear() TAB %days;
|
}
|
||||||
|
if (%guid > 0){
|
||||||
|
$dtBanList::GUID[%guid] = dtBanMark() TAB %time;
|
||||||
|
}
|
||||||
|
if (getSubStr(%ipAddress, 0, 3) $= "IP:"){
|
||||||
|
// add IP ban
|
||||||
|
%bareIP = getSubStr(%ipAddress, 3, strLen(%ipAddress));
|
||||||
|
%bareIP = getSubStr(%bareIP, 0, strstr(%bareIP, ":"));
|
||||||
|
%bareIP = strReplace(%bareIP, ".", "_"); // variable access bug workaround
|
||||||
|
|
||||||
if (getSubStr(%ipAddress, 0, 3) $= "IP:")
|
$dtBanList::IP[%bareIP] = dtBanMark() TAB %time;
|
||||||
{
|
//error("ban" SPC %bareIP SPC $dtBanList::IP[%bareIP]);
|
||||||
// add IP ban
|
}
|
||||||
%bareIP = getSubStr(%ipAddress, 3, strLen(%ipAddress));
|
|
||||||
%bareIP = getSubStr(%bareIP, 0, strstr(%bareIP, ":"));
|
|
||||||
%bareIP = strReplace(%bareIP, ".", "_"); // variable access bug workaround
|
|
||||||
|
|
||||||
$dtBanList::IP[%bareIP] = dtBanDay() TAB getBanYear() TAB %days;
|
// write out the updated bans to the file
|
||||||
//error("ban" SPC %bareIP SPC $dtBanList::IP[%bareIP]);
|
export("$dtBanList*", $Host::dtBanlist);
|
||||||
}
|
|
||||||
|
|
||||||
// write out the updated bans to the file
|
|
||||||
export("$dtBanList*", $Host::dtBanlist);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function banList_checkIP(%client)
|
function banList_checkIP(%client){
|
||||||
{
|
%ip = %client.getAddress();
|
||||||
%ip = %client.getAddress();
|
%ip = getSubStr(%ip, 3, strLen(%ip));
|
||||||
%ip = getSubStr(%ip, 3, strLen(%ip));
|
%ip = getSubStr(%ip, 0, strstr(%ip, ":"));
|
||||||
%ip = getSubStr(%ip, 0, strstr(%ip, ":"));
|
%ip = strReplace(%ip, ".", "_");
|
||||||
%ip = strReplace(%ip, ".", "_");
|
|
||||||
|
|
||||||
%time = $dtBanList::IP[%ip];
|
%time = $dtBanList::IP[%ip];
|
||||||
if (%time !$= "" && %time !$= "UNBAN")
|
if(%time $= "BAN")
|
||||||
{
|
return 1;
|
||||||
%delta = getBanCount(getField(%time,0), getField(%time,1));
|
if (%time !$= "" && %time != 0){
|
||||||
if (%delta < getField(%time,2))
|
%delta = getBanCount(getField(%time,0), getField(%time,1),getField(%time,2),getField(%time,3));
|
||||||
return 1;
|
if (%delta < getField(%time,4))
|
||||||
else
|
return 1;
|
||||||
$dtBanList::IP[%ip] = "UNBAN";
|
else{
|
||||||
}
|
$dtBanList::IP[%ip] = "";
|
||||||
return 0;
|
schedule(1000,0,"export","$dtBanList*", $Host::dtBanlist);
|
||||||
|
//export("$dtBanList*", "prefs/dtBanlist.cs");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
function banList_checkGUID(%guid)
|
function banList_checkGUID(%guid){
|
||||||
{
|
%time = $dtBanList::GUID[%guid];
|
||||||
%time = $dtBanList::GUID[%guid];
|
if(%time $= "BAN")
|
||||||
if (%time !$= "" && %time !$= "UNBAN")
|
return 1;
|
||||||
{
|
if (%time !$= "" && %time != 0){
|
||||||
%delta = getBanCount(getField(%time,0), getField(%time,1));
|
%delta = getBanCount(getField(%time,0), getField(%time,1),getField(%time,2),getField(%time,3));
|
||||||
if (%delta < getField(%time,2))
|
if (%delta < getField(%time,4))
|
||||||
return 1;
|
return 1;
|
||||||
else
|
else{
|
||||||
$dtBanList::GUID[%guid] = "UNBAN";
|
$dtBanList::GUID[%guid] = "";
|
||||||
}
|
schedule(500,0,"export","$dtBanList*", $Host::dtBanlist);
|
||||||
return 0;
|
//export("$dtBanList*", "prefs/dtBanlist.cs");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
@ -75,17 +87,32 @@ function banList_checkGUID(%guid)
|
||||||
if (!isActivePackage(dtBan))
|
if (!isActivePackage(dtBan))
|
||||||
activatePackage(dtBan);
|
activatePackage(dtBan);
|
||||||
|
|
||||||
function getBanCount(%d, %year)
|
|
||||||
{
|
function getBanCount(%d, %year, %h, %n){
|
||||||
%dif = getBanYear() - %year;
|
%dif = formattimestring("yy") - %year;
|
||||||
%days += 365 * (%dif-1);
|
%days += 365 * (%dif-1);
|
||||||
%days += 365 - %d;
|
%days += 365 - %d;
|
||||||
%days += dtBanDay();
|
%days += dtBanDay();
|
||||||
return %days;
|
%ht = %nt = 0;
|
||||||
|
if(formattimestring("H") > %h){
|
||||||
|
%ht = formattimestring("H") - %h;
|
||||||
|
}
|
||||||
|
else if(formattimestring("H") < %h){
|
||||||
|
%ht = 24 - %h;
|
||||||
|
%ht = formattimestring("H")+ %ht;
|
||||||
|
}
|
||||||
|
if(formattimestring("n") > %n){
|
||||||
|
%nt = formattimestring("n") - %n;
|
||||||
|
}
|
||||||
|
else if(formattimestring("n") < %n){
|
||||||
|
%nt = 60 - %n;
|
||||||
|
%nt = formattimestring("n") + %nt;
|
||||||
|
}
|
||||||
|
return mfloor((%days * 1440) + (%ht*60) + %nt);
|
||||||
|
//return mfloor((%days * 1440) + (%ht*60) + %nt) TAB (%days * 1440) TAB (%ht*60) TAB %nt;
|
||||||
}
|
}
|
||||||
|
|
||||||
function dtBanDay()
|
function dtBanDay(){
|
||||||
{
|
|
||||||
%date = formattimestring("mm dd yy");
|
%date = formattimestring("mm dd yy");
|
||||||
%m = getWord(%date,0);%d = getWord(%date,1);%y = getWord(%date,2);
|
%m = getWord(%date,0);%d = getWord(%date,1);%y = getWord(%date,2);
|
||||||
%count = 0;
|
%count = 0;
|
||||||
|
|
@ -94,17 +121,35 @@ function dtBanDay()
|
||||||
%days[4] = "30"; %days[5] = "31"; %days[6] = "30";
|
%days[4] = "30"; %days[5] = "31"; %days[6] = "30";
|
||||||
%days[7] = "31"; %days[8] = "31"; %days[9] = "30";
|
%days[7] = "31"; %days[8] = "31"; %days[9] = "30";
|
||||||
%days[10] = "31"; %days[11] = "30"; %days[12] = "31";
|
%days[10] = "31"; %days[11] = "30"; %days[12] = "31";
|
||||||
|
for(%i = 1; %i <= %m-1; %i++){
|
||||||
for(%i = 1; %i <= %m-1; %i++)
|
|
||||||
{
|
|
||||||
%count += %days[%i];
|
%count += %days[%i];
|
||||||
}
|
}
|
||||||
|
|
||||||
return %count + %d;
|
return %count + %d;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getBanYear()
|
function dtBanMark(){
|
||||||
{
|
%date = formattimestring("mm dd yy");
|
||||||
return formattimestring("yy");
|
%m = getWord(%date,0);%d = getWord(%date,1);%y = getWord(%date,2);
|
||||||
|
%count = 0;
|
||||||
|
if(%y % 4 < 1){%days[2] = "29";}else{%days[2] = "28";} // leap year
|
||||||
|
%days[1] = "31";%days[3] = "31";
|
||||||
|
%days[4] = "30"; %days[5] = "31"; %days[6] = "30";
|
||||||
|
%days[7] = "31"; %days[8] = "31"; %days[9] = "30";
|
||||||
|
%days[10] = "31"; %days[11] = "30"; %days[12] = "31";
|
||||||
|
for(%i = 1; %i <= %m-1; %i++){
|
||||||
|
%count += %days[%i];
|
||||||
|
}
|
||||||
|
return %count + %d TAB formattimestring("yy") TAB formattimestring("H") TAB formattimestring("n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function unban(%guid,%ip){
|
||||||
|
if($dtBanList::GUID[%guid] !$= ""){
|
||||||
|
$dtBanList::GUID[%guid] = "";
|
||||||
|
error("GUID" SPC %guid SPC "UNBANNED");
|
||||||
|
}
|
||||||
|
if($dtBanList::IP[%ip] !$= ""){
|
||||||
|
$dtBanList::IP[%ip] = "";
|
||||||
|
error("IP" SPC %ip SPC "UNBANNED");
|
||||||
|
}
|
||||||
|
export("$dtBanList*", $Host::dtBanlist);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
//-----------Settings------------
|
//-----------Settings------------
|
||||||
//Notes score ui width is 592
|
//Notes score ui width is 592
|
||||||
$dtStats::version = 8.7;
|
$dtStats::version = 8.8;
|
||||||
//disable stats system
|
//disable stats system
|
||||||
$dtStats::Enable = 1;
|
$dtStats::Enable = 1;
|
||||||
//enable disable map stats
|
//enable disable map stats
|
||||||
|
|
@ -26,7 +26,9 @@ $dtStats::viewSelf = 0;
|
||||||
$dtStats::MaxNumOfGames = 100;
|
$dtStats::MaxNumOfGames = 100;
|
||||||
//number of games for running average
|
//number of games for running average
|
||||||
$dtStats::avgCount = 10;
|
$dtStats::avgCount = 10;
|
||||||
|
// number of players to start tracking totals
|
||||||
|
|
||||||
|
$dtStats::minTotal = 6;
|
||||||
//how high the player has to be off the ground before it will count
|
//how high the player has to be off the ground before it will count
|
||||||
$dtStats::midAirHeight = 10;
|
$dtStats::midAirHeight = 10;
|
||||||
|
|
||||||
|
|
@ -353,8 +355,8 @@ $dtStats::FVG[$dtStats::FCG["SCtFGame","TG"]++,"SCtFGame","TG"] = "escortAssists
|
||||||
$dtStats::FVG[$dtStats::FCG["SCtFGame","TG"]++,"SCtFGame","TG"] = "defenseScore";
|
$dtStats::FVG[$dtStats::FCG["SCtFGame","TG"]++,"SCtFGame","TG"] = "defenseScore";
|
||||||
$dtStats::FVG[$dtStats::FCG["SCtFGame","TG"]++,"SCtFGame","TG"] = "offenseScore";
|
$dtStats::FVG[$dtStats::FCG["SCtFGame","TG"]++,"SCtFGame","TG"] = "offenseScore";
|
||||||
$dtStats::FVG[$dtStats::FCG["SCtFGame","TG"]++,"SCtFGame","TG"] = "flagDefends";
|
$dtStats::FVG[$dtStats::FCG["SCtFGame","TG"]++,"SCtFGame","TG"] = "flagDefends";
|
||||||
|
// 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"] = "winCount";
|
||||||
$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","Min"]++,"SCtFGame","Min"] = "heldTimeSecLow";
|
||||||
|
|
@ -634,7 +636,6 @@ $dtStats::FV[$dtStats::FC["Max"]++,"Max"] = "maxSpeed";
|
||||||
$dtStats::FV[$dtStats::FC["Avg"]++,"Avg"] = "avgSpeed";
|
$dtStats::FV[$dtStats::FC["Avg"]++,"Avg"] = "avgSpeed";
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "comboCount";
|
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "comboCount";
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "distMov";
|
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "distMov";
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "weaponScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "firstKill";
|
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "firstKill";
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "lastKill";
|
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "lastKill";
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "deathKills";
|
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "deathKills";
|
||||||
|
|
@ -1025,20 +1026,6 @@ $dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "mineDeathGroundGround";
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "satchelDeathGroundGround";
|
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "satchelDeathGroundGround";
|
||||||
|
|
||||||
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "cgScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "discScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "hGrenadeScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "grenadeScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "laserScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "mortarScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "missileScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "shockScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "plasmaScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "blasterScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "mineScore";
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "satchelScore";
|
|
||||||
|
|
||||||
|
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "cgKillAir"; // air kills
|
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "cgKillAir"; // air kills
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "discKillAir";
|
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "discKillAir";
|
||||||
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "hGrenadeKillAir";
|
$dtStats::FV[$dtStats::FC["TG"]++,"TG"] = "hGrenadeKillAir";
|
||||||
|
|
@ -4032,31 +4019,6 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en
|
||||||
|
|
||||||
%dtStats.gamePCT = mFloor(%game.getGamePct() - %dtStats.joinPCT);
|
%dtStats.gamePCT = mFloor(%game.getGamePct() - %dtStats.joinPCT);
|
||||||
|
|
||||||
%dtStats.cgScore = (%dtStats.cgKill + %dtStats.cgMA + %dtStats.cgKillAir + (%dtStats.cgKillDist/100) + %dtStats.cgCom) / 100;
|
|
||||||
%dtStats.discScore = %dtStats.discKill + %dtStats.discMA + %dtStats.discKillAir + (%dtStats.discKillDist/100) + %dtStats.discCom;
|
|
||||||
%dtStats.hGrenadeScore = %dtStats.hGrenadeKill + %dtStats.hGrenadeMA + %dtStats.hGrenadeKillAir + (%dtStats.hGrenadeKillDist/20) + %dtStats.hGrenadeCom;
|
|
||||||
%dtStats.grenadeScore = %dtStats.grenadeKill + %dtStats.grenadeMA + %dtStats.grenadeKillAir + (%dtStats.grenadeKillDist/100) + %dtStats.grenadeCom;
|
|
||||||
%dtStats.laserScore = %dtStats.laserKill + %dtStats.laserMA + %dtStats.laserKillAir + (%dtStats.laserKillDist/250) + %dtStats.laserCom + %dtStats.laserHeadShot;
|
|
||||||
%dtStats.mortarScore = %dtStats.mortarKill + %dtStats.mortarMA + %dtStats.mortarKillAir + (%dtStats.mortarKillDist/50) + %dtStats.mortarCom;
|
|
||||||
%dtStats.missileScore = (%dtStats.missileKill + %dtStats.missileMA + %dtStats.missileKillAir + (%dtStats.missileKillDist/500) + %dtStats.missileCom) / 10;
|
|
||||||
%dtStats.shockScore = %dtStats.shockKill + %dtStats.shockMA + %dtStats.shockKillAir + (%dtStats.shockKillDist/2) + %dtStats.shockCom + %dtStats.shockRearShot;
|
|
||||||
%dtStats.plasmaScore = %dtStats.plasmaKill + %dtStats.plasmaMA + %dtStats.plasmaKillAir + (%dtStats.plasmaKillDist/50) + %dtStats.plasmaCom;
|
|
||||||
%dtStats.blasterScore = %dtStats.blasterKill + %dtStats.blasterMA + %dtStats.blasterKillAir + (%dtStats.blasterKillDist/50) + %dtStats.blasterCom;
|
|
||||||
%dtStats.mineScore = %dtStats.mineKill + %dtStats.mineMA + %dtStats.mineKillAir + %dtStats.mineCom;
|
|
||||||
%dtStats.satchelScore = %dtStats.satchelKill + %dtStats.satchelMA + %dtStats.satchelKillAir + %dtStats.satchelCom;
|
|
||||||
|
|
||||||
%dtStats.weaponScore = %dtStats.cgScore +
|
|
||||||
%dtStats.discScore +
|
|
||||||
%dtStats.grenadeScore +
|
|
||||||
%dtStats.laserScore +
|
|
||||||
%dtStats.mortarScore +
|
|
||||||
%dtStats.shockScore +
|
|
||||||
%dtStats.plasmaScore +
|
|
||||||
%dtStats.blasterScore +
|
|
||||||
%dtStats.hGrenadeScore +
|
|
||||||
%dtStats.missileScore +
|
|
||||||
%dtStats.mineScore;
|
|
||||||
|
|
||||||
%dtStats.totalMA = %dtStats.discMA +
|
%dtStats.totalMA = %dtStats.discMA +
|
||||||
%dtStats.grenadeMA +
|
%dtStats.grenadeMA +
|
||||||
%dtStats.laserMA +
|
%dtStats.laserMA +
|
||||||
|
|
@ -4114,7 +4076,7 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en
|
||||||
%dtStats.grenadeDmgACC = 0;
|
%dtStats.grenadeDmgACC = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(%dtStats.laserShotsFired < 5)
|
if(%dtStats.laserShotsFired < 10)
|
||||||
%dtStats.laserACC = 0;
|
%dtStats.laserACC = 0;
|
||||||
|
|
||||||
if(%dtStats.mortarShotsFired < 10){
|
if(%dtStats.mortarShotsFired < 10){
|
||||||
|
|
@ -4122,7 +4084,7 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en
|
||||||
%dtStats.mortarDmgACC = 0;
|
%dtStats.mortarDmgACC = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(%dtStats.shockShotsFired < 5)
|
if(%dtStats.shockShotsFired < 10)
|
||||||
%dtStats.shockACC = 0;
|
%dtStats.shockACC = 0;
|
||||||
|
|
||||||
if(%dtStats.plasmaShotsFired < 10){
|
if(%dtStats.plasmaShotsFired < 10){
|
||||||
|
|
@ -4136,16 +4098,6 @@ function DefaultGame::postGameStats(%game,%dtStats){ //stats to add up at the en
|
||||||
if(%dtStats.hGrenadeShotsFired < 6)
|
if(%dtStats.hGrenadeShotsFired < 6)
|
||||||
%dtStats.hGrenadeACC = 0;
|
%dtStats.hGrenadeACC = 0;
|
||||||
|
|
||||||
//if(%dtStats.mineShotsFired < 10){
|
|
||||||
//%dtStats.mineACC = 0;
|
|
||||||
//%dtStats.mineDiscPct = 0;
|
|
||||||
//%dtStats.mineDiscAccMP = 0;
|
|
||||||
//
|
|
||||||
//}
|
|
||||||
|
|
||||||
//if(%dtStats.mineDiscShots < 5)
|
|
||||||
//%dtStats.mineDiscAcc = 0;
|
|
||||||
|
|
||||||
if(%dtStats.satchelShotsFired < 5)
|
if(%dtStats.satchelShotsFired < 5)
|
||||||
%dtStats.satchelACC = 0;
|
%dtStats.satchelACC = 0;
|
||||||
|
|
||||||
|
|
@ -4907,8 +4859,12 @@ function incGameStats(%dtStats,%game) {// record that games stats and inc by one
|
||||||
%mapVal = getField(%dtStats.mapStats[getMapIDName(%game),%game],%varID);
|
%mapVal = getField(%dtStats.mapStats[getMapIDName(%game),%game],%varID);
|
||||||
else
|
else
|
||||||
%mapVal = 0;
|
%mapVal = 0;
|
||||||
if(%val < %mapVal && %val != 0 || !%mapVal){ setValueField(%dtStats,getMapIDName(%game),"m",%game,%varID,%val);}
|
if(%val < %mapVal && %val != 0 || !%mapVal){
|
||||||
else{ setValueField(%dtStats,getMapIDName(%game),"m",%game,%varID,%mapVal);}
|
setValueField(%dtStats,getMapIDName(%game),"m",%game,%varID,%val);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
setValueField(%dtStats,getMapIDName(%game),"m",%game,%varID,%mapVal);
|
||||||
|
}
|
||||||
setValueField(%dtStats,"varName","m",%game,%varID,%varNameType);
|
setValueField(%dtStats,"varName","m",%game,%varID,%varNameType);
|
||||||
}
|
}
|
||||||
for(%x = 1; %x <= 9; %x+=2){
|
for(%x = 1; %x <= 9; %x+=2){
|
||||||
|
|
@ -8102,14 +8058,14 @@ function statsMenu(%client,%game){
|
||||||
}
|
}
|
||||||
messageClient( %client, 'SetScoreHudSubheader', "", '<a:gamelink\tS\tView\t%1> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a>',%vClient,%lType);
|
messageClient( %client, 'SetScoreHudSubheader', "", '<a:gamelink\tS\tView\t%1> Back</a> - <a:gamelink\tS\tReset\t%1>Return To Score Screen</a>',%vClient,%lType);
|
||||||
|
|
||||||
%header = '<tab:0,50,65,200,320,460>\t<color:0befe7> \t# \t%2\tScore\tWeapons\tScore';
|
%header = '<tab:0,50,65,200,320,460>\t<color:0befe7> \t# \t%2\tScore\tKills\tTotal';
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index++, %header,%vClient,$dtStats::gtNameLong[%client.lgame]);
|
messageClient( %client, 'SetLineHud', "", %tag, %index++, %header,%vClient,$dtStats::gtNameLong[%client.lgame]);
|
||||||
|
|
||||||
for(%i = 0; %i < 10; %i++){
|
for(%i = 0; %i < 10; %i++){
|
||||||
%scoreName = getField($lData::name["scoreTG",%client.lgame,%lType,%mon,%year],%i);
|
%scoreName = getField($lData::name["scoreTG",%client.lgame,%lType,%mon,%year],%i);
|
||||||
%gameScore = getField($lData::data["scoreTG",%client.lgame,%lType,%mon,%year],%i);
|
%gameScore = getField($lData::data["scoreTG",%client.lgame,%lType,%mon,%year],%i);
|
||||||
%wepName = getField($lData::name["weaponScoreTG",%client.lgame,%lType,%mon,%year],%i);
|
%wepName = getField($lData::name["killsTG",%client.lgame,%lType,%mon,%year],%i);
|
||||||
%wepScore = getField($lData::data["weaponScoreTG",%client.lgame,%lType,%mon,%year],%i);
|
%wepScore = getField($lData::data["killsTG",%client.lgame,%lType,%mon,%year],%i);
|
||||||
if(%gameScore){
|
if(%gameScore){
|
||||||
%line = '<tab:0,50,65,200,320,460>\t<font:univers condensed:18> \t%3. \t<color:0befe7><clip:138>%1</clip><color:03d597>\t%4\t<color:0befe7><clip:138>%2</clip><color:03d597>\t%5';
|
%line = '<tab:0,50,65,200,320,460>\t<font:univers condensed:18> \t%3. \t<color:0befe7><clip:138>%1</clip><color:03d597>\t%4\t<color:0befe7><clip:138>%2</clip><color:03d597>\t%5';
|
||||||
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%scoreName,%wepName,%i+1,%gameScore,mFloor(%wepScore+0.5));
|
messageClient( %client, 'SetLineHud', "", %tag, %index++, %line,%scoreName,%wepName,%i+1,%gameScore,mFloor(%wepScore+0.5));
|
||||||
|
|
@ -12478,7 +12434,7 @@ function prefTest(%time,%skip){
|
||||||
if(isGameRun() && !$dtStats::building && %plCount > 1){// only track during run time
|
if(isGameRun() && !$dtStats::building && %plCount > 1){// only track during run time
|
||||||
%dif = (%real - %time) - $dtStats::prefTestTime;
|
%dif = (%real - %time) - $dtStats::prefTestTime;
|
||||||
if(%dif > $dtStats::prefTolerance && !%skip){
|
if(%dif > $dtStats::prefTolerance && !%skip){
|
||||||
%msg = "Server Hang" SPC dtFormatTime(getSimTime()) SPC "Delay =" SPC %dif @ "ms" SPC "Player Count =" SPC %plCount;
|
%msg = "Server Hang" SPC dtFormatTime(getSimTime()) SPC "Delay =" SPC %dif @ "ms" SPC "Player Count =" SPC %plCount SPC $CurrentMission;
|
||||||
if($dtStats::debugEchos){error(%msg);}
|
if($dtStats::debugEchos){error(%msg);}
|
||||||
$dtServer::serverHangTotal++;
|
$dtServer::serverHangTotal++;
|
||||||
$dtServer::serverHangMap[cleanMapName($CurrentMission),Game.class]++;
|
$dtServer::serverHangMap[cleanMapName($CurrentMission),Game.class]++;
|
||||||
|
|
@ -12532,7 +12488,6 @@ function dtPingAvg(){
|
||||||
%cl.lastPing = %ping;
|
%cl.lastPing = %ping;
|
||||||
if(%ping > 500){
|
if(%ping > 500){
|
||||||
%cl.dtStats.lagSpikes++;
|
%cl.dtStats.lagSpikes++;
|
||||||
%vhPing++;
|
|
||||||
%hpCount++;
|
%hpCount++;
|
||||||
}
|
}
|
||||||
else if(%ping > 200){
|
else if(%ping > 200){
|
||||||
|
|
@ -12562,7 +12517,7 @@ function dtPingAvg(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(%plCount / %pc >= 0.5){
|
if(%plCount / %pc > 0.5){
|
||||||
if(getSimTime() - $dtStats:evTime[1] > $dtStats::eventLockout){
|
if(getSimTime() - $dtStats:evTime[1] > $dtStats::eventLockout){
|
||||||
%msg = "Packet Loss" SPC dtFormatTime(getSimTime()) SPC "Packet Loss Count =" SPC %plCount SPC "Player Count =" SPC %pc;
|
%msg = "Packet Loss" SPC dtFormatTime(getSimTime()) SPC "Packet Loss Count =" SPC %plCount SPC "Player Count =" SPC %pc;
|
||||||
dtEventLog(%msg, 0);
|
dtEventLog(%msg, 0);
|
||||||
|
|
@ -12571,10 +12526,10 @@ function dtPingAvg(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%hpct = (%hpCount > 0) ? (%hpCount/%pc) : 0;
|
%hpct = (%hpCount > 0) ? (%hpCount/%pc) : 0;
|
||||||
if(%hpct >= 0.5){
|
if(%hpct > 0.5){
|
||||||
if($dtStats::pingAvg > 1000){//network issues
|
if($dtStats::pingAvg > 1000){//network issues
|
||||||
if(getSimTime() - $dtStats:evTime[2] > $dtStats::eventLockout){
|
if(getSimTime() - $dtStats:evTime[2] > $dtStats::eventLockout){
|
||||||
%msg = "Host Hang" SPC dtFormatTime(getSimTime()) SPC "Avg:" @ $dtStats::pingAvg @ "/" @ %lowAvg SPC "Min:" @ %min SPC "Max:" @ %max SPC "Counts =" SPC %hpCount @ "/" @ %vhPing @ "/" @ %pc;
|
%msg = "Host Hang" SPC dtFormatTime(getSimTime()) SPC "Avg:" @ $dtStats::pingAvg @ "/" @ %lowAvg SPC "Min:" @ %min SPC "Max:" @ %max SPC "Counts =" SPC %hpCount @ "/" @ %pc;
|
||||||
if($dtStats::debugEchos){error(%msg);}
|
if($dtStats::debugEchos){error(%msg);}
|
||||||
dtEventLog(%msg, 0);
|
dtEventLog(%msg, 0);
|
||||||
$dtServer::hostHangMap[cleanMapName($CurrentMission),Game.class]++;
|
$dtServer::hostHangMap[cleanMapName($CurrentMission),Game.class]++;
|
||||||
|
|
@ -12586,17 +12541,17 @@ function dtPingAvg(){
|
||||||
}
|
}
|
||||||
else if($dtStats::pingAvg > 500){
|
else if($dtStats::pingAvg > 500){
|
||||||
if(getSimTime() - $dtStats:evTime[3] > $dtStats::eventLockout){
|
if(getSimTime() - $dtStats:evTime[3] > $dtStats::eventLockout){
|
||||||
%msg = "500+ Ping" SPC dtFormatTime(getSimTime()) SPC "Avg:" @ $dtStats::pingAvg @ "/" @ %lowAvg SPC "Min:" @ %min SPC "Max:" @ %max SPC "Counts =" SPC %hpCount @ "/" @ %vhPing @ "/" @ %pc;
|
%msg = "500+ Ping" SPC dtFormatTime(getSimTime()) SPC "Avg:" @ $dtStats::pingAvg @ "/" @ %lowAvg SPC "Min:" @ %min SPC "Max:" @ %max SPC "Counts =" SPC %hpCount @ "/" @ %pc;
|
||||||
if($dtStats::debugEchos){error(%msg);}
|
if($dtStats::debugEchos){error(%msg);}
|
||||||
dtEventLog(%msg, 0);
|
dtEventLog(%msg, 0);
|
||||||
$dtStats:evTime[3] = getSimTime();
|
$dtStats:evTime[3] = getSimTime();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if($dtStats::pingAvg > 200){
|
else if($dtStats::pingAvg > 250){
|
||||||
if(getSimTime() - $dtStats:evTime[4] > $dtStats::eventLockout){
|
if(getSimTime() - $dtStats:evTime[4] > $dtStats::eventLockout){
|
||||||
%msg = "200+ Ping" SPC dtFormatTime(getSimTime()) SPC "Avg:" @ $dtStats::pingAvg @ "/" @ %lowAvg SPC "Min:" @ %min SPC "Max:" @ %max SPC "Counts =" SPC %hpCount @ "/" @ %pc;
|
%msg = "250+ Ping" SPC dtFormatTime(getSimTime()) SPC "Avg:" @ $dtStats::pingAvg @ "/" @ %lowAvg SPC "Min:" @ %min SPC "Max:" @ %max SPC "Counts =" SPC %hpCount @ "/" @ %pc;
|
||||||
if($dtStats::debugEchos){error(%msg);}
|
if($dtStats::debugEchos){error(%msg);}
|
||||||
dtEventLog(%msg, 0);
|
error(%msg, 0);
|
||||||
$dtStats:evTime[4] = getSimTime();
|
$dtStats:evTime[4] = getSimTime();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -12943,3 +12898,8 @@ function testVarsRandomAll(%max){
|
||||||
//
|
//
|
||||||
// 8.7
|
// 8.7
|
||||||
// Server monitor fix/tweaks
|
// Server monitor fix/tweaks
|
||||||
|
//
|
||||||
|
// 8.8
|
||||||
|
// Removed arbitrary weapon scores replaced with total kills
|
||||||
|
// Added map name to server hang in case its a map issue we need to keep an eye on
|
||||||
|
// 200+ server warning now only echos to console
|
||||||
|
|
|
||||||
|
|
@ -641,8 +641,10 @@ function DefaultGame::gameOver( %game )
|
||||||
$VehicleMax[HAPCFlyer] = 2;
|
$VehicleMax[HAPCFlyer] = 2;
|
||||||
|
|
||||||
// Choco - reset turret maxes after each round.
|
// Choco - reset turret maxes after each round.
|
||||||
$TeamDeployableMin[TurretIndoorDeployable] = 4;
|
$TeamDeployableMin[TurretIndoorDeployable] = 4;
|
||||||
$TeamDeployableMin[TurretOutdoorDeployable] = 4;
|
$TeamDeployableMin[TurretOutdoorDeployable] = 4;
|
||||||
|
$TeamDeployableMax[TurretIndoorDeployable] = 10;
|
||||||
|
$TeamDeployableMax[TurretOutdoorDeployable] = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ $Host::holoName[6] = "Harbinger";
|
||||||
// -----------------------------------------
|
// -----------------------------------------
|
||||||
// z0dd - ZOD, 9/29/02. Removed T2 demo code
|
// z0dd - ZOD, 9/29/02. Removed T2 demo code
|
||||||
$Host::GameName = "Tribes 2 Test";
|
$Host::GameName = "Tribes 2 Test";
|
||||||
$Host::Info = " ";
|
$Host::Info = "This is a Tribes 2 Classic server. More information in Discord. <a:playt2.com/discord>playt2.com/discord</a>";
|
||||||
$Host::Map = "VaubanLak";
|
$Host::Map = "VaubanLak";
|
||||||
$Host::MaxPlayers = 30;
|
$Host::MaxPlayers = 30;
|
||||||
$Host::MissionType = "LakRabbit";
|
$Host::MissionType = "LakRabbit";
|
||||||
|
|
@ -95,8 +95,8 @@ $Host::MaxBotDifficulty = 0.75;
|
||||||
$Host::NoSmurfs = 1;
|
$Host::NoSmurfs = 1;
|
||||||
$Host::VoteTime = 30; // amount of time before votes are calculated
|
$Host::VoteTime = 30; // amount of time before votes are calculated
|
||||||
$Host::VotePassPercent = 60; // percent needed to pass a vote
|
$Host::VotePassPercent = 60; // percent needed to pass a vote
|
||||||
$Host::KickBanTime = 1; // specified in days
|
$Host::KickBanTime = 20; // specified in minutes
|
||||||
$Host::BanTime = 30; // specified in days
|
$Host::BanTime = 43200; // specified in minutes (43200 is one month)
|
||||||
$Host::PlayerRespawnTimeout = 60; // time before a dead player is forced into observer mode
|
$Host::PlayerRespawnTimeout = 60; // time before a dead player is forced into observer mode
|
||||||
$Host::warmupTime = 20;
|
$Host::warmupTime = 20;
|
||||||
$Host::TournamentMode = 0;
|
$Host::TournamentMode = 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue