mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 02:17:56 -05:00
1154 lines
25 KiB
Plaintext
1154 lines
25 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\_teams.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 55
|
|
* Decompile Time: 2194 ms
|
|
* Timestamp: 10/27/2023 12:21:48 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
level.var_115C1 = getdvarint("scr_teambalance");
|
|
level.maxclients = getmaxclients();
|
|
func_F7F6();
|
|
level.var_7371 = [];
|
|
if(level.teambased)
|
|
{
|
|
level thread func_C56E();
|
|
level thread func_12F37();
|
|
wait(0.15);
|
|
level thread func_12EF3();
|
|
level thread finalizeplayertimes();
|
|
}
|
|
else
|
|
{
|
|
level thread func_C532();
|
|
wait(0.15);
|
|
level thread func_12E95();
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_B3EC())
|
|
{
|
|
level thread watchafk();
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_C56E()
|
|
{
|
|
for(;;)
|
|
{
|
|
level waittill("connected",var_00);
|
|
var_00 thread func_C541();
|
|
var_00 thread func_C540();
|
|
var_00 thread func_C57B();
|
|
var_00 thread func_11B01();
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_C532()
|
|
{
|
|
for(;;)
|
|
{
|
|
level waittill("connected",var_00);
|
|
var_00 thread func_11B01();
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_C541()
|
|
{
|
|
self endon("disconnect");
|
|
for(;;)
|
|
{
|
|
self waittill("joined_team");
|
|
func_12F3E();
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_C540()
|
|
{
|
|
self endon("disconnect");
|
|
for(;;)
|
|
{
|
|
self waittill("joined_spectators");
|
|
self.pers["teamTime"] = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_11B01()
|
|
{
|
|
self endon("disconnect");
|
|
self.var_1190E["allies"] = 0;
|
|
self.var_1190E["axis"] = 0;
|
|
self.var_1190E["free"] = 0;
|
|
self.var_1190E["other"] = 0;
|
|
self.var_1190E["total"] = 0;
|
|
self.var_1190E["missionTeam"] = 0;
|
|
if(!isdefined(self.pers["validKickTime"]))
|
|
{
|
|
self.pers["validKickTime"] = 0;
|
|
}
|
|
|
|
scripts\mp\_utility::func_7670("prematch_done");
|
|
while(!level.var_7669)
|
|
{
|
|
wait(1);
|
|
if(self.sessionteam == "allies")
|
|
{
|
|
self.var_1190E["allies"]++;
|
|
self.var_1190E["total"]++;
|
|
self.var_1190E["missionTeam"]++;
|
|
if(scripts\mp\_utility::func_9F19(self))
|
|
{
|
|
self.pers["validKickTime"]++;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(self.sessionteam == "axis")
|
|
{
|
|
self.var_1190E["axis"]++;
|
|
self.var_1190E["total"]++;
|
|
self.var_1190E["missionTeam"]++;
|
|
if(scripts\mp\_utility::func_9F19(self))
|
|
{
|
|
self.pers["validKickTime"]++;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(self.sessionteam == "none")
|
|
{
|
|
if(isdefined(self.pers["team"]) && self.pers["team"] == "allies")
|
|
{
|
|
self.var_1190E["allies"]++;
|
|
}
|
|
else if(isdefined(self.pers["team"]) && self.pers["team"] == "axis")
|
|
{
|
|
self.var_1190E["axis"]++;
|
|
}
|
|
|
|
self.var_1190E["total"]++;
|
|
self.var_1190E["missionTeam"]++;
|
|
if(scripts\mp\_utility::func_9F19(self))
|
|
{
|
|
self.pers["validKickTime"]++;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(self.sessionteam == "spectator")
|
|
{
|
|
self.var_1190E["other"]++;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_12EF3()
|
|
{
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
scripts\mp\_hostmigration::func_13834();
|
|
foreach(var_01 in level.players)
|
|
{
|
|
var_01 func_12EEE();
|
|
}
|
|
|
|
wait(10);
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
finalizeplayertimes()
|
|
{
|
|
while(!level.var_7669)
|
|
{
|
|
wait(2);
|
|
}
|
|
|
|
foreach(var_01 in level.players)
|
|
{
|
|
var_01 func_12EEE();
|
|
var_01 scripts\mp\_persistence::func_13E04();
|
|
var_01 scripts\mp\_persistence::func_12F5E();
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_12EEE()
|
|
{
|
|
if(isai(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_DCD5())
|
|
{
|
|
if(self.var_1190E["allies"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedAllies",self.var_1190E["allies"],1);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["allies"],1);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["allies"],1);
|
|
}
|
|
|
|
if(self.var_1190E["axis"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedOpfor",self.var_1190E["axis"],1);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["axis"],1);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["axis"],1);
|
|
}
|
|
|
|
if(self.var_1190E["other"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedOther",self.var_1190E["other"],1);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["other"],1);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["other"],1);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(self.var_1190E["allies"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedAllies",self.var_1190E["allies"]);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["allies"]);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["allies"]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",0,self.var_1190E["allies"],self.var_316A["xpMaxMultiplierTimePlayed"][0]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",1,self.var_1190E["allies"],self.var_316A["xpMaxMultiplierTimePlayed"][1]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",2,self.var_1190E["allies"],self.var_316A["xpMaxMultiplierTimePlayed"][2]);
|
|
scripts\mp\_persistence::func_10E17("challengeXPMultiplierTimePlayed",0,self.var_1190E["allies"],self.var_316A["challengeXPMaxMultiplierTimePlayed"][0]);
|
|
scripts\mp\_persistence::func_10E17("weaponXPMultiplierTimePlayed",0,self.var_1190E["allies"],self.var_316A["weaponXPMaxMultiplierTimePlayed"][0]);
|
|
}
|
|
|
|
if(self.var_1190E["axis"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedOpfor",self.var_1190E["axis"]);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["axis"]);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["axis"]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",0,self.var_1190E["axis"],self.var_316A["xpMaxMultiplierTimePlayed"][0]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",1,self.var_1190E["axis"],self.var_316A["xpMaxMultiplierTimePlayed"][1]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",2,self.var_1190E["axis"],self.var_316A["xpMaxMultiplierTimePlayed"][2]);
|
|
scripts\mp\_persistence::func_10E17("challengeXPMultiplierTimePlayed",0,self.var_1190E["axis"],self.var_316A["challengeXPMaxMultiplierTimePlayed"][0]);
|
|
scripts\mp\_persistence::func_10E17("weaponXPMultiplierTimePlayed",0,self.var_1190E["axis"],self.var_316A["weaponXPMaxMultiplierTimePlayed"][0]);
|
|
}
|
|
|
|
if(self.var_1190E["other"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedOther",self.var_1190E["other"]);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["other"]);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["other"]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",0,self.var_1190E["other"],self.var_316A["xpMaxMultiplierTimePlayed"][0]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",1,self.var_1190E["other"],self.var_316A["xpMaxMultiplierTimePlayed"][1]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",2,self.var_1190E["other"],self.var_316A["xpMaxMultiplierTimePlayed"][2]);
|
|
scripts\mp\_persistence::func_10E17("challengeXPMultiplierTimePlayed",0,self.var_1190E["other"],self.var_316A["challengeXPMaxMultiplierTimePlayed"][0]);
|
|
scripts\mp\_persistence::func_10E17("weaponXPMultiplierTimePlayed",0,self.var_1190E["other"],self.var_316A["weaponXPMaxMultiplierTimePlayed"][0]);
|
|
}
|
|
|
|
if(self.var_1190E["missionTeam"])
|
|
{
|
|
if(scripts\mp\_utility::func_DCD5() && isdefined(self.var_9978) && isdefined(self.var_9978.var_4C0D))
|
|
{
|
|
var_00 = self.var_B8D4;
|
|
var_01 = self getplayerdata("mp","missionTeamPerformanceData",var_00,"timePlayed");
|
|
self setplayerdata("mp","missionTeamPerformanceData",var_00,"timePlayed",var_01 + self.var_1190E["missionTeam"]);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(game["state"] == "postgame")
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_1190E["allies"] = 0;
|
|
self.var_1190E["axis"] = 0;
|
|
self.var_1190E["other"] = 0;
|
|
self.var_1190E["missionTeam"] = 0;
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_12F3E()
|
|
{
|
|
if(game["state"] != "playing")
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.pers["teamTime"] = gettime();
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_12F38()
|
|
{
|
|
for(;;)
|
|
{
|
|
var_00 = getdvarint("scr_teambalance");
|
|
if(level.var_115C1 != var_00)
|
|
{
|
|
level.var_115C1 = getdvarint("scr_teambalance");
|
|
}
|
|
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_12F37()
|
|
{
|
|
level.teamlimit = level.maxclients / 2;
|
|
level thread func_12F38();
|
|
wait(0.15);
|
|
if(level.var_115C1 && scripts\mp\_utility::func_9F32())
|
|
{
|
|
if(isdefined(game["BalanceTeamsNextRound"]))
|
|
{
|
|
scripts\mp\_hud_message::func_10123("MP_AUTOBALANCE_NEXT_ROUND");
|
|
}
|
|
|
|
level waittill("restarting");
|
|
if(isdefined(game["BalanceTeamsNextRound"]))
|
|
{
|
|
level func_2765();
|
|
game["BalanceTeamsNextRound"] = undefined;
|
|
return;
|
|
}
|
|
|
|
if(!func_81A2())
|
|
{
|
|
game["BalanceTeamsNextRound"] = 1;
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
if(level.var_115C1)
|
|
{
|
|
if(!func_81A2())
|
|
{
|
|
scripts\mp\_hud_message::func_10123("MP_AUTOBALANCE_SECONDS",15);
|
|
wait(15);
|
|
if(!func_81A2())
|
|
{
|
|
level func_2765();
|
|
}
|
|
}
|
|
|
|
wait(59);
|
|
}
|
|
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_81A2()
|
|
{
|
|
level.team["allies"] = 0;
|
|
level.team["axis"] = 0;
|
|
var_00 = level.players;
|
|
for(var_01 = 0;var_01 < var_00.size;var_01++)
|
|
{
|
|
if(isdefined(var_00[var_01].pers["team"]) && var_00[var_01].pers["team"] == "allies")
|
|
{
|
|
level.team["allies"]++;
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_00[var_01].pers["team"]) && var_00[var_01].pers["team"] == "axis")
|
|
{
|
|
level.team["axis"]++;
|
|
}
|
|
}
|
|
|
|
if(level.team["allies"] > level.team["axis"] + level.var_115C1 || level.team["axis"] > level.team["allies"] + level.var_115C1)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_2765()
|
|
{
|
|
iprintlnbold(game["strings"]["autobalance"]);
|
|
var_00 = [];
|
|
var_01 = [];
|
|
var_02 = level.players;
|
|
for(var_03 = 0;var_03 < var_02.size;var_03++)
|
|
{
|
|
if(!isdefined(var_02[var_03].pers["teamTime"]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_02[var_03].pers["team"]) && var_02[var_03].pers["team"] == "allies")
|
|
{
|
|
var_00[var_00.size] = var_02[var_03];
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_02[var_03].pers["team"]) && var_02[var_03].pers["team"] == "axis")
|
|
{
|
|
var_01[var_01.size] = var_02[var_03];
|
|
}
|
|
}
|
|
|
|
var_04 = undefined;
|
|
while(var_00.size > var_01.size + 1 || var_01.size > var_00.size + 1)
|
|
{
|
|
if(var_00.size > var_01.size + 1)
|
|
{
|
|
for(var_05 = 0;var_05 < var_00.size;var_05++)
|
|
{
|
|
if(isdefined(var_00[var_05].var_5940))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_04))
|
|
{
|
|
var_04 = var_00[var_05];
|
|
continue;
|
|
}
|
|
|
|
if(var_00[var_05].pers["teamTime"] > var_04.pers["teamTime"])
|
|
{
|
|
var_04 = var_00[var_05];
|
|
}
|
|
}
|
|
|
|
var_04 [[ level.var_C5B1 ]]("axis");
|
|
}
|
|
else if(var_01.size > var_00.size + 1)
|
|
{
|
|
for(var_05 = 0;var_05 < var_01.size;var_05++)
|
|
{
|
|
if(isdefined(var_01[var_05].var_5940))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_04))
|
|
{
|
|
var_04 = var_01[var_05];
|
|
continue;
|
|
}
|
|
|
|
if(var_01[var_05].pers["teamTime"] > var_04.pers["teamTime"])
|
|
{
|
|
var_04 = var_01[var_05];
|
|
}
|
|
}
|
|
|
|
var_04 [[ level.var_C5B1 ]]("allies");
|
|
}
|
|
|
|
var_04 = undefined;
|
|
var_00 = [];
|
|
var_01 = [];
|
|
var_02 = level.players;
|
|
for(var_03 = 0;var_03 < var_02.size;var_03++)
|
|
{
|
|
if(isdefined(var_02[var_03].pers["team"]) && var_02[var_03].pers["team"] == "allies")
|
|
{
|
|
var_00[var_00.size] = var_02[var_03];
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_02[var_03].pers["team"]) && var_02[var_03].pers["team"] == "axis")
|
|
{
|
|
var_01[var_01.size] = var_02[var_03];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_F7F6()
|
|
{
|
|
func_F6B8();
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_D3D8(param_00,param_01)
|
|
{
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_46BB()
|
|
{
|
|
var_00 = [];
|
|
for(var_01 = 0;var_01 < level.teamnamelist.size;var_01++)
|
|
{
|
|
var_00[level.teamnamelist[var_01]] = 0;
|
|
}
|
|
|
|
for(var_01 = 0;var_01 < level.players.size;var_01++)
|
|
{
|
|
if(level.players[var_01] == self)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(level.players[var_01].pers["team"] == "spectator")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(level.players[var_01].pers["team"]))
|
|
{
|
|
var_00[level.players[var_01].pers["team"]]++;
|
|
}
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_F6B8()
|
|
{
|
|
if(!isdefined(level.var_503D))
|
|
{
|
|
level.var_503D = [];
|
|
level.var_503D["allies"] = "mp_warfighter_head_1_3";
|
|
level.var_503D["axis"] = "mp_warfighter_head_1_3";
|
|
}
|
|
|
|
if(!isdefined(level.var_5033))
|
|
{
|
|
level.var_5033 = [];
|
|
level.var_5033["allies"] = "mp_warfighter_body_1_3";
|
|
level.var_5033["axis"] = "mp_warfighter_body_1_3";
|
|
}
|
|
|
|
if(!isdefined(level.var_5050))
|
|
{
|
|
level.var_5050 = [];
|
|
level.var_5050["allies"] = "viewhands_us_rangers_urban";
|
|
level.var_5050["axis"] = "viewhands_us_rangers_woodland";
|
|
}
|
|
|
|
if(!isdefined(level.var_5052))
|
|
{
|
|
level.var_5052 = [];
|
|
level.var_5052["allies"] = "delta";
|
|
level.var_5052["axis"] = "delta";
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_F68D(param_00,param_01,param_02)
|
|
{
|
|
if(isdefined(self.var_8C98))
|
|
{
|
|
self detach(self.var_8C98);
|
|
}
|
|
|
|
self setmodel(param_00);
|
|
self method_8369(param_02);
|
|
self attach(param_01,"",1);
|
|
self.var_8C98 = param_01;
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_72A5(param_00)
|
|
{
|
|
var_01 = undefined;
|
|
var_02 = undefined;
|
|
var_03 = [];
|
|
switch(param_00)
|
|
{
|
|
case 1:
|
|
var_01 = "mp_warfighter_body_1_3";
|
|
var_02 = "mp_warfighter_head_1_3";
|
|
break;
|
|
|
|
case 2:
|
|
var_01 = "mp_body_heavy_1_2";
|
|
var_02 = "mp_head_heavy_1_2";
|
|
break;
|
|
|
|
case 3:
|
|
if(level.gametype == "infect")
|
|
{
|
|
var_01 = "mp_synaptic_body_1_4";
|
|
var_02 = "mp_synaptic_head_1_4";
|
|
}
|
|
else
|
|
{
|
|
var_01 = "mp_synaptic_body_1_1";
|
|
var_02 = "mp_synaptic_head_1_1";
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
var_01 = "mp_ftl_body_3_1";
|
|
var_02 = "mp_ftl_head_5_1";
|
|
break;
|
|
|
|
case 5:
|
|
var_01 = "mp_stryker_body_2_1";
|
|
var_02 = "mp_stryker_head_3_1";
|
|
break;
|
|
|
|
case 6:
|
|
var_01 = "mp_ghost_body_1_3";
|
|
var_02 = "mp_ghost_head_1_1";
|
|
break;
|
|
}
|
|
|
|
self setcustomization(var_01,var_02);
|
|
var_04 = self method_8119();
|
|
var_05 = self method_811A();
|
|
var_06 = self method_811B();
|
|
func_F68D(var_04,var_05,var_06);
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_7E55()
|
|
{
|
|
var_00 = undefined;
|
|
var_01 = undefined;
|
|
var_02 = [];
|
|
var_03 = func_8078();
|
|
var_04 = func_8073();
|
|
self.var_6A = var_03;
|
|
self.var_171 = var_04;
|
|
var_00 = tablelookupbyrow("mp/cac/bodies.csv",var_03,1);
|
|
var_01 = tablelookupbyrow("mp/cac/heads.csv",var_04,1);
|
|
var_02["body"] = var_00;
|
|
var_02["head"] = var_01;
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_F7A2()
|
|
{
|
|
var_00 = func_7E55();
|
|
self setcustomization(var_00["body"],var_00["head"]);
|
|
var_01 = self method_8119();
|
|
var_02 = self method_811A();
|
|
var_03 = self method_811B();
|
|
func_F68D(var_01,var_02,var_03);
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_F6BE()
|
|
{
|
|
var_00 = level.var_5033[self.team];
|
|
var_01 = level.var_503D[self.team];
|
|
var_02 = level.var_5050[self.team];
|
|
func_F68D(var_00,var_01,var_02);
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_8078()
|
|
{
|
|
if(level.rankedmatch)
|
|
{
|
|
return self getplayerdata("rankedloadouts","squadMembers","body");
|
|
}
|
|
|
|
return self getplayerdata("privateloadouts","squadMembers","body");
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_8073()
|
|
{
|
|
if(level.rankedmatch)
|
|
{
|
|
return self getplayerdata("rankedloadouts","squadMembers","head");
|
|
}
|
|
|
|
return self getplayerdata("privateloadouts","squadMembers","head");
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_8070(param_00)
|
|
{
|
|
return tablelookup("mp/cac/bodies.csv",0,param_00,5);
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_8079(param_00)
|
|
{
|
|
return tablelookup("mp/cac/bodies.csv",0,param_00,1);
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_FADC()
|
|
{
|
|
if(isai(self) || level.gametype == "infect" && self.team == "allies" && isdefined(self.infected_archtype) && self.infected_archtype == "archetype_scout")
|
|
{
|
|
var_00 = lib_0D69::func_80F3(self.var_AE62) + 1;
|
|
}
|
|
else if(isdefined(self.var_3C56))
|
|
{
|
|
var_00 = lib_0D69::func_80F3(self.var_3C56.var_2123) + 1;
|
|
}
|
|
else
|
|
{
|
|
var_00 = getdvarint("forceArchetype",0);
|
|
}
|
|
|
|
if(level.gametype == "infect" && self.team == "axis")
|
|
{
|
|
var_00 = 3;
|
|
}
|
|
|
|
if(isplayer(self) && var_00 == 0)
|
|
{
|
|
func_F7A2();
|
|
}
|
|
else
|
|
{
|
|
func_72A5(var_00);
|
|
}
|
|
|
|
if(!isai(self))
|
|
{
|
|
var_01 = func_8078();
|
|
self.var_6A = var_01;
|
|
var_02 = func_8070(var_01);
|
|
}
|
|
else
|
|
{
|
|
self method_82C6("vestLight");
|
|
}
|
|
|
|
self.var_13525 = level.var_5052[self.team];
|
|
if(scripts\mp\_utility::func_9D46() && !isai(self))
|
|
{
|
|
var_03 = func_8079(func_8078());
|
|
if(issubstr(var_03,"fullbody_sniper"))
|
|
{
|
|
thread func_72B2();
|
|
}
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9E59())
|
|
{
|
|
if(isdefined(self.var_9E5D) && self.var_9E5D)
|
|
{
|
|
thread [[ game[self.team + "_model"]["JUGGERNAUT_MANIAC"] ]]();
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_9E5C) && self.var_9E5C)
|
|
{
|
|
thread [[ game[self.team + "_model"]["JUGGERNAUT_CUSTOM"] ]]();
|
|
return;
|
|
}
|
|
|
|
thread [[ game[self.team + "_model"]["JUGGERNAUT"] ]]();
|
|
return;
|
|
}
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_72B2()
|
|
{
|
|
if(self.team == "axis")
|
|
{
|
|
self setmodel("mp_fullbody_heavy");
|
|
self method_8369("viewmodel_mp_warfighter_1");
|
|
}
|
|
else
|
|
{
|
|
self setmodel("mp_body_infected_a");
|
|
self method_8369("viewmodel_mp_warfighter_1");
|
|
}
|
|
|
|
if(isdefined(self.var_8C98))
|
|
{
|
|
self detach(self.var_8C98,"");
|
|
self.var_8C98 = undefined;
|
|
}
|
|
|
|
self attach("head_mp_infected","",1);
|
|
self.var_8C98 = "head_mp_infected";
|
|
self method_82C6("cloth");
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_12E95()
|
|
{
|
|
if(!level.rankedmatch)
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_00 = 0;
|
|
for(;;)
|
|
{
|
|
var_00++;
|
|
if(var_00 >= level.players.size)
|
|
{
|
|
var_00 = 0;
|
|
}
|
|
|
|
if(isdefined(level.players[var_00]))
|
|
{
|
|
level.players[var_00] func_12E94();
|
|
}
|
|
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_12E94()
|
|
{
|
|
if(isai(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_DCD5())
|
|
{
|
|
if(self.var_1190E["allies"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedAllies",self.var_1190E["allies"],1);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["allies"],1);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["allies"],1);
|
|
}
|
|
|
|
if(self.var_1190E["axis"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedOpfor",self.var_1190E["axis"],1);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["axis"],1);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["axis"],1);
|
|
}
|
|
|
|
if(self.var_1190E["other"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedOther",self.var_1190E["other"],1);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["other"],1);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["other"],1);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if(self.var_1190E["allies"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedAllies",self.var_1190E["allies"]);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["allies"]);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["allies"]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",0,self.var_1190E["allies"],self.var_316A["xpMaxMultiplierTimePlayed"][0]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",1,self.var_1190E["allies"],self.var_316A["xpMaxMultiplierTimePlayed"][1]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",2,self.var_1190E["allies"],self.var_316A["xpMaxMultiplierTimePlayed"][2]);
|
|
}
|
|
|
|
if(self.var_1190E["axis"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedOpfor",self.var_1190E["axis"]);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["axis"]);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["axis"]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",0,self.var_1190E["axis"],self.var_316A["xpMaxMultiplierTimePlayed"][0]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",1,self.var_1190E["axis"],self.var_316A["xpMaxMultiplierTimePlayed"][1]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",2,self.var_1190E["axis"],self.var_316A["xpMaxMultiplierTimePlayed"][2]);
|
|
}
|
|
|
|
if(self.var_1190E["other"])
|
|
{
|
|
scripts\mp\_persistence::func_10E13("timePlayedOther",self.var_1190E["other"]);
|
|
scripts\mp\_persistence::func_10E13("timePlayedTotal",self.var_1190E["other"]);
|
|
scripts\mp\_persistence::func_10E16("round","timePlayed",self.var_1190E["other"]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",0,self.var_1190E["other"],self.var_316A["xpMaxMultiplierTimePlayed"][0]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",1,self.var_1190E["other"],self.var_316A["xpMaxMultiplierTimePlayed"][1]);
|
|
scripts\mp\_persistence::func_10E17("xpMultiplierTimePlayed",2,self.var_1190E["other"],self.var_316A["xpMaxMultiplierTimePlayed"][2]);
|
|
}
|
|
|
|
self.var_1190E["allies"] = 0;
|
|
self.var_1190E["axis"] = 0;
|
|
self.var_1190E["other"] = 0;
|
|
}
|
|
|
|
//Function Number: 32
|
|
watchafk()
|
|
{
|
|
var_00 = 0;
|
|
for(;;)
|
|
{
|
|
var_00++;
|
|
if(var_00 >= level.players.size)
|
|
{
|
|
var_00 = 0;
|
|
}
|
|
|
|
if(isdefined(level.players[var_00]))
|
|
{
|
|
if(isai(level.players[var_00]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
level.players[var_00] checkforafk();
|
|
}
|
|
|
|
wait(1);
|
|
scripts\mp\_hostmigration::func_13834();
|
|
}
|
|
}
|
|
|
|
//Function Number: 33
|
|
checkforafk()
|
|
{
|
|
if(scripts\mp\_utility::func_9FB3(level.var_7669))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(self.pers["validKickTime"]))
|
|
{
|
|
self.pers["validKickTime"] = 0;
|
|
}
|
|
|
|
var_00 = self.pers["validKickTime"];
|
|
var_01 = 0;
|
|
var_02 = self.pers["kills"];
|
|
var_03 = self.pers["assists"];
|
|
var_04 = var_02 == 0 && var_03 == 0;
|
|
if(isdefined(self.pers["stanceTracking"]) && var_00 > 30)
|
|
{
|
|
var_05 = self.pers["stanceTracking"]["crouch"] / var_00;
|
|
if(var_05 > 1)
|
|
{
|
|
var_01 = 1;
|
|
}
|
|
}
|
|
|
|
if(var_04 && var_00 > 60)
|
|
{
|
|
if(!isdefined(self.pers["distTrackingPassed"]))
|
|
{
|
|
if(level.gametype == "infect")
|
|
{
|
|
if(self.team == "axis")
|
|
{
|
|
var_01 = 1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_01 = 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(var_04 && var_00 > 120)
|
|
{
|
|
if(!isdefined(self.var_A96A) || self.var_A96A + -5536 < gettime())
|
|
{
|
|
switch(level.gametype)
|
|
{
|
|
case "gun":
|
|
if(scripts\mp\_utility::func_9FB3(level.kick_afk_check))
|
|
{
|
|
var_01 = 1;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(var_01 && !function_0303())
|
|
{
|
|
kick(self getentitynumber(),"EXE_PLAYERKICKED_INACTIVE",1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_7F24(param_00)
|
|
{
|
|
var_01 = 0;
|
|
var_02 = 0;
|
|
var_03 = level.players;
|
|
for(var_04 = 0;var_04 < var_03.size;var_04++)
|
|
{
|
|
var_05 = var_03[var_04];
|
|
if(isdefined(var_05.pers["team"]) && var_05.pers["team"] == param_00)
|
|
{
|
|
var_01++;
|
|
if(isbot(var_05))
|
|
{
|
|
var_02++;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(var_01 < level.teamlimit)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(var_02 > 0)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_B3EC())
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(level.gametype == "infect")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
bbprint("mp_exceeded_team_max_error","player_xuid %s isHost %i",self getxuid(),self ishost());
|
|
if(self ishost())
|
|
{
|
|
wait(1.5);
|
|
}
|
|
|
|
function_01BD(1);
|
|
level.nojip = 1;
|
|
kick(self getentitynumber(),"EXE_PLAYERKICKED_INVALIDTEAM");
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_C57B()
|
|
{
|
|
level endon("game_ended");
|
|
self waittill("spawned_player");
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_BD73(param_00)
|
|
{
|
|
return tablelookupistring("mp/MTTable.csv",0,param_00,1);
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_BD72(param_00)
|
|
{
|
|
return tablelookup("mp/MTTable.csv",0,param_00,2);
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_BD71(param_00)
|
|
{
|
|
return tablelookup("mp/MTTable.csv",0,param_00,3);
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_81B5(param_00)
|
|
{
|
|
return tablelookupistring("mp/factionTable.csv",0,game[param_00],1);
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_81B7(param_00)
|
|
{
|
|
return tablelookupistring("mp/factionTable.csv",0,game[param_00],2);
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_81AF(param_00)
|
|
{
|
|
return tablelookupistring("mp/factionTable.csv",0,game[param_00],4);
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_81A8(param_00)
|
|
{
|
|
return tablelookupistring("mp/factionTable.csv",0,game[param_00],3);
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_81B2(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],5);
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_81B1(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],6);
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_81B0(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],17);
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_81BC(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],7);
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_81B9(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],8);
|
|
}
|
|
|
|
//Function Number: 48
|
|
func_81BD(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],9);
|
|
}
|
|
|
|
//Function Number: 49
|
|
func_81AE(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],10);
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_81AA(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],11);
|
|
}
|
|
|
|
//Function Number: 51
|
|
func_81AD(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],12);
|
|
}
|
|
|
|
//Function Number: 52
|
|
func_81AC(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],13);
|
|
}
|
|
|
|
//Function Number: 53
|
|
func_81A4(param_00)
|
|
{
|
|
return (scripts\mp\_utility::func_1114F(tablelookup("mp/factionTable.csv",0,game[param_00],14)),scripts\mp\_utility::func_1114F(tablelookup("mp/factionTable.csv",0,game[param_00],15)),scripts\mp\_utility::func_1114F(tablelookup("mp/factionTable.csv",0,game[param_00],16)));
|
|
}
|
|
|
|
//Function Number: 54
|
|
func_81A5(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],18);
|
|
}
|
|
|
|
//Function Number: 55
|
|
func_81A6(param_00)
|
|
{
|
|
return tablelookup("mp/factionTable.csv",0,game[param_00],19);
|
|
} |