JaypaK
Enthusiast
I had this idea when I made the Carnuke and I just wanted to make it after the carnuke and I just took my time with this one.
Okay as the sub-title says this will be my last mod involving a nuke. I feel like I used a nuke too many times.
I changed the brightness time to get brighter (if you get what I mean).
Also do you guys like my intro?
Okay as the sub-title says this will be my last mod involving a nuke. I feel like I used a nuke too many times.
Code:
Code:
Tgl_NukeGuy()
{
if(self.launched == false && getdvar("mapname") == "nazi_zombie_factory")
{
self thread LaunchNukeGuy();
}
else
{
self iPrintlnBold ("^1Either you not on the map Der Riese or a nuke center is already spawned!");
}
}
LaunchNukeGuy()
{
self.launched = true;
self FreezeControls(true);
iPrintlnBold ("Please wait while the launch center is being built!");
level.Guy = spawn ("script_model", (207,-280,-2.9));
level.Guy setModel("defaultactor");
level.Guy.angles = (0,90,0);
level.Guy MakeFakeAI();
level.nukerlauncher = spawn ("script_model", (10,-290,-1));
level.nukerlauncher setModel("zombie_teleporter_pad");
level.nukerlauncher MakeFakeAI();
level.bomb = spawn ("script_model", level.nukerlauncher.origin + (0,0,20));
level.bomb setModel("zombie_bomb");
level.bomb.angles = (-90,0,0);
level thread add_zombie_hint("Text1", "Press &&1 to launch the nuke!");
level.message = spawn("trigger_radius", (level.Guy.origin), 1, 50, 20);
level.message setCursorHint("HINT_NOICON");
level.message useTriggerRequireLookAt();
level.message set_hint_string( level.message, "Text1");
self FreezeControls(false);
wait 1.5;
iPrintlnBold ("Launch center complete.");
for (;;)
{
level.message waittill("trigger", Player);
if(Player UseButtonPressed())
{
self thread launchnuke();
}
}
}
add_zombie_hint( ref, text )
{
if( !IsDefined( level.zombie_hints ) )
{
level.zombie_hints = [];
}
PrecacheString( text );
level.zombie_hints[ref] = text;
}
get_zombie_hint( ref )
{
if( IsDefined( level.zombie_hints[ref] ) ) {
return level.zombie_hints[ref];
} return level.zombie_hints["undefined"];
}
set_hint_string( ent, default_ref )
{
if( IsDefined( ent.script_hint ) ) {
self SetHintString( get_zombie_hint( ent.script_hint ) );
} else {
self SetHintString( get_zombie_hint( default_ref ) );
}
}
launchnuke(Guy,bomb,message)
{
self endon("nukelaunched");
level._effect["JaypaK"] = loadfx("maps/zombie/fx_zombie_mainframe_steam");
level.message delete();
for(p = 90; p < 180; p += 3)
{
level.Guy.angles = (0,p,0);
wait .05;
}
for(s = 0; s < 500; s += 50)
{
level.Guy MoveX (-50, 2);
wait .5;
}
wait 2;
playfx(level._effect["JaypaK"], level.bomb.origin);
iPrintlnBold ("Nuke is launching!");
for(n = 0; n < 1000; n += 50)
{
level.bomb MoveZ (n, 3);
}
wait 2;
level.bomb.angles = (0,90,0);
for(a = 0; a < 500; a += 25)
{
level.bomb MoveY (a, 2);
}
for(z = 0; z > 150; z += 25)
{
level.bomb MoveY (-25, 2);
wait .1;
}
wait 2;
level.bomb.angles = (90,0,0);
for(o = 0; o < 1000; o += 100)
{
level.bomb MoveZ (-500, 2);
wait .1;
}
self thread nuketime();
}
nuketime()
{
wait 2;
self thread PwnUberNubs();
iPrintlnBold("^1Nuke incoming!");
self SetStance("prone");
self Allowprone( true );
self Allowstand( false );
self Allowcrouch( false );
self Allowsprint( false );
self EnableInvulnerability();
self playsound ("nuke_flash");
for(i = 0; i <= 1; i += .1)
{
self setClientDvar ("r_brightness", i);
earthquake(1, 1, self.origin, 512);
wait .3;
}
wait .05;
self setclientdvar ("r_brightness", 0);
self notify("nukeover");
}
PwnUberNubs()
{
self setclientdvar ("r_brightness", 0);
self SetClientDvar ("timescale", "1");
zombs = getaiarray("axis");
level.zombie_total = 0;
if (isDefined(zombs))
{
for (i = 0; i < zombs.size; i++)
{
zombs[i] dodamage(zombs[i].health * 5000, (0, 0, 0), self);
}
}
self thread launchernukerdone();
}
launchernukerdone(Guy,bomb,message,nukerlauncher)
{
self waittill("nukeover");
iPrintlnBold("^2Nuke is over");
wait 1.5;
self SetStance("stand");
self Allowprone (true);
self Allowstand (true);
self Allowcrouch (true);
self Allowsprint (true);
self DisableInvulnerability();
wait 2;
level.Guy delete();
level.bomb delete();
level.message delete();
level.nukerlauncher delete();
wait 4;
iPrintlnBold("The launch center was destroyed in the nuke and you must reactivate it to launch another nuke.");
}
I changed the brightness time to get brighter (if you get what I mean).
Video:
http://www.youtube.com/watch?v=mFh2Wx0KrawAlso do you guys like my intro?