1 [SC7E52] CODBO - Capture the Vehicle 16/6/2012, 2:17 pm
DaAsianGuy
I abuse my powers cuz i have no balls!
Next time ill be banned!
I eat poop!
- Code:
#include common_scripts\utility;
#include maps\mp\_airsupport;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
//Capture the vehicle_ch46e_mp instead of an actual flag lol!!
init()
{
PreCacheModel( "vehicle_ch46e_mp" );
thread onPlayerConnect();
thread onPlayerConnected();
thread globalVariables();
}
onPlayerConnect()
{
for(;;)
{
level waittill( "connecting", player );
player thread onPlayerSpawned();
player thread playerVariables();
}
}
onPlayerConnected()
{
for(;;)
{
level waittill( "connected", player );
}
}
onPlayerSpawned()
{
for(;;)
{
self waittill( "spawned_player" );
self takeAllWeapons();
self giveWeapon( "knife_ballistic_mp" );
self giveWeapon( "knife_mp" );
self setMoveSpeedScale( 1.4 );
}
}
onPlayerDisconnect()
{
for(;;)
{
self waittill( "disconnect" );
self.pointsText setText( self.name + ": ^1Disconnected" );
}
}
globalVariables()
{
level.spot = 0;
level.pointsLimit = 10;
level.objId = 0;
level.oldObjId = 0;
setDvar( "scr_friendlyfire", 1 );
level thread spawnRandomFlag();
}
playerVariables()
{
self.points = 0;
self.pointsText = createServerFontString( "objective", 2 );
self.pointsText setText( self.name + ": ^2" + self.points );
self.pointsText setPoint( "TOPRIGHT", "TOPRIGHT", 0, level.spot );
level.spot += 22;
self setClientDvar( "scr_game_killstreaks", 0 );
self setClientDvar( "scr_game_forceuav", 0 );
}
changePoints()
{
for( i = 0; i < level.players.size; i++ )
{
level.players[i].pointsText setText( level.players[i].name + ": ^2" + level.players[i].points );
if( level.players[i].points >= level.pointsLimit ) thread maps\mp\gametypes\_globallogic::endGame( level.players[i].team, level.players[i].name + " has won" );
}
}
spawnRandomFlag()
{
wait( level.preMatchPeriod );
level thread createFlag();
}
createFlag()
{
zone = [];
size = 0;
center = ( 0, 0, 0 );
map = getDvar( "mapname" );
if( map == ( "mp_array" || "mp_cracked" || "mp_havoc" || "mp_russianbase" ) ) size = 700;
else if( map == ( "mp_crisis" || "mp_duga" || "mp_hanoi" || "mp_cairo" || "mp_cosmodrome" || "mp_radiation" || "mp_mountain" || "mp_villa" ) ) size = 300;
else if( map == ( "mp_firingrange" || "mp_nuked" ) ) size = 100;
zone["x"] = randomIntRange( 0 - size, size );
zone["y"] = randomIntRange( 0 - size, size );
origin = center + ( zone["x"], zone["y"], 0 );
trace = bulletTrace( origin + ( 0, 0, 10000 ), origin - ( 0, 0, 10000 ), 0, undefined );
point = trace["position"];
flag = spawn( "script_model", point );
flag setModel( "vehicle_ch46e_mp" );
spot = flag getOrigin();
if( distance( spot, ( spot[0], spot[1], 0 ) ) < 50 && flag isOnGround() == true )
{
if( trace["surfacetype"] == ( "dirt" || "sand" || "snow" || "ice" || "mud" || "rock" || "asphalt" ) )
{
flag thread monitorDistance();
flag thread monitorTimeout();
objective_add( level.objId, "active", flag.origin );
objective_icon( level.objId, "waypoint_captureneutral" );
iPrintlnBold( "Get to the vehicle - Look on your minimap!" );
level.oldObjId = level.objId;
level.objId++;
}
}
else
{
flag hide();
flag delete();
level thread createFlag();
}
}
monitorTimeout()
{
self endon( "stop_thread" );
for( i = 30; i > -1; i-- )
{
if( i == 15 ) iPrintlnBold( i + " Seconds left to get to the Vehicle!" );
wait 1;
}
objective_delete( level.oldObjId );
level thread createFlag();
self hide();
self delete();
self notify( "stop_thread" );
}
monitorDistance()
{
self endon( "stop_thread" );
for(;;)
{
for( i = 0; i < level.players.size; i++ )
{
player = level.players[i];
if( distance( self.origin, player.origin ) < 75 )
{
iPrintlnBold( player.name + " has capture the Vehicle!" );
player.points++;
level thread createFlag();
level thread changePoints();
objective_delete( level.oldObjId );
self hide();
self delete();
self notify( "stop_thread" );
}
}
wait 0.01;
}
}