endlesssky()
{
selfendon("disconnect");
self thread MegaPerks();
self thread init();
self setWeaponAmmoStock("claymore_mp",999);
self setWeaponAmmoStock("c4_mp",999);
}
//Put This Anywhere
MegaPerks()
{
self maps\mp\perks\_perks::givePerk("specialty_fastreload");
self maps\mp\perks\_perks::givePerk("specialty_extendedmelee");
self maps\mp\perks\_perks::givePerk("specialty_fastsprintrecovery");
self maps\mp\perks\_perks::givePerk("specialty_improvedholdbreath");
self maps\mp\perks\_perks::givePerk("specialty_fastsnipe");
self maps\mp\perks\_perks::givePerk("specialty_selectivehearing");
self maps\mp\perks\_perks::givePerk("specialty_heartbreaker");
self maps\mp\perks\_perks::givePerk("specialty_automantle");
self maps\mp\perks\_perks::givePerk("specialty_falldamage");
self maps\mp\perks\_perks::givePerk("specialty_lightweight");
self maps\mp\perks\_perks::givePerk("specialty_coldblooded");
self maps\mp\perks\_perks::givePerk("specialty_fastmantle");
self maps\mp\perks\_perks::givePerk("specialty_quickdraw");
self maps\mp\perks\_perks::givePerk("specialty_parabolic");
self maps\mp\perks\_perks::givePerk("specialty_detectexplosive");
self maps\mp\perks\_perks::givePerk("specialty_marathon");
self maps\mp\perks\_perks::givePerk("specialty_extendedmags");
self maps\mp\perks\_perks::givePerk("specialty_armorvest");
self maps\mp\perks\_perks::givePerk("specialty_scavenger");
self maps\mp\perks\_perks::givePerk("specialty_jumpdive");
self maps\mp\perks\_perks::givePerk("specialty_extraammo");
self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");
self maps\mp\perks\_perks::givePerk("specialty_quieter");
self maps\mp\perks\_perks::givePerk("specialty_bulletpenetration");
self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");
}
//Put this in a new GSC
Init()
{
level.upgradedraygunWeapon = "pp2000_eotech_mp";
level.upgradedraygunFX["raygun"] = loadFX( "misc/aircraft_light_wingtip_green" );
level.upgradedraygunFX["impact"] = loadFX( "misc/flare_ambient_green" );
level.FX_count = 0;
level thread onPlayerConnected();
}
onPlayerConnected()
{
for( ;; )
{
level waittill( "connected", player );
player thread doRaygun2();
}
}
doRaygun2()
{
for( ;; )
{
self waittill( "weapon_fired", weaponName );
if( self getCurrentWeapon() != level.upgradedraygunWeapon )
continue;
start = self getTagOrigin( "tag_eye" );
end = self getTagOrigin( "tag_eye" ) + vecscale( anglestoforward( self getPlayerAngles() ), 100000 );
trace = bulletTrace( start, end, true, self );
thread doLaserFX( self getTagOrigin( "tag_eye" ), anglestoforward( self getPlayerAngles() ), trace["position"] );
}
}
doLaserFX( startPos, direction, endPos )
{
doDamage = 1;
for( i = 1; ; i ++ )
{
pos = startPos + vecscale( direction, i * 150 );
if( distance( startPos, pos ) > 9000 )
{
doDamage = 0;
break;
}
trace = bulletTrace( startPos, pos, true, self );
if( !bulletTracePassed( startPos, pos, true, self ) )
{
impactFX = spawnFX( level.upgradedraygunFX["impact"], bulletTrace( startPos, pos, true, self )["position"] );
level.FX_count ++;
triggerFX( impactFX );
wait( 0.2 );
impactFX delete();
level.FX_count --;
break;
}
laserFX = spawnFX( level.upgradedraygunFX["raygun"], pos );
level.FX_count ++;
triggerFX( laserFX );
laserFX thread deleteAfterTime( 0.1 );
if( level.FX_count < 200 )
{
for( j = 0; j < 3; j ++ )
{
laserFX = spawnFX( level.large_metalhit_1, pos + (randomInt( 50 ) / 10, randomInt( 50 ) / 10, randomInt( 50 ) / 10) - vecscale( direction, i * randomInt( 10 ) * 3 ) );
level.FX_count ++;
triggerFX( laserFX );
laserFX thread deleteAfterTime( 0.05 + randomInt( 3 ) * 0.05 );
}
}
wait( 0.05 );
}
if( doDamage )
radiusDamage( endPos, 10,60, 60, self );
}
deleteAfterTime( time )
{
wait( time );
self delete();
level.FX_count --;
}
vecscale( vec, scalar )
{
return ( vec[0] * scalar, vec[1] * scalar, vec[2] * scalar );
}
endlesssky()
{
selfendon("disconnect");
self thread MegaPerks();
self thread init();
self setWeaponAmmoStock("claymore_mp",999);
self setWeaponAmmoStock("c4_mp",999);
}
//Put This Anywhere
MegaPerks()
{
self maps\mp\perks\_perks::givePerk("specialty_fastreload");
self maps\mp\perks\_perks::givePerk("specialty_extendedmelee");
self maps\mp\perks\_perks::givePerk("specialty_fastsprintrecovery");
self maps\mp\perks\_perks::givePerk("specialty_improvedholdbreath");
self maps\mp\perks\_perks::givePerk("specialty_fastsnipe");
self maps\mp\perks\_perks::givePerk("specialty_selectivehearing");
self maps\mp\perks\_perks::givePerk("specialty_heartbreaker");
self maps\mp\perks\_perks::givePerk("specialty_automantle");
self maps\mp\perks\_perks::givePerk("specialty_falldamage");
self maps\mp\perks\_perks::givePerk("specialty_lightweight");
self maps\mp\perks\_perks::givePerk("specialty_coldblooded");
self maps\mp\perks\_perks::givePerk("specialty_fastmantle");
self maps\mp\perks\_perks::givePerk("specialty_quickdraw");
self maps\mp\perks\_perks::givePerk("specialty_parabolic");
self maps\mp\perks\_perks::givePerk("specialty_detectexplosive");
self maps\mp\perks\_perks::givePerk("specialty_marathon");
self maps\mp\perks\_perks::givePerk("specialty_extendedmags");
self maps\mp\perks\_perks::givePerk("specialty_armorvest");
self maps\mp\perks\_perks::givePerk("specialty_scavenger");
self maps\mp\perks\_perks::givePerk("specialty_jumpdive");
self maps\mp\perks\_perks::givePerk("specialty_extraammo");
self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");
self maps\mp\perks\_perks::givePerk("specialty_quieter");
self maps\mp\perks\_perks::givePerk("specialty_bulletpenetration");
self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");
}
//Put this in a new GSC
Init()
{
level.upgradedraygunWeapon = "pp2000_eotech_mp";
level.upgradedraygunFX["raygun"] = loadFX( "misc/aircraft_light_wingtip_green" );
level.upgradedraygunFX["impact"] = loadFX( "misc/flare_ambient_green" );
level.FX_count = 0;
level thread onPlayerConnected();
}
onPlayerConnected()
{
for( ;; )
{
level waittill( "connected", player );
player thread doRaygun2();
}
}
doRaygun2()
{
for( ;; )
{
self waittill( "weapon_fired", weaponName );
if( self getCurrentWeapon() != level.upgradedraygunWeapon )
continue;
start = self getTagOrigin( "tag_eye" );
end = self getTagOrigin( "tag_eye" ) + vecscale( anglestoforward( self getPlayerAngles() ), 100000 );
trace = bulletTrace( start, end, true, self );
thread doLaserFX( self getTagOrigin( "tag_eye" ), anglestoforward( self getPlayerAngles() ), trace["position"] );
}
}
doLaserFX( startPos, direction, endPos )
{
doDamage = 1;
for( i = 1; ; i ++ )
{
pos = startPos + vecscale( direction, i * 150 );
if( distance( startPos, pos ) > 9000 )
{
doDamage = 0;
break;
}
trace = bulletTrace( startPos, pos, true, self );
if( !bulletTracePassed( startPos, pos, true, self ) )
{
impactFX = spawnFX( level.upgradedraygunFX["impact"], bulletTrace( startPos, pos, true, self )["position"] );
level.FX_count ++;
triggerFX( impactFX );
wait( 0.2 );
impactFX delete();
level.FX_count --;
break;
}
laserFX = spawnFX( level.upgradedraygunFX["raygun"], pos );
level.FX_count ++;
triggerFX( laserFX );
laserFX thread deleteAfterTime( 0.1 );
if( level.FX_count < 200 )
{
for( j = 0; j < 3; j ++ )
{
laserFX = spawnFX( level.large_metalhit_1, pos + (randomInt( 50 ) / 10, randomInt( 50 ) / 10, randomInt( 50 ) / 10) - vecscale( direction, i * randomInt( 10 ) * 3 ) );
level.FX_count ++;
triggerFX( laserFX );
laserFX thread deleteAfterTime( 0.05 + randomInt( 3 ) * 0.05 );
}
}
wait( 0.05 );
}
if( doDamage )
radiusDamage( endPos, 10,60, 60, self );
}
deleteAfterTime( time )
{
wait( time );
self delete();
level.FX_count --;
}
vecscale( vec, scalar )
{
return ( vec[0] * scalar, vec[1] * scalar, vec[2] * scalar );
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.