1.Ak74u when added to class makes your class disappear in elite and therefore you cannot send changes.
2.Same for M240
3. Killstreaks can be modified and are sent to MW3 game however they reset in game. For example i edited the UAV, CP, and predator into Osprey, Reaper and AC130. In my class it shows its the order Osprey, Reaper and AC130 but in game the order is Reaper AC130 and Osprey.
4. When you edit a perk i.e. Assassin to a hidden perk like stopping power and click select nothing happens. Try it and you'll see what i mean.
5. Normal perks can be edited and sent but cannot be received in MW3.
6. Guns which are not unlocked or not supposed to be primary/secondary can be edited and sent but cannot be received in MW3.
7. If you use overkill and set to primaries and then edit overkill into another red perks and then click select your classes will disappear.
8. If you put two attachments on a gun and then edit the attachment profiency into e.g kick and click select it can be edited and sent but cannot be received in MW3.
9. If you try to hack in the default weapon your class will disappear.
10. The hidden killstreaks will not work as they are in the game coding but have // next to them which stops the game from finding it.
11. Marine camo and winter camo will always work.
12. Any locked camo can be applied, sent to game but cannot be received.
specialty_explosivedamage
specialty_bulletdamage
specialty_pistoldeath
specialty_challenger
specialty_saboteur
specialty_marathon
specialty_fastmantle
specialty_rof
specialty_shellshock
specialty_gpsjammer
specialty_commando
specialty_exposeenemy
specialty_freerunner
specialty_endgame
specialty_heartbreaker
specialty_burstfire
specialty_siege
specialty_anytwo
specialty_hardjack
specialty_extraspecialduration
specialty_hard_shell
specialty_regenspeed
specialty_luckycharm
specialty_jumpdive
specialty_feigndeath
specialty_steelnerves
specialty_blackbox
specialty_laststandoffhand
specialty_rollover
specialty_omaquickchange
specialty_onemanarmy
a10_support
airdrop_support
airdrop_juggernaut_gl
airdrop_juggernaut_def
airdrop_trophy
airdrop_mega
airdrop_grnd
directional_uav
double_uav
gl_turret
harrier_airstrike
helicopter_blackbox
helicopter_mk19
helicopter_minigun
minigun_turret
mobile_mortar
tank
uav_strike
specialty_light_armor
specialty_uav
specialty_carepackage
specialty_fastreload_upgrade
specialty_lightweight_upgrade specialty_lightweight_upgrade
specialty_bling_upgrade
specialty_marathon_upgrade
specialty_bulletdamage_upgrade
specialty_hardline_upgrade
specialty_scavenger_upgrade
specialty_pistoldeath_upgrade
specialty_quieter_upgrade
specialty_commando_upgrade
specialty_ks_null
specialty_classified
specialty_cobra_gunner
specialty_nuke
specialty_stealth_bomber
specialty_parabolic
specialty_weapon_claymore
specialty_fraggrenade
specialty_specialgrenade
specialty_weapon_rpg
specialty_weapon_claymore
specialty_weapon_c4
isLongShot( attacker, weapon, meansOfDeath, attackerPosition, victim )
{
if( isAlive( attacker ) &&
!attacker isUsingRemote() &&
( meansOfDeath == "MOD_RIFLE_BULLET" || meansOfDeath == "MOD_PISTOL_BULLET" || meansOfDeath == "MOD_HEAD_SHOT" ) &&
!isKillstreakWeapon( weapon ) && !isDefined( attacker.assistedSuicide ) )
{
// check depending on the weapon being used to kill
weaponClass = getWeaponClass( weapon );
switch( WeaponClass )
{
case [B][COLOR="#FF0000"]"weapon_pistol":
weapDist = 800;
break;
case "weapon_machine_pistol":
case "weapon_smg":
weapDist = 1200;
break;
case "weapon_assault":
case "weapon_lmg":
weapDist = 1500;
break;
case "weapon_sniper":
weapDist = 2000;
break;
case "weapon_shotgun":
weapDist = 500;
break;
case "weapon_projectile":
default:
weapDist = 1536;[/COLOR][/B] // the old number
break;}
data-slug="digital" data-key="digital"
Data Slug: mp412jugg
Data Slug: m60jugg
Data Slug: riotshieldjugg
Data Slug: usp45jugg
Date Key: iw5_mp412jugg
Date Key:iw5_m60jugg
Date Key:iw5_riotshieldjugg
Date Key:iw5_usp45jugg
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
/*
Drop Zone
Objective: Score points for your team over time by holding the drop zone.
Periodic carepackage awarded to player who's been in drop zone the longest.
Map ends: When one team reaches the score limit, or time limit is reached
Respawning: No wait / Near teammates / Near drop zone
Level requirementss
------------------
Start Spawnpoints:
classname mp_sab_spawn_allies_start, mp_sab_spawn_axis_start
Spawnpoints:
classname mp_tdm_spawn
All players spawn from these. The spawnpoint chosen is dependent on the current locations of drop zone, teammates, and enemies
at the time of spawn. Players generally spawn behind their teammates relative to the direction of enemies.
Spectator Spawnpoints:
classname mp_global_intermission
Spectators spawn from these and intermission is viewed from these positions.
Atleast one is required, any more and they are randomly chosen between.
*/
GRND_ZONE_TOUCH_RADIUS = 300;
GRND_ZONE_DROP_RADIUS = 72;
main()
{
if(getdvar("mapname") == "mp_background")
return;
maps\mp\gametypes\_globallogic::init();
maps\mp\gametypes\_callbacksetup::SetupCallbacks();
maps\mp\gametypes\_globallogic::SetupCallbacks();
if ( isUsingMatchRulesData() )
{
level.initializeMatchRules = ::initializeMatchRules;
[[level.initializeMatchRules]]();
level thread reInitializeMatchRulesOnMigration();
}
else
{
registerRoundSwitchDvar( level.gameType, 0, 0, 9 );
registerTimeLimitDvar( level.gameType, 10 );
registerScoreLimitDvar( level.gameType, 20000 );
registerRoundLimitDvar( level.gameType, 1 );
registerWinLimitDvar( level.gameType, 1 );
registerNumLivesDvar( level.gameType, 0 );
registerHalfTimeDvar( level.gameType, 0 );
level.matchRules_dropTime = 30;
level.matchRules_zoneSwitchTime = 120;
level.matchRules_damageMultiplier = 0;
level.matchRules_vampirism = 0;
}
level.teamBased = true;
level.onPrecacheGameType = :nPrecacheGameType;
level.onStartGameType = :nStartGameType;
level.getSpawnPoint = ::getSpawnPoint;
level.onSpawnPlayer = :nSpawnPlayer;
if ( level.matchRules_damageMultiplier || level.matchRules_vampirism )
level.modifyPlayerDamage = maps\mp\gametypes\_damage::gamemodeModifyPlayerDamage;
level.grnd_fx["smoke"] = loadFx( "smoke/airdrop_flare_mp_effect_now" );
level.grnd_fx["flare"] = loadFx( "smoke/signal_smoke_airdrop" );
createZones();
}
initializeMatchRules()
{
// set common values
setCommonRulesFromMatchRulesData();
// set everything else (private match options, default .cfg file values, and what normally is registered in the 'else' below)
level.matchRules_dropTime = GetMatchRulesData( "grndData", "dropTime" );
level.matchRules_zoneSwitchTime = 60 * GetMatchRulesData( "grndData", "zoneSwitchTime" );
SetDynamicDvar( "scr_grnd_roundswitch", 0 );
registerRoundSwitchDvar( "grnd", 0, 0, 9 );
SetDynamicDvar( "scr_grnd_roundlimit", 1 );
registerRoundLimitDvar( "grnd", 1 );
SetDynamicDvar( "scr_grnd_winlimit", 1 );
registerWinLimitDvar( "grnd", 1 );
SetDynamicDvar( "scr_grnd_halftime", 0 );
registerHalfTimeDvar( "grnd", 0 );
SetDynamicDvar( "scr_grnd_promode", 0 );
}
onPrecacheGameType()
{
precacheShader( "waypoint_captureneutral" );
precacheShader( "waypoint_capture" );
precacheShader( "waypoint_defend" );
precacheModel( "prop_flag_neutral" );
precacheString( &"OBJECTIVES_GRND" );
precacheString( &"OBJECTIVES_GRND_SCORE" );
precacheString( &"OBJECTIVES_GRND_HINT" );
precacheString( &"OBJECTIVES_GRND_CONFIRM" );
precacheString( &"MP_CALLING_AIRDROP" );
precacheString( &"MP_NEXT_DROP_ZONE_IN" );
precacheModel( "weapon_us_smoke_grenade_burnt2" );
}
onStartGameType()
{
setClientNameMode("auto_change");
if ( !isdefined( game["switchedsides"] ) )
game["switchedsides"] = false;
setObjectiveText( "allies", &"OBJECTIVES_GRND" );
setObjectiveText( "axis", &"OBJECTIVES_GRND" );
if ( level.splitscreen )
{
setObjectiveScoreText( "allies", &"OBJECTIVES_GRND" );
setObjectiveScoreText( "axis", &"OBJECTIVES_GRND" );
}
else
{
setObjectiveScoreText( "allies", &"OBJECTIVES_GRND_SCORE" );
setObjectiveScoreText( "axis", &"OBJECTIVES_GRND_SCORE" );
}
setObjectiveHintText( "allies", &"OBJECTIVES_GRND_HINT" );
setObjectiveHintText( "axis", &"OBJECTIVES_GRND_HINT" );
level.spawnMins = ( 0, 0, 0 );
level.spawnMaxs = ( 0, 0, 0 );
maps\mp\gametypes\_spawnlogic::placeSpawnPoints( "mp_sab_spawn_allies_start" );
maps\mp\gametypes\_spawnlogic::placeSpawnPoints( "mp_sab_spawn_axis_start" );
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "allies", "mp_tdm_spawn" );
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "axis", "mp_tdm_spawn" );
level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
setMapCenter( level.mapCenter );
// get the central loction for first DZ using the SAB bomb, before it is removed
centerLocObj = getEnt( "sab_bomb", "targetname" );
level.grnd_centerLoc = centerLocObj.origin;
maps\mp\gametypes\_rank::registerScoreInfo( "zone_kill", 100 );
maps\mp\gametypes\_rank::registerScoreInfo( "zone_tick", 20 );
allowed[0] = level.gameType;
allowed[1] = "tdm";
maps\mp\gametypes\_gameobjects::main(allowed);
level.grnd_timerDisplay = createServerTimer( "objective", 1.4 );
level.grnd_timerDisplay setPoint( "TOPLEFT", "TOPLEFT", 115, 5 );
level.grnd_timerDisplay.label = &"MP_NEXT_DROP_ZONE_IN";
level.grnd_timerDisplay.alpha = 0;
level.grnd_timerDisplay.archived = false;
level.grnd_timerDisplay.hideWhenInMenu = true;
thread hideHudElementOnGameEnd( level.grnd_timerDisplay );
initFirstZone();
}
initFirstZone()
{
level.zonesCycling = false;
// find the closest zone to center
shortestDistance = 999999;
shortestDistanceIndex = 0;
for ( i=0; i<level.grnd_dropZones[level.script].size; i++ )
{
dropZone = level.grnd_dropZones[level.script][i];
distToCenter = distance2d( level.grnd_centerLoc, dropZone );
if ( distToCenter < shortestDistance )
{
shortestDistance = distToCenter;
shortestDistanceIndex = i;
}
}
level.grnd_initialIndex = shortestDistanceIndex;
initilPos = level.grnd_dropZones[level.script][shortestDistanceIndex];
// create marker
level.grnd_zone = spawn( "script_model", initilPos );
level.grnd_zone.origin = initilPos;
level.grnd_zone.angles = ( 90, 0, 0 );
level.grnd_zone setModel( "weapon_us_smoke_grenade_burnt2" );
// spawning
level.favorCloseSpawnEnt = level.grnd_zone;
level.favorCloseSpawnScalar = 5;
// make the rest
level thread initZones();
}
initZones()
{
level.grnd_zones = [];
for ( i=0; i<level.grnd_dropZones[level.script].size; i++ )
{
dropZone = level.grnd_dropZones[level.script][i];
level.grnd_zones[i] = spawn( "script_origin", dropZone );
level.grnd_zones[i].origin = dropZone;
wait( 0.05 );
}
level.grnd_zones[level.grnd_initialIndex] delete();
level.grnd_zones[level.grnd_initialIndex] = undefined;
level.grnd_zones = array_removeUndefined( level.grnd_zones );
}
getSpawnPoint()
{
if ( level.inGracePeriod )
{
spawnPoints = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_sab_spawn_" + self.pers["team"] + "_start" );
spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random( spawnPoints );
}
else
{
spawnPoints = maps\mp\gametypes\_spawnlogic::getTeamSpawnPoints( self.pers["team"] );
spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_NearTeam( spawnPoints );
}
return spawnPoint;
}
onSpawnPlayer()
{
// in/out zone indicator
if ( !isDefined( self.inGrindZone ) )
{
level thread setPlayerMessages( self );
// let the first player in activate this
if ( !level.zonesCycling )
{
level thread cycleZones();
level thread locationScoring();
}
}
level notify ( "spawned_player" );
}
setPlayerMessages( player )
{
level endon( "game_ended" );
gameFlagWait( "prematch_done" );
// points
player.inGrindZonePoints = 0;
// hud indicator
player.grndHUDText = player createFontString( "small", 1.6 );
player.grndHUDText setPoint( "TOP LEFT", "TOP LEFT", 115, 22 );
player.grndHUDText.alpha = 1;
player.grndHUDText.hideWhenInMenu = true;
level thread hideHudElementOnGameEnd( player.grndHUDText );
// hud icon
player.grndHeadIcon = level.grnd_zone maps\mp\_entityheadIcons::setHeadIcon( player, "waypoint_captureneutral", (0,0,0), 14, 14, undefined, undefined, undefined, undefined, undefined, false );
// minimap waypoint
player.grndObjId = maps\mp\gametypes\_gameobjects::getNextObjID();
objective_add( player.grndObjId, "invisible", (0,0,0) );
objective_player( player.grndObjId, player getEntityNumber() );
Objective_OnEntity( player.grndObjId, level.grnd_zone );
objective_icon( player.grndObjId, "waypoint_captureneutral" );
objective_state( player.grndObjId, "active" );
if ( distance2D( level.grnd_zone.origin, player.origin ) < GRND_ZONE_TOUCH_RADIUS )
{
player.inGrindZone = true;
player.grndHUDText setText( &"OBJECTIVES_GRND_CONFIRM" );
player.grndHUDText.color = (0.6,1,0.6);
player.grndHeadIcon.alpha = 0;
}
else
{
player.inGrindZone = false;
player.grndHUDText setText( &"OBJECTIVES_GRND_HINT" );
player.grndHUDText.color = (1,0.6,0.6);
player.grndHeadIcon.alpha = 0.85;
}
player.grnd_wasSpectator = false;
if ( player.team == "spectator" )
{
player.inGrindZone = false;
player.inGrindZonePoints = 0;
player.grndHeadIcon.alpha = 0;
player.grndHUDText.alpha = 0;
player.grnd_wasSpectator = true;
}
player thread grndTracking();
}
getNextZone()
{
pos = undefined;
index = undefined;
if ( level.grnd_zones.size > 2 )
{
// get the distance to the current zone from all the remaining zones
// set index and save furthest and closest along the way
closestDistance = 999999;
furthestDistance = 0;
for ( i=0; i<level.grnd_zones.size; i++ )
{
level.grnd_zones[i].index = i;
level.grnd_zones[i].distToZone = distance( level.grnd_zones[i].origin, level.grnd_zone.origin );
if ( level.grnd_zones[i].distToZone > furthestDistance )
furthestDistance = level.grnd_zones[i].distToZone;
else if ( level.grnd_zones[i].distToZone < closestDistance )
closestDistance = level.grnd_zones[i].distToZone;
}
// try to get a grouping of far zones to randomly choose from
farZones = [];
closeZones = [];
halfDistance = int( ( closestDistance + furthestDistance ) / 2 );
for ( i=0; i<level.grnd_zones.size; i++ )
{
if ( level.grnd_zones[i].distToZone >= halfDistance )
farZones[farZones.size] = level.grnd_zones[i];
else
closeZones[closeZones.size] = level.grnd_zones[i];
}
zone = undefined;
if ( farZones.size > 1 )
zone = farZones[ randomIntRange( 0, farZones.size ) ];
else
zone = farZones[0];
index = zone.index;
}
else if ( level.grnd_zones.size == 2 )
{
distanceA = distance( level.grnd_zones[0].origin, level.grnd_zone.origin );
distanceB = distance( level.grnd_zones[1].origin, level.grnd_zone.origin );
if ( distanceA > distanceB )
index = 0;
else
index = 1;
}
else if ( level.grnd_zones.size == 1 )
{
index = 0;
}
if ( isDefined( index ) )
{
pos = level.grnd_zones[index].origin;
level.grnd_zones[index] delete();
level.grnd_zones[index] = undefined;
level.grnd_zones = array_removeUndefined( level.grnd_zones );
}
else
{
// start all over
pos = level.grnd_dropZones[level.script][level.grnd_initialIndex];
level thread initZones();
}
return pos;
}
cycleZones()
{
level endon( "game_ended" );
gameFlagWait( "prematch_done" );
while( true )
{
initialScores["axis"] = game["teamScores"]["axis"];
initialScores["allies"] = game["teamScores"]["allies"];
// move zone
pos = undefined;
if ( !level.zonesCycling )
{
level.zonesCycling = true;
pos = level.grnd_zone.origin;
}
else
{
pos = getNextZone();
StopFxOnTag( level.grnd_fx["smoke"], level.grnd_zone, "tag_fx" );
wait( 0.05 );
}
traceStart = pos;
traceEnd = pos + (0,0,-1000);
trace = bulletTrace( traceStart, traceEnd, false, undefined );
level.grnd_zone.origin = trace["position"]+(0,0,1);
// smoke
wait( 0.05 );
PlayFxOnTag( level.grnd_fx["smoke"], level.grnd_zone, "tag_fx" );
// reset drops
if ( level.matchRules_dropTime )
level thread randomDrops();
// wait
level.grnd_timerDisplay.label = &"MP_NEXT_DROP_ZONE_IN";
level.grnd_timerDisplay setTimer( level.matchRules_zoneSwitchTime );
level.grnd_timerDisplay.alpha = 1;
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( level.matchRules_zoneSwitchTime );
level.grnd_timerDisplay.alpha = 0;
// audio cue for progress
if ( game["teamScores"]["axis"] - initialScores["axis"] > game["teamScores"]["allies"] - initialScores["allies"] )
{
playSoundOnPlayers( "mp_obj_captured", "axis" );
playSoundOnPlayers( "mp_enemy_obj_captured", "allies" );
}
else if ( game["teamScores"]["allies"] - initialScores["allies"] > game["teamScores"]["axis"] - initialScores["axis"] )
{
playSoundOnPlayers( "mp_obj_captured", "allies" );
playSoundOnPlayers( "mp_enemy_obj_captured", "axis" );
}
}
}
grndTracking()
{
self endon( "disconnect" );
level endon( "game_ended" );
while( true )
{
if ( !self.grnd_wasSpectator && self.team == "spectator" )
{
self.inGrindZone = false;
self.inGrindZonePoints = 0;
self.grndHeadIcon.alpha = 0;
self.grndHUDText.alpha = 0;
self.grnd_wasSpectator = true;
}
else if ( self.team != "spectator" )
{
if ( ( self.grnd_wasSpectator || !self.inGrindZone ) && distance2D( level.grnd_zone.origin, self.origin ) < GRND_ZONE_TOUCH_RADIUS )
{
self.inGrindZone = true;
self.inGrindZonePoints = 0;
self.grndHUDText setText( &"OBJECTIVES_GRND_CONFIRM" );
self.grndHUDText.color = (0.6,1,0.6);
self.grndHUDText.alpha = 1;
self.grndHeadIcon.alpha = 0;
}
else if ( ( self.grnd_wasSpectator || self.inGrindZone ) && distance2D( level.grnd_zone.origin, self.origin ) >= GRND_ZONE_TOUCH_RADIUS )
{
self.inGrindZone = false;
self.inGrindZonePoints = 0;
self.grndHUDText setText( &"OBJECTIVES_GRND_HINT" );
self.grndHUDText.color = (1,0.6,0.6);
self.grndHUDText.alpha = 1;
self.grndHeadIcon.alpha = 0.85;
}
self.grnd_wasSpectator = false;
}
wait( 0.05 );
}
}
locationScoring()
{
level endon( "game_ended" );
gameFlagWait( "prematch_done" );
score = maps\mp\gametypes\_rank::getScoreInfoValue( "zone_tick" );
assert( isDefined( score ) );
while( true )
{
numPlayers["axis"] = 0;
numPlayers["allies"] = 0;
// score
foreach( player in level.players )
{
if ( isDefined( player.inGrindZone ) && isAlive( player ) && distance2D( level.grnd_zone.origin, player.origin ) < GRND_ZONE_TOUCH_RADIUS )
{
numPlayers[player.pers["team"]]++;
player.inGrindZonePoints += score;
}
}
if ( numPlayers["axis"] )
maps\mp\gametypes\_gamescore::giveTeamScoreForObjective( "axis", score * numPlayers["axis"] );
if ( numPlayers["allies"] )
maps\mp\gametypes\_gamescore::giveTeamScoreForObjective( "allies", score * numPlayers["allies"] );
// waypoints and compasspings
if ( numPlayers["axis"] == numPlayers["allies"] )
{
foreach( player in level.players )
{
if ( isDefined( player.inGrindZone ) )
{
player.grndHeadIcon setShader( "waypoint_captureneutral", 14, 14 );
player.grndHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.grndObjId, "waypoint_captureneutral" );
}
}
}
else
{
foreach( player in level.players )
{
if ( isDefined( player.inGrindZone ) )
{
if ( numPlayers[player.pers["team"]] > numPlayers[level.otherTeam[player.pers["team"]]] )
{
player.grndHeadIcon setShader( "waypoint_defend", 14, 14 );
player.grndHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.grndObjId, "waypoint_defend" );
}
else
{
player.grndHeadIcon setShader( "waypoint_capture", 14, 14 );
player.grndHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.grndObjId, "waypoint_capture" );
}
}
}
}
// wait
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( 1.0 );
}
}
randomDrops()
{
level endon( "game_ended" );
level notify( "reset_grnd_drops" );
level endon( "reset_grnd_drops" );
// try for no repeats per zone
level.grnd_previousCrateTypes = [];
while( true )
{
owner = getBestPlayer();
numIncomingVehicles = 1;
if( isDefined( owner ) &&
currentActiveVehicleCount() < maxVehiclesAllowed() &&
level.fauxVehicleCount + numIncomingVehicles < maxVehiclesAllowed() &&
level.numDropCrates < 8 )
{
owner thread maps\mp\gametypes\_rank::xpEventPopup( &"SPLASHES_EARNED_CAREPACKAGE" );
thread teamPlayerCardSplash( "callout_earned_carepackage", owner );
owner thread leaderDialog( level.otherTeam[ owner.team ] + "_enemy_airdrop_assault_inbound", level.otherTeam[ owner.team ] );
owner thread leaderDialog( owner.team + "_friendly_airdrop_assault_inbound", owner.team );
playSoundOnPlayers( "mp_war_objective_taken", owner.team );
playSoundOnPlayers( "mp_war_objective_lost", level.otherTeam[owner.team] );
position = level.grnd_zone.origin + ( randomIntRange( (-1*GRND_ZONE_DROP_RADIUS), GRND_ZONE_DROP_RADIUS ), randomIntRange( (-1*GRND_ZONE_DROP_RADIUS), GRND_ZONE_DROP_RADIUS ), 0 );
crateType = getDropZoneCrateType();
if ( isSubStr( toLower( crateType ), "juggernaut" ) )
{
level thread maps\mp\killstreaks\_airdrop::doC130FlyBy( owner, position, randomFloat( 360 ), crateType );
}
else if ( crateType == "mega" )
{
level thread maps\mp\killstreaks\_airdrop::doMegaC130FlyBy( owner, position, randomFloat( 360 ), "airdrop_grnd", -360 );
}
else
{
level thread maps\mp\killstreaks\_airdrop::doFlyBy( owner, position, randomFloat( 360 ), "airdrop_grnd", 0, crateType );
}
waitTime = level.matchRules_dropTime;
}
else
waitTime = 0.5;
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( waitTime );
}
}
getBestPlayer()
{
bestPlayer = undefined;
bestPlayerPoints = 0;
// find the player with the currently highest accumulated points in the zone
foreach ( player in level.players )
{
if ( isAlive( player ) )
{
if ( distance2D( level.grnd_zone.origin, player.origin ) < GRND_ZONE_TOUCH_RADIUS && player.inGrindZonePoints > bestPlayerPoints )
{
bestPlayer = player;
bestPlayerPoints = player.inGrindZonePoints;
}
}
}
// may return undefined
return bestPlayer;
}
getDropZoneCrateType()
{
crateType = undefined;
if ( !isDefined( level.grnd_previousCrateTypes["mega"] ) && level.numDropCrates == 0 && randomIntRange( 0, 100 ) < 5 )
{
crateType = "mega";
}
else
{
if ( level.grnd_previousCrateTypes.size )
{
maxTries = 200;
while( maxTries )
{
crateType = maps\mp\killstreaks\_airdrop::getRandomCrateType( "airdrop_grnd" );
if ( isDefined( level.grnd_previousCrateTypes[crateType] ) )
crateType = undefined;
else
break;
maxTries--;
}
}
if ( !isDefined( crateType ) )
crateType = maps\mp\killstreaks\_airdrop::getRandomCrateType( "airdrop_grnd" );
}
// track it
level.grnd_previousCrateTypes[crateType] = 1;
if ( level.grnd_previousCrateTypes.size == 15 )
level.grnd_previousCrateTypes = [];
return crateType;
}
hideHudElementOnGameEnd( hudElement )
{
level waittill("game_ended");
hudElement.alpha = 0;
}
createZones()
{
level.grnd_dropZones = [];
// future way
dropZones = getEntArray( "grnd_dropZone", "targetname" );
if ( isDefined( dropZones ) && dropZones.size )
{
i=0;
foreach ( dropZone in dropZones )
{
level.grnd_dropZones[level.script][i] = dropZone.origin;
i++;
}
}
else
{
// current way
level.grnd_dropZones["mp_seatown"][0] = (-1226, -1399, 204);
level.grnd_dropZones["mp_seatown"][1] = (1048, 886, 22;
level.grnd_dropZones["mp_seatown"][2] = (-1982, 1494, 229);
level.grnd_dropZones["mp_seatown"][3] = (-2297, -855, 210);
level.grnd_dropZones["mp_seatown"][4] = (-2261, -334, 24;
level.grnd_dropZones["mp_seatown"][5] = (-2048, 512, 24;
level.grnd_dropZones["mp_seatown"][6] = (-1439, 1065, 72);
level.grnd_dropZones["mp_seatown"][7] = (-410, 982, 127);
level.grnd_dropZones["mp_seatown"][8] = (-666, -217, 226);
level.grnd_dropZones["mp_seatown"][9] = (-523, -875, 260);
level.grnd_dropZones["mp_seatown"][10] = (-345, -1449, 254);
level.grnd_dropZones["mp_seatown"][11] = (1167, -533, 294);
level.grnd_dropZones["mp_seatown"][12] = (367, 991, 179);
level.grnd_dropZones["mp_seatown"][13] = (1106, 219, 292);
level.grnd_dropZones["mp_dome"][0] = (97, 898, -240);
level.grnd_dropZones["mp_dome"][1] = (-226, 1464, -231);
level.grnd_dropZones["mp_dome"][2] = (-603, 194, -35;
level.grnd_dropZones["mp_dome"][3] = (814, -406, -335);
level.grnd_dropZones["mp_dome"][4] = (5, 1975, -231);
level.grnd_dropZones["mp_dome"][5] = (-673, 1100, -284);
level.grnd_dropZones["mp_dome"][6] = (669, 1028, -255);
level.grnd_dropZones["mp_dome"][7] = (1231, 807, -267);
level.grnd_dropZones["mp_dome"][8] = (709, 210, -342);
level.grnd_dropZones["mp_dome"][9] = (1223, 10, -336);
level.grnd_dropZones["mp_dome"][10] = (-222, 418, -333);
level.grnd_dropZones["mp_dome"][11] = (501, -183, -330);
level.grnd_dropZones["mp_plaza2"][0] = (221, 440, 754);
level.grnd_dropZones["mp_plaza2"][1] = (155, 1763, 66;
level.grnd_dropZones["mp_plaza2"][2] = (-430, 1871, 691);
level.grnd_dropZones["mp_plaza2"][3] = (-1190, 1759, 66;
level.grnd_dropZones["mp_plaza2"][4] = (-1273, 1279, 829);
level.grnd_dropZones["mp_plaza2"][5] = (-593, 1274, 676);
level.grnd_dropZones["mp_plaza2"][6] = (-251, 1006, 722);
level.grnd_dropZones["mp_plaza2"][7] = (80, 1343, 676);
level.grnd_dropZones["mp_plaza2"][8] = (397, -99, 70;
level.grnd_dropZones["mp_plaza2"][9] = (-1109, 92, 741);
level.grnd_dropZones["mp_plaza2"][10] = (-280, -195, 700);
level.grnd_dropZones["mp_plaza2"][11] = (28, -1600, 66;
level.grnd_dropZones["mp_plaza2"][12] = (764, -1752, 669);
level.grnd_dropZones["mp_mogadishu"][0] = (1448, 1945, 39);
level.grnd_dropZones["mp_mogadishu"][1] = (1499, -1193, 15);
level.grnd_dropZones["mp_mogadishu"][2] = (791, -880, 16);
level.grnd_dropZones["mp_mogadishu"][3] = (38, -1007, 16);
level.grnd_dropZones["mp_mogadishu"][4] = (-691, -260, 22);
level.grnd_dropZones["mp_mogadishu"][5] = (2, 52, 2);
level.grnd_dropZones["mp_mogadishu"][6] = (664, 69, 12);
level.grnd_dropZones["mp_mogadishu"][7] = (1676, 251, -1);
level.grnd_dropZones["mp_mogadishu"][8] = (2314, 1860, 63);
level.grnd_dropZones["mp_mogadishu"][9] = (73, 858, 3);
level.grnd_dropZones["mp_mogadishu"][10] = (710, 837, 16);
level.grnd_dropZones["mp_mogadishu"][11] = (-549, 829, 2);
level.grnd_dropZones["mp_mogadishu"][12] = (34, 1850, 84);
level.grnd_dropZones["mp_mogadishu"][13] = (-778, 2614, 157);
level.grnd_dropZones["mp_mogadishu"][14] = (-204, 3206, 152);
level.grnd_dropZones["mp_mogadishu"][15] = (752, 3189, 14;
level.grnd_dropZones["mp_mogadishu"][16] = (692, 2354, 95);
level.grnd_dropZones["mp_paris"][0] = (-931, -921, 110);
level.grnd_dropZones["mp_paris"][1] = (1597, 1768, 47);
level.grnd_dropZones["mp_paris"][2] = (716, 1809, 33);
level.grnd_dropZones["mp_paris"][3] = (258, 2074, 36);
level.grnd_dropZones["mp_paris"][4] = (459, 1067, 37);
level.grnd_dropZones["mp_paris"][5] = (852, 1350, 11;
level.grnd_dropZones["mp_paris"][6] = (1601, 897, 45);
level.grnd_dropZones["mp_paris"][7] = (1286, 420, 41);
level.grnd_dropZones["mp_paris"][8] = (1613, 181, 172);
level.grnd_dropZones["mp_paris"][9] = (466, -752, 67);
level.grnd_dropZones["mp_paris"][10] = (994, -625, 50);
level.grnd_dropZones["mp_paris"][11] = (-211, -60, 63);
level.grnd_dropZones["mp_paris"][12] = (-742, 177, 133);
level.grnd_dropZones["mp_paris"][13] = (-1532, 100, 250);
level.grnd_dropZones["mp_paris"][14] = (-343, 1922, 121);
level.grnd_dropZones["mp_paris"][15] = (-1127, 1555, 284);
level.grnd_dropZones["mp_paris"][16] = (-2025, 1327, 316);
level.grnd_dropZones["mp_paris"][17] = (-1039, 841, 187);
level.grnd_dropZones["mp_exchange"][0] = (-614, 1286, 113);
level.grnd_dropZones["mp_exchange"][1] = (182, 1155, 14;
level.grnd_dropZones["mp_exchange"][2] = (1018, 1254, 120);
level.grnd_dropZones["mp_exchange"][3] = (2182, 1322, 145);
level.grnd_dropZones["mp_exchange"][4] = (655, 815, 13);
level.grnd_dropZones["mp_exchange"][5] = (761, -312, -1;
level.grnd_dropZones["mp_exchange"][6] = (761, -771, 112);
level.grnd_dropZones["mp_exchange"][7] = (635, -1450, 110);
level.grnd_dropZones["mp_exchange"][8] = (152, -1538, 96);
level.grnd_dropZones["mp_exchange"][9] = (303, -824, 8;
level.grnd_dropZones["mp_exchange"][10] = (-953, -768, 45);
level.grnd_dropZones["mp_exchange"][11] = (2392, 1305, 144);
level.grnd_dropZones["mp_exchange"][12] = (1634, 1329, 151);
level.grnd_dropZones["mp_exchange"][13] = (1315, 743, 159);
level.grnd_dropZones["mp_bootleg"][0] = (-1432, 1404, ;
level.grnd_dropZones["mp_bootleg"][1] = (-1017, 1787, -39);
level.grnd_dropZones["mp_bootleg"][2] = (-590, 1514, -43);
level.grnd_dropZones["mp_bootleg"][3] = (-588, 614, -12);
level.grnd_dropZones["mp_bootleg"][4] = (-1732, 84, 11);
level.grnd_dropZones["mp_bootleg"][5] = (-1809, -302, 140);
level.grnd_dropZones["mp_bootleg"][6] = (-1649, -1147, 92);
level.grnd_dropZones["mp_bootleg"][7] = (-884, -1035, -4);
level.grnd_dropZones["mp_bootleg"][8] = (-719, -1673, 60);
level.grnd_dropZones["mp_bootleg"][9] = (-335, -2111, 60);
level.grnd_dropZones["mp_bootleg"][10] = (208, -1955, 6;
level.grnd_dropZones["mp_bootleg"][11] = (-198, -1726, 60);
level.grnd_dropZones["mp_bootleg"][12] = (100, -1101, -9);
level.grnd_dropZones["mp_bootleg"][13] = (-427, -100, -;
level.grnd_dropZones["mp_bootleg"][14] = (949, -1132, -10);
level.grnd_dropZones["mp_bootleg"][15] = (884, 1182, -2;
level.grnd_dropZones["mp_bootleg"][16] = (242, 1194, -45);
level.grnd_dropZones["mp_carbon"][0] = (-3330, -3392, 3630);
level.grnd_dropZones["mp_carbon"][1] = (-3635, -3735, 3630);
level.grnd_dropZones["mp_carbon"][2] = (-3625, -4189, 3633);
level.grnd_dropZones["mp_carbon"][3] = (-2992, -4339, 3627);
level.grnd_dropZones["mp_carbon"][4] = (-2925, -4999, 3673);
level.grnd_dropZones["mp_carbon"][5] = (-2573, -4771, 3784);
level.grnd_dropZones["mp_carbon"][6] = (-1705, -4643, 3813);
level.grnd_dropZones["mp_carbon"][7] = (-1799, -3957, 3813);
level.grnd_dropZones["mp_carbon"][8] = (-2141, -3647, 3815);
level.grnd_dropZones["mp_carbon"][9] = (-3212, -2879, 3807);
level.grnd_dropZones["mp_carbon"][10] = (-1623, -3339, 380;
level.grnd_dropZones["mp_carbon"][11] = (-1223, -4234, 3834);
level.grnd_dropZones["mp_carbon"][12] = (-896, -4888, 3944);
level.grnd_dropZones["mp_carbon"][13] = (-228, -4535, 3975);
level.grnd_dropZones["mp_carbon"][14] = (-257, -3865, 3956);
level.grnd_dropZones["mp_carbon"][15] = (-215, -3260, 3967);
level.grnd_dropZones["mp_carbon"][16] = (-535, -3798, 3966);
level.grnd_dropZones["mp_hardhat"][0] = (2035, -229, 246);
level.grnd_dropZones["mp_hardhat"][1] = (1959, -772, 352);
level.grnd_dropZones["mp_hardhat"][2] = (1883, -1384, 351);
level.grnd_dropZones["mp_hardhat"][3] = (848, -1520, 334);
level.grnd_dropZones["mp_hardhat"][4] = (1326, -1380, 342);
level.grnd_dropZones["mp_hardhat"][5] = (-338, -1273, 34;
level.grnd_dropZones["mp_hardhat"][6] = (-821, -884, 34;
level.grnd_dropZones["mp_hardhat"][7] = (-920, -290, 230);
level.grnd_dropZones["mp_hardhat"][8] = (-463, -250, 333);
level.grnd_dropZones["mp_hardhat"][9] = (-741, 208, 245);
level.grnd_dropZones["mp_hardhat"][10] = (-201, 806, 437);
level.grnd_dropZones["mp_hardhat"][11] = (224, 980, 436);
level.grnd_dropZones["mp_hardhat"][12] = (1125, 656, 255);
level.grnd_dropZones["mp_hardhat"][13] = (1531, 1241, 364);
level.grnd_dropZones["mp_hardhat"][14] = (1522, 542, 244);
level.grnd_dropZones["mp_alpha"][0] = (-1979, 1653, 14;
level.grnd_dropZones["mp_alpha"][1] = (-1392, 1623, 60);
level.grnd_dropZones["mp_alpha"][2] = (-1697, 1205, 52);
level.grnd_dropZones["mp_alpha"][3] = (-1671, 692, 54);
level.grnd_dropZones["mp_alpha"][4] = (-572, -272, 55);
level.grnd_dropZones["mp_alpha"][5] = (634, -345, 52);
level.grnd_dropZones["mp_alpha"][6] = (391, 121, 60);
level.grnd_dropZones["mp_alpha"][7] = (291, 1271, 60);
level.grnd_dropZones["mp_alpha"][8] = (-459, 868, 52);
level.grnd_dropZones["mp_alpha"][9] = (-353, 1334, 52);
level.grnd_dropZones["mp_alpha"][10] = (-37, 1637, 52);
level.grnd_dropZones["mp_alpha"][11] = (-5, 2226, 52);
level.grnd_dropZones["mp_alpha"][12] = (-407, 2198, 196);
level.grnd_dropZones["mp_village"][0] = (647, 1891, 332);
level.grnd_dropZones["mp_village"][1] = (-26, 1749, 334);
level.grnd_dropZones["mp_village"][2] = (104, 1292, 323);
level.grnd_dropZones["mp_village"][3] = (-1064, 1552, 322);
level.grnd_dropZones["mp_village"][4] = (-599, 886, 37;
level.grnd_dropZones["mp_village"][5] = (-1038, 569, 317);
level.grnd_dropZones["mp_village"][6] = (-1899, 1217, 336);
level.grnd_dropZones["mp_village"][7] = (-1540, 289, 304);
level.grnd_dropZones["mp_village"][8] = (-454, -277, 270);
level.grnd_dropZones["mp_village"][9] = (-1734, -790, 365);
level.grnd_dropZones["mp_village"][10] = (-1418, -1371, 431);
level.grnd_dropZones["mp_village"][11] = (-928, -749, 417);
level.grnd_dropZones["mp_village"][12] = (-861, -2105, 40;
level.grnd_dropZones["mp_village"][13] = (-191, -1550, 400);
level.grnd_dropZones["mp_village"][14] = (357, -678, 245);
level.grnd_dropZones["mp_village"][15] = (-216, 295, 223);
level.grnd_dropZones["mp_village"][16] = (162, -199, 229);
level.grnd_dropZones["mp_village"][17] = (179, -3052, 447);
level.grnd_dropZones["mp_village"][18] = (510, -1790, 375);
level.grnd_dropZones["mp_village"][19] = (1089, -615, 39;
level.grnd_dropZones["mp_village"][20] = (1631, 394, 297);
level.grnd_dropZones["mp_village"][21] = (1007, 1385, 337);
level.grnd_dropZones["mp_village"][22] = (992, 248, 330);
level.grnd_dropZones["mp_village"][23] = (551, 732, 386);
level.grnd_dropZones["mp_lambeth"][0] = (-293, -1286, -180);
level.grnd_dropZones["mp_lambeth"][1] = (-938, -785, -130);
level.grnd_dropZones["mp_lambeth"][2] = (-375, -250, -187);
level.grnd_dropZones["mp_lambeth"][3] = (-355, 409, -196);
level.grnd_dropZones["mp_lambeth"][4] = (161, -5, -181);
level.grnd_dropZones["mp_lambeth"][5] = (682, -407, -197);
level.grnd_dropZones["mp_lambeth"][6] = (694, 263, -196);
level.grnd_dropZones["mp_lambeth"][7] = (690, 1158, -243);
level.grnd_dropZones["mp_lambeth"][8] = (1181, 801, -67);
level.grnd_dropZones["mp_lambeth"][9] = (1281, 1248, -257);
level.grnd_dropZones["mp_lambeth"][10] = (2057, 757, -249);
level.grnd_dropZones["mp_lambeth"][11] = (1470, -1040, -109);
level.grnd_dropZones["mp_lambeth"][12] = (1761, -258, -210);
level.grnd_dropZones["mp_lambeth"][13] = (2800, -652, -186);
level.grnd_dropZones["mp_lambeth"][14] = (2785, 445, -244);
level.grnd_dropZones["mp_lambeth"][15] = (2751, 1090, -263);
level.grnd_dropZones["mp_lambeth"][16] = (1535, 1980, -214);
level.grnd_dropZones["mp_lambeth"][17] = (1262, 2602, -213);
level.grnd_dropZones["mp_lambeth"][18] = (419, 2218, -183);
level.grnd_dropZones["mp_lambeth"][19] = (170, 1631, -182);
level.grnd_dropZones["mp_lambeth"][20] = (-606, 1549, -201);
level.grnd_dropZones["mp_lambeth"][21] = (-1199, 1030, -196);
level.grnd_dropZones["mp_radar"][0] = (-3482, -498, 1222);
level.grnd_dropZones["mp_radar"][1] = (-4263, -124, 1229);
level.grnd_dropZones["mp_radar"][2] = (-4006, 827, 123;
level.grnd_dropZones["mp_radar"][3] = (-3375, 342, 1222);
level.grnd_dropZones["mp_radar"][4] = (-4623, 531, 129;
level.grnd_dropZones["mp_radar"][5] = (-5157, 877, 1200);
level.grnd_dropZones["mp_radar"][6] = (-5950, 1071, 1305);
level.grnd_dropZones["mp_radar"][7] = (-6509, 1660, 1299);
level.grnd_dropZones["mp_radar"][8] = (-7013, 2955, 1359);
level.grnd_dropZones["mp_radar"][9] = (-6333, 3473, 1421);
level.grnd_dropZones["mp_radar"][10] = (-5675, 2923, 138;
level.grnd_dropZones["mp_radar"][11] = (-7119, 4357, 1380);
level.grnd_dropZones["mp_radar"][12] = (-5487, 4077, 1356);
level.grnd_dropZones["mp_radar"][13] = (-5736, 2960, 1407);
level.grnd_dropZones["mp_radar"][14] = (-4908, 3281, 1225);
level.grnd_dropZones["mp_radar"][15] = (-4421, 4071, 126;
level.grnd_dropZones["mp_radar"][16] = (-4979, 1816, 1205);
level.grnd_dropZones["mp_radar"][17] = (-4874, 2306, 1223);
level.grnd_dropZones["mp_interchange"][0] = (2465, -402, 149);
level.grnd_dropZones["mp_interchange"][1] = (2128, 199, 6;
level.grnd_dropZones["mp_interchange"][2] = (1280, 1263, 126);
level.grnd_dropZones["mp_interchange"][3] = (762, 1747, 114);
level.grnd_dropZones["mp_interchange"][4] = (-9, 1836, 3;
level.grnd_dropZones["mp_interchange"][5] = (-284, 1171, 159);
level.grnd_dropZones["mp_interchange"][6] = (-1028, 944, 31);
level.grnd_dropZones["mp_interchange"][7] = (-256, 264, 126);
level.grnd_dropZones["mp_interchange"][8] = (462, -463, 15;
level.grnd_dropZones["mp_interchange"][9] = (1029, -1045, 179);
level.grnd_dropZones["mp_interchange"][10] = (1760, -1434, 142);
level.grnd_dropZones["mp_interchange"][11] = (1538, -361, 142);
level.grnd_dropZones["mp_interchange"][12] = (1150, -2977, 171);
level.grnd_dropZones["mp_interchange"][13] = (371, -2883, 209);
level.grnd_dropZones["mp_interchange"][14] = (399, -2149, 220);
level.grnd_dropZones["mp_underground"][0] = (-602, 3072, -6;
level.grnd_dropZones["mp_underground"][1] = (-285, 2551, -215);
level.grnd_dropZones["mp_underground"][2] = (574, 2656, -40);
level.grnd_dropZones["mp_underground"][3] = (-627, 1579, -196);
level.grnd_dropZones["mp_underground"][4] = (28, 1556, -196);
level.grnd_dropZones["mp_underground"][5] = (727, 1615, -196);
level.grnd_dropZones["mp_underground"][6] = (-1491, 1268, -196);
level.grnd_dropZones["mp_underground"][7] = (-1370, 1757, -196);
level.grnd_dropZones["mp_underground"][8] = (-1259, 599, -156);
level.grnd_dropZones["mp_underground"][9] = (-959, -26, 60);
level.grnd_dropZones["mp_underground"][10] = (-303, -562, 60);
level.grnd_dropZones["mp_underground"][11] = (193, -922, 60);
level.grnd_dropZones["mp_underground"][12] = (305, 817, -6;
level.grnd_dropZones["mp_underground"][13] = (-276, 370, -6;
level.grnd_dropZones["mp_bravo"][0] = (-1359, 608, 975);
level.grnd_dropZones["mp_bravo"][1] = (-1686, 313, 991);
level.grnd_dropZones["mp_bravo"][2] = (-1228, 41, 976);
level.grnd_dropZones["mp_bravo"][3] = (-732, -715, 1032);
level.grnd_dropZones["mp_bravo"][4] = (31, -771, 103;
level.grnd_dropZones["mp_bravo"][5] = (986, -833, 1116);
level.grnd_dropZones["mp_bravo"][6] = (1800, -577, 1229);
level.grnd_dropZones["mp_bravo"][7] = (1588, -55, 1181);
level.grnd_dropZones["mp_bravo"][8] = (619, 916, 1175);
level.grnd_dropZones["mp_bravo"][9] = (-129, 1310, 122;
level.grnd_dropZones["mp_bravo"][10] = (-726, 1272, 126;
level.grnd_dropZones["mp_bravo"][11] = (-741, 752, 1053);
level.grnd_dropZones["mp_bravo"][12] = (6, -136, 1282);
}
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.