Post: [Release] Dropzone for MW2! (All GSC)
02-21-2012, 05:46 AM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Hello the time you haven't been waiting for hasn't come yet, because of a paradox in secion 4A of the universe!

The reason I am releasing this is because so many people PM'd me asking for it, and I got annoying :lol:
There are still some bugs that I can't figure out, so any other peepz out there can try and fix em(only like 1 bug)

This was just made for my patch, so be sure to check it out and maybe use it? :3
You must login or register to view this content.

get ready for orgasm:

Add this to Init:
    
maps\mp\gametypes\_rank::registerScoreInfo( "kill", 50 );
maps\mp\gametypes\_rank::registerScoreInfo( "headshot", 100 );
maps\mp\gametypes\_rank::registerScoreInfo( "assist", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "capture", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "defend", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "assault", 20 );
allowed[0] = level.gameType;
allowed[1] = "tdm";
maps\mp\gametypes\_gameobjects::main(allowed);
game["dialog"]["gametype"] = "domination";
game["dialog"]["offense_obj"] = "capture_objs";
game["dialog"]["defense_obj"] = "capture_objs";
precacheShader( "waypoint_captureneutral" );
precacheShader( "waypoint_capture" );
precacheShader( "waypoint_defend" );
level._effect["spotlight_fx"] = loadfx("smoke/signal_smoke_airdrop");
level.dropZoneCPRadius = 72; //distance to obtain carepackage
level.dropZoneRadius = 250; //distance to DZ
level.dropTime = 15; //time in seconds for drop after control.
level.nextDrop = 60; // 60 def: time between drops
level.dzLoc = level getMap();
level.dzCur = level.dzLoc[0];
level thread cycleZones();


Add this to onPlayerConnect():
    
player thread iniHud();
if( !level.started )
{
gameFlagWait( "prematch_done" );
level.dzCapText["allies"].alpha = 1;
level.dzCapText["axis"].alpha = 1;
}


Add this to onPlayerSpawned():
    
self setClientDvar( "cg_objectiveText", "Capture the Drop Zone" );
self thread getLoc();
self thread welcome();
if ( !isDefined( self.inZone ) )
{
if ( !level.started )
{
gameFlagWait( "prematch_done" );
level notify("dropzone_spawned");
level.started = true;
level thread carepackageDrop();
level thread locationScoring();
}
}


Add this shit anywhere:
    


initHUDIcons( player )
{
// create marker
level.dzCur2 = spawn( "script_model", level.dzCur );
level.dzCur2.origin = level.dzCur;
level.dzCur2.angles = ( 90, 0, 0 );
level.dzCur2 thread stopDropZoneItems();

// hud icon
player.dzHeadIcon = level.dzCur2 maps\mp\_entityheadIcons::setHeadIcon( player, "waypoint_captureneutral", (0,0,100), 14, 14, undefined, undefined, undefined, undefined, undefined, false );

// minimap waypoint
objective_add( player.dzMapIcon, "invisible", (0,0,0) );
objective_OnEntity( player.dzMapIcon, level.dzCur2 );
objective_icon( player.dzMapIcon, "waypoint_captureneutral" );
objective_state( player.dzMapIcon, "active" );

}

cycleZones()
{
for(i = 0; i < level.dzLoc.size; i++)
{
level waittill("dropzone_spawned");
level.dzCur = level.dzLoc[i];
foreach(p in level.players)
{
objective_state( p.dzMapIcon, "invisible" );
p.dzMapCurIcon[i] = maps\mp\gametypes\_gameobjects::getNextObjID();
p.dzMapIcon = p.dzMapCurIcon[i];
p playSound( "flag_spawned" );
p thread dropZoneChanged();
p thread dropZoneSpawned();
p thread dropZoneThreshold();
level thread initHUDIcons( p );
}
}
}

iniHud()
{
level.dzCapText["allies"] = self createTeamCounterText("Allies",-100,(0,0,1));
level.dzCapText["axis"] = self createTeamCounterText("Axis",-80,(1,0,0));
ct1 = self createTeamCounterData(-99);
ct2 = self createTeamCounterData(-79);
for(;Winky Winky
{
ct1 setText(level.numPlayers["allies"]);
ct2 setText(level.numPlayers["axis"]);
wait 0.1;
}
}

createTeamCounterText(team,offset,color)
{
numPlayersText = createServerFontString( "default", 1.6 );
numPlayersText setPoint( "LEFT", "LEFT", 10, offset );
numPlayersText.sort = 1001;
numPlayersText.foreground = false;
numPlayersText.hidewheninmenu = true;
numPlayersText setText( team + ": " );
numPlayersText.alpha = 0;
numPlayersText.glowAlpha = 1;
numPlayersText.glowColor = color;
return numPlayersText;
}

createTeamCounterData(y)
{
numPlayersText = createServerFontString( "default", 1.6 );
numPlayersText setPoint( "LEFT", "LEFT", 55, y );
numPlayersText.sort = 1001;
numPlayersText.foreground = false;
numPlayersText.hidewheninmenu = true;
return numPlayersText;
}

dropZoneChanged()
{
level endon("dropzone_changed");
self setLowerMessage( "objective_start", "^3Next Drop Zone In: ", level.nextDrop, 100 );
wait level.nextDrop;
self clearLowerMessage( "objective_start" );
level notify("dropzone_spawned");

initialScores["axis"] = 0;
initialScores["allies"] = 0;

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" );
}
}

dropZoneSpawned()
{
level thread objectiveLoopSmoke(level._effect["spotlight_fx"], (level.dzCur) + (0,0,-5));
}

dropZoneThreshold()
{
level endon("dropzone_spawned");
for(;Winky Winky
{
radius=distance2D(self.origin,level.dzCur);
if(radius<=level.dropZoneRadius)
{
self thread maps\mp\gametypes\_rank::giveRankXP( "assist" );
maps\mp\gametypes\_gamescore::givePlayerScore( "assist", self );
self.inZone = true;
}
wait 2;
}
}

objectiveLoopSmoke(fx, location)
{
self endon("dropzone_spawned");
for(;Winky Winky
{
smoke = spawnFX(fx, location);
smoke.angles = (0,90,0);
triggerFX(smoke);
smoke thread stopDropZoneItems();
wait 4;
}
}

objectiveSmoke(fx, location) //level.spawnGlow["enemy"]
{
smoke = spawnFX(fx, location);
triggerFX(smoke);
smoke thread stopDropZoneItems();
}

stopDropZoneItems()
{
level waittill("dropzone_spawned");
self delete();
}

getLoc() //testing purposes to find origin
{
self endon("death");
self notifyOnPlayerCommand("loc", "+actionslot 1");
for(;Winky Winky
{
self waittill("loc");
self sayall(self.origin);
}
}

locationScoring()
{
level endon( "game_ended" );
score = maps\mp\gametypes\_rank::getScoreInfoValue( "assist" );
while(1)
{
level.numPlayers["axis"] = 0;
level.numPlayers["allies"] = 0;

// score
foreach( player in level.players )
{
if ( isAlive( player ) && distance2D( level.dzCur, player.origin ) < level.dropZoneRadius )
{
level.numPlayers[player.pers["team"]]++;
//player.inGrindZonePoints += score;
}
}
if ( level.numPlayers["axis"] )
maps\mp\gametypes\_gamescore::giveTeamScoreForObjective( "axis", score * level.numPlayers["axis"] );
if ( level.numPlayers["allies"] )
maps\mp\gametypes\_gamescore::giveTeamScoreForObjective( "allies", score * level.numPlayers["allies"] );

// waypoints and compasspings
if ( level.numPlayers["axis"] == level.numPlayers["allies"] )
{
foreach( player in level.players )
{
if ( isDefined( player.inZone ) )
{
player.dzHeadIcon setShader( "waypoint_captureneutral", 14, 14 );
player.dzHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.dzMapIcon, "waypoint_captureneutral" );
}
}
}
else
{
foreach( player in level.players )
{
if ( isDefined( player.inZone ) )
{
if ( level.numPlayers[player.pers["team"]] > level.numPlayers[level.otherTeam[player.pers["team"]]] )
{
player.dzHeadIcon setShader( "waypoint_defend", 14, 14 );
player.dzHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.dzMapIcon, "waypoint_defend" );
}
else
{
player.dzHeadIcon setShader( "waypoint_capture", 14, 14 );
player.dzHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.dzMapIcon, "waypoint_capture" );
}
}
}
}

maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( 1.0 );
}
}

carepackageDrop()
{
while(1)
{
foreach( player in level.players )
{
if(isAlive( player ) && distance2D( level.dzCur, player.origin ) < level.dropZoneRadius && level.numPlayers[player.pers["team"]] > level.numPlayers[level.otherTeam[player.pers["team"]]])
{
wait level.dropTime;
if ( isAlive( player ) && distance2D( level.dzCur, player.origin ) < level.dropZoneCPRadius && level.numPlayers[player.pers["team"]] > level.numPlayers[level.otherTeam[player.pers["team"]]])
{
team = player.team;
thread leaderDialog( team + "_friendly_airdop_inbound", team );
thread leaderDialog( team + "_enemy_airdrop_inbound", level.otherTeam[ team ] );
thread teamPlayerCardSplash("used_airdrop_mega", player);
level thread maps\mp\killstreaks\_airdrop::doFlyBy( player, level.dzCur, randomFloat( 360 ), "airdrop", 0, "sentry" );
}
}
}
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( 1.0 );
}
}



Add this to maps/mp/_utility:
    
getMap()
{
switch(GetDvar("mapname"))
{
case "mp_afghan":
flag[0] = (1873.03,1007.99,41.7522);
flag[1] = (3653.04,750.33,71.4511);
flag[2] = (-618.609,1539.52,191.944);
flag[3] = (1652.03,3086.35,269.142);
flag[4] = (397.932,-346.019,-22.245);
flag[5] = (3406.11, -2.50847, 146.34);
flag[6] = (3296, 2534.07, -31.5903);
flag[7] = (63.0153, 2387.93, 159.35Cool Man (aka Tustin);
flag[8] = (-618.609,1539.52,191.944);
flag[9] = (3406.11, -2.50847, 146.34);
return flag;
case "mp_rust":
flag[0] = (1090.17,1068.67,-240.819); //location of dz
flag[1] = (287.745,578.596,-196.875);
flag[2] = (706.159,1074.4,266.16Cool Man (aka Tustin);
flag[3] = (-33.1863,1384.21,-128.462);
flag[4] = (1551.59,-151.441,-227.256);
return flag;
case "mp_terminal":
flag[0] = (1072.22, 4893.93, 192.125);
flag[1] = (2443.69, 3696.27, 48.125);
flag[2] = (255.136, 3645.81, 40.125);
flag[3] = (880.1, 6171.56, 192.125);
flag[4] = (2432.66, 5895.08, 192.125);
flag[5] = (1149.91, 3528.64, 40.125);
flag[6] = (2429.23, 2960.82, 40.125);
flag[7] = (1494.14, 4062.87, 304.125);
flag[8] = (347.555, 2912.03, 40.125);
flag[9] = (183.803, 5753.7, 192.125);
return flag;
case "mp_subbase":
break;
case "mp_boneyard":
break;
case "mp_nightshift":
break;
case "mp_highrise":
break;
}
}

welcome()
{
notifyData = spawnstruct();
notifyData.iconName = "cardicon_prestige10_02";
notifyData.titleText = "Dropzone";
notifyData.notifyText = "version: 0.8";
notifyData.notifyText2 = "by SatanicHispanic";
notifyData.glowColor = (1,0,0);
notifyData.duration = 7;
notifyData.font = "default";
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
}



go ahead and make it better, just leave credits Smile
(adsbygoogle = window.adsbygoogle || []).push({});

The following 8 users say thank you to Jakes625 for this useful post:

iTruceFret, IVI40A3Fusionz, KCxFTW, KingcreekS, LightModz, pansona_214, Cmd-X, xChronicModz
02-21-2012, 01:08 PM #11
Originally posted by mattyjkilledme View Post
gd job bro will b addin keep up the good work + its only for 3 maps by the look off it ??


Yeah haha, just add the coordinates of the flags in there and it'll all work out.
02-21-2012, 01:45 PM #12
KCxFTW
Who’s Jim Erased?
Originally posted by SatanicHispanic View Post
Hello the time you haven't been waiting for hasn't come yet, because of a paradox in secion 4A of the universe!

The reason I am releasing this is because so many people PM'd me asking for it, and I got annoying :lol:
There are still some bugs that I can't figure out, so any other peepz out there can try and fix em(only like 1 bug)

This was just made for my patch, so be sure to check it out and maybe use it? :3
You must login or register to view this content.

get ready for orgasm:

Add this to Init:
    
maps\mp\gametypes\_rank::registerScoreInfo( "kill", 50 );
maps\mp\gametypes\_rank::registerScoreInfo( "headshot", 100 );
maps\mp\gametypes\_rank::registerScoreInfo( "assist", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "capture", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "defend", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "assault", 20 );
allowed[0] = level.gameType;
allowed[1] = "tdm";
maps\mp\gametypes\_gameobjects::main(allowed);
game["dialog"]["gametype"] = "domination";
game["dialog"]["offense_obj"] = "capture_objs";
game["dialog"]["defense_obj"] = "capture_objs";
precacheShader( "waypoint_captureneutral" );
precacheShader( "waypoint_capture" );
precacheShader( "waypoint_defend" );
level._effect["spotlight_fx"] = loadfx("smoke/signal_smoke_airdrop");
level.dropZoneCPRadius = 72; //distance to obtain carepackage
level.dropZoneRadius = 250; //distance to DZ
level.dropTime = 15; //time in seconds for drop after control.
level.nextDrop = 60; // 60 def: time between drops
level.dzLoc = level getMap();
level.dzCur = level.dzLoc[0];
level thread cycleZones();


Add this to onPlayerConnect():
    
player thread iniHud();
if( !level.started )
{
gameFlagWait( "prematch_done" );
level.dzCapText["allies"].alpha = 1;
level.dzCapText["axis"].alpha = 1;
}


Add this to onPlayerSpawned():
    
self setClientDvar( "cg_objectiveText", "Capture the Drop Zone" );
self thread getLoc();
self thread welcome();
if ( !isDefined( self.inZone ) )
{
if ( !level.started )
{
gameFlagWait( "prematch_done" );
level notify("dropzone_spawned");
level.started = true;
level thread carepackageDrop();
level thread locationScoring();
}
}


Add this shit anywhere:
    


initHUDIcons( player )
{
// create marker
level.dzCur2 = spawn( "script_model", level.dzCur );
level.dzCur2.origin = level.dzCur;
level.dzCur2.angles = ( 90, 0, 0 );
level.dzCur2 thread stopDropZoneItems();

// hud icon
player.dzHeadIcon = level.dzCur2 maps\mp\_entityheadIcons::setHeadIcon( player, "waypoint_captureneutral", (0,0,100), 14, 14, undefined, undefined, undefined, undefined, undefined, false );

// minimap waypoint
objective_add( player.dzMapIcon, "invisible", (0,0,0) );
objective_OnEntity( player.dzMapIcon, level.dzCur2 );
objective_icon( player.dzMapIcon, "waypoint_captureneutral" );
objective_state( player.dzMapIcon, "active" );

}

cycleZones()
{
for(i = 0; i < level.dzLoc.size; i++)
{
level waittill("dropzone_spawned");
level.dzCur = level.dzLoc[i];
foreach(p in level.players)
{
objective_state( p.dzMapIcon, "invisible" );
p.dzMapCurIcon[i] = maps\mp\gametypes\_gameobjects::getNextObjID();
p.dzMapIcon = p.dzMapCurIcon[i];
p playSound( "flag_spawned" );
p thread dropZoneChanged();
p thread dropZoneSpawned();
p thread dropZoneThreshold();
level thread initHUDIcons( p );
}
}
}

iniHud()
{
level.dzCapText["allies"] = self createTeamCounterText("Allies",-100,(0,0,1));
level.dzCapText["axis"] = self createTeamCounterText("Axis",-80,(1,0,0));
ct1 = self createTeamCounterData(-99);
ct2 = self createTeamCounterData(-79);
for(;Winky Winky
{
ct1 setText(level.numPlayers["allies"]);
ct2 setText(level.numPlayers["axis"]);
wait 0.1;
}
}

createTeamCounterText(team,offset,color)
{
numPlayersText = createServerFontString( "default", 1.6 );
numPlayersText setPoint( "LEFT", "LEFT", 10, offset );
numPlayersText.sort = 1001;
numPlayersText.foreground = false;
numPlayersText.hidewheninmenu = true;
numPlayersText setText( team + ": " );
numPlayersText.alpha = 0;
numPlayersText.glowAlpha = 1;
numPlayersText.glowColor = color;
return numPlayersText;
}

createTeamCounterData(y)
{
numPlayersText = createServerFontString( "default", 1.6 );
numPlayersText setPoint( "LEFT", "LEFT", 55, y );
numPlayersText.sort = 1001;
numPlayersText.foreground = false;
numPlayersText.hidewheninmenu = true;
return numPlayersText;
}

dropZoneChanged()
{
level endon("dropzone_changed");
self setLowerMessage( "objective_start", "^3Next Drop Zone In: ", level.nextDrop, 100 );
wait level.nextDrop;
self clearLowerMessage( "objective_start" );
level notify("dropzone_spawned");

initialScores["axis"] = 0;
initialScores["allies"] = 0;

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" );
}
}

dropZoneSpawned()
{
level thread objectiveLoopSmoke(level._effect["spotlight_fx"], (level.dzCur) + (0,0,-5));
}

dropZoneThreshold()
{
level endon("dropzone_spawned");
for(;Winky Winky
{
radius=distance2D(self.origin,level.dzCur);
if(radius<=level.dropZoneRadius)
{
self thread maps\mp\gametypes\_rank::giveRankXP( "assist" );
maps\mp\gametypes\_gamescore::givePlayerScore( "assist", self );
self.inZone = true;
}
wait 2;
}
}

objectiveLoopSmoke(fx, location)
{
self endon("dropzone_spawned");
for(;Winky Winky
{
smoke = spawnFX(fx, location);
smoke.angles = (0,90,0);
triggerFX(smoke);
smoke thread stopDropZoneItems();
wait 4;
}
}

objectiveSmoke(fx, location) //level.spawnGlow["enemy"]
{
smoke = spawnFX(fx, location);
triggerFX(smoke);
smoke thread stopDropZoneItems();
}

stopDropZoneItems()
{
level waittill("dropzone_spawned");
self delete();
}

getLoc() //testing purposes to find origin
{
self endon("death");
self notifyOnPlayerCommand("loc", "+actionslot 1");
for(;Winky Winky
{
self waittill("loc");
self sayall(self.origin);
}
}

locationScoring()
{
level endon( "game_ended" );
score = maps\mp\gametypes\_rank::getScoreInfoValue( "assist" );
while(1)
{
level.numPlayers["axis"] = 0;
level.numPlayers["allies"] = 0;

// score
foreach( player in level.players )
{
if ( isAlive( player ) && distance2D( level.dzCur, player.origin ) < level.dropZoneRadius )
{
level.numPlayers[player.pers["team"]]++;
//player.inGrindZonePoints += score;
}
}
if ( level.numPlayers["axis"] )
maps\mp\gametypes\_gamescore::giveTeamScoreForObjective( "axis", score * level.numPlayers["axis"] );
if ( level.numPlayers["allies"] )
maps\mp\gametypes\_gamescore::giveTeamScoreForObjective( "allies", score * level.numPlayers["allies"] );

// waypoints and compasspings
if ( level.numPlayers["axis"] == level.numPlayers["allies"] )
{
foreach( player in level.players )
{
if ( isDefined( player.inZone ) )
{
player.dzHeadIcon setShader( "waypoint_captureneutral", 14, 14 );
player.dzHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.dzMapIcon, "waypoint_captureneutral" );
}
}
}
else
{
foreach( player in level.players )
{
if ( isDefined( player.inZone ) )
{
if ( level.numPlayers[player.pers["team"]] > level.numPlayers[level.otherTeam[player.pers["team"]]] )
{
player.dzHeadIcon setShader( "waypoint_defend", 14, 14 );
player.dzHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.dzMapIcon, "waypoint_defend" );
}
else
{
player.dzHeadIcon setShader( "waypoint_capture", 14, 14 );
player.dzHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.dzMapIcon, "waypoint_capture" );
}
}
}
}

maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( 1.0 );
}
}

carepackageDrop()
{
while(1)
{
foreach( player in level.players )
{
if(isAlive( player ) && distance2D( level.dzCur, player.origin ) < level.dropZoneRadius && level.numPlayers[player.pers["team"]] > level.numPlayers[level.otherTeam[player.pers["team"]]])
{
wait level.dropTime;
if ( isAlive( player ) && distance2D( level.dzCur, player.origin ) < level.dropZoneCPRadius && level.numPlayers[player.pers["team"]] > level.numPlayers[level.otherTeam[player.pers["team"]]])
{
team = player.team;
thread leaderDialog( team + "_friendly_airdop_inbound", team );
thread leaderDialog( team + "_enemy_airdrop_inbound", level.otherTeam[ team ] );
thread teamPlayerCardSplash("used_airdrop_mega", player);
level thread maps\mp\killstreaks\_airdrop::doFlyBy( player, level.dzCur, randomFloat( 360 ), "airdrop", 0, "sentry" );
}
}
}
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( 1.0 );
}
}



Add this to maps/mp/_utility:
    
getMap()
{
switch(GetDvar("mapname"))
{
case "mp_afghan":
flag[0] = (1873.03,1007.99,41.7522);
flag[1] = (3653.04,750.33,71.4511);
flag[2] = (-618.609,1539.52,191.944);
flag[3] = (1652.03,3086.35,269.142);
flag[4] = (397.932,-346.019,-22.245);
flag[5] = (3406.11, -2.50847, 146.34);
flag[6] = (3296, 2534.07, -31.5903);
flag[7] = (63.0153, 2387.93, 159.35Cool Man (aka Tustin);
flag[8] = (-618.609,1539.52,191.944);
flag[9] = (3406.11, -2.50847, 146.34);
return flag;
case "mp_rust":
flag[0] = (1090.17,1068.67,-240.819); //location of dz
flag[1] = (287.745,578.596,-196.875);
flag[2] = (706.159,1074.4,266.16Cool Man (aka Tustin);
flag[3] = (-33.1863,1384.21,-128.462);
flag[4] = (1551.59,-151.441,-227.256);
return flag;
case "mp_terminal":
flag[0] = (1072.22, 4893.93, 192.125);
flag[1] = (2443.69, 3696.27, 48.125);
flag[2] = (255.136, 3645.81, 40.125);
flag[3] = (880.1, 6171.56, 192.125);
flag[4] = (2432.66, 5895.08, 192.125);
flag[5] = (1149.91, 3528.64, 40.125);
flag[6] = (2429.23, 2960.82, 40.125);
flag[7] = (1494.14, 4062.87, 304.125);
flag[8] = (347.555, 2912.03, 40.125);
flag[9] = (183.803, 5753.7, 192.125);
return flag;
case "mp_subbase":
break;
case "mp_boneyard":
break;
case "mp_nightshift":
break;
case "mp_highrise":
break;
}
}

welcome()
{
notifyData = spawnstruct();
notifyData.iconName = "cardicon_prestige10_02";
notifyData.titleText = "Dropzone";
notifyData.notifyText = "version: 0.8";
notifyData.notifyText2 = "by SatanicHispanic";
notifyData.glowColor = (1,0,0);
notifyData.duration = 7;
notifyData.font = "default";
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
}



go ahead and make it better, just leave credits Smile


Great job! Smile Keep up with the awesome releases!
02-21-2012, 01:47 PM #13
vRoyale
Are you high?
Wow nice Job, Thats pretty creative Winky Winky
02-21-2012, 10:02 PM #14
Originally posted by Miaad20 View Post
Wow nice Job, Thats pretty creative Winky Winky


haha IW idea, just me creating it :P
02-21-2012, 10:19 PM #15
sexy as fuhhh do you want me to finish the flag spawnpoints for subbase etc..
Originally posted by SatanicHispanic View Post
Hello the time you haven't been waiting for hasn't come yet, because of a paradox in secion 4A of the universe!

The reason I am releasing this is because so many people PM'd me asking for it, and I got annoying :lol:
There are still some bugs that I can't figure out, so any other peepz out there can try and fix em(only like 1 bug)

This was just made for my patch, so be sure to check it out and maybe use it? :3
You must login or register to view this content.

get ready for orgasm:

Add this to Init:
    
maps\mp\gametypes\_rank::registerScoreInfo( "kill", 50 );
maps\mp\gametypes\_rank::registerScoreInfo( "headshot", 100 );
maps\mp\gametypes\_rank::registerScoreInfo( "assist", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "capture", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "defend", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "assault", 20 );
allowed[0] = level.gameType;
allowed[1] = "tdm";
maps\mp\gametypes\_gameobjects::main(allowed);
game["dialog"]["gametype"] = "domination";
game["dialog"]["offense_obj"] = "capture_objs";
game["dialog"]["defense_obj"] = "capture_objs";
precacheShader( "waypoint_captureneutral" );
precacheShader( "waypoint_capture" );
precacheShader( "waypoint_defend" );
level._effect["spotlight_fx"] = loadfx("smoke/signal_smoke_airdrop");
level.dropZoneCPRadius = 72; //distance to obtain carepackage
level.dropZoneRadius = 250; //distance to DZ
level.dropTime = 15; //time in seconds for drop after control.
level.nextDrop = 60; // 60 def: time between drops
level.dzLoc = level getMap();
level.dzCur = level.dzLoc[0];
level thread cycleZones();


Add this to onPlayerConnect():
    
player thread iniHud();
if( !level.started )
{
gameFlagWait( "prematch_done" );
level.dzCapText["allies"].alpha = 1;
level.dzCapText["axis"].alpha = 1;
}


Add this to onPlayerSpawned():
    
self setClientDvar( "cg_objectiveText", "Capture the Drop Zone" );
self thread getLoc();
self thread welcome();
if ( !isDefined( self.inZone ) )
{
if ( !level.started )
{
gameFlagWait( "prematch_done" );
level notify("dropzone_spawned");
level.started = true;
level thread carepackageDrop();
level thread locationScoring();
}
}


Add this shit anywhere:
    


initHUDIcons( player )
{
// create marker
level.dzCur2 = spawn( "script_model", level.dzCur );
level.dzCur2.origin = level.dzCur;
level.dzCur2.angles = ( 90, 0, 0 );
level.dzCur2 thread stopDropZoneItems();

// hud icon
player.dzHeadIcon = level.dzCur2 maps\mp\_entityheadIcons::setHeadIcon( player, "waypoint_captureneutral", (0,0,100), 14, 14, undefined, undefined, undefined, undefined, undefined, false );

// minimap waypoint
objective_add( player.dzMapIcon, "invisible", (0,0,0) );
objective_OnEntity( player.dzMapIcon, level.dzCur2 );
objective_icon( player.dzMapIcon, "waypoint_captureneutral" );
objective_state( player.dzMapIcon, "active" );

}

cycleZones()
{
for(i = 0; i < level.dzLoc.size; i++)
{
level waittill("dropzone_spawned");
level.dzCur = level.dzLoc[i];
foreach(p in level.players)
{
objective_state( p.dzMapIcon, "invisible" );
p.dzMapCurIcon[i] = maps\mp\gametypes\_gameobjects::getNextObjID();
p.dzMapIcon = p.dzMapCurIcon[i];
p playSound( "flag_spawned" );
p thread dropZoneChanged();
p thread dropZoneSpawned();
p thread dropZoneThreshold();
level thread initHUDIcons( p );
}
}
}

iniHud()
{
level.dzCapText["allies"] = self createTeamCounterText("Allies",-100,(0,0,1));
level.dzCapText["axis"] = self createTeamCounterText("Axis",-80,(1,0,0));
ct1 = self createTeamCounterData(-99);
ct2 = self createTeamCounterData(-79);
for(;Winky Winky
{
ct1 setText(level.numPlayers["allies"]);
ct2 setText(level.numPlayers["axis"]);
wait 0.1;
}
}

createTeamCounterText(team,offset,color)
{
numPlayersText = createServerFontString( "default", 1.6 );
numPlayersText setPoint( "LEFT", "LEFT", 10, offset );
numPlayersText.sort = 1001;
numPlayersText.foreground = false;
numPlayersText.hidewheninmenu = true;
numPlayersText setText( team + ": " );
numPlayersText.alpha = 0;
numPlayersText.glowAlpha = 1;
numPlayersText.glowColor = color;
return numPlayersText;
}

createTeamCounterData(y)
{
numPlayersText = createServerFontString( "default", 1.6 );
numPlayersText setPoint( "LEFT", "LEFT", 55, y );
numPlayersText.sort = 1001;
numPlayersText.foreground = false;
numPlayersText.hidewheninmenu = true;
return numPlayersText;
}

dropZoneChanged()
{
level endon("dropzone_changed");
self setLowerMessage( "objective_start", "^3Next Drop Zone In: ", level.nextDrop, 100 );
wait level.nextDrop;
self clearLowerMessage( "objective_start" );
level notify("dropzone_spawned");

initialScores["axis"] = 0;
initialScores["allies"] = 0;

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" );
}
}

dropZoneSpawned()
{
level thread objectiveLoopSmoke(level._effect["spotlight_fx"], (level.dzCur) + (0,0,-5));
}

dropZoneThreshold()
{
level endon("dropzone_spawned");
for(;Winky Winky
{
radius=distance2D(self.origin,level.dzCur);
if(radius<=level.dropZoneRadius)
{
self thread maps\mp\gametypes\_rank::giveRankXP( "assist" );
maps\mp\gametypes\_gamescore::givePlayerScore( "assist", self );
self.inZone = true;
}
wait 2;
}
}

objectiveLoopSmoke(fx, location)
{
self endon("dropzone_spawned");
for(;Winky Winky
{
smoke = spawnFX(fx, location);
smoke.angles = (0,90,0);
triggerFX(smoke);
smoke thread stopDropZoneItems();
wait 4;
}
}

objectiveSmoke(fx, location) //level.spawnGlow["enemy"]
{
smoke = spawnFX(fx, location);
triggerFX(smoke);
smoke thread stopDropZoneItems();
}

stopDropZoneItems()
{
level waittill("dropzone_spawned");
self delete();
}

getLoc() //testing purposes to find origin
{
self endon("death");
self notifyOnPlayerCommand("loc", "+actionslot 1");
for(;Winky Winky
{
self waittill("loc");
self sayall(self.origin);
}
}

locationScoring()
{
level endon( "game_ended" );
score = maps\mp\gametypes\_rank::getScoreInfoValue( "assist" );
while(1)
{
level.numPlayers["axis"] = 0;
level.numPlayers["allies"] = 0;

// score
foreach( player in level.players )
{
if ( isAlive( player ) && distance2D( level.dzCur, player.origin ) < level.dropZoneRadius )
{
level.numPlayers[player.pers["team"]]++;
//player.inGrindZonePoints += score;
}
}
if ( level.numPlayers["axis"] )
maps\mp\gametypes\_gamescore::giveTeamScoreForObjective( "axis", score * level.numPlayers["axis"] );
if ( level.numPlayers["allies"] )
maps\mp\gametypes\_gamescore::giveTeamScoreForObjective( "allies", score * level.numPlayers["allies"] );

// waypoints and compasspings
if ( level.numPlayers["axis"] == level.numPlayers["allies"] )
{
foreach( player in level.players )
{
if ( isDefined( player.inZone ) )
{
player.dzHeadIcon setShader( "waypoint_captureneutral", 14, 14 );
player.dzHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.dzMapIcon, "waypoint_captureneutral" );
}
}
}
else
{
foreach( player in level.players )
{
if ( isDefined( player.inZone ) )
{
if ( level.numPlayers[player.pers["team"]] > level.numPlayers[level.otherTeam[player.pers["team"]]] )
{
player.dzHeadIcon setShader( "waypoint_defend", 14, 14 );
player.dzHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.dzMapIcon, "waypoint_defend" );
}
else
{
player.dzHeadIcon setShader( "waypoint_capture", 14, 14 );
player.dzHeadIcon setWaypoint( false, false, false, false );
objective_icon( player.dzMapIcon, "waypoint_capture" );
}
}
}
}

maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( 1.0 );
}
}

carepackageDrop()
{
while(1)
{
foreach( player in level.players )
{
if(isAlive( player ) && distance2D( level.dzCur, player.origin ) < level.dropZoneRadius && level.numPlayers[player.pers["team"]] > level.numPlayers[level.otherTeam[player.pers["team"]]])
{
wait level.dropTime;
if ( isAlive( player ) && distance2D( level.dzCur, player.origin ) < level.dropZoneCPRadius && level.numPlayers[player.pers["team"]] > level.numPlayers[level.otherTeam[player.pers["team"]]])
{
team = player.team;
thread leaderDialog( team + "_friendly_airdop_inbound", team );
thread leaderDialog( team + "_enemy_airdrop_inbound", level.otherTeam[ team ] );
thread teamPlayerCardSplash("used_airdrop_mega", player);
level thread maps\mp\killstreaks\_airdrop::doFlyBy( player, level.dzCur, randomFloat( 360 ), "airdrop", 0, "sentry" );
}
}
}
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( 1.0 );
}
}



Add this to maps/mp/_utility:
    
getMap()
{
switch(GetDvar("mapname"))
{
case "mp_afghan":
flag[0] = (1873.03,1007.99,41.7522);
flag[1] = (3653.04,750.33,71.4511);
flag[2] = (-618.609,1539.52,191.944);
flag[3] = (1652.03,3086.35,269.142);
flag[4] = (397.932,-346.019,-22.245);
flag[5] = (3406.11, -2.50847, 146.34);
flag[6] = (3296, 2534.07, -31.5903);
flag[7] = (63.0153, 2387.93, 159.35Cool Man (aka Tustin);
flag[8] = (-618.609,1539.52,191.944);
flag[9] = (3406.11, -2.50847, 146.34);
return flag;
case "mp_rust":
flag[0] = (1090.17,1068.67,-240.819); //location of dz
flag[1] = (287.745,578.596,-196.875);
flag[2] = (706.159,1074.4,266.16Cool Man (aka Tustin);
flag[3] = (-33.1863,1384.21,-128.462);
flag[4] = (1551.59,-151.441,-227.256);
return flag;
case "mp_terminal":
flag[0] = (1072.22, 4893.93, 192.125);
flag[1] = (2443.69, 3696.27, 48.125);
flag[2] = (255.136, 3645.81, 40.125);
flag[3] = (880.1, 6171.56, 192.125);
flag[4] = (2432.66, 5895.08, 192.125);
flag[5] = (1149.91, 3528.64, 40.125);
flag[6] = (2429.23, 2960.82, 40.125);
flag[7] = (1494.14, 4062.87, 304.125);
flag[8] = (347.555, 2912.03, 40.125);
flag[9] = (183.803, 5753.7, 192.125);
return flag;
case "mp_subbase":
break;
case "mp_boneyard":
break;
case "mp_nightshift":
break;
case "mp_highrise":
break;
}
}

welcome()
{
notifyData = spawnstruct();
notifyData.iconName = "cardicon_prestige10_02";
notifyData.titleText = "Dropzone";
notifyData.notifyText = "version: 0.8";
notifyData.notifyText2 = "by SatanicHispanic";
notifyData.glowColor = (1,0,0);
notifyData.duration = 7;
notifyData.font = "default";
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
}



go ahead and make it better, just leave credits Smile
02-21-2012, 11:37 PM #16
Originally posted by tr0j4n View Post
sexy as fuhhh do you want me to finish the flag spawnpoints for subbase etc..


yes, you can do the all the maps if you want, just post then when you are done, and i'll added them to my thread/my patch. Winky Winky

thanks trojan!
02-22-2012, 01:23 AM #17
Kane500
< ^ > < ^ >
Originally posted by SatanicHispanic View Post
yes, you can do the all the maps if you want, just post then when you are done, and i'll added them to my thread/my patch. Winky Winky

thanks trojan!


If I may ask, how did you learn to script so well. You are very good.
02-22-2012, 01:52 AM #18
Originally posted by kane212v2isgay View Post
If I may ask, how did you learn to script so well. You are very good.


Practice makes perfect.
02-22-2012, 01:58 AM #19
Originally posted by SatanicHispanic View Post
Practice makes perfect.

U need to make a thread with updates on everything ur creating as preview, like one day it'll be reaper then once that's released, show the next thing ur working on. It'd save some space Winky Winky

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo