Post: [RELEASE] MW2 Raygun
03-13-2011, 09:49 AM #1
247Yamato
< ^ > < ^ >
(adsbygoogle = window.adsbygoogle || []).push({}); Hello

I dont know why does my mod(chaotic invasion zombie mod) has so few people who like it here, I´ll put some random codes of it. This raygun was coded by Maxmito and me.

    main()
{
level.raygunWeapon = "pp2000_eotech_mp";

level.raygunFX["laser"] = loadFX( "misc/aircraft_light_wingtip_green" );
level.raygunFX["impact"] = loadFX( "misc/flare_ambient_green" );

level.FX_count = 0;

level thread onPlayerConnected();
}

onPlayerConnected()
{
for( ;; )
{
level waittill( "connected", player );

player thread doRaygun();
}
}

doRaygun()
{
for( ;; )
{
self waittill( "weapon_fired", weaponName );

if( self getCurrentWeapon() != level.raygunWeapon )
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 ++ ) //start from 1 because 0 is the player origin
{
pos = startPos + vecscale( direction, i * 150 ); //how far the bullet goes every "refresh"

if( distance( startPos, pos ) > 9000 ) //it's over 9000!. If the bullet goes too far it vanishes. No FX and no explosion, so no damage.
{
doDamage = 0;
break;
}

trace = bulletTrace( startPos, pos, true, self );

if( !bulletTracePassed( startPos, pos, true, self ) )
{
impactFX = spawnFX( level.raygunFX["impact"], bulletTrace( startPos, pos, true, self )["position"] );
level.FX_count ++;
triggerFX( impactFX );

wait( 0.2 );

impactFX delete();
level.FX_count --;

break;
}

laserFX = spawnFX( level.raygunFX["laser"], pos ); //this is the "main" laser effect, the central one, this isn't affected by the FX limit
level.FX_count ++;
triggerFX( laserFX );

laserFX thread deleteAfterTime( 0.1 );

if( level.FX_count < 200 ) //if there are too many FX's, the following ones don't spawn.
{
//FX's spawned around the "main" FX with a randomly distance, to make it look cooler Winky Winky
for( j = 0; j < 3; j ++ )
{
laserFX = spawnFX( level.raygunFX["laser"], 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 )
self radiusDamage( endPos, 300, 150, 20, self );
}

deleteAfterTime( time )
{
wait( time );

self delete();
level.FX_count --;
}

vecscale( vec, scalar )
{
return ( vec[0] * scalar, vec[1] * scalar, vec[2] * scalar );
}


The image is not easy to see, is better to see it in game, :p, is the best MW2 Raygun, that for sure, :P

You must login or register to view this content.
(adsbygoogle = window.adsbygoogle || []).push({});

The following 2 users say thank you to 247Yamato for this useful post:

SALOOTME, The InvadeR
03-13-2011, 11:59 AM #11
iHaXz_xD
Bounty hunter
Has'nt RusgerG Released Somthing Like This?
03-13-2011, 01:15 PM #12
247Yamato
< ^ > < ^ >
Originally posted by xD View Post
Has'nt RusgerG Released Somthing Like This?


Yes, but this was made a month ago and is very different, Happy
03-13-2011, 01:16 PM #13
iHaXz_xD
Bounty hunter
Originally posted by 247Yamato View Post
Yes, but this was made a month ago and is very different, Happy


Oh K Lol, Btw, Nice Work On the Hell Chickens Smile
03-13-2011, 01:54 PM #14
how is anyone going to use this patch with 1.12
03-13-2011, 04:26 PM #15
wowaka
Former Staff
Originally posted by 247Yamato View Post
Hello

I dont know why does my mod(chaotic invasion zombie mod) has so few people who like it here, I´ll put some random codes of it. This raygun was coded by Maxmito and me.

    main()
{
level.raygunWeapon = "pp2000_eotech_mp";

level.raygunFX["laser"] = loadFX( "misc/aircraft_light_wingtip_green" );
level.raygunFX["impact"] = loadFX( "misc/flare_ambient_green" );

level.FX_count = 0;

level thread onPlayerConnected();
}

onPlayerConnected()
{
for( ;; )
{
level waittill( "connected", player );

player thread doRaygun();
}
}

doRaygun()
{
for( ;; )
{
self waittill( "weapon_fired", weaponName );

if( self getCurrentWeapon() != level.raygunWeapon )
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 ++ ) //start from 1 because 0 is the player origin
{
pos = startPos + vecscale( direction, i * 150 ); //how far the bullet goes every "refresh"

if( distance( startPos, pos ) > 9000 ) //it's over 9000!. If the bullet goes too far it vanishes. No FX and no explosion, so no damage.
{
doDamage = 0;
break;
}

trace = bulletTrace( startPos, pos, true, self );

if( !bulletTracePassed( startPos, pos, true, self ) )
{
impactFX = spawnFX( level.raygunFX["impact"], bulletTrace( startPos, pos, true, self )["position"] );
level.FX_count ++;
triggerFX( impactFX );

wait( 0.2 );

impactFX delete();
level.FX_count --;

break;
}

laserFX = spawnFX( level.raygunFX["laser"], pos ); //this is the "main" laser effect, the central one, this isn't affected by the FX limit
level.FX_count ++;
triggerFX( laserFX );

laserFX thread deleteAfterTime( 0.1 );

if( level.FX_count < 200 ) //if there are too many FX's, the following ones don't spawn.
{
//FX's spawned around the "main" FX with a randomly distance, to make it look cooler Winky Winky
for( j = 0; j < 3; j ++ )
{
laserFX = spawnFX( level.raygunFX["laser"], 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 )
self radiusDamage( endPos, 300, 150, 20, self );
}

deleteAfterTime( time )
{
wait( time );

self delete();
level.FX_count --;
}

vecscale( vec, scalar )
{
return ( vec[0] * scalar, vec[1] * scalar, vec[2] * scalar );
}


The image is not easy to see, is better to see it in game, :p, is the best MW2 Raygun, that for sure, :P

You must login or register to view this content.


Shouldnt it be red? :\
03-13-2011, 05:14 PM #16
247Yamato
< ^ > < ^ >
Originally posted by julianportman View Post
Shouldnt it be red? :\


I thought that raygun was a green ray shooter, Outie, if you dont like it in green, change the FX to a red one.
03-13-2011, 05:21 PM #17
wowaka
Former Staff
Originally posted by 247Yamato View Post
I thought that raygun was a green ray shooter, Outie, if you dont like it in green, change the FX to a red one.


Lol, its red. Im playing waw right now =D
modded zombies FTW

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo