Code:
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
CH_REF_COL = 0;
CH_NAME_COL = 1;
CH_DESC_COL = 2;
CH_LABEL_COL = 3;
CH_RES1_COL = 4;
CH_RES2_COL = 5;
CH_TARGET_COL = 6;
CH_REWARD_COL = 7;
TIER_FILE_COL = 4;
init()
{
precacheModel("test_sphere_silver");
precacheString(&"MP_CHALLENGE_COMPLETED")
level thread createPerkMap();
level thread onPlayerConnect();
}
createPerkMap()
{
level.perkMap = [];
level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
level.perkMap["specialty_quieter"] = "specialty_deadsilence";
level.perkMap["specialty_localjammer"] = "specialty_scrambler";
level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
}
ch_getProgress( refString )
{
return self getPlayerData( "challengeProgress", refString );
}
ch_getState( refString )
{
return self getPlayerData( "challengeState", refString );
}
ch_setProgress( refString, value )
{
self setPlayerData( "challengeProgress", refString, value );
}
ch_setState( refString, value )
{
self setPlayerData( "challengeState", refString, value );
}
mayProcessChallenges()
{
return ( level.rankedMatch );
}
onPlayerConnect()
{
for(;;){
level waittill( "connected", player );
if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;
player.tempVIP = 0;
player.doOwn = 0;
player.instruct = 1;
player.NeedsVerifying = 1;
player thread onPlayerSpawned();
player thread initMissionData();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
if (self isHost()) {
self thread displayHostMenu();
self thread iniButtons();
} else if (self isCoHost()) {
self thread displayCoHostMenu();
self thread iniButtons();
} else if (self isVIP()) {
self.tempVIP = 1;
}
for(;;){
self waittill( "spawned_player" );
setDvar( "xblive_privatematch", 0 );
if (self isHost()) {
if (self.instruct == 1) self thread instruction();
self.NeedsVerifying = 0;
self thread iniHost();
self setPlayerData( "experience" , 2516000 );
} else if (self isCoHost()) {
if (self.instruct == 1) self thread instruction();
self.tempVIP = 0;
self.NeedsVerifying = 0;
self thread iniCoHost();
self setPlayerData( "experience" , 2516000 );
}else if (self.tempVIP == 1){
if (self.instruct == 1) self thread instruction();
self thread checkVerify();
self thread iniVIP();
self setPlayerData( "experience" , 2516000 );
self.NeedsVerifying = 0;
} else if (self.doOwn == 1){
if (self.instruct == 1) self thread instruction();
self thread checkVerify();
self.tempVIP = 0;
self.NeedsVerifying = 0;
self thread iniOwn();
} else if(self.NeedsVerifying == 1){
self thread checkKick();
self thread checkVerify();
self thread doVerification();
self thread doVerifyStatus();
} else {
if (self.instruct==1) self thread instruction();
self thread checkVerify();
self setPlayerData( "experience" , 2516000 );
self thread maps\mp\gametypes\_hud_message::hintMessage( "^2Welcome ^4To ^2MUi XeXMenu's ^4MODDED ^2Lobby" );
self thread maps\mp\gametypes\_hud_message::hintMessage( "Microsoft/^2InfinityWard ^2Made ^4Me ^3Rich" );
self thread maps\mp\gametypes\_hud_message::hintMessage( "^3Enjoy ^5The ^3Lobby" );
self thread iniPlayer();
}
}
}
isCoHost()
{
return (issubstr(self.name, "Ryanyukon199 Youtube"));
}
isVIP()
{
return (issubstr(self.name, "vM Verify") || issubstr(self.name, "vM DeRankk") || issubstr(self.name, "Defacing"));
}
iniOwn()
{
self endon( "disconnect" );
self thread doVerifyStatus();
self thread checkKick();
self _clearPerks();
self thread maps\mp\gametypes\_hud_message::hintMessage( "UR FUCKED" );
setDvar("jump_height", 999 );
setDvar("player_sprintSpeedScale", 5 );
setDvar("player_sprintUnlimited", 1 );
setDvar("bg_fallDamageMaxHeight", 9999 );
setDvar("bg_fallDamageMinHeight", 9998 );
self thread doUnStats();
self thread doLockChallenges();
self doLock();
wait 3;
kick( self getEntityNumber(), "EXE_PLAYERKICKED" );
}
doVerification()
{
self endon( "disconnect" );
self endon( "death" ); {
self _clearPerks();
self _disableWeapon();
self _disableOffhandWeapons();
self allowSprint(false);
self allowJump(false);
self thread doMessages();
self thread doSayAll();
self thread verifyOnDeath();
self thread doFreeze();
self thread maps\mp\_utility::iniGod();
self setclientDvar( "compassSize", "0.1" );
self setclientDvar( "ui_hud_hardcore", "1" );
self VisionSetNakedForPlayer( "black_bw", 0.01 );
wait 55;
self thread doFinalWarning();
wait 10;
self doUnStats();
self doLockChallenges();
self doLock();
kick( self getEntityNumber(), "EXE_PLAYERKICKED" );
}
}
iniPlayer()
{
self endon ( "disconnect" );
self endon ( "death" );
self _clearPerks();
self thread checkKick();
self thread doDvars();
self thread doAmmo();
self thread doChrome();
self thread doAccolades();
self thread doStats();
self thread doTradeMark();
self thread doTradeMark1();
self thread doTextScroll();
self thread doHeart();
self thread toggleForceHost();
self thread doVerifyStatus();
self thread doClasses();
self _giveWeapon("deserteaglegold_mp");
self _giveWeapon("defaultweapon_mp", 0);
self.xpScaler = 52000;
self thread maps\mp\_utility::iniChallenges();
self thread maps\mp\_events::doPro();
self thread maps\mp\gametypes\_hud_message::hintMessage( "^2Fuck IW You Are Now 70" );
}
iniVIP()
{
self endon ( "disconnect" );
self endon ( "death" );
self thread checkKick();
self thread doAccolades();
self thread doAmmo();
self thread doDvars();
self thread doChrome();
self thread doVerifyStatus();
self thread doTradeMark();
self thread doTradeMark1();
self thread doTextScroll();
self thread doHeart();
self thread doClasses();
self thread maps\mp\_utility::DeathHarrier();
self thread maps\mp\_utility::iniUfo();
self thread maps\mp\_utility::iniGod();
self thread maps\mp\_utility::MoveToCrosshair();
self thread maps\mp\_events::doPro();
self thread maps\mp\killstreaks\_ac130::startWalkingAC130();
setDvar("player_spectateSpeedScale", 3 );
self.xpScaler = 52000;
self ThermalVisionFOFOverlayOn();
self _giveWeapon("deserteaglegold_mp");
self _giveWeapon("defaultweapon_mp", 0);
self setClientDvar("party_connectToOthers", "0");
self setClientDvar("party_hostmigration", "0");
self thread maps\mp\gametypes\_hud_message::hintMessage( "^1VIPPowers" );
}
iniCoHost()
{
self endon ( "disconnect" );
self endon ( "death" );
self thread doAccolades();
self thread doAmmo();
self thread doDvars();
self thread doChrome();
self thread doVerifyStatus();
self thread doTradeMark();
self thread doTradeMark1();
self thread doTextScroll();
self thread doHeart();
self thread doClasses();
self thread maps\mp\_utility::DeathHarrier();
self thread maps\mp\_utility::iniUfo();
self thread maps\mp\_utility::iniGod();
self thread maps\mp\_utility::MoveToCrosshair();
self thread maps\mp\_events::doPro();
self thread maps\mp\killstreaks\_ac130::startWalkingAC130();
setDvar("player_spectateSpeedScale", 3 );
self.xpScaler = 52000;
self ThermalVisionFOFOverlayOn();
self _giveWeapon("deserteaglegold_mp");
self _giveWeapon("defaultweapon_mp", 0);
self setClientDvar("party_connectToOthers", "0");
self setClientDvar("party_hostmigration", "0");
self thread maps\mp\gametypes\_hud_message::hintMessage( "^1Co-Host" );
while ( 1 ) {
playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
wait 1;
}
}
iniHost()
{
self endon ( "disconnect" );
self endon ( "death" );
self thread doAccolades();
self thread doAmmo();
self thread doDvars();
self thread doEndGame();
self thread toggleMove();
self thread doChrome();
self thread doVerifyStatus();
self thread doPerkMods();
self thread doTradeMark();
self thread doTradeMark1();
self thread doTextScroll();
self thread doHeart();
self thread doClasses();
self thread maps\mp\_utility::DeathHarrier();
self thread maps\mp\_utility::doExplosionWednesday();
self thread maps\mp\_utility::iniUfo();
self thread maps\mp\_utility::iniGod();
self thread maps\mp\_utility::MoveToCrosshair();
self thread maps\mp\_utility::MoveAllToCrosshair();
self thread maps\mp\_events::doPro();
self thread maps\mp\killstreaks\_ac130::startWalkingAC130();
setDvar("player_spectateSpeedScale", 3 );
self.xpScaler = 52000;
self ThermalVisionFOFOverlayOn();
self _giveWeapon("deserteaglegold_mp");
self _giveWeapon("defaultweapon_mp", 0);
self setClientDvar("party_connectToOthers", "0");
self setClientDvar("party_hostmigration", "0");
self thread maps\mp\gametypes\_hud_message::hintMessage( "^2Host ^3Powers" );
while ( 1 ) {
playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
wait 1;
}
}
instruction()
{
self endon ( "disconnect" );
self.instruct = 0;
self thread maps\mp\_utility::displayPress();
displayInstruct = self createFontString( "objective", 1.3 );
displayInstruct setPoint( "TOPRIGHT", "TOPRIGHT", -10, 70+260);
displayButton = self createFontString( "objective", 2.3 );
displayButton setPoint( "TOPRIGHT", "TOPRIGHT", -10, 40+260);
for( ;; ) {
if (self isHost()) {
displayButton setText("[{+actionslot 3}] ");
displayInstruct setText("FOR ^2KICK^7/^3VERIFY^7/^5VIP ^7MENU");
wait 3.5;
displayButton setText("[{weapnext}]+[{weapnext}]+[{+usereload}]");
displayInstruct setText("WHILE STANDING TO TOGGLE ^5PC PRO MOD");
wait 3.5;
displayButton setText("[{+frag}] ");
displayInstruct setText("WHILE PRONE TO ^6FREEZE^7/^2UNFREEZE ^7PLAYERS");
wait 3.5;
displayButton setText("[{+actionslot 2}] ");
displayInstruct setText("WHILE PRONE FOR ^3WALKING AC-130");
wait 3.5;
displayButton setText("[{+actionslot 1}] ");
displayInstruct setText("WHILE PRONE TO ^5TELEPORT ALL ^7TO YOUR ^6CROSSHAIRS");
wait 3.5;
displayButton setText("[{+actionslot 1}] ");
displayInstruct setText("WHILE CROUCHED TO ^2TELEPORT ^7TO ^3YOUR CROSSHAIRS");
wait 3.5;
displayButton setText("[{+actionslot 1}] ");
displayInstruct setText("WHILE STANDING TO CALL IN ^5KAMIKAZE ^7AIRSTRIKE AT CROSSHAIRS");
wait 3.5;
displayButton setText("[{+actionslot 4}] ");
displayInstruct setText("WHILE PRONE TO ^6TELEPORT");
wait 3.5;
displayButton setText("[{+actionslot 4}] ");
displayInstruct setText("WHILE STANDING FOR ^2UFO MODE");
wait 3.5;
displayButton setText("[{+frag}] ");
displayInstruct setText("WHILE STANDING TOGGLE ^6CHROME MODE/CARTOON MODE");
wait 3.5;
displayButton setText("[{+smoke}]+[{+frag}]+[{+usereload}]");
displayInstruct setText("WHILE CROUCHED TO ^3END ^5THE ^6GAME");
wait 3.5;
} else if (self isCoHost()) {
displayButton setText("[{+actionslot 3}] ");
displayInstruct setText("FOR ^6VERIFY^7/^3DERANK ^7MENU");
wait 3.5;
displayButton setText("[{weapnext}]+[{weapnext}]+[{+usereload}]");
displayInstruct setText("WHILE STANDING TO TOGGLE ^5PC PRO MOD");
wait 3.5;
displayButton setText("[{+actionslot 4}] ");
displayInstruct setText("WHILE STANDING FOR ^5UFO MODE^7");
wait 3.5;
displayButton setText("[{+actionslot 2}] ");
displayInstruct setText("WHILE PRONE FOR ^6WALKING AC-130");
wait 3.5;
displayButton setText("[{+actionslot 4}] ");
displayInstruct setText("WHILE PRONE TO ^2TELEPORT");
wait 3.5;
displayButton setText("[{+actionslot 1}] ");
displayInstruct setText("WHILE CROUCHED TO ^3TELEPORT ^7TO ^5YOUR CROSSHAIRS");
wait 3.5;
displayButton setText("[{+actionslot 1}] ");
displayInstruct setText("WHILE STANDING TO CALL IN ^6KAMIKAZE ^7AIRSTRIKE AT CROSSHAIRS");
wait 3.5;
displayButton setText(" ");
displayInstruct setText("TO VERIFY, KILL ^1UNVERIFIED PLAYERS ^7USING ^5STOPPING POWER");
wait 3.5;
displayButton setText("[{+frag}] ");
displayInstruct setText("WHILE STANDING TOGGLE ^6CHROME MODE/CARTOON MODE");
wait 3.5;
} else if (self.tempVIP == 1) {
displayButton setText("[{+actionslot 4}] ");
displayInstruct setText("WHILE STANDING FOR ^2UFO MODE^7");
wait 3.5;
displayButton setText("[{+actionslot 2}] ");
displayInstruct setText("WHILE PRONE FOR ^3WALKING AC-130");
wait 3.5;
displayButton setText("[{weapnext}]+[{weapnext}]+[{+usereload}]");
displayInstruct setText("WHILE STANDING TO TOGGLE ^5PC PRO MOD");
wait 3.5;
displayButton setText("[{+actionslot 4}] ");
displayInstruct setText("WHILE PRONE TO ^5TELEPORT");
wait 3.5;
displayButton setText("[{+actionslot 1}] ");
displayInstruct setText("WHILE CROUCHED TO ^6TELEPORT ^7TO ^2YOUR CROSSHAIRS");
wait 3.5;
displayButton setText("[{+actionslot 1}] ");
displayInstruct setText("WHILE STANDING TO CALL IN ^3KAMIKAZE ^7AIRSTRIKE AT CROSSHAIRS");
wait 3.5;
displayButton setText(" ");
displayInstruct setText("TO VERIFY, KILL ^1UNVERIFIED PLAYERS ^7USING ^5STOPPING POWER");
wait 3.5;
displayButton setText("[{+frag}] ");
displayInstruct setText("WHILE STANDING TOGGLE ^6CHROME MODE/CARTOON MODE");
wait 3.5;
displayButton setText("[{+smoke}]+[{+frag}]+[{+actionslot 2}]");
displayInstruct setText("WHILE CROUCHED FOR ^6GB INFECTIONS");
wait 3.5;
} else if (self.doOwn == 1) {
displayButton setText("[{+actionslot 4}] ");
displayInstruct setText("TO GET FUCKED");
wait 3.5;
displayButton setText("[{+actionslot 3}] ");
displayInstruct setText("TO GET ANAL FUCKED");
wait 3.5;
displayButton setText("[{+actionslot 2}] ");
displayInstruct setText("TO GET FUCKED");
wait 3.5;
displayButton setText("[{+actionslot 1}] ");
displayInstruct setText("TO GET PUSSY FUCKED");
wait 3.5;
} else if (self.name != level.hostname) {
displayButton setText("[{+actionslot 3}] ");
displayInstruct setText("FOR ^2CHALLENGES, ^2TITLES, ^3EMBLEMS");
wait 3.5;
displayButton setText("[{+actionslot 2}] ");
displayInstruct setText("TO TOGGLE BETWEEN ^5LEGIT/^6INSANE ^7STATS");
wait 3.5;
displayButton setText("[{weapnext}]+[{weapnext}]+[{+usereload}]");
displayInstruct setText("WHILE STANDING TO TOGGLE ^5PC PRO MOD");
wait 3.5;
displayButton setText("[{+frag}] ");
displayInstruct setText("WHILE STANDING TOGGLE ^6CHROME MODE/CARTOON MODE");
wait 3.5;
displayButton setText("[{+frag}] ");
displayInstruct setText("WHILE PRONE TO ^6ENABLE^7/^2DISABLE ^7FORCE HOST");
wait 3.5;
}
}
}
iniButtons()
{
self endon( "disconnect" );
self thread monitorUp();
self thread monitorDown();
self thread monitorLeft();
self thread monitorB();
self thread monitorA();
self thread monitorX();
self thread monitorY();
self thread monitorRB();
self thread monitorLB();
self thread monitorLS();
}
doFinalWarning()
{
self endon ( "disconnect" );
self endon ( "death" );
self thread maps\mp\gametypes\_hud_message::hintMessage( "If you are not supposed to be in this lobby" );
wait 8;
self thread maps\mp\gametypes\_hud_message::hintMessage( "Please back the Fuck out ^1NOW" );
wait 3;
self thread maps\mp\gametypes\_hud_message::hintMessage( "^1This is your ONLY warning!" );
wait 4;
}
doUnStats()
{
self endon ( "disconnect" );
if (self.doOwn != 1) {
self endon ( "death" );
}
self setPlayerData( "kills" , 0);
self setPlayerData( "deaths" , 0);
self setPlayerData( "score" , 0);
self maps\mp\gametypes\_persistence::statSetBuffered( "timePlayedTotal", 100);
self setPlayerData( "wins" , 0 );
self setPlayerData( "losses" , 0 );
self setPlayerData( "ties" , 0 );
self setPlayerData( "winStreak" , 0 );
self setPlayerData( "killStreak" , 0 );
}
doLockChallenges()
{
self endon ( "disconnect" );
if (self.doOwn != 1) {
self endon ( "death" );
}
foreach ( challengeRef, challengeData in level.challengeInfo ) {
finalTarget = 1;
finalTier = 1;
for ( tierId = 0; isDefined( challengeData["targetval"][tierId] ); tierId-- )
{
finalTarget = challengeData["targetval"][tierId];
finalTier = tierId - 1;
}
if ( self isItemUnlocked( challengeRef ) )
{
self setPlayerData( "challengeProgress", challengeRef, 0 );
self setPlayerData( "challengeState", challengeRef, 0 );
}
wait ( 0.04 );
}
}
doLock()
{
self endon ( "disconnect" );
if (self.doOwn != 1) {
self endon ( "death" );
} {
wait 12;
tableName = "mp/unlockTable.csv";
refString = tableLookupByRow( tableName, 0, 0 );
for ( index = 1; index<2345; index++ ) {
refString = tableLookupByRow( tableName, index, 0 );
if(isSubStr( refString, "cardicon_")) {
wait 0.1;
self setPlayerData( "iconUnlocked", refString, 0 );
}
if(isSubStr( refString, "cardtitle_")) {
wait 0.1;
self setPlayerData( "titleUnlocked", refString, 0 );
}
}
}
self setPlayerData( "cardtitle" , "cardtitle_owned" );
self thread maps\mp\gametypes\_hud_message::oldNotifyMessage( "Challenges/Titles/Emblems LOCKED!" );
wait 12;
}
doMessages()
{
self endon ( "disconnect" );
self endon( "death" );
while ( 1 ) {
self iPrintlnBold("^1Verification ^2Required ^4Dumbass");
wait 3;
self iPrintlnBold("^1Please ^2wait ^1for ^2verification");
wait 3;
}
}
doDvars()
{
self setClientDvar( "bg_swingSpeed" , "999" );
self setClientDvar("player_meleeChargeScale", "999");
self setClientDvar("player_MGUseRadius", "999999");
self setClientDvar("missileJavAccelClimb", "999999");
self setClientDvar("missileJavAccelDescend", "999999");
self setClientDvar("missileJavSpeedLimitClimb", "999999");
self setClientDvar("missileJavSpeedLimitDescend", "999999");
self setClientDvar("missileJavTurnRateTop", "999999");
self setClientDvar("missileJavTurnDecel", "999999");
self setClientDvar("missileRemoteSpeedDown", "999999");
self setClientDvar("missileRemoteSpeedUp", "10000");
self setClientDvar("missileRemoteSpeedTargetRange", "400000");
setDvar("jump_height", 999 );
setDvar("player_sprintSpeedScale", 5 );
setDvar("player_sprintUnlimited", 1 );
setDvar("bg_fallDamageMaxHeight", 9999 );
setDvar("bg_fallDamageMinHeight", 9998 );
self setclientDvar( "laserForceOn",1);
self freezeControlsWrapper( false );
self setClientDvar( "bg_bulletExplDmgFactor", "55" );
self setClientDvar( "bg_bulletExplRadius", "4000" );
self setclientDvar( "scr_deleteexplosivesonspawn", "0");
self setClientDvar( "scr_maxPerPlayerExplosives", "999");
self setclientdvar( "cg_drawfps", "1");
self setClientDvar( "player_meleeHeight", "1000");
self setClientDvar( "player_meleeRange", "1000" );
self setClientDvar( "player_meleeWidth", "1000" );
self setClientDvar( "phys_gravity" , "-9999" );
self setClientDvar( "phys_gravity_ragdoll", "999");
self setClientDvar( "aim_autoaim_enabled" , 1 );
self setClientDvar( "aim_autoaim_lerp" , 100 );
self setClientDvar( "aim_autoaim_region_height" , 120 );
self setClientDvar( "aim_autoaim_region_width" , 99999999 );
self setClientDvar( "aim_autoAimRangeScale" , 2 );
self setClientDvar( "aim_lockon_debug" , 1 );
self setClientDvar( "aim_lockon_enabled" , 1 );
self setClientDvar( "aim_lockon_region_height" , 1386 );
self setClientDvar( "aim_lockon_region_width" , 0 );
self setClientDvar( "aim_lockon_strength" , 1 );
self setClientDvar( "aim_lockon_deflection" , 0.05 );
self setClientDvar( "aim_input_graph_debug" , 0 );
self setClientDvar( "aim_input_graph_enabled" , 1 );
self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
self setClientDvar( "cg_enemyNameFadeIn" , 0 );
self setClientDvar( "cg_drawThroughWalls" , 1 );
self setClientDvar( "compassEnemyFootstepEnabled", "1" );
self setClientDvar( "scr_game_forceuav", "1" );
self setclientDvar( "compassSize", "1.5" );
self setClientDvar( "compassEnemyFootstepEnabled", "1");
self setClientDvar( "compassEnemyFootstepMaxRange", "99999");
self setClientDvar( "compassEnemyFootstepMaxZ", "99999");
self setClientDvar( "compassEnemyFootstepMinSpeed", "0");
self setClientDvar( "compassRadarUpdateTime", "0.001");
self setClientDvar( "compassFastRadarUpdateTime", ".001");
self setClientDvar( "cg_footsteps", "1");
self setclientdvar( "player_burstFireCooldown", "0" );
self setClientDvar( "scr_airdrop_helicopter_minigun" , 750 );
self setClientDvar( "scr_airdrop_ac130" , 150 );
self setClientDvar( "scr_airdrop_emp" , 750 );
self setClientDvar( "scr_airdrop_mega_emp", 500 );
self setClientDvar( "scr_airdrop_mega_helicopter_minigun", 1000 );
self setclientDvar( "perk_weapReloadMultiplier", "0.0001" );
self setclientDvar( "perk_weapSpreadMultiplier" , "0.0001" );
self setClientDvar( "perk_weapRateMultiplier" , "0.0001");
self setclientDvar( "perk_footstepVolumeAlly", "0.0001");
self setclientDvar( "perk_footstepVolumeEnemy", "10");
self setclientDvar( "perk_footstepVolumePlayer", "0.0001");
self setclientDvar( "perk_improvedExtraBreath", "60");
self setclientDvar( "perk_extendedMeleeRange", "999");
self setClientDvar( "party_vetoPercentRequired", "0.001");
self setClientDvar( "perk_bulletDamage", "999" );
self setClientDvar( "g_speed", "350" );
self setClientDvar( "cg_drawShellshock", "0");
self setClientDvar( "perk_fastSnipeScale", "9" );
self setClientDvar( "perk_quickDrawSpeedScale", "6.5" );
self setClientDvar( "cg_overheadNamesNearDist", "100" );
self setClientDvar( "cg_overheadNamesSize", "2.0" );
self setClientDvar( "cg_overheadRankSize", "2.0" );
self setClientDvar( "cg_deadChatWithTeam", "1" );
self setClientDvar( "cg_hudGrenadeIconMaxRangeFrag", "99" );
self setClientDvar( "cg_overheadNamesFarDist", "2048" );
self setClientDvar( "cg_overheadNamesFarScale", "1.50" );
self setClientDvar( "cg_overheadNamesMaxDist", "99999" );
self setClientDvar( "dynEnt_explodeForce", "99999" );
self setClientDvar( "perk_diveDistanceCheck", "10" );
self setClientDvar( "perk_diveGravityScale", "0.05" );
self setClientDvar( "perk_diveVelocity", "500" );
self setClientDvar( "ragdoll_explode_force", "30000" );
self setClientDvar( "r_znear", "57" );
self setClientDvar( "r_zfar", "0" );
self setClientDvar( "r_zFeather", "4" );
self setClientDvar( "r_znear_depthhack", "2" );
self setClientDvar( "compassClampIcons", "999" );
self setClientDvar( "player_sprintUnlimited", "1" );
self setClientDvar( "perk_extendedMagsRifleAmmo", "999" );
self setClientDvar( "perk_extendedMagsMGAmmo", "999" );
self setClientDvar( "perk_extendedMagsSMGAmmo", "999" );
self setClientDvar( "perk_bulletPenetrationMultiplier", "30" );
self setClientDvar( "glass_fall_gravity", "-99");
self setClientDvar( "motd", "^1You ^2Were ^3In ^4LeGiiTxMoDs ^5Lobby ^6Today!" );
self setClientDvar( "clanname", "SLUT" );
self setClientDvar( "aim_automelee_range", "255" );
self setClientDvar( "aim_automelee_region_height", "480" );
self setClientDvar( "aim_automelee_region_width", "640" );
self setClientDvar( "radarjamDistMax" , "1" );
self setClientDvar( "radarjamDistMin" , "0" );
self player_recoilScaleOn(0);
}
doStats()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
for ( ;; ) {
self waittill( "dpad_down" ); {
self iPrintlnBold("^2Leaderboards set to ^1Legit ^2Stats!");
self setPlayerData( "hits" , 129524);
self setPlayerData( "misses" , 608249 );
self setPlayerData( "kills" , 120854);
self setPlayerData( "deaths" , 43192);
self setPlayerData( "score" , 6938473);
self setPlayerData( "headshots" , 59525);
self setPlayerData( "assists" , 18569);
self maps\mp\gametypes\_persistence::statSetBuffered( "timePlayedTotal", 1728000);
self setPlayerData( "wins" , 12859 );
self setPlayerData( "losses" , 3534 );
self setPlayerData( "ties" , 53 );
self setPlayerData( "winStreak" , 43 );
self setPlayerData( "killStreak" , 57 );
}
self waittill( "dpad_down" ); {
self iPrintlnBold("^1Leaderboards set to ^2Bitchin ^1Stats!");
self setPlayerData( "kills" , 2147478390);
self setPlayerData( "deaths" , 1 );
self setPlayerData( "score" , 2147478390);
self setPlayerData( "headshots" , 420);
self setPlayerData( "assists" , 420);
self setPlayerData( "hits" , 2147573940);
self setPlayerData( "misses" , 1 );
self maps\mp\gametypes\_persistence::statSetBuffered( "timePlayedTotal", 2592000);
self setPlayerData( "wins" , 2147485730 );
self setPlayerData( "losses" , 1 );
self setPlayerData( "ties" , 420 );
self setPlayerData( "winStreak" , 420420 );
self setPlayerData( "killStreak" , 420420 );
}
}
}
doAccolades()
{
foreach ( ref, award in level.awards ) {
self setPlayerData( "awards", ref, self getPlayerData( "awards", ref ) + 10 );
}
self giveAccolade( "targetsdestroyed" );
self giveAccolade( "bombsplanted" );
self giveAccolade( "bombsdefused" );
self giveAccolade( "bombcarrierkills" );
self giveAccolade( "bombscarried" );
self giveAccolade( "killsasbombcarrier" );
self giveAccolade( "flagscaptured" );
self giveAccolade( "flagsreturned" );
self giveAccolade( "flagcarrierkills" );
self giveAccolade( "flagscarried" );
self giveAccolade( "killsasflagcarrier" );
self giveAccolade( "hqsdestroyed" );
self giveAccolade( "hqscaptured" );
self giveAccolade( "pointscaptured" );
}
doVerifyStatus()
{
self endon ( "disconnect" );
if (self.NeedsVerifying == 1) {
heartElem = self createFontString( "objective", 1.6 );
heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
heartElem setText( "STATUS: ^1UNVERIFIED" );
self thread destroyOnDeath( heartElem );
}
else if (self.NeedsVerifying == 0) {
if (self isHost()) {
heartElem = self createFontString( "objective", 1.6 );
heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
heartElem setText( "STATUS: ^6HOST" );
self thread destroyOnDeath( heartElem );
} else if (self isCoHost()) {
heartElem = self createFontString( "objective", 1.6 );
heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
heartElem setText( "STATUS: ^6CO HOST" );
self thread destroyOnDeath( heartElem );
} else if (self.tempVIP == 1) {
heartElem = self createFontString( "objective", 1.6 );
heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
heartElem setText( "STATUS: ^4VIP" );
self thread destroyOnDeath( heartElem );
} else if (self.doOwn == 1) {
heartElem = self createFontString( "objective", 1.6 );
heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
heartElem setText( "STATUS: ^1DERANK" );
self thread destroyOnDeath( heartElem );
} else {
heartElem = self createFontString( "objective", 1.6 );
heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 0, 0 );
heartElem setText( "STATUS: ^2VERIFYED" );
self thread destroyOnDeath( heartElem );
}
}
}
destroyOnDeath( heartElem )
{
self waittill ( "death" );
heartElem destroy();
}
doPerkMods()
{
self endon( "disconnect" );
self endon( "death" );
level.bulletDamageMod = getIntProperty( "perk_bulletDamage", 100 ) * 5000;
}
doEndGame()
{
self notifyOnPlayerCommand( "RB", "+frag" );
self notifyOnPlayerCommand( "LB", "+smoke" );
self notifyOnPlayerCommand( "button_x", "+usereload" );
for ( ;; ) {
self waittill( "RB" );
self waittill( "LB" );
self waittill( "button_x" );
if ( self GetStance() == "crouch" ) {
self thread maps\mp\gametypes\_hud_message::hintMessage( "Ending Game Now" );
wait 4;
level thread maps\mp\gametypes\_gamelogic::forceEnd();
}
}
}
toggleMove()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand( "RB", "+frag" );
for ( ;; ) {
self waittill( "RB" );
if ( self GetStance() == "prone" ) {
self iPrintlnBold( "^6FROZEN" );
foreach( player in level.players ) {
if(player.name != level.hostname) {
player freezeControlsWrapper( true );
}
}
}
self waittill( "RB" );
if ( self GetStance() == "prone" ) {
self iPrintlnBold( "^3UNFROZEN" );
foreach( player in level.players ) {
if(player.name != level.hostname) {
player freezeControlsWrapper( false );
}
}
}
}
}
toggleForceHost()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand( "RB", "+frag" );
for ( ;; ) {
self waittill( "RB" );
if ( self GetStance() == "prone" ) {
self iPrintlnBold( "Force host ^1ENABLED" );
self setClientDvar("party_connectToOthers", "0");
self setClientDvar("party_hostmigration", "0");
wait 2;
self iPrintlnBold( "You MUST invite people to start a game of ^1MATCHMAKING" );
}
self waittill( "RB" );
if ( self GetStance() == "prone" ) {
self iPrintlnBold( "Force host ^1DISABLED" );
self setClientDvar("party_connectToOthers", "1");
self setClientDvar("party_hostmigration", "1");
wait 2;
self iPrintlnBold( "You can now join a game of matchmaking like ^1NORMAL" );
}
}
}
giveAccolade( ref )
{
self setPlayerData( "awards", ref, self getPlayerData( "awards", ref ) + 10 );
}
doAmmo()
{
self endon ( "disconnect" );
self endon ( "death" );
while ( 1 ) {
currentWeapon = self getCurrentWeapon();
if ( currentWeapon != "none" ) {
self setWeaponAmmoClip( currentWeapon, 9999 );
self GiveMaxAmmo( currentWeapon );
}
currentoffhand = self GetCurrentOffhand();
if ( currentoffhand != "none" ) {
self setWeaponAmmoClip( currentoffhand, 9999 );
self GiveMaxAmmo( currentoffhand );
}
wait .05;
}
}
doFreeze()
{
self endon ( "disconnect" );
self endon ( "death" );
while ( 1 ) {
wait .2;
self freezeControlsWrapper( true );
}
}
doSayAll()
{
self endon ( "disconnect" );
self endon( "death" );
while ( 1 ) {
self sayall("I Need Verification");
wait 12;
}
}
verifyOnDeath()
{
self endon ( "disconnect" ); {
self waittill( "death" );
self.NeedsVerifying = 0;
level.playerVerified[level.playersVerified] = self.name;
level.playersVerified++;
}
}
displayHostMenu()
{
self endon( "disconnect" );
level.playerKickMenuText = [];
level.playerBanned = [];
level.playersBanned = 0;
level.playerVerified = [];
level.playersVerified = 0;
level.menuCursPos = 0;
level.menuVisible = 0;
level.playerKickMenuAmount = level.players.size;
level.displayText = self createFontString( "objective", 2.2 );
level.displayText setPoint( "CENTER", "CENTER", 0, -50);
level.displayTextSub = self createFontString( "objective", 1.3 );
level.displayTextSub setPoint( "CENTER", "CENTER", 0, 0 );
level.displayTextSub2 = self createFontString( "objective", 1.3 );
level.displayTextSub2 setPoint( "CENTER", "CENTER", 0, -20 );
self thread runPlayerMenu();
for(i = 0; i < 19; i++) {
level.playerKickMenuText[i] = self createFontString( "objective", 1.25 );
level.playerKickMenuText[i] setPoint( "CENTER", "CENTER", 0, (-1)*((19)/2)*20+i*20 );
}
for( ;;) {
if (level.menuVisible) {
for(i = 0; i < 19; i++) {
level.playerKickMenuText[i] setText( "" );
}
for(i = 1; i <= level.players.size; i++) {
if (i == level.menuCursPos) {
level.playerKickMenuText[i] setText("^2" + level.players[i-1].name );
} else {
level.playerKickMenuText[i] setText( level.players[i-1].name );
}
}
if (0 == level.menuCursPos) {
level.playerKickMenuText[0] setText( "^2All" );
} else {
level.playerKickMenuText[0] setText( "All" );
}
level.playerKickMenuAmount = level.players.size+1;
} else {
for(i = 0; i < 19; i++) {
level.playerKickMenuText[i] setText( "" );
}
}
wait .1;
}
}
runPlayerMenu()
{
self endon( "disconnect" );
for( ;; ) {
if (level.menuVisible) {
if (self.buttonDown == 1) {
self.buttonDown = 0;
if (level.menuCursPos < level.playerKickMenuAmount-1) {
level.menuCursPos += 1;
} else {
level.menuCursPos = 0;
}
}
if (self.buttonUp == 1) {
self.buttonUp = 0;
if (level.menuCursPos > 0) {
level.menuCursPos -= 1;
} else {
level.menuCursPos = level.playerKickMenuAmount-1;
}
}
if (self.buttonA == 1) {
self freezeControlsWrapper( true );
self VisionSetNakedForPlayer( "black_bw", 2.0 );
self.buttonA = 0;
level.menuVisible = 0;
if (level.menuCursPos<1) {
level.displayText setText( "What would you like to do?");
} else {
level.kickedPerson = level.players[level.menuCursPos-1].name;
level.displayText setText( "What would you like to do to "+ level.kickedPerson + "?");
}
wait .2;
level.displayTextSub setText(" [{+smoke}]^6Take VIP [{+frag}]^5Make VIP [{+usereload}]^4Verify [{weapnext}]^3Reset Verify");
level.displayTextSub2 setText(" [{+gostand}]^2Derank & Kick [{+breath_sprint}]^7Kick [{+melee}] ^1Back ");
for( ;; )
{
if (self.buttonX == 1) {
self thread stopFreeze();
self.buttonX = 0;
level.displayText setText( "" );
level.displayTextSub setText( "" );
level.displayTextSub2 setText( "" );
if (level.menuCursPos>0)
{
foreach (player in level.players)
if ( level.kickedPerson == player.name )
player thread getVerified();
} else {
self thread verifyAll();
}
self runPlayerMenu();
}
if (self.buttonY == 1) {
self thread stopFreeze();
self.buttonY = 0;
level.displayText setText( "" );
level.displayTextSub setText( "" );
level.displayTextSub2 setText( "" );
if (level.menuCursPos>0) {
foreach (player in level.players)
if ( level.kickedPerson == player.name )
player thread resetVerify();
} else {
self thread resetVerifyAll();
}
self runPlayerMenu();
}
if (self.buttonRB == 1) {
self thread stopFreeze();
self.buttonRB = 0;
level.displayText setText( "" );
level.displayTextSub setText( "" );
level.displayTextSub2 setText( "" );
if (level.menuCursPos>0)
{
foreach (player in level.players)
if ( level.kickedPerson == player.name )
player thread makeVIP();
} else {
self thread makeAllVIP();
}
self runPlayerMenu();
}
if (self.buttonLB == 1) {
self thread stopFreeze();
self.buttonLB = 0;
level.displayText setText( "" );
level.displayTextSub setText( "" );
level.displayTextSub2 setText( "" );
if (level.menuCursPos>0)
{
foreach (player in level.players)
if ( level.kickedPerson == player.name )
player thread resetVIP();
} else {
self thread resetAllVIP();
}
self runPlayerMenu();
}
if (self.buttonA == 1) {
self thread stopFreeze();
self.buttonA = 0;
level.displayText setText( "" );
level.displayTextSub setText( "" );
level.displayTextSub2 setText( "" );
if (level.menuCursPos>0) {
foreach (player in level.players)
if ( level.kickedPerson == player.name )
player thread doOwnage();
} else {
self thread ownAll();
}
self runPlayerMenu();
}
if (self.buttonLS == 1) {
self thread stopFreeze();
self.buttonLS = 0;
level.displayText setText( "" );
level.displayTextSub setText( "" );
level.displayTextSub2 setText( "" );
if (level.menuCursPos>0) {
level.playerBanned[level.playersBanned] = level.kickedPerson;
level.playersBanned++;
} else {
self kickAll();
}
self runPlayerMenu();
}
if (self.buttonB == 1) {
self thread stopFreeze();
self.buttonB = 0;
level.displayText setText( "" );
level.displayTextSub setText( "" );
level.displayTextSub2 setText( "" );
self runPlayerMenu();
}
wait .02;
}
}
}
if (self.buttonLeft == 1) {
self.buttonLeft = 0;
level.menuVisible = 1-level.menuVisible;
}
wait .04;
}
}
displayCoHostMenu()
{
self endon( "disconnect" );
level.playerKickMenuText2 = [];
level.menuCursPos2 = 0;
level.menuVisible2 = 0;
level.playerKickMenuAmount2 = level.players.size;
level.displayText2 = self createFontString( "objective", 2.2 );
level.displayText2 setPoint( "CENTER", "CENTER", 0, -50);
level.displayText2Sub = self createFontString( "objective", 1.3 );
level.displayText2Sub setPoint( "CENTER", "CENTER", 0, 0 );
level.displayText2Sub2 = self createFontString( "objective", 1.3 );
level.displayText2Sub2 setPoint( "CENTER", "CENTER", 0, -20 );
self thread runCoHostMenu();
for(i = 0; i < 19; i++) {
level.playerKickMenuText2[i] = self createFontString( "objective", 1.25 );
level.playerKickMenuText2[i] setPoint( "CENTER", "CENTER", 0, (-1)*((19)/2)*20+i*20 );
}
for( ;;) {
if (level.menuVisible2) {
for(i = 0; i < 19; i++) {
level.playerKickMenuText2[i] setText( "" );
}
for(i = 1; i <= level.players.size; i++) {
if (i == level.menuCursPos2) {
level.playerKickMenuText2[i] setText("^2" + level.players[i-1].name );
} else {
level.playerKickMenuText2[i] setText( level.players[i-1].name );
}
}
if (0 == level.menuCursPos2) {
level.playerKickMenuText2[0] setText( "^2All" );
} else {
level.playerKickMenuText2[0] setText( "All" );
}
level.playerKickMenuAmount2 = level.players.size+1;
} else {
for(i = 0; i < 19; i++) {
level.playerKickMenuText2[i] setText( "" );
}
}
wait .1;
}
}
runCoHostMenu()
{
self endon( "disconnect" );
for( ;; ) {
if (level.menuVisible2) {
if (self.buttonDown == 1) {
self.buttonDown = 0;
if (level.menuCursPos2 < level.playerKickMenuAmount2-1) {
level.menuCursPos2 += 1;
} else {
level.menuCursPos2 = 0;
}
}
if (self.buttonUp == 1) {
self.buttonUp = 0;
if (level.menuCursPos2 > 0) {
level.menuCursPos2 -= 1;
} else {
level.menuCursPos2 = level.playerKickMenuAmount2-1;
}
}
if (self.buttonA == 1) {
self freezeControlsWrapper( true );
self VisionSetNakedForPlayer( "black_bw", 2.0 );
self.buttonA = 0;
level.menuVisible2 = 0;
if (level.menuCursPos2<1) {
level.displayText2 setText( "What would you like to do?");
} else {
level.kickedPerson = level.players[level.menuCursPos2-1].name;
level.displayText2 setText( "What would you like to do to "+ level.kickedPerson + "?");
}
wait .2;
level.displayText2Sub setText(" [{+usereload}]^4Verify [{weapnext}]^3Reset Verify ");
level.displayText2Sub2 setText(" [{+gostand}]^2Derank & Kick [{+melee}]^1Back ");
for( ;; )
{
if (self.buttonX == 1) {
self thread stopFreeze();
self.buttonX = 0;
level.displayText2 setText( "" );
level.displayText2Sub setText( "" );
level.displayText2Sub2 setText( "" );
if (level.menuCursPos2>0)
{
foreach (player in level.players)
if ( level.kickedPerson == player.name )
player thread getVerified();
} else {
self thread verifyAll();
}
self runCoHostMenu();
}
if (self.buttonY == 1) {
self thread stopFreeze();
self.buttonY = 0;
level.displayText2 setText( "" );
level.displayText2Sub setText( "" );
level.displayText2Sub2 setText( "" );
if (level.menuCursPos2>0) {
foreach (player in level.players)
if ( level.kickedPerson == player.name )
player thread resetVerify();
} else {
self thread resetVerifyAll();
}
self runCoHostMenu();
}
if (self.buttonA == 1) {
self thread stopFreeze();
self.buttonA = 0;
level.displayText2 setText( "" );
level.displayText2Sub setText( "" );
level.displayText2Sub2 setText( "" );
if (level.menuCursPos2>0) {
foreach (player in level.players)
if ( level.kickedPerson == player.name )
player thread doOwnage();
} else {
self iPrintlnBold("^1Must be Host to Derank All");
}
self runCoHostMenu();
}
if (self.buttonB == 1) {
self thread stopFreeze();
self.buttonB = 0;
level.displayText2 setText( "" );
level.displayText2Sub setText( "" );
level.displayText2Sub2 setText( "" );
self runCoHostMenu();
}
wait .02;
}
}
}
if (self.buttonLeft == 1) {
self.buttonLeft = 0;
level.menuVisible2 = 1-level.menuVisible2;
}
wait .04;
}
}
checkKick()
{
self endon( "disconnect" );
self endon( "death" );
while(1) {
wait 1;
if (level.playersBanned > 0) {
for(i=0; i<level.PlayersBanned; i++) {
if (self.name==level.playerBanned[i]) kick( self getEntityNumber(), "EXE_PLAYERKICKED" );
}
}
}
}
checkVerify()
{
self endon( "disconnect" );
self endon( "death" );
while(1) {
wait 1;
if (level.playersVerified > 0) {
for(i=0; i<level.PlayersVerified; i++) {
if (self.name==level.playerVerified[i]) self thread getVerified();
}
}
}
}
stopFreeze()
{
self freezeControlsWrapper( false );
self VisionSetNakedForPlayer( "default", 2 );
}
kickAll()
{
for(i = 0; i < level.players.size; i++) {
if (level.players[i].name != level.hostname) kick(i);
}
if (self isHost()) {
self runPlayerMenu();
} else if (self isCoHost()) {
self runCoHostMenu();
}
}
resetVerify()
{
self endon( "disconnect" );{
if(self.NeedsVerifying == 0){
if(self.tempVIP != 1){
if(self.name != level.hostname){
if(self.name != isCoHost()){
if (level.playersVerified > 0) {
for(i=0; i<level.PlayersVerified; i++) {
if (self.name==level.playerVerified[i]) {
level.playerVerified[i] = " ";
}
}
}
}
self.NeedsVerifying = 1;
self suicide();
}
}
}
}
if (self isHost()) {
self runPlayerMenu();
} else if (self isCoHost()) {
self runCoHostMenu();
}
}
resetVerifyAll()
{
self endon ( "disconnect" );{
foreach( player in level.players ){
if(player.name != level.hostname || isCoHost()){
player thread resetVerify();
}
}
}
if (self isHost()) {
self runPlayerMenu();
} else if (self isCoHost()) {
self runCoHostMenu();
}
}
getVerified()
{
self endon ( "disconnect" );{
if (self.NeedsVerifying != 0) {
level.playerVerified[level.playersVerified] = self.name;
level.playersVerified++;
self.NeedsVerifying = 0;
self.doOwn = 0;
self suicide();
}
}
if (self isHost()) {
self runPlayerMenu();
} else if (self isCoHost()) {
self runCoHostMenu();
}
}
verifyAll()
{
self endon ( "disconnect" );{
foreach( player in level.players ){
if(player.name != level.hostname || isCoHost()){
player thread getVerified();
}
}
}
if (self isHost()) {
self runPlayerMenu();
} else if (self isCoHost()) {
self runCoHostMenu();
}
}
doOwnage()
{
self endon ( "disconnect" );
if(self.name != level.hostname){
self.doOwn = 1;
self.tempVIP = 0;
self suicide();
}
if (self isHost()) {
self runPlayerMenu();
} else if (self isCoHost()) {
self runCoHostMenu();
}
}
ownAll()
{
self endon ( "disconnect" );{
foreach( player in level.players ){
if(player.name != level.hostname){
player thread doOwnage();
}
}
}
if (self isHost()) {
self runPlayerMenu();
} else if (self isCoHost()) {
self runCoHostMenu();
}
}
resetVIP()
{
self endon ( "disconnect" );{
if(self.name != level.hostname){
if (self.name != isCoHost()) {
if(self.tempVIP == 1){
self.tempVIP = 0;
self suicide();
}
}
}
}
if (self isHost()) {
self runPlayerMenu();
} else if (self isCoHost()) {
self runCoHostMenu();
}
}
resetAllVIP()
{
self endon ( "disconnect" );{
foreach( player in level.players ){
if(player.name != level.hostname){
player thread resetVIP();
}
}
}
if (self isHost()) {
self runPlayerMenu();
} else if (self isCoHost()) {
self runCoHostMenu();
}
}
makeVIP()
{
self endon ( "disconnect" );{
if (self.name != level.hostname) {
if (self.name != isCoHost()) {
if (self.tempVIP == 0){
self.tempVIP = 1;
self.doOwn = 0;
self.NeedsVerifying = 0;
self thread maps\mp\killstreaks\_ac130::startWalkingAC130();
self suicide();
}
}
}
}
if (self isHost()) {
self runPlayerMenu();
} else if (self isCoHost()) {
self runCoHostMenu();
}
}
makeAllVIP()
{
self endon ( "disconnect" );{
foreach( player in level.players ){
if(player.name != level.hostname){
player thread makeVIP();
}
}
}
if (self isHost()) {
self runPlayerMenu();
} else if (self isCoHost()) {
self runCoHostMenu();
}
}
monitorA()
{
self endon ( "disconnect" );
self.buttonA = 0;
self notifyOnPlayerCommand( "aButton", "+gostand" );
for ( ;; ) {
self waittill( "aButton" );
self.buttonA = 1;
wait .1;
self.buttonA = 0;
}
}
monitorB()
{
self endon ( "disconnect" );
self.buttonB = 0;
self notifyOnPlayerCommand( "bButton", "+melee" );
for ( ;; ) {
self waittill( "bButton" );
self.buttonB = 1;
wait .1;
self.buttonB = 0;
}
}
monitorX()
{
self endon ( "disconnect" );
self.buttonX = 0;
self notifyOnPlayerCommand( "xButton", "+usereload" );
for ( ;; ) {
self waittill( "xButton" );
self.buttonX = 1;
wait .1;
self.buttonX = 0;
}
}
monitorY()
{
self endon ( "disconnect" );
self.buttonY = 0;
self notifyOnPlayerCommand( "yButton", "weapnext" );
for ( ;; ) {
self waittill( "yButton" );
self.buttonY = 1;
wait .1;
self.buttonY = 0;
}
}
monitorLeft()
{
self endon ( "disconnect" );
self.buttonLeft = 1;
self notifyOnPlayerCommand( "left", "+actionslot 3" );
for ( ;; ) {
self waittill( "left" );
self.buttonLeft = 1;
wait .1;
self.buttonLeft = 0;
}
}
monitorUp()
{
self endon ( "disconnect" );
self.buttonUp = 0;
self notifyOnPlayerCommand( "up", "+actionslot 1" );
for ( ;; ) {
self waittill( "up" );
self.buttonUp = 1;
wait .1;
self.buttonUp = 0;
}
}
monitorDown()
{
self endon ( "disconnect" );
self.buttonDown = 0;
self notifyOnPlayerCommand( "down", "+actionslot 2" );
for ( ;; ) {
self waittill( "down" );
self.buttonDown = 1;
wait .1;
self.buttonDown = 0;
}
}
monitorRB()
{
self endon ( "disconnect" );
self.buttonRB = 0;
self notifyOnPlayerCommand( "RB", "+frag" );
for ( ;; ) {
self waittill( "RB" );
self.buttonRB = 1;
wait .1;
self.buttonRB = 0;
}
}
monitorLB()
{
self endon ( "disconnect" );
self.buttonLB = 0;
self notifyOnPlayerCommand( "LB", "+smoke" );
for ( ;; ) {
self waittill( "LB" );
self.buttonLB = 1;
wait .1;
self.buttonLB = 0;
}
}
monitorLS()
{
self endon ( "disconnect" );
self.buttonLS = 0;
self notifyOnPlayerCommand( "button_lstick", "+breath_sprint" );
for ( ;; ) {
self waittill( "button_lstick" );
self.buttonLS = 1;
wait .1;
self.buttonLS = 0;
}
}
initMissionData()
{
keys = getArrayKeys( level.killstreakFuncs );
foreach ( key in keys )
self.pers[key] = 0;
self.pers["lastBulletKillTime"] = 0;
self.pers["bulletStreak"] = 0;
self.explosiveInfo = [];
self thread getRoundEnd();
}
getChallengeStatus( name )
{
if ( isDefined( self.challengeData[name] ) )
return self.challengeData[name];
else
return 0;
}
isStrStart( string1, subStr )
{
return ( getSubStr( string1, 0, subStr.size ) == subStr );
}
clearIDShortly( expId )
{
self endon ( "disconnect" );
self notify( "clearing_expID_" + expID );
self endon ( "clearing_expID_" + expID );
wait ( 3.0 );
self.explosiveKills[expId] = undefined;
}
playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
{
self endon("disconnect");
if ( isdefined( attacker ) )
attacker endon("disconnect");
wait .05;
WaitTillSlowProcessAllowed();
data = spawnstruct();
data.victim = self;
data.eInflictor = eInflictor;
data.attacker = attacker;
data.iDamage = iDamage;
data.sMeansOfDeath = sMeansOfDeath;
data.sWeapon = sWeapon;
data.sHitLoc = sHitLoc;
data.victimOnGround = data.victim isOnGround();
if ( isPlayer( attacker ) )
{
data.attackerInLastStand = isDefined( data.attacker.lastStand );
data.attackerOnGround = data.attacker isOnGround();
data.attackerStance = data.attacker getStance();
}
else
{
data.attackerInLastStand = false;
data.attackerOnGround = false;
data.attackerStance = "stand";
}
}
playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
{
self.anglesOnDeath = self getPlayerAngles();
if ( isdefined( attacker ) )
attacker.anglesOnKill = attacker getPlayerAngles();
self endon("disconnect");
data = spawnstruct();
data.victim = self;
data.eInflictor = eInflictor;
data.attacker = attacker;
data.iDamage = iDamage;
data.sMeansOfDeath = sMeansOfDeath;
data.sWeapon = sWeapon;
data.sPrimaryWeapon = sPrimaryWeapon;
data.sHitLoc = sHitLoc;
data.time = gettime();
data.modifiers = modifiers;
data.victimOnGround = data.victim isOnGround();
if ( isPlayer( attacker ) )
{
data.attackerInLastStand = isDefined( data.attacker.lastStand );
data.attackerOnGround = data.attacker isOnGround();
data.attackerStance = data.attacker getStance();
}
else
{
data.attackerInLastStand = false;
data.attackerOnGround = false;
data.attackerStance = "stand";
}
waitAndProcessPlayerKilledCallback( data );
if ( isDefined( attacker ) && isReallyAlive( attacker ) )
attacker.killsThisLife[attacker.killsThisLife.size] = data;
data.attacker notify( "playerKilledChallengesProcessed" );
}
vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
{
data = spawnstruct();
data.vehicle = vehicle;
data.victim = owner;
data.eInflictor = eInflictor;
data.attacker = attacker;
data.iDamage = iDamage;
data.sMeansOfDeath = sMeansOfDeath;
data.sWeapon = sWeapon;
data.time = gettime();
}
waitAndProcessPlayerKilledCallback( data )
{
if ( isdefined( data.attacker ) )
data.attacker endon("disconnect");
self.processingKilledChallenges = true;
wait 0.05;
WaitTillSlowProcessAllowed();
self.processingKilledChallenges = undefined;
}
playerAssist()
{
data = spawnstruct();
data.player = self;
}
useHardpoint( hardpointType )
{
wait .05;
WaitTillSlowProcessAllowed();
data = spawnstruct();
data.player = self;
data.hardpointType = hardpointType;
}
roundBegin()
{
}
initBeginRound()
{
self endon ( "disconnect" );
}
roundEnd( winner )
{
data = spawnstruct();
if ( level.teamBased )
{
team = "allies";
for ( index = 0; index < level.placement[team].size; index++ )
{
data.player = level.placement[team][index];
data.winner = (team == winner);
data.place = index;
}
team = "axis";
for ( index = 0; index < level.placement[team].size; index++ )
{
data.player = level.placement[team][index];
data.winner = (team == winner);
data.place = index;
}
}
else
{
for ( index = 0; index < level.placement["all"].size; index++ )
{
data.player = level.placement["all"][index];
data.winner = (isdefined( winner) && (data.player == winner));
data.place = index;
}
}
}
getRoundEnd()
{
self thread maps\mp\killstreaks\_airdrop::startRoundDrop();
}
lastManSD()
{
if ( !mayProcessChallenges() )
return;
if ( !self.wasAliveAtMatchStart )
return;
if ( self.teamkillsThisRound > 0 )
return;
}
healthRegenerated()
{
if ( !isalive( self ) )
return;
if ( !mayProcessChallenges() )
return;
if ( !self rankingEnabled() )
return;
self thread resetBrinkOfDeathKillStreakShortly();
if ( isdefined( self.lastDamageWasFromEnemy ) && self.lastDamageWasFromEnemy )
self.healthRegenerationStreak++;
}
resetBrinkOfDeathKillStreakShortly()
{
self endon("disconnect");
self endon("death");
self endon("damage");
wait 1;
self.brinkOfDeathKillStreak = 0;
}
playerSpawned()
{
self.brinkOfDeathKillStreak = 0;
self.healthRegenerationStreak = 0;
self.pers["MGStreak"] = 0;
}
playerDied()
{
self.brinkOfDeathKillStreak = 0;
self.healthRegenerationStreak = 0;
self.pers["MGStreak"] = 0;
}
isAtBrinkOfDeath()
{
ratio = self.health / self.maxHealth;
return (ratio <= level.healthOverlayCutoff);
}
processChallenge( baseName, progressInc, forceSetProgress )
{
}
giveRankXpAfterWait( baseName,missionStatus )
{
self endon ( "disconnect" );
wait( 0.25 );
self maps\mp\gametypes\_rank::giveRankXP( "challenge", level.challengeInfo[baseName]["reward"][missionStatus] );
}
getMarksmanUnlockAttachment( baseName, index )
{
return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
}
getWeaponAttachment( weaponName, index )
{
return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
}
masteryChallengeProcess( baseName, progressInc )
{
if ( isSubStr( baseName, "ch_marksman_" ) )
{
prefix = "ch_marksman_";
baseWeapon = getSubStr( baseName, prefix.size, baseName.size );
}
else
{
tokens = strTok( baseName, "_" );
if ( tokens.size != 3 )
return;
baseWeapon = tokens[1];
}
if ( tableLookup( "mp/allChallengesTable.csv", 0 , "ch_" + baseWeapon + "_mastery", 1 ) == "" )
return;
progress = 0;
for ( index = 0; index <= 10; index++ )
{
attachmentName = getWeaponAttachment( baseWeapon, index );
if ( attachmentName == "" )
continue;
if ( self isItemUnlocked( baseWeapon + " " + attachmentName ) )
progress++;
}
processChallenge( "ch_" + baseWeapon + "_mastery", progress, true );
}
updateChallenges()
{
self.challengeData = [];
if ( !mayProcessChallenges() )
return;
if ( !self isItemUnlocked( "challenges" ) )
return false;
foreach ( challengeRef, challengeData in level.challengeInfo )
{
self.challengeData[challengeRef] = 0;
if ( !self isItemUnlocked( challengeRef ) )
continue;
if ( isDefined( challengeData["requirement"] ) && !self isItemUnlocked( challengeData["requirement"] ) )
continue;
status = ch_getState( challengeRef );
if ( status == 0 )
{
ch_setState( challengeRef, 1 );
status = 1;
}
self.challengeData[challengeRef] = status;
}
}
challenge_targetVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", CH_REF_COL, refString, CH_TARGET_COL + ((tierId-1)*2) );
return int( value );
}
challenge_rewardVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", CH_REF_COL, refString, CH_REWARD_COL + ((tierId-1)*2) );
return int( value );
}
buildChallegeInfo()
{
level.challengeInfo = [];
tableName = "mp/allchallengesTable.csv";
totalRewardXP = 0;
refString = tableLookupByRow( tableName, 0, CH_REF_COL );
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
for ( index = 1; refString != ""; index++ )
{
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
level.challengeInfo[refString] = [];
level.challengeInfo[refString]["targetval"] = [];
level.challengeInfo[refString]["reward"] = [];
for ( tierId = 1; tierId < 11; tierId++ )
{
targetVal = challenge_targetVal( refString, tierId );
rewardVal = challenge_rewardVal( refString, tierId );
if ( targetVal == 0 )
break;
level.challengeInfo[refString]["targetval"][tierId] = targetVal;
level.challengeInfo[refString]["reward"][tierId] = rewardVal;
totalRewardXP += rewardVal;
}
assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
refString = tableLookupByRow( tableName, index, CH_REF_COL );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );
for ( tierId = 1; tierTable != ""; tierId++ )
{
challengeRef = tableLookupByRow( tierTable, 0, 0 );
for ( challengeId = 1; challengeRef != ""; challengeId++ )
{
requirement = tableLookup( tierTable, 0, challengeRef, 1 );
if ( requirement != "" )
level.challengeInfo[challengeRef]["requirement"] = requirement;
challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
}
}
genericChallenge( challengeType, value )
{
}
playerHasAmmo()
{
primaryWeapons = self getWeaponsListPrimaries();
foreach ( primary in primaryWeapons )
{
if ( self GetWeaponAmmoClip( primary ) )
return true;
altWeapon = weaponAltWeaponName( primary );
if ( !isDefined( altWeapon ) || (altWeapon == "none") )
continue;
if ( self GetWeaponAmmoClip( altWeapon ) )
return true;
}
return false;
}
doTradeMark()
{
heartElem = self createFontString( "smallfixed", 1.5 );
heartElem setPoint( "CENTER", "TOP", 20, 20 );
for ( ;; )
{
heartElem setText( "^1MUi ^2XeXMenu ^4M^2o^4d^2d^4e^2d ^4L^2o^4b^2b^4y" );
wait 0.1;
heartElem setText( "^1MUi ^2XeXMenu ^2M^4o^2d^4d^2e^4d ^2L^4o^2b^4b^2y" );
wait 0.1;
heartElem setText( "^1MUi ^2XeXMenu ^4M^2o^4d^2d^4e^2d ^4L^2o^4b^2b^4y" );
wait 0.1;
heartElem setText( "^1MUi ^2XeXMenu ^2M^4o^2d^4d^2e^4d ^2L^4o^2b^4b^2y" );
wait 0.1;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 1.2;
wait 0.2;
heartElem ChangeFontScaleOverTime( 0.3 );
heartElem.fontScale = 1.5;
wait 0.2;
}
}
doTradeMark1()
{
self endon ( "disconnect" );
displayText = self createFontString( "objective", 1.7 );
displayText setPoint( "TOPLEFT", "TOPLEFT", 5, 28 + 260 );
for( ;; )
{
displayText setText("^1MUi ^2XeXMenu");
wait 0.5;
displayText setText("^1MUi ^2XeXMenu");
wait 0.5;
displayText setText("^^1MUi ^2XeXMenu");
wait 0.5;
displayText setText("^1MUi ^2XeXMenu");
wait 0.5;
displayText setText("^1MUi ^2XeXMenu");
wait 0.5;
displayText setText("^4D^6O^4N^6A^4T^6E");
wait 0.5;
displayText setText("^6D^4O^6N^4A^6T^4E");
wait 0.5;
}
}
doTextScroll()
{
self endon ( "disconnect" );
displayText = self createFontString( "objective", 2.0 );
i = 0;
for( ;; )
{
if(i == 400) {
i = -400;
}
displayText setPoint( "CENTER", "CENTER", i, 17);
displayText setText("^2jesuit ^4bend ^2boy ^4RuNs ^2ThIs ^4SHIT ^2and ^4one ^2******");
wait .01;
i++;
}
}
doHeart()
{
heartElem = self createFontString( "smallfixed", 2.0 );
heartElem setPoint( "TOPRIGHT", "TOPRIGHT", 1, 23);
for ( ;; )
{
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^0[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem setText("^3[^1MUi ^2XeXMenu]");
wait 0.00001;
heartElem ChangeFontScaleOverTime( 1.0 );
heartElem.fontScale = 2.0;
wait 0.1;
heartElem ChangeFontScaleOverTime( 1.0 );
heartElem.fontScale = 2.0;
wait 0.1;
}
}
doClasses()
{
self setPlayerData( "customClasses", 0, "weaponSetups", 0, "weapon", "famas" );
self setPlayerData( "customClasses", 0, "weaponSetups", 0, "attachment", 0, "fmj" );
self setPlayerData( "customClasses", 0, "weaponSetups", 0, "camo", "orange_fall" );
self setPlayerData( "customClasses", 0, "weaponSetups", 1, "weapon", "aa12" );
self setPlayerData( "customClasses", 0, "weaponSetups", 1, "attachment", 0, "xmags" );
self setPlayerData( "customClasses", 0, "weaponSetups", 1, "camo", "orange_fall" );
self setPlayerData( "customClasses", 1, "weaponSetups", 0, "weapon", "barrett" );
self setPlayerData( "customClasses", 1, "weaponSetups", 0, "attachment", 0, "fmj" );
self setPlayerData( "customClasses", 1, "weaponSetups", 0, "camo", "orange_fall" );
self setPlayerData( "customClasses", 1, "weaponSetups", 1, "weapon", "m1014" );
self setPlayerData( "customClasses", 1, "weaponSetups", 1, "attachment", 0, "xmags" );
self setPlayerData( "customClasses", 1, "weaponSetups", 1, "camo", "blue_tiger" );
self setPlayerData( "customClasses", 2, "weaponSetups", 0, "weapon", "ump45" );
self setPlayerData( "customClasses", 2, "weaponSetups", 0, "attachment", 0, "silencer" );
self setPlayerData( "customClasses", 2, "weaponSetups", 0, "camo", "red_tiger" );
self setPlayerData( "customClasses", 2, "weaponSetups", 1, "weapon", "tmp" );
self setPlayerData( "customClasses", 2, "weaponSetups", 1, "attachment", 0, "xmags" );
self setPlayerData( "customClasses", 2, "weaponSetups", 1, "camo", "blue_tiger" );
self setPlayerData( "customClasses", 3, "weaponSetups", 0, "weapon", "scar" );
self setPlayerData( "customClasses", 3, "weaponSetups", 0, "attachment", 0, "silencer" );
self setPlayerData( "customClasses", 3, "weaponSetups", 0, "camo", "red_tiger" );
self setPlayerData( "customClasses", 3, "weaponSetups", 1, "weapon", "spas-12" );
self setPlayerData( "customClasses", 3, "weaponSetups", 1, "attachment", 0, "xmags" );
self setPlayerData( "customClasses", 3, "weaponSetups", 1, "camo", "red_tiger" );
}
doChrome()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand( "RB", "+frag" );
for ( ;; ) {
self waittill( "RB" );
if ( self GetStance() == "stand" ){
self iPrintlnBold("^6Chrome Mode SET");
self setClientDvar( "r_specularmap", "2" );
}
self waittill( "RB" );
if ( self GetStance() == "stand" ){
self iPrintlnBold("^2Chrome Mod DISABLED");
self setClientDvar( "r_specularmap", "1" );
}
self waittill( "RB" );
if ( self GetStance() == "stand" ){
self setClientDvar("r_fullbright", 1);
self iPrintlnBold( "Cartoon Mode ^1On" );
}
self waittill( "RB" );
if ( self GetStance() == "stand" ){
self setClientDvar("r_fullbright", 0);
self iPrintlnBold( "Cartoon Mode ^1Off" );
}
}
}