doLunarLander()
{
if(self GetTehMap() == "nzf")
{
self.LunasSpawned = true;
self thread platform_Models();
self thread platform_playerFalse();
self thread platform_R();
self thread platform_R2();
}
if(self GetTehMap() == "nzp" && self GetTehMap() == "nza" && self GetTehMap() == "nzs")
{
self iprintln("^1You Can Only Spawn The Lunar Lander On ^2Der Riese^1!");
}
}
platform_Models()
{
self endon("disconnect");
level.LunarInUse = false;
level.LunarPosition = "Spawn";
SpawnPos = ( 52, -440, 1.8 );
level.Lunar1 = spawn( "script_model", SpawnPos );
level.Lunar1 setmodel( "zombie_teleporter_pad" );
level.Lunar2 = spawn( "script_model", level.Lunar1.origin );
level.Lunar2 setModel( "zombie_teleporter_pad" );
level.Lunar2.angles = ( -180, 0, 0 );
level.Lunar2 linkto( level.Lunar1 );
level.CtrlPan2 = spawn( "script_model", level.Lunar1.origin + ( 0, 8, 25 ) );
level.CtrlPan2 setmodel( "zombie_teleporter_control_panel" );
level.CtrlPan2.angles = ( 0, 180, 0 );
level.CtrlPan2 linkto( level.Lunar1 );
level.CtrlPan = spawn( "script_model", level.Lunar1.origin + ( 0, -8, 25 ) );
level.CtrlPan setmodel( "zombie_teleporter_control_panel" );
level.CtrlPan linkto( level.Lunar1 );
level.PlayerOrig0 = spawn( "script_model", level.Lunar1.origin + ( 0, 50, 10 ) );
level.PlayerOrig0 linkto( level.Lunar1 );
level.PlayerOrig2 = spawn( "script_model", level.Lunar1.origin + ( 0, -50, 10 ) );
level.PlayerOrig2 linkto( level.Lunar1 );
level.PlayerOrig3 = spawn( "script_model", level.Lunar1.origin + ( 50, 0, 10 ) );
level.PlayerOrig3 linkto( level.Lunar1 );
level.PlayerOrig4 = spawn( "script_model", level.Lunar1.origin + ( -50, 0, 10 ) );
level.PlayerOrig4 linkto( level.Lunar1 );
level._effect["zombie_flashback_american"] = loadfx( "maps/zombie/fx_zombie_flashback_american" );
playfx( level._effect["zombie_flashback_american"], SpawnPos );
playfx( level._effect["zombie_flashback_american"], SpawnPos );
playfx( level._effect["zombie_flashback_american"], ( 300, -1740, 58 ) );
playfx( level._effect["zombie_flashback_american"], ( 300, -1740, 58 ) );
}
platform_R()
{
self endon("disconnect");
level thread add_zombie_hint( "Trigger_1", "Press &&1 To Use Lunar Lander" );
level.trig = spawn( "trigger_radius", level.Lunar1.origin, 1, 50, 20 );
level.trig SetCursorHint( "HINT_NOICON" );
level.trig UseTriggerRequireLookAt();
level.trig set_hint_string( level.trig, "Trigger_1" );
cost = 0;
for(;
{
level.trig waittill( "trigger", i );
if( i UseButtonPressed() && level.LunarPosition == "Spawn" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
{
if(i.score >= cost )
{
i.zombie_cost = 0;
i.score -= 0;
level.LunarInUse = true;
level.trig SetHintString( "Lunar Lander In Use" );
level.trig2 SetHintString( "Lunar Lander In Use" );
i platform_Spawn2Dest();
level.LunarPosition = "Destination";
level.LunarInUse = false;
level.trig SetHintString( "Press &&1 To Call Lunar Lander" );
level.trig2 SetHintString( "Press &&1 To Use Lunar Lander" );
}
else
{
i iPrintln("^1Not Enough Points");
}
}
if( i UseButtonPressed() && level.LunarPosition == "Destination" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
{
level.LunarInUse = true;
level.trig SetHintString( "Lunar Lander In Use" );
level.trig2 SetHintString( "Lunar Lander In Use" );
i platform_Dest2Spawn();
level.LunarPosition = "Spawn";
level.LunarInUse = false;
level.trig SetHintString( "Press &&1 To Use Lunar Lander" );
level.trig2 SetHintString( "Press &&1 To Call Lunar Lander" );
}
}
}
platform_R2()
{
self endon("disconnect");
DestPos = ( 300, -1740, 63 );
level thread add_zombie_hint( "Trigger_1", "Press &&1 To Use Lunar Lander" );
level.trig2 = spawn( "trigger_radius", DestPos, 1, 50, 20 );
level.trig2 SetCursorHint( "HINT_NOICON" );
level.trig2 UseTriggerRequireLookAt();
level.trig2 set_hint_string( level.trig2, "Trigger_2" );
cost = 0;
for(;
{
level.trig2 waittill( "trigger", i );
if( i UseButtonPressed() && level.LunarPosition == "Spawn" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
{
level.LunarInUse = true;
level.trig SetHintString( "Lunar Lander In Use" );
level.trig2 SetHintString( "Lunar Lander In Use" );
i platform_Spawn2Dest();
level.LunarPosition = "Destination";
level.LunarInUse = false;
level.trig SetHintString( "Press &&1 To Call Lunar Lander" );
level.trig2 SetHintString( "Press &&1 To Use Lunar Lander" );
}
if( i UseButtonPressed() && level.LunarPosition == "Destination" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
{
if(i.score >= cost )
{
i.zombie_cost = 0;
i.score -= 0;
level.LunarInUse = true;
level.trig SetHintString( "Lunar Lander In Use" );
level.trig2 SetHintString( "Lunar Lander In Use" );
i platform_Dest2Spawn();
level.LunarPosition = "Spawn";
level.LunarInUse = false;
level.trig SetHintString( "Press &&1 To Use Lunar Lander" );
level.trig2 SetHintString( "Press &&1 To Call Lunar Lander" );
}
else
{
i iPrintln("^1Not Enough Points");
}
}
}
}
platform_Spawn2Dest()
{
self endon("disconnect");
self PlayerCheck(0,level.PlayerOrig0);
self PlayerCheck(1,level.PlayerOrig2);
self PlayerCheck(2,level.PlayerOrig3);
self PlayerCheck(3,level.PlayerOrig4);
self thread platform_effect();
self thread platform_Sound();
self thread LunarFx( ( 52, -440, 1.8 ) );
level.Lunar1 moveto( ( 85, -450, 699 ), 3, .5 );
level.Lunar1 vibrate((0,-100,0), 1.5, .4, 3);
level.Lunar1 waittill( "movedone" );
wait .2;
level.Lunar1 moveto( ( 300, -1740, 699 ), 6 );
level.Lunar1 waittill( "movedone" );
wait .2;
self thread AllDeath1();
level.Lunar1 moveto( ( 300, -1740, 58 ), 3, 0, .5 );
level.Lunar1 vibrate((0,-100,0), 1.5, .4, 2.5);
level.Lunar1 waittill( "movedone" );
self PlayerUnlink(0);
self PlayerUnlink(1);
self PlayerUnlink(2);
self PlayerUnlink(3);
self notify( "platform_arived" );
}
platform_Dest2Spawn()
{
self endon("disconnect");
self PlayerCheck(0,level.PlayerOrig0);
self PlayerCheck(1,level.PlayerOrig2);
self PlayerCheck(2,level.PlayerOrig3);
self PlayerCheck(3,level.PlayerOrig4);
self thread platform_effect();
self thread platform_Sound();
self thread LunarFx( ( 300, -1740, 63 ) );
level.Lunar1 moveto( ( 300, -1740, 699 ), 3, .5 );
level.Lunar1 vibrate((0,-100,0), 1.5, .4, 3);
level.Lunar1 waittill( "movedone" );
wait .2;
level.Lunar1 moveto( ( 52, -440, 699 ), 6 );
level.Lunar1 waittill( "movedone" );
wait .2;
self thread AllDeath2();
level.Lunar1 moveto( ( 52, -440, 1.8 ), 3, 0, .5 );
level.Lunar1 vibrate((0,-100,0), 1.5, .4, 2.5);
level.Lunar1 waittill( "movedone" );
self PlayerUnlink(0);
self PlayerUnlink(1);
self PlayerUnlink(2);
self PlayerUnlink(3);
self notify( "platform_arived" );
}
PlayerCheck(num, origin)
{
self endon("disconnect");
P = get_players();
if( distance( P[num].origin, level.Lunar1.origin ) < 100 )
{
P[num] EnableHealthShield( true );
P[num] EnableInvulnerability();
P[num] playerLinkTo( origin );
}
}
PlayerUnlink(num)
{
self endon("disconnect");
P = get_players();
if( distance( P[num].origin, level.Lunar1.origin ) < 100 )
{
P[num] unlink();
P[num] EnableHealthShield( false );
P[num] DisableInvulnerability();
P[num].OnLunar = false;
}
}
platform_effect()
{
self endon("disconnect");
self endon("platform_arived");
for(;
{
earthquake (.15, .2, level.Lunar2.origin, 500);
wait .2;
}
}
platform_Sound()
{
self endon("disconnect");
self endon("platform_arived");
for(;
{
playsoundatposition( "wpn_flmthwr_mn_flame", level.Lunar2.origin );
self PlaySound("wpn_flmthwr_mn_flame","wpn",true);
wait 1.5;
}
}
AllDeath1()
{
wait 2;
self thread playerDie((300, -1740, 5
, 0);
self thread playerDie((300, -1740, 5
, 1);
self thread playerDie((300, -1740, 5
, 2);
self thread playerDie((300, -1740, 5
, 3);
}
AllDeath2()
{
wait 2;
self thread playerDie((52, -440, 1.
, 0);
self thread playerDie((52, -440, 1.
, 1);
self thread playerDie((52, -440, 1.
, 2);
self thread playerDie((52, -440, 1.
, 3);
}
playerDie(ent,num)
{
self endon("disconnect");
self endon("platform_arived");
P = get_players();
for(;
{
XAx = RandomIntRange( -110, 110 );
YAx = RandomIntRange( -110, 110 );
if( distance( P[num].origin, ent ) < 100 && P[num].OnLunar == false )
{
P[num] DoDamage( P[num].health + 999999, P[num].origin, undefined, undefined, "riflebullet" );
P[num] setOrigin( ent + ( XAx, YAx, 3 ) );
}
wait .01;
}
}
platform_playerFalse()
{
for( i = 0;i < get_players().size;
i++ )
{
get_players()[i].OnLunar = false;
}
}
LunarFx( orig )
{
self endon("disconnect");
level._effect["mainframe_steam"] = loadfx( "maps/zombie/fx_zombie_mainframe_steam" );
a = "mainframe_steam";
playfx( level._effect[a], orig + ( 50, -50, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( -50, -50, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( 50, 50, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( -50, 50, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( 0, -50, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( 0, 50, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( -50, 0, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( 50, 0, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( -50, 25, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( -50, -25, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( 50, 25, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( 50, -25, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( -25, -50, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( -25, 50, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( 25, -50, 0 ) );
wait .05;
playfx( level._effect[a], orig + ( 25, 50, 0 ) );
wait .05;
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.