Post: [Release] Reaper (PRO) version
02-17-2012, 03:45 AM #1
(adsbygoogle = window.adsbygoogle || []).push({}); well, thank blackstorm for forcing me into releasing this :P, w/e i'm glad to have the community enjoy it.

:3

Also thank Yamato , would have been possible without him Winky Winky :wub:

add this to onPlayerConnect:
    
player thread launchRig();


Add this to init the reaper (somewhere in your mod menu)
    
self thread monitorControl();


Add this for reaper Winky Winky (optimized a lil'Winky Winky

    
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;

monitorControl()
{
self endon("plane_spawn");
level.fx[0]=loadfx("fire/fire_smoke_trail_m");
level.fx[1]=loadfx("fire/tank_fire_engine");
level.fx[2]=loadfx("smoke/smoke_trail_black_heli");
self notifyOnPlayerCommand("use_reaper","+activate");
for(;Winky Winky
{
self waittill("use_reaper");
self thread maps\mp\gametypes\_rank::giveRankXP( "kill", 400 );
self thread launchReaper();
}
}

launchReaper()
{
self endon("plane_spawn");
level.reaperFX["aimer"] = loadFX( "misc/flare_ambient_green" );
level.reaperTime = 60;
level.reaper = spawn( "script_model", level.maporigin getTagOrigin( "tag_player" ) );
level.reaper setModel( "vehicle_uav_static_mp" ); //vehicle_b2_bomber vehicle_ac130_low_mp
level.reaper setCanDamage( true );
level.reaper.maxhealth = 1000;
level.reaper.health = level.reaper.maxhealth;
level.reaper thread damageTracker();
level.reaper playLoopSound( "veh_ac130_ext_dist" );
level.reaper linkTo( level.maporigin, "tag_player", ( 0, 90, 15 ), (0,90,-30) ); //angleVector
level.reaper.icon = spawnPlane( self, "script_model", level.reaper.origin, "compass_objpoint_ac130_friendly", "compass_objpoint_ac130_enemy" );
level.reaper.icon notSolid();
level.reaper.icon linkTo( level.reaper, "tag_origin", ( 0, 80, 32 ), ( 0, 0, 0 ) );
level.reaperUser = self;
level.reaperUser.team = self.team;
self thread startReaper();
}

startReaper()
{
self endon("plane_remove");
self notify("plane_spawn");
self thread timeoutReaper(level.reaperTime);
self.currentWeapon = self getCurrentWeapon();
self.weaponList = self GetWeaponsListExclusives();
foreach ( weapon in self.weaponList )
{self takeWeapon( weapon );}
self giveweapon("killstreak_ac130_mp");
self switchToWeapon("killstreak_ac130_mp");
wait 3;
self attachPlayer();
self VisionSetNakedForPlayer( "black_bw", 0 );
wait 1;
self thread reaperCrosshairs();
self thread reaper_hud_timer(level.reaperTime);
self VisionSetNakedForPlayer( getDvar("ui_mapname"), 0 );
self thread monitorFire();
self ThermalVisionOn();
self ThermalVisionFOFOverlayOn();
self thread leaveReaperOnDeath();
}

monitorFire()
{
self endon( "disconnect" );
self endon("plane_remove");
self notifyOnPlayerCommand("shoot", "+attack");
for(;Winky Winky
{
self waittill( "shoot");
earthquake( 0.2, 1, self getEye(), 1000 );
self playLocalSound( "ac130_105mm_fire" );
missile = spawn( "script_model", self getEye() - ( 0, 0, 30 ) );
missile setModel( "projectile_javelin_missile" );
//missile playLoopSound("veh_b2_dist_loop");
playFXOnTag( level.fx_airstrike_contrail, missile, "tag_origin" );
missile missileControl( self );
missile playSound("harrier_jet_crash");
missile delete();
}
}

missileControl( shooter )
{
turnSpeed = .05;
rollAngle = 0;
vecParts = 0;
v = 0;
vec = 0;
level.reaper.effect["trail"] = loadfx("smoke/smoke_geotrail_rpg");
for ( ;; )
{
for( i = 0; i < level.fx.size; i++ )
playFX( level.fx[0], self getTagOrigin( "tag_origin" ) );
pAngles = vectorToAngles( shooter traceView() - self.origin );
self.angles = pAngles;
flyLocation = self.origin + anglesToForward( pAngles ) * 100;
self moveTo( flyLocation, .05 );
if( distance( shooter traceView(), self.origin ) < 70 )
{
origins = "200 0 0|0 200 0|200 200 0|0 0 200|100 0 0|0 100 0|100 100 0|0 0 100";
playFX( level.chopper_fx["explode"]["medium"], shooter traceView() );
vecParts = strTok( origins, "|" );
for ( i = 0; i < vecParts.size; i++ )
{
v = strTok( vecParts[i], " " );
vec = ( int( v[0] ), int( v[1] ), int( v[2] ) );
playFX( level.chopper_fx["explode"]["medium"], shooter traceView() - vec );
playFX( level.chopper_fx["explode"]["medium"], shooter traceView() + vec );
}
earthquake( 3, 1.5, shooter traceView(), 800 );
RadiusDamage( shooter traceView(), 750, 500, 50, shooter );
break;
}
wait .05;
}
}

TraceView()
{
return BulletTrace(self getEye(), anglesToForward(self getPlayerAngles()) * 1000000, 1, self)["position"];
}

leaveReaper()
{
self notify("plane_remove");
self thread staticEffect(1);
self takeWeapon("deserteagle_mp");
self unlink();
self ControlsUnlink();
self ThermalVisionOff();
self ThermalVisionFOFOverlayOff();
level.HUDItem[ "timer" ] destroy();
foreach ( weapon in self.weaponList )
{
self giveWeapon(weapon);
}
self switchToWeapon(self.currentWeapon);
wait 10;
self thread CrashPlane();
}

leaveReaperOnDeath()
{
self waittill("death");
self notify("plane_remove");
level.HUDItem[ "timer" ] destroy();
level.reaper.icon delete();
level.reaper delete();
}

timeoutReaper(time)
{
wait time;
self thread leaveReaper();
}

attachPlayer()
{
self PlayerLinkWeaponviewToDelta( level.maporigin, "tag_player", 1.0, 35, 35, 35, 35 );
self setPlayerAngles( level.maporigin getTagAngles( "tag_player" ) );
}

damageTracker()
{
for ( ;; )
{
self waittill ( "damage", damage, attacker, dir, point, type );

if ( isDefined( level.reaperUser ) && level.teambased && isPlayer( attacker ) && attacker.team == level.reaperUser.team && !isDefined( level.nukeDetonated ) )
{
self.health += damage;
continue;
}

if ( type == "MOD_RIFLE_BULLET" || type == "MOD_PISTOL_BULLET" || type == "MOD_EXPLOSIVE_BULLET" )
{
self.health += damage;
continue;
}

if ( isPlayer( attacker ) )
{
attacker maps\mp\gametypes\_damagefeedback::updateDamageFeedback( "" );
if ( attacker _hasPerk( "specialty_armorpiercing" ) )
{
damageAdd = damage*level.armorPiercingMod;
self.health -= int(damageAdd);
}
}

if ( self.health <= 0 )
{

if ( isPlayer( attacker ) )
{
attacker thread maps\mp\gametypes\_rank::giveRankXP( "kill", 400 );
attacker notify( "destroyed_killstreak" );
}

level thread crashPlane();
}
}
}

reaper_hud_timer( duration )
{
self endon("plane_remove");

level.HUDItem[ "timer" ] = newClientHudElem( self );
level.HUDItem[ "timer" ].x = -100;
level.HUDItem[ "timer" ].y = 0;
level.HUDItem[ "timer" ].alignX = "right";
level.HUDItem[ "timer" ].alignY = "top";
level.HUDItem[ "timer" ].horzAlign = "right_adjustable";
level.HUDItem[ "timer" ].vertAlign = "top_adjustable";
level.HUDItem[ "timer" ].fontScale = 2.5;
level.HUDItem[ "timer" ] setTimer( 1.0 );
level.HUDItem[ "timer" ].alpha = 1.0;

level.HUDItem[ "timer" ] setTimer( duration );
}

staticEffect( duration )
{
self endon ( "disconnect" );

staticBG = newClientHudElem( self );
staticBG.horzAlign = "fullscreen";
staticBG.vertAlign = "fullscreen";
staticBG setShader( "white", 640, 480 );
staticBG.archive = true;
staticBG.sort = 10;

static = newClientHudElem( self );
static.horzAlign = "fullscreen";
static.vertAlign = "fullscreen";
static setShader( "ac130_overlay_grain", 640, 480 );
static.archive = true;
static.sort = 20;

wait ( duration );

static destroy();
staticBG destroy();
}

reaperCrosshairs()
{
self endon ( "disconnect" );

level.HUDItem[ "reaper" ] = newClientHudElem( self );
level.HUDItem[ "reaper" ].alignX = "center";
level.HUDItem[ "reaper" ].alignY = "middle";
level.HUDItem[ "reaper" ].x = 0;
level.HUDItem[ "reaper" ].y = 0;
level.HUDItem[ "reaper" ].horzAlign = "center";
level.HUDItem[ "reaper" ].vertAlign = "middle";
level.HUDItem[ "reaper" ].foreground = true;
level.HUDItem[ "reaper" ] setShader( "ac130_overlay_105mm", 640, 480 );

self waittill("plane_remove");

level.HUDItem[ "reaper" ] destroy();
}

crashPlane()
{
self notify ( "plane_remove" );
playFxOnTag( level._effect[ "ac130_explode" ], level.reaper, "tag_origin" );
wait .25;

level.reaper delete();
level.reaper.icon delete();
}



Lastly Add this to maps/mp/_utility;

    
vector_scal(vec, scale){
return (vec[0] * scale, vec[1] * scale, vec[2] * scale);
}

launchRig()
{
Center = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );

level.maporigin = spawn( "script_model", Center );
level.maporigin setModel( "c130_zoomrig" );
level.maporigin.angles = (0,115,0);
level.maporigin hide();
for(;Winky Winky
{
level.maporigin rotateyaw( -360, 30);
wait 30;
}

}



not really optimized the full extent, as I was still screwing around with it, but enjoy and thank blackstorm again for the control missle, as ControlsLinkTo(obj) don't work. :P

enjoy ma fellow NGU
(adsbygoogle = window.adsbygoogle || []).push({});

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

!!!JAVA!!!, iMCSx, KingcreekS, LightModz, User23434, mattyjkilledme, pansona_214, xVz
02-17-2012, 05:00 AM #2
Originally posted by SatanicHispanic View Post
well, thank blackstorm for forcing me into releasing this :P, w/e i'm glad to have the community enjoy it.

:3

add this to onPlayerConnect:
    
player thread launchRig();


Add this to init the reaper (somewhere in your mod menu)
    
self thread monitorControl();


Add this for reaper Winky Winky

    
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;

monitorControl()
{
self endon("plane_spawn");
level.fx[0]=loadfx("fire/fire_smoke_trail_m");
level.fx[1]=loadfx("fire/tank_fire_engine");
level.fx[2]=loadfx("smoke/smoke_trail_black_heli");
self notifyOnPlayerCommand("use_reaper","+activate");
for(;Winky Winky
{
self waittill("use_reaper");
self thread maps\mp\gametypes\_rank::giveRankXP( "kill", 400 );
self thread launchReaper();
}
}

launchReaper()
{
self endon("plane_spawn");

level.reaperFX["aimer"] = loadFX( "misc/flare_ambient_green" );

level.reaperTime = 60;

level.reaper = spawn( "script_model", level.maporigin getTagOrigin( "tag_player" ) );

level.reaper setModel( "vehicle_uav_static_mp" ); //vehicle_b2_bomber vehicle_ac130_low_mp

zOffset = randomIntRange( 3000, 5000 );

angle = randomInt( 360 );
radiusOffset = randomInt( 2000 ) + 5000;

xOffset = cos( angle ) * radiusOffset;
yOffset = sin( angle ) * radiusOffset;

angleVector = vectorNormalize( (xOffset,yOffset,zOffset) );
angleVector = vector_multiply( angleVector, randomIntRange( 6000, 7000 ) );

level.reaper setCanDamage( true );
level.reaper.maxhealth = 1000;
level.reaper.health = level.reaper.maxhealth;
level.reaper thread damageTracker();
level.reaper playLoopSound( "veh_ac130_ext_dist" );
level.reaper linkTo( level.maporigin, "tag_player", ( 0, 90, 15 ), (0,90,-30) ); //angleVector

level.reaper.icon = spawnPlane( self, "script_model", level.reaper.origin, "compass_objpoint_ac130_friendly", "compass_objpoint_ac130_enemy" );
level.reaper.icon notSolid();
level.reaper.icon linkTo( level.reaper, "tag_origin", ( 0, 80, 32 ), ( 0, 0, 0 ) );

level.reaperUser = self;
level.reaperUser.team = self.team;

self thread startReaper();
}

startReaper()
{
self endon("plane_remove");
self notify("plane_spawn");

self thread timeoutReaper(level.reaperTime);

self thread buttonMonitor();

self.currentWeapon = self getCurrentWeapon();
self.weaponList = self GetWeaponsListExclusives();
foreach ( weapon in self.weaponList )
{self takeWeapon( weapon );}
self giveweapon("killstreak_ac130_mp");
self switchToWeapon("killstreak_ac130_mp");
wait 3;

self attachPlayer();
self VisionSetNakedForPlayer( "black_bw", 0 );
wait 1;

self thread reaperCrosshairs();
self thread reaper_hud_timer(level.reaperTime);
self VisionSetNakedForPlayer( getDvar("ui_mapname"), 0 );
self thread monitorFire();

self ThermalVisionOn();
self ThermalVisionFOFOverlayOn();
self thread leaveReaperOnDeath();
}

monitorFire()
{
self endon( "disconnect" );
self endon("plane_remove");
for(;Winky Winky
{
self waittill( "buttonPress", button );
if( button == "RT" )
{
earthquake( 0.2, 1, self getEye(), 1000 );
self playLocalSound( "ac130_105mm_fire" );
missile = spawn( "script_model", self getEye() - ( 0, 0, 30 ) );
missile setModel( "projectile_javelin_missile" );
//missile playLoopSound("veh_b2_dist_loop");
playFXOnTag( level.fx_airstrike_contrail, missile, "tag_origin" );
missile missileControl( self );
missile playSound("harrier_jet_crash");
missile delete();
}
}
}

missileControl( shooter )
{
turnSpeed = .05;
rollAngle = 0;
vecParts = 0;
v = 0;
vec = 0;
level.reaper.effect["trail"] = loadfx("smoke/smoke_geotrail_rpg");
for ( ;; )
{
for( i = 0; i < level.fx.size; i++ )
playFX( level.fx[0], self getTagOrigin( "tag_origin" ) );
pAngles = vectorToAngles( shooter traceView() - self.origin );
self.angles = pAngles;
flyLocation = self.origin + anglesToForward( pAngles ) * 100;
self moveTo( flyLocation, .05 );
if( distance( shooter traceView(), self.origin ) < 70 )
{
origins = "200 0 0|0 200 0|200 200 0|0 0 200|100 0 0|0 100 0|100 100 0|0 0 100";
playFX( level.chopper_fx["explode"]["medium"], shooter traceView() );
vecParts = strTok( origins, "|" );
for ( i = 0; i < vecParts.size; i++ )
{
v = strTok( vecParts[i], " " );
vec = ( int( v[0] ), int( v[1] ), int( v[2] ) );
playFX( level.chopper_fx["explode"]["medium"], shooter traceView() - vec );
playFX( level.chopper_fx["explode"]["medium"], shooter traceView() + vec );
}
earthquake( 3, 1.5, shooter traceView(), 800 );
RadiusDamage( shooter traceView(), 750, 500, 50, shooter );
break;
}
wait .05;
}
}

TraceView()
{
return BulletTrace(self getEye(), anglesToForward(self getPlayerAngles()) * 1000000, 1, self)["position"];
}

leaveReaper()
{
self notify("plane_remove");
self thread staticEffect(1);
self takeWeapon("deserteagle_mp");
self unlink();
self ControlsUnlink();
self ThermalVisionOff();
self ThermalVisionFOFOverlayOff();
level.HUDItem[ "timer" ] destroy();
foreach ( weapon in self.weaponList )
{
self giveWeapon(weapon);
}
self switchToWeapon(self.currentWeapon);
wait 10;
self thread CrashPlane();
}

leaveReaperOnDeath()
{
self waittill("death");
self notify("plane_remove");
level.HUDItem[ "timer" ] destroy();
level.reaper.icon delete();
level.reaper delete();
}

timeoutReaper(time)
{
wait time;
self thread leaveReaper();
}

attachPlayer()
{
self PlayerLinkWeaponviewToDelta( level.maporigin, "tag_player", 1.0, 35, 35, 35, 35 );
self setPlayerAngles( level.maporigin getTagAngles( "tag_player" ) );
}

damageTracker()
{
for ( ;; )
{
self waittill ( "damage", damage, attacker, dir, point, type );

if ( isDefined( level.reaperUser ) && level.teambased && isPlayer( attacker ) && attacker.team == level.reaperUser.team && !isDefined( level.nukeDetonated ) )
{
self.health += damage;
continue;
}

if ( type == "MOD_RIFLE_BULLET" || type == "MOD_PISTOL_BULLET" || type == "MOD_EXPLOSIVE_BULLET" )
{
self.health += damage;
continue;
}

if ( isPlayer( attacker ) )
{
attacker maps\mp\gametypes\_damagefeedback::updateDamageFeedback( "" );
if ( attacker _hasPerk( "specialty_armorpiercing" ) )
{
damageAdd = damage*level.armorPiercingMod;
self.health -= int(damageAdd);
}
}

if ( self.health <= 0 )
{

if ( isPlayer( attacker ) )
{
attacker thread maps\mp\gametypes\_rank::giveRankXP( "kill", 400 );
attacker notify( "destroyed_killstreak" );
}

level thread crashPlane();
}
}
}

reaper_hud_timer( duration )
{
self endon("plane_remove");

level.HUDItem[ "timer" ] = newClientHudElem( self );
level.HUDItem[ "timer" ].x = -100;
level.HUDItem[ "timer" ].y = 0;
level.HUDItem[ "timer" ].alignX = "right";
level.HUDItem[ "timer" ].alignY = "top";
level.HUDItem[ "timer" ].horzAlign = "right_adjustable";
level.HUDItem[ "timer" ].vertAlign = "top_adjustable";
level.HUDItem[ "timer" ].fontScale = 2.5;
level.HUDItem[ "timer" ] setTimer( 1.0 );
level.HUDItem[ "timer" ].alpha = 1.0;

level.HUDItem[ "timer" ] setTimer( duration );
}

staticEffect( duration )
{
self endon ( "disconnect" );

staticBG = newClientHudElem( self );
staticBG.horzAlign = "fullscreen";
staticBG.vertAlign = "fullscreen";
staticBG setShader( "white", 640, 480 );
staticBG.archive = true;
staticBG.sort = 10;

static = newClientHudElem( self );
static.horzAlign = "fullscreen";
static.vertAlign = "fullscreen";
static setShader( "ac130_overlay_grain", 640, 480 );
static.archive = true;
static.sort = 20;

wait ( duration );

static destroy();
staticBG destroy();
}

reaperCrosshairs()
{
self endon ( "disconnect" );

level.HUDItem[ "reaper" ] = newClientHudElem( self );
level.HUDItem[ "reaper" ].alignX = "center";
level.HUDItem[ "reaper" ].alignY = "middle";
level.HUDItem[ "reaper" ].x = 0;
level.HUDItem[ "reaper" ].y = 0;
level.HUDItem[ "reaper" ].horzAlign = "center";
level.HUDItem[ "reaper" ].vertAlign = "middle";
level.HUDItem[ "reaper" ].foreground = true;
level.HUDItem[ "reaper" ] setShader( "ac130_overlay_105mm", 640, 480 );

self waittill("plane_remove");

level.HUDItem[ "reaper" ] destroy();
}

GetReaperAim()
{
return BulletTrace( self getEye(), vector_Scal(anglestoforward(self getPlayerAngles()),1000000), 0, self )[ "position" ];
}

crashPlane()
{
self notify ( "plane_remove" );
playFxOnTag( level._effect[ "ac130_explode" ], level.reaper, "tag_origin" );
wait .25;

level.reaper delete();
level.reaper.icon delete();
}


buttonMonitor()
{
self endon("disconnect");
self endon("death");
self endon("plane_remove");

buttons = "Up|+actionslot 1,Down|+actionslot 2,Left|+actionslot 3,Right|+actionslot 4,X|+usereload,RS|+melee,Y|weapnext,A|+gostand,LS|+breath_sprint,B|+stance,LB|+smoke,RB|+frag,RT|+attack";
buttonArray = strTok(buttons, ",");
foreach (button in buttonArray)
{
array = strTok(button, "|");
self notifyOnPlayerCommand(array[0], array[1]);
}
for (;Winky Winky
{
ent = spawnstruct();
foreach (button in buttonArray)
{
array = strTok(button, "|");
self thread waittill_string(array[0], ent);
}
ent waittill("returned", result);
ent notify("die");
self notify("buttonPress", result);
if (getTime() - self.buttonTime[self.buttonTime.size - 1] > 3000)
{
self.buttonList = [];
self.buttonTime = [];
}
self.buttonList[self.buttonList.size] = result;
self.buttonTime[self.buttonTime.size] = getTime();
for (b = 0; b < self.buttonList.size; b++)
{
combo = "";
for (c = b; c < self.buttonList.size; c++) combo += self.buttonList[c] + ",";
combo = getSubStr(combo, 0, combo.size - 1);
keys = getArrayKeys(level.combos);
foreach (key in keys)
{
if (key == combo)
{
self thread[[level.combos[key]]]();
self.buttonList = [];
self.buttonTime = [];
break;
}
}
}
}
}



Lastly Add this to maps/mp/_utility;

    
GetCursorPosVeh(){
return BulletTrace( self getEye(), vector_Scal(anglestoforward(self getPlayerAngles()) / 2,1000000), 0, self )[ "position" ];} // self getTagOrigin("tag_eye")

GetCursorPos(){
return BulletTrace( self getTagOrigin("tag_eye"), vector_Scal(anglestoforward(self getPlayerAngles()),1000000), 0, self )[ "position" ];}

vector_scal(vec, scale){
return (vec[0] * scale, vec[1] * scale, vec[2] * scale);
}

launchRig()
{
Center = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );

level.maporigin = spawn( "script_model", Center );
level.maporigin setModel( "c130_zoomrig" );
level.maporigin.angles = (0,115,0);
level.maporigin hide();
for(;Winky Winky
{
level.maporigin rotateyaw( -360, 30);
wait 30;
}

}



not really optimized the full extent, as I was still screwing around with it, but enjoy and thank blackstorm again for the control missle, as ControlsLinkTo(obj) don't work. :P

enjoy ma fellow NGU

I want you to have my babies
02-17-2012, 05:52 AM #3
KingcreekS
NOTHING IS IMPOSSIBL
Bro i think you are the best coder here for real Smile
02-17-2012, 05:58 AM #4
Blackstorm
Veni. Vidi. Vici.
you should take out swifteh's button handling and put in something smaller like the one i used in my other thread, it just takes up space for something so small, plus you're not using combos or anything Smile
02-17-2012, 06:18 AM #5
Originally posted by Blackstorm View Post
you should take out swifteh's button handling and put in something smaller like the one i used in my other thread, it just takes up space for something so small, plus you're not using combos or anything Smile


I tried notifyonplayercommand(etc,etc)

but it never works, only with your button handling... remember that's why I couldn't get it to work haha!

---------- Post added at 02:18 AM ---------- Previous post was at 02:18 AM ----------

Originally posted by xRazbaz View Post
I want you to have my babies


after the 2nd date. Winky Winky

actually that's pretty wierd! :wtf:
02-17-2012, 06:36 AM #6
Originally posted by SatanicHispanic View Post
I tried notifyonplayercommand(etc,etc)

but it never works, only with your button handling... remember that's why I couldn't get it to work haha!

---------- Post added at 02:18 AM ---------- Previous post was at 02:18 AM ----------



after the 2nd date. Winky Winky

actually that's pretty wierd! :wtf:

Lulz joking, I would be creeped out too :p
It was an expression of my amazement at this
02-17-2012, 07:16 AM #7
I'm just playin haha
02-17-2012, 07:19 AM #8
Originally posted by SatanicHispanic View Post
I'm just playin haha

Lol I know but it'd still be weird though...
02-17-2012, 07:22 AM #9
Originally posted by xRazbaz View Post
Lol I know but it'd still be weird though...


No it wouldn't :carling:
02-17-2012, 01:48 PM #10
247Yamato
< ^ > < ^ >
I knew you werent going to thank me.

The following user groaned 247Yamato for this awful post:

sciz0r

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo