uploading 119 patch_mp scripts and 23 patch_zm scripts as a baseline

This commit is contained in:
JezuzLizard
2020-05-29 07:55:47 -07:00
parent b044bba3c2
commit 89fa02ab7f
144 changed files with 75534 additions and 0 deletions

View File

@ -0,0 +1,387 @@
#include maps/mp/gametypes/_spectating;
#include maps/mp/gametypes/_globallogic_ui;
#include maps/mp/gametypes/_persistence;
#include maps/mp/_utility;
init()
{
precacheshader( "mpflag_spectator" );
game[ "strings" ][ "autobalance" ] = &"MP_AUTOBALANCE_NOW";
precachestring( &"MP_AUTOBALANCE_NOW" );
if ( getDvar( "scr_teambalance" ) == "" )
{
setdvar( "scr_teambalance", "0" );
}
level.teambalance = getDvarInt( "scr_teambalance" );
level.teambalancetimer = 0;
if ( getDvar( "scr_timeplayedcap" ) == "" )
{
setdvar( "scr_timeplayedcap", "1800" );
}
level.timeplayedcap = int( getDvarInt( "scr_timeplayedcap" ) );
level.freeplayers = [];
if ( level.teambased )
{
level.alliesplayers = [];
level.axisplayers = [];
level thread onplayerconnect();
level thread updateteambalancedvar();
wait 0,15;
if ( level.rankedmatch || level.leaguematch )
{
level thread updateplayertimes();
}
}
else
{
level thread onfreeplayerconnect();
wait 0,15;
if ( level.rankedmatch || level.leaguematch )
{
level thread updateplayertimes();
}
}
}
onplayerconnect()
{
for ( ;; )
{
level waittill( "connecting", player );
player thread onjoinedteam();
player thread onjoinedspectators();
player thread trackplayedtime();
}
}
onfreeplayerconnect()
{
for ( ;; )
{
level waittill( "connecting", player );
player thread trackfreeplayedtime();
}
}
onjoinedteam()
{
self endon( "disconnect" );
for ( ;; )
{
self waittill( "joined_team" );
self logstring( "joined team: " + self.pers[ "team" ] );
self updateteamtime();
}
}
onjoinedspectators()
{
self endon( "disconnect" );
for ( ;; )
{
self waittill( "joined_spectators" );
}
}
trackplayedtime()
{
self endon( "disconnect" );
_a100 = level.teams;
_k100 = getFirstArrayKey( _a100 );
while ( isDefined( _k100 ) )
{
team = _a100[ _k100 ];
self.timeplayed[ team ] = 0;
_k100 = getNextArrayKey( _a100, _k100 );
}
self.timeplayed[ "free" ] = 0;
self.timeplayed[ "other" ] = 0;
self.timeplayed[ "alive" ] = 0;
if ( !isDefined( self.timeplayed[ "total" ] ) || level.gametype == "twar" && game[ "roundsplayed" ] >= 0 && self.timeplayed[ "total" ] >= 0 )
{
self.timeplayed[ "total" ] = 0;
}
while ( level.inprematchperiod )
{
wait 0,05;
}
for ( ;; )
{
if ( game[ "state" ] == "playing" )
{
if ( isDefined( level.teams[ self.sessionteam ] ) )
{
self.timeplayed[ self.sessionteam ]++;
self.timeplayed[ "total" ]++;
if ( isalive( self ) )
{
self.timeplayed[ "alive" ]++;
}
break;
}
else
{
if ( self.sessionteam == "spectator" )
{
self.timeplayed[ "other" ]++;
}
}
}
wait 1;
}
}
updateplayertimes()
{
nexttoupdate = 0;
for ( ;; )
{
nexttoupdate++;
if ( nexttoupdate >= level.players.size )
{
nexttoupdate = 0;
}
if ( isDefined( level.players[ nexttoupdate ] ) )
{
level.players[ nexttoupdate ] updateplayedtime();
level.players[ nexttoupdate ] maps/mp/gametypes/_persistence::checkcontractexpirations();
}
wait 1;
nexttoupdate++;
continue;
}
}
updateplayedtime()
{
pixbeginevent( "updatePlayedTime" );
_a160 = level.teams;
_k160 = getFirstArrayKey( _a160 );
while ( isDefined( _k160 ) )
{
team = _a160[ _k160 ];
if ( self.timeplayed[ team ] )
{
self addplayerstat( "time_played_" + team, int( min( self.timeplayed[ team ], level.timeplayedcap ) ) );
self addplayerstatwithgametype( "time_played_total", int( min( self.timeplayed[ team ], level.timeplayedcap ) ) );
}
_k160 = getNextArrayKey( _a160, _k160 );
}
if ( self.timeplayed[ "other" ] )
{
self addplayerstat( "time_played_other", int( min( self.timeplayed[ "other" ], level.timeplayedcap ) ) );
self addplayerstatwithgametype( "time_played_total", int( min( self.timeplayed[ "other" ], level.timeplayedcap ) ) );
}
if ( self.timeplayed[ "alive" ] )
{
timealive = int( min( self.timeplayed[ "alive" ], level.timeplayedcap ) );
self maps/mp/gametypes/_persistence::incrementcontracttimes( timealive );
self addplayerstat( "time_played_alive", timealive );
}
pixendevent();
if ( game[ "state" ] == "postgame" )
{
return;
}
_a187 = level.teams;
_k187 = getFirstArrayKey( _a187 );
while ( isDefined( _k187 ) )
{
team = _a187[ _k187 ];
self.timeplayed[ team ] = 0;
_k187 = getNextArrayKey( _a187, _k187 );
}
self.timeplayed[ "other" ] = 0;
self.timeplayed[ "alive" ] = 0;
}
updateteamtime()
{
if ( game[ "state" ] != "playing" )
{
return;
}
self.pers[ "teamTime" ] = getTime();
}
updateteambalancedvar()
{
for ( ;; )
{
teambalance = getDvarInt( "scr_teambalance" );
if ( level.teambalance != teambalance )
{
level.teambalance = getDvarInt( "scr_teambalance" );
}
timeplayedcap = getDvarInt( "scr_timeplayedcap" );
if ( level.timeplayedcap != timeplayedcap )
{
level.timeplayedcap = int( getDvarInt( "scr_timeplayedcap" ) );
}
wait 1;
}
}
changeteam( team )
{
if ( self.sessionstate != "dead" )
{
self.switching_teams = 1;
self.joining_team = team;
self.leaving_team = self.pers[ "team" ];
self suicide();
}
self.pers[ "team" ] = team;
self.team = team;
self.sessionteam = self.pers[ "team" ];
if ( !level.teambased )
{
self.ffateam = team;
}
self maps/mp/gametypes/_globallogic_ui::updateobjectivetext();
self maps/mp/gametypes/_spectating::setspectatepermissions();
self setclientscriptmainmenu( game[ "menu_class" ] );
self openmenu( game[ "menu_class" ] );
self notify( "end_respawn" );
}
countplayers()
{
players = level.players;
playercounts = [];
_a259 = level.teams;
_k259 = getFirstArrayKey( _a259 );
while ( isDefined( _k259 ) )
{
team = _a259[ _k259 ];
playercounts[ team ] = 0;
_k259 = getNextArrayKey( _a259, _k259 );
}
_a264 = level.players;
_k264 = getFirstArrayKey( _a264 );
while ( isDefined( _k264 ) )
{
player = _a264[ _k264 ];
if ( player == self )
{
}
else
{
team = player.pers[ "team" ];
if ( isDefined( team ) && isDefined( level.teams[ team ] ) )
{
playercounts[ team ]++;
}
}
_k264 = getNextArrayKey( _a264, _k264 );
}
return playercounts;
}
trackfreeplayedtime()
{
self endon( "disconnect" );
_a281 = level.teams;
_k281 = getFirstArrayKey( _a281 );
while ( isDefined( _k281 ) )
{
team = _a281[ _k281 ];
self.timeplayed[ team ] = 0;
_k281 = getNextArrayKey( _a281, _k281 );
}
self.timeplayed[ "other" ] = 0;
self.timeplayed[ "total" ] = 0;
self.timeplayed[ "alive" ] = 0;
for ( ;; )
{
if ( game[ "state" ] == "playing" )
{
team = self.pers[ "team" ];
if ( isDefined( team ) && isDefined( level.teams[ team ] ) && self.sessionteam != "spectator" )
{
self.timeplayed[ team ]++;
self.timeplayed[ "total" ]++;
if ( isalive( self ) )
{
self.timeplayed[ "alive" ]++;
}
break;
}
else
{
self.timeplayed[ "other" ]++;
}
}
wait 1;
}
}
set_player_model( team, weapon )
{
weaponclass = getweaponclass( weapon );
bodytype = "default";
switch( weaponclass )
{
case "weapon_sniper":
bodytype = "rifle";
break;
case "weapon_cqb":
bodytype = "spread";
break;
case "weapon_lmg":
bodytype = "mg";
break;
case "weapon_smg":
bodytype = "smg";
break;
}
self detachall();
self setmovespeedscale( 1 );
self setsprintduration( 4 );
self setsprintcooldown( 0 );
if ( level.multiteam )
{
bodytype = "default";
switch( team )
{
case "team7":
case "team8":
team = "allies";
break;
}
}
self [[ game[ "set_player_model" ][ team ][ bodytype ] ]]();
}
getteamflagmodel( teamref )
{
/#
assert( isDefined( game[ "flagmodels" ] ) );
#/
/#
assert( isDefined( game[ "flagmodels" ][ teamref ] ) );
#/
return game[ "flagmodels" ][ teamref ];
}
getteamflagcarrymodel( teamref )
{
/#
assert( isDefined( game[ "carry_flagmodels" ] ) );
#/
/#
assert( isDefined( game[ "carry_flagmodels" ][ teamref ] ) );
#/
return game[ "carry_flagmodels" ][ teamref ];
}
getteamflagicon( teamref )
{
/#
assert( isDefined( game[ "carry_icon" ] ) );
#/
/#
assert( isDefined( game[ "carry_icon" ][ teamref ] ) );
#/
return game[ "carry_icon" ][ teamref ];
}

View File

@ -0,0 +1,29 @@
init()
{
if ( !isDefined( game[ "flagmodels" ] ) )
{
game[ "flagmodels" ] = [];
}
if ( !isDefined( game[ "carry_flagmodels" ] ) )
{
game[ "carry_flagmodels" ] = [];
}
if ( !isDefined( game[ "carry_icon" ] ) )
{
game[ "carry_icon" ] = [];
}
game[ "flagmodels" ][ "neutral" ] = "mp_flag_neutral";
}
customteam_init()
{
if ( getDvar( "g_customTeamName_Allies" ) != "" )
{
setdvar( "g_TeamName_Allies", getDvar( "g_customTeamName_Allies" ) );
}
if ( getDvar( "g_customTeamName_Axis" ) != "" )
{
setdvar( "g_TeamName_Axis", getDvar( "g_customTeamName_Axis" ) );
}
}

View File

@ -0,0 +1,211 @@
#include maps/mp/teams/_teamset;
main()
{
maps/mp/teams/_teamset::init();
init_seals( "allies" );
init_pla( "axis" );
init_fbi( "team3" );
init_pmc( "team4" );
init_isa( "team5" );
init_cd( "team6" );
init_seals( "team7" );
init_seals( "team8" );
precache();
}
precache()
{
mpbody/class_assault_usa_seals::precache();
mpbody/class_assault_usa_fbi::precache();
mpbody/class_assault_rus_pmc::precache();
mpbody/class_assault_chn_pla::precache();
mpbody/class_assault_isa::precache();
mpbody/class_assault_cd::precache();
}
init_seals( team )
{
game[ team ] = "seals";
game[ "attackers" ] = team;
precacheshader( "faction_seals" );
game[ "entity_headicon_" + team ] = "faction_seals";
game[ "headicon_" + team ] = "faction_seals";
level.teamprefix[ team ] = "vox_st";
level.teampostfix[ team ] = "st6";
setdvar( "g_TeamName_" + team, &"MPUI_SEALS_SHORT" );
setdvar( "g_TeamColor_" + team, "0.6 0.64 0.69" );
setdvar( "g_ScoresColor_" + team, "0.6 0.64 0.69" );
setdvar( "g_FactionName_" + team, "usa_seals" );
game[ "strings" ][ team + "_win" ] = &"MP_SEALS_WIN_MATCH";
game[ "strings" ][ team + "_win_round" ] = &"MP_SEALS_WIN_ROUND";
game[ "strings" ][ team + "_mission_accomplished" ] = &"MP_SEALS_MISSION_ACCOMPLISHED";
game[ "strings" ][ team + "_eliminated" ] = &"MP_SEALS_ELIMINATED";
game[ "strings" ][ team + "_forfeited" ] = &"MP_SEALS_FORFEITED";
game[ "strings" ][ team + "_name" ] = &"MP_SEALS_NAME";
game[ "music" ][ "spawn_" + team ] = "SPAWN_ST6";
game[ "music" ][ "spawn_short" + team ] = "SPAWN_SHORT_ST6";
game[ "music" ][ "victory_" + team ] = "VICTORY_ST6";
game[ "icons" ][ team ] = "faction_seals";
game[ "voice" ][ team ] = "vox_st6_";
setdvar( "scr_" + team, "marines" );
level.heli_vo[ team ][ "hit" ] = "vox_ops_2_kls_attackheli_hit";
game[ "flagmodels" ][ team ] = "mp_flag_allies_1";
game[ "carry_flagmodels" ][ team ] = "mp_flag_allies_1_carry";
game[ "carry_icon" ][ team ] = "hudicon_marines_ctf_flag_carry";
}
init_pmc( team )
{
game[ team ] = "pmc";
game[ "defenders" ] = team;
precacheshader( "faction_pmc" );
game[ "entity_headicon_" + team ] = "faction_pmc";
game[ "headicon_" + team ] = "faction_pmc";
level.teamprefix[ team ] = "vox_pm";
level.teampostfix[ team ] = "pmc";
setdvar( "g_TeamName_" + team, &"MPUI_PMC_SHORT" );
setdvar( "g_TeamColor_" + team, "0.65 0.57 0.41" );
setdvar( "g_ScoresColor_" + team, "0.65 0.57 0.41" );
setdvar( "g_FactionName_" + team, "rus_pmc" );
game[ "strings" ][ team + "_win" ] = &"MP_PMC_WIN_MATCH";
game[ "strings" ][ team + "_win_round" ] = &"MP_PMC_WIN_ROUND";
game[ "strings" ][ team + "_mission_accomplished" ] = &"MP_PMC_MISSION_ACCOMPLISHED";
game[ "strings" ][ team + "_eliminated" ] = &"MP_PMC_ELIMINATED";
game[ "strings" ][ team + "_forfeited" ] = &"MP_PMC_FORFEITED";
game[ "strings" ][ team + "_name" ] = &"MP_PMC_NAME";
game[ "music" ][ "spawn_" + team ] = "SPAWN_PMC";
game[ "music" ][ "spawn_short" + team ] = "SPAWN_SHORT_PMC";
game[ "music" ][ "victory_" + team ] = "VICTORY_PMC";
game[ "icons" ][ team ] = "faction_pmc";
game[ "voice" ][ team ] = "vox_pmc_";
setdvar( "scr_" + team, "ussr" );
level.heli_vo[ team ][ "hit" ] = "vox_rus_0_kls_attackheli_hit";
game[ "flagmodels" ][ team ] = "mp_flag_axis_1";
game[ "carry_flagmodels" ][ team ] = "mp_flag_axis_1_carry";
game[ "carry_icon" ][ team ] = "hudicon_spetsnaz_ctf_flag_carry";
}
init_pla( team )
{
game[ team ] = "pla";
game[ "defenders" ] = team;
precacheshader( "faction_pla" );
game[ "entity_headicon_" + team ] = "faction_pla";
game[ "headicon_" + team ] = "faction_pla";
level.teamprefix[ team ] = "vox_ch";
level.teampostfix[ team ] = "pla";
setdvar( "g_TeamName_" + team, &"MPUI_PLA_SHORT" );
setdvar( "g_TeamColor_" + team, "0.65 0.57 0.41" );
setdvar( "g_ScoresColor_" + team, "0.65 0.57 0.41" );
setdvar( "g_FactionName_" + team, "chn_pla" );
game[ "strings" ][ team + "_win" ] = &"MP_PLA_WIN_MATCH";
game[ "strings" ][ team + "_win_round" ] = &"MP_PLA_WIN_ROUND";
game[ "strings" ][ team + "_mission_accomplished" ] = &"MP_PLA_MISSION_ACCOMPLISHED";
game[ "strings" ][ team + "_eliminated" ] = &"MP_PLA_ELIMINATED";
game[ "strings" ][ team + "_forfeited" ] = &"MP_PLA_FORFEITED";
game[ "strings" ][ team + "_name" ] = &"MP_PLA_NAME";
game[ "music" ][ "spawn_" + team ] = "SPAWN_PLA";
game[ "music" ][ "spawn_short" + team ] = "SPAWN_SHORT_PLA";
game[ "music" ][ "victory_" + team ] = "VICTORY_PLA";
game[ "icons" ][ team ] = "faction_pla";
game[ "voice" ][ team ] = "vox_pla_";
setdvar( "scr_" + team, "ussr" );
level.heli_vo[ team ][ "hit" ] = "vox_rus_0_kls_attackheli_hit";
game[ "flagmodels" ][ team ] = "mp_flag_axis_1";
game[ "carry_flagmodels" ][ team ] = "mp_flag_axis_1_carry";
game[ "carry_icon" ][ team ] = "hudicon_spetsnaz_ctf_flag_carry";
}
init_fbi( team )
{
game[ team ] = "fbi";
game[ "attackers" ] = team;
precacheshader( "faction_fbi" );
game[ "entity_headicon_" + team ] = "faction_fbi";
game[ "headicon_" + team ] = "faction_fbi";
level.teamprefix[ team ] = "vox_hr";
level.teampostfix[ team ] = "hrt";
setdvar( "g_TeamName_" + team, &"MPUI_FBI_SHORT" );
setdvar( "g_TeamColor_" + team, "0.6 0.64 0.69" );
setdvar( "g_ScoresColor_" + team, "0.6 0.64 0.69" );
setdvar( "g_FactionName_" + team, "usa_fbi" );
game[ "strings" ][ team + "_win" ] = &"MP_FBI_WIN_MATCH";
game[ "strings" ][ team + "_win_round" ] = &"MP_FBI_WIN_ROUND";
game[ "strings" ][ team + "_mission_accomplished" ] = &"MP_FBI_MISSION_ACCOMPLISHED";
game[ "strings" ][ team + "_eliminated" ] = &"MP_FBI_ELIMINATED";
game[ "strings" ][ team + "_forfeited" ] = &"MP_FBI_FORFEITED";
game[ "strings" ][ team + "_name" ] = &"MP_FBI_NAME";
game[ "music" ][ "spawn_" + team ] = "SPAWN_FBI";
game[ "music" ][ "spawn_short" + team ] = "SPAWN_SHORT_FBI";
game[ "music" ][ "victory_" + team ] = "VICTORY_FBI";
game[ "icons" ][ team ] = "faction_fbi";
game[ "voice" ][ team ] = "vox_fbi_";
setdvar( "scr_" + team, "marines" );
level.heli_vo[ team ][ "hit" ] = "vox_ops_2_kls_attackheli_hit";
game[ "flagmodels" ][ team ] = "mp_flag_allies_1";
game[ "carry_flagmodels" ][ team ] = "mp_flag_allies_1_carry";
game[ "carry_icon" ][ team ] = "hudicon_marines_ctf_flag_carry";
}
init_isa( team )
{
game[ team ] = "isa";
game[ "attackers" ] = team;
precacheshader( "faction_isa" );
game[ "entity_headicon_" + team ] = "faction_isa";
game[ "headicon_" + team ] = "faction_isa";
level.teamprefix[ team ] = "vox_is";
level.teampostfix[ team ] = "isa";
setdvar( "g_TeamName_" + team, &"MPUI_ISA_SHORT" );
setdvar( "g_TeamColor_" + team, "0.6 0.64 0.69" );
setdvar( "g_ScoresColor_" + team, "0.6 0.64 0.69" );
setdvar( "g_FactionName_" + team, "isa" );
game[ "strings" ][ team + "_win" ] = &"MP_ISA_WIN_MATCH";
game[ "strings" ][ team + "_win_round" ] = &"MP_ISA_WIN_ROUND";
game[ "strings" ][ team + "_mission_accomplished" ] = &"MP_ISA_MISSION_ACCOMPLISHED";
game[ "strings" ][ team + "_eliminated" ] = &"MP_ISA_ELIMINATED";
game[ "strings" ][ team + "_forfeited" ] = &"MP_ISA_FORFEITED";
game[ "strings" ][ team + "_name" ] = &"MP_ISA_NAME";
game[ "music" ][ "spawn_" + team ] = "SPAWN_CIA";
game[ "music" ][ "spawn_short" + team ] = "SPAWN_SHORT_CIA";
game[ "music" ][ "victory_" + team ] = "VICTORY_CIA";
game[ "icons" ][ team ] = "faction_isa";
game[ "voice" ][ team ] = "vox_isa_";
setdvar( "scr_" + team, "marines" );
level.heli_vo[ team ][ "hit" ] = "vox_ops_2_kls_attackheli_hit";
game[ "flagmodels" ][ team ] = "mp_flag_allies_1";
game[ "carry_flagmodels" ][ team ] = "mp_flag_allies_1_carry";
game[ "carry_icon" ][ team ] = "hudicon_marines_ctf_flag_carry";
}
init_cd( team )
{
game[ team ] = "cd";
game[ "attackers" ] = team;
precacheshader( "faction_cd" );
game[ "entity_headicon_" + team ] = "faction_cd";
game[ "headicon_" + team ] = "faction_cd";
level.teamprefix[ team ] = "vox_cd";
level.teampostfix[ team ] = "cda";
setdvar( "g_TeamName_" + team, &"MPUI_CD_SHORT" );
setdvar( "g_TeamColor_" + team, "0.6 0.64 0.69" );
setdvar( "g_ScoresColor_" + team, "0.6 0.64 0.69" );
setdvar( "g_FactionName_" + team, "cd" );
game[ "strings" ][ team + "_win" ] = &"MP_CD_WIN_MATCH";
game[ "strings" ][ team + "_win_round" ] = &"MP_CD_WIN_ROUND";
game[ "strings" ][ team + "_mission_accomplished" ] = &"MP_CD_MISSION_ACCOMPLISHED";
game[ "strings" ][ team + "_eliminated" ] = &"MP_CD_ELIMINATED";
game[ "strings" ][ team + "_forfeited" ] = &"MP_CD_FORFEITED";
game[ "strings" ][ team + "_name" ] = &"MP_CD_NAME";
game[ "music" ][ "spawn_" + team ] = "SPAWN_TER";
game[ "music" ][ "spawn_short" + team ] = "SPAWN_SHORT_TER";
game[ "music" ][ "victory_" + team ] = "VICTORY_TER";
game[ "icons" ][ team ] = "faction_cd";
game[ "voice" ][ team ] = "vox_cda_";
setdvar( "scr_" + team, "ussr" );
level.heli_vo[ team ][ "hit" ] = "vox_cd2_kls_attackheli_hit";
game[ "flagmodels" ][ team ] = "mp_flag_axis_1";
game[ "carry_flagmodels" ][ team ] = "mp_flag_axis_1_carry";
game[ "carry_icon" ][ team ] = "hudicon_spetsnaz_ctf_flag_carry";
}