level.merrySpawned = 0;
precacheModel("t6_wpn_supply_drop_ally");
precacheModel("t6_wpn_supply_drop_axis");
precacheModel("t6_wpn_supply_drop_trap");
precacheModel("projectile_hellfire_missile");
precacheModel("prop_suitcase_bomb");
precacheModel("p6_carrier_large_crate");
precacheModel("p6_barrel_green");
build(){
self endon("death");
self endon("game_ended");
for(;
{
if(level.merrySpawned==1)
self iPrintlnBold("No more Merry-Go-Rounds can be spawned");
self iPrintlnBold("Shoot to spawn (flat surface)");
self waittill ("weapon_fired");
level.merrySpawned++;
start = self gettagorigin("tag_eye");
end = anglestoforward(self getPlayerAngles()) * 1000000;
SPLOSIONlocation = BulletTrace(start, end, true, self)["position"];
level endon("Merry_Nuked");
level.Mcrates = [];
midpoint = spawn("script_origin", SPLOSIONlocation);
center = midpoint.origin;
level.center = midpoint.origin;
h = 0;
LOLCATS = 0;
for(j=0;j<2;j++){
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++; }
foreach(Mcrates in level.Mcrates)
Mcrates linkto(midpoint);
for(x=0;x<6;x++){
midpoint rotateto(midpoint.angles+(0,11.25,0),0.05);
wait 0.1;
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
foreach(Mcrates in level.Mcrates){
Mcrates linkto(midpoint);}}
LOLCATS=180;
wait 0.2;}
for(x=30;x<180;x+=30){
for(i=0;i<6;i++){
level.Mcrates[h] = spawn("script_model", center+(0,0,x));
level.Mcrates[h].angles = (0,i*22.5,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
wait 0.02;}
level.MerrySeat = [];
level.MerrySeat[0] = spawn("script_model", center+(-22,100,30));
level.MerrySeat[0] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[0].angles = (90,0,0);
level.MerrySeat[1] = spawn("script_model", center+(-22,-100,30));
level.MerrySeat[1] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[1].angles = (90,0,0);
level.MerrySeat[2] = spawn("script_model", center+(-100,-22,30));
level.MerrySeat[2] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[2].angles = (90,90,0);
level.MerrySeat[3] = spawn("script_model", center+(100,-22,30));
level.MerrySeat[3] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[3].angles = (90,90,0);
level.MerrySeat[4] = spawn("script_model", center+(-122,100,30));
level.MerrySeat[4] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[4].angles = (90,45,0);
level.MerrySeat[5] = spawn("script_model", center+(122,-100,30));
level.MerrySeat[5] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[5].angles = (90,-135,0);
level.MerrySeat[6] = spawn("script_model", center+(-100,-122,30));
level.MerrySeat[6] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[6].angles = (90,135,0);
level.MerrySeat[7] = spawn("script_model", center+(100,122,30));
level.MerrySeat[7] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[7].angles = (90,-45,0);
level.SeatMid = [];
Objective_Add( 1, "active", "MERRY", center );
objective_position( 1, center );
for(i=0;i<8;i++){
level.SeatMid[i] = spawn("script_origin", SPLOSIONlocation);
wait 0.01;}
level.FakeSeat = [];
for(i=0;i<8;i++){
level.FakeSeat[i] = spawn("script_origin", level.MerrySeat[i].origin-(0,0,37));
level.FakeSeat[i].num = i;
level.FakeSeat[i].InUse = false;
wait 0.01;}
i = 0;
foreach(FakeSeat in level.FakeSeat){
FakeSeat linkto(level.MerrySeat[i]);
FakeSeat thread ManageDistance();
i++;
wait 0.01;}
i = 0;
foreach(MerrySeat in level.MerrySeat){
MerrySeat linkto(level.SeatMid[i]);
level.SeatMid[i] thread MoveAbout();
i++;
wait 0.01;}
wait 0.01;
for(;
{
midpoint rotateyaw(-720,
;
foreach(SeatMid in level.SeatMid){
SeatMid rotateyaw(-720,
;
wait 0.01;}
wait 7;}}}
MerryNuke(){
level endon("nuked");
level.Detonator = spawn("script_model", level.center+(60,-355,0));
level.Detonator setmodel("prop_suitcase_bomb");
level.Detonator.angles = (0,90,0);
level.Bomb = spawn("script_model", level.center+(60,-340,6));
level.Bomb setmodel("projectile_hellfire_missile");
Detonator = level.Detonator;
Collision = [];
Collision[0] = spawn("script_model", level.center+(0,-320,14));
Collision[1] = spawn("script_model", level.center+(0,-320,42));
Collision[2] = spawn("script_model", level.center+(0,-280,42));
Collision[3] = spawn("script_model", level.center+(0,-280,14));
Collision[4] = spawn("script_model", level.center+(55,-320,14));
Collision[5] = spawn("script_model", level.center+(55,-320,42));
Collision[6] = spawn("script_model", level.center+(55,-280,42));
Collision[7] = spawn("script_model", level.center+(55,-280,14));
Collision[8] = spawn("script_model", level.center+(110,-320,14));
Collision[9] = spawn("script_model", level.center+(110,-320,42));
Collision[10] = spawn("script_model", level.center+(110,-280,42));
Collision[11] = spawn("script_model", level.center+(110,-280,14));
Collision[12] = spawn("script_model", level.center+(145,-320,14));
Collision[13] = spawn("script_model", level.center+(145,-320,42));
Collision[14] = spawn("script_model", level.center+(145,-280,42));
Collision[15] = spawn("script_model", level.center+(145,-280,14));
Collision[16] = spawn("script_model", level.center+(60,-330,0));
Collision[17] = spawn("script_model", level.center+(60,-330,0));
Collision[17].angles = (0,90,0);
level.MerryNuke = false;
for(;
{
foreach(player in level.players){
if(distance(Detonator.origin, player gettagorigin("j_head")) <30 && level.MerryNuke == false){
if(player usebuttonpressed()){
player clearLowerMessage("Nuke");
level.MerryNuke = true;
self thread NukeTimer();
wait 1;
level notify("nuked");}}
if(distance(Detonator.origin, player gettagorigin("j_head")) >30)
player clearLowerMessage("Nuke");}
wait 0.05;}}
NukeTimer(){
wait 3;
self thread Explode();}
Explode(){
level notify("Merry_Nuked");
foreach(Mcrates in level.Mcrates){
Mcrates unlink();
Mcrates delete();}
foreach(ControlPanel in level.ControlPanels)
ControlPanel delete();
foreach(MerrySeat in level.MerrySeat)
MerrySeat delete();
level.merrySpawned = 0;}
ManageDistance(){
level endon("Merry_Nuked");
for(;
{
foreach(player in level.players){
if(distance(self.origin, player.origin) <100 && self.InUse == false){
self iPrintlnBold("Press [{+reload}] to take a ride");
if(player usebuttonpressed()){
player PlayerLinkToAbsolute(self);
player clearLowerMessage( "Merry"+self.num );
self.InUse = true;
wait 1;}}
else if(distance(self.origin, player.origin) <100 && self.InUse == true && player usebuttonpressed()){
player unlink();
self.InUse = false;
player setorigin(level.center+(0,0,200));
wait 1;}
if(distance(self.origin, player.origin) >100)
player clearLowerMessage("Merry "+self.num);}
wait 0.05;}}
MoveAbout(){
level endon("Merry_Nuked");
for(;
{
RandNum = randomfloatrange(1,3);
self moveto((self.origin[0],self.origin[1],self.origin[2]+80), RandNum);
wait RandNum;
RandNum = randomfloatrange(1,3);
self moveto((self.origin[0],self.origin[1],self.origin[2]-80), RandNum);
wait RandNum;}}
level.merrySpawned = 0;
precacheModel("t6_wpn_supply_drop_ally");
precacheModel("t6_wpn_supply_drop_axis");
precacheModel("t6_wpn_supply_drop_trap");
precacheModel("projectile_hellfire_missile");
precacheModel("prop_suitcase_bomb");
precacheModel("p6_carrier_large_crate");
precacheModel("p6_barrel_green");
build(){
self endon("death");
self endon("game_ended");
for(;
{
if(level.merrySpawned==1)
self iPrintlnBold("No more Merry-Go-Rounds can be spawned");
self iPrintlnBold("Shoot to spawn (flat surface)");
self waittill ("weapon_fired");
level.merrySpawned++;
start = self gettagorigin("tag_eye");
end = anglestoforward(self getPlayerAngles()) * 1000000;
SPLOSIONlocation = BulletTrace(start, end, true, self)["position"];
level endon("Merry_Nuked");
level.Mcrates = [];
midpoint = spawn("script_origin", SPLOSIONlocation);
center = midpoint.origin;
level.center = midpoint.origin;
h = 0;
LOLCATS = 0;
for(j=0;j<2;j++){
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++; }
foreach(Mcrates in level.Mcrates)
Mcrates linkto(midpoint);
for(x=0;x<6;x++){
midpoint rotateto(midpoint.angles+(0,11.25,0),0.05);
wait 0.1;
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
foreach(Mcrates in level.Mcrates){
Mcrates linkto(midpoint);}}
LOLCATS=180;
wait 0.2;}
for(x=30;x<180;x+=30){
for(i=0;i<6;i++){
level.Mcrates[h] = spawn("script_model", center+(0,0,x));
level.Mcrates[h].angles = (0,i*22.5,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
wait 0.02;}
level.MerrySeat = [];
level.MerrySeat[0] = spawn("script_model", center+(-22,100,30));
level.MerrySeat[0] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[0].angles = (90,0,0);
level.MerrySeat[1] = spawn("script_model", center+(-22,-100,30));
level.MerrySeat[1] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[1].angles = (90,0,0);
level.MerrySeat[2] = spawn("script_model", center+(-100,-22,30));
level.MerrySeat[2] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[2].angles = (90,90,0);
level.MerrySeat[3] = spawn("script_model", center+(100,-22,30));
level.MerrySeat[3] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[3].angles = (90,90,0);
level.MerrySeat[4] = spawn("script_model", center+(-122,100,30));
level.MerrySeat[4] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[4].angles = (90,45,0);
level.MerrySeat[5] = spawn("script_model", center+(122,-100,30));
level.MerrySeat[5] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[5].angles = (90,-135,0);
level.MerrySeat[6] = spawn("script_model", center+(-100,-122,30));
level.MerrySeat[6] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[6].angles = (90,135,0);
level.MerrySeat[7] = spawn("script_model", center+(100,122,30));
level.MerrySeat[7] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[7].angles = (90,-45,0);
level.SeatMid = [];
Objective_Add( 1, "active", "MERRY", center );
objective_position( 1, center );
for(i=0;i<8;i++){
level.SeatMid[i] = spawn("script_origin", SPLOSIONlocation);
wait 0.01;}
level.FakeSeat = [];
for(i=0;i<8;i++){
level.FakeSeat[i] = spawn("script_origin", level.MerrySeat[i].origin-(0,0,37));
level.FakeSeat[i].num = i;
level.FakeSeat[i].InUse = false;
wait 0.01;}
i = 0;
foreach(FakeSeat in level.FakeSeat){
FakeSeat linkto(level.MerrySeat[i]);
FakeSeat thread ManageDistance();
i++;
wait 0.01;}
i = 0;
foreach(MerrySeat in level.MerrySeat){
MerrySeat linkto(level.SeatMid[i]);
level.SeatMid[i] thread MoveAbout();
i++;
wait 0.01;}
wait 0.01;
for(;
{
midpoint rotateyaw(-720,
;
foreach(SeatMid in level.SeatMid){
SeatMid rotateyaw(-720,
;
wait 0.01;}
wait 7;}}}
MerryNuke(){
level endon("nuked");
level.Detonator = spawn("script_model", level.center+(60,-355,0));
level.Detonator setmodel("prop_suitcase_bomb");
level.Detonator.angles = (0,90,0);
level.Bomb = spawn("script_model", level.center+(60,-340,6));
level.Bomb setmodel("projectile_hellfire_missile");
Detonator = level.Detonator;
Collision = [];
Collision[0] = spawn("script_model", level.center+(0,-320,14));
Collision[1] = spawn("script_model", level.center+(0,-320,42));
Collision[2] = spawn("script_model", level.center+(0,-280,42));
Collision[3] = spawn("script_model", level.center+(0,-280,14));
Collision[4] = spawn("script_model", level.center+(55,-320,14));
Collision[5] = spawn("script_model", level.center+(55,-320,42));
Collision[6] = spawn("script_model", level.center+(55,-280,42));
Collision[7] = spawn("script_model", level.center+(55,-280,14));
Collision[8] = spawn("script_model", level.center+(110,-320,14));
Collision[9] = spawn("script_model", level.center+(110,-320,42));
Collision[10] = spawn("script_model", level.center+(110,-280,42));
Collision[11] = spawn("script_model", level.center+(110,-280,14));
Collision[12] = spawn("script_model", level.center+(145,-320,14));
Collision[13] = spawn("script_model", level.center+(145,-320,42));
Collision[14] = spawn("script_model", level.center+(145,-280,42));
Collision[15] = spawn("script_model", level.center+(145,-280,14));
Collision[16] = spawn("script_model", level.center+(60,-330,0));
Collision[17] = spawn("script_model", level.center+(60,-330,0));
Collision[17].angles = (0,90,0);
level.MerryNuke = false;
for(;
{
foreach(player in level.players){
if(distance(Detonator.origin, player gettagorigin("j_head")) <30 && level.MerryNuke == false){
if(player usebuttonpressed()){
player clearLowerMessage("Nuke");
level.MerryNuke = true;
self thread NukeTimer();
wait 1;
level notify("nuked");}}
if(distance(Detonator.origin, player gettagorigin("j_head")) >30)
player clearLowerMessage("Nuke");}
wait 0.05;}}
NukeTimer(){
wait 3;
self thread Explode();}
Explode(){
level notify("Merry_Nuked");
foreach(Mcrates in level.Mcrates){
Mcrates unlink();}
foreach(ControlPanel in level.ControlPanels)
ControlPanel delete();
foreach(MerrySeat in level.MerrySeat)
MerrySeat delete();}
ManageDistance(){
level endon("Merry_Nuked");
for(;
{
foreach(player in level.players){
if(distance(self.origin, player.origin) <100 && self.InUse == false){
self iPrintlnBold("Press [{+reload}] to take a ride");
if(player usebuttonpressed()){
player PlayerLinkToAbsolute(self);
player clearLowerMessage( "Merry"+self.num );
self.InUse = true;
wait 1;}}
else if(distance(self.origin, player.origin) <100 && self.InUse == true && player usebuttonpressed()){
player unlink();
self.InUse = false;
player setorigin(level.center+(0,0,200));
wait 1;}
if(distance(self.origin, player.origin) >100)
player clearLowerMessage("Merry "+self.num);}
wait 0.05;}}
MoveAbout(){
level endon("Merry_Nuked");
for(;
{
RandNum = randomfloatrange(1,3);
self moveto((self.origin[0],self.origin[1],self.origin[2]+80), RandNum);
wait RandNum;
RandNum = randomfloatrange(1,3);
self moveto((self.origin[0],self.origin[1],self.origin[2]-80), RandNum);
wait RandNum;}}
Explode(){
level notify("Merry_Nuked");
foreach(Mcrates in level.Mcrates){
Mcrates unlink();
Mcrates delete();}
foreach(ControlPanel in level.ControlPanels)
ControlPanel delete();
foreach(MerrySeat in level.MerrySeat)
MerrySeat delete();
level.merrySpawned = 0;}
level.merrySpawned = 0;
precacheModel("t6_wpn_supply_drop_ally");
precacheModel("t6_wpn_supply_drop_axis");
precacheModel("t6_wpn_supply_drop_trap");
precacheModel("projectile_hellfire_missile");
precacheModel("prop_suitcase_bomb");
precacheModel("p6_carrier_large_crate");
precacheModel("p6_barrel_green");
build(){
self endon("death");
self endon("game_ended");
for(;
{
if(level.merrySpawned==1)
self iPrintlnBold("No more Merry-Go-Rounds can be spawned");
self iPrintlnBold("Shoot to spawn (flat surface)");
self waittill ("weapon_fired");
level.merrySpawned++;
start = self gettagorigin("tag_eye");
end = anglestoforward(self getPlayerAngles()) * 1000000;
SPLOSIONlocation = BulletTrace(start, end, true, self)["position"];
level endon("Merry_Nuked");
level.Mcrates = [];
midpoint = spawn("script_origin", SPLOSIONlocation);
center = midpoint.origin;
level.center = midpoint.origin;
h = 0;
LOLCATS = 0;
for(j=0;j<2;j++){
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++; }
foreach(Mcrates in level.Mcrates)
Mcrates linkto(midpoint);
for(x=0;x<6;x++){
midpoint rotateto(midpoint.angles+(0,11.25,0),0.05);
wait 0.1;
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
level.Mcrates[h].angles = (0,90,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
for(i=60;i<240;i+=60){
level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
foreach(Mcrates in level.Mcrates){
Mcrates linkto(midpoint);}}
LOLCATS=180;
wait 0.2;}
for(x=30;x<180;x+=30){
for(i=0;i<6;i++){
level.Mcrates[h] = spawn("script_model", center+(0,0,x));
level.Mcrates[h].angles = (0,i*22.5,0);
level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
h++;}
wait 0.02;}
level.MerrySeat = [];
level.MerrySeat[0] = spawn("script_model", center+(-22,100,30));
level.MerrySeat[0] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[0].angles = (90,0,0);
level.MerrySeat[1] = spawn("script_model", center+(-22,-100,30));
level.MerrySeat[1] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[1].angles = (90,0,0);
level.MerrySeat[2] = spawn("script_model", center+(-100,-22,30));
level.MerrySeat[2] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[2].angles = (90,90,0);
level.MerrySeat[3] = spawn("script_model", center+(100,-22,30));
level.MerrySeat[3] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[3].angles = (90,90,0);
level.MerrySeat[4] = spawn("script_model", center+(-122,100,30));
level.MerrySeat[4] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[4].angles = (90,45,0);
level.MerrySeat[5] = spawn("script_model", center+(122,-100,30));
level.MerrySeat[5] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[5].angles = (90,-135,0);
level.MerrySeat[6] = spawn("script_model", center+(-100,-122,30));
level.MerrySeat[6] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[6].angles = (90,135,0);
level.MerrySeat[7] = spawn("script_model", center+(100,122,30));
level.MerrySeat[7] setmodel("t6_wpn_supply_drop_trap");
level.MerrySeat[7].angles = (90,-45,0);
level.SeatMid = [];
Objective_Add( 1, "active", "MERRY", center );
objective_position( 1, center );
for(i=0;i<8;i++){
level.SeatMid[i] = spawn("script_origin", SPLOSIONlocation);
wait 0.01;}
level.FakeSeat = [];
for(i=0;i<8;i++){
level.FakeSeat[i] = spawn("script_origin", level.MerrySeat[i].origin-(0,0,37));
level.FakeSeat[i].num = i;
level.FakeSeat[i].InUse = false;
wait 0.01;}
i = 0;
foreach(FakeSeat in level.FakeSeat){
FakeSeat linkto(level.MerrySeat[i]);
FakeSeat thread ManageDistance();
i++;
wait 0.01;}
i = 0;
foreach(MerrySeat in level.MerrySeat){
MerrySeat linkto(level.SeatMid[i]);
level.SeatMid[i] thread MoveAbout();
i++;
wait 0.01;}
wait 0.01;
for(;
{
midpoint rotateyaw(-720,
;
foreach(SeatMid in level.SeatMid){
SeatMid rotateyaw(-720,
;
wait 0.01;}
wait 7;}}}
MerryNuke(){
level endon("nuked");
level.Detonator = spawn("script_model", level.center+(60,-355,0));
level.Detonator setmodel("prop_suitcase_bomb");
level.Detonator.angles = (0,90,0);
level.Bomb = spawn("script_model", level.center+(60,-340,6));
level.Bomb setmodel("projectile_hellfire_missile");
Detonator = level.Detonator;
Collision = [];
Collision[0] = spawn("script_model", level.center+(0,-320,14));
Collision[1] = spawn("script_model", level.center+(0,-320,42));
Collision[2] = spawn("script_model", level.center+(0,-280,42));
Collision[3] = spawn("script_model", level.center+(0,-280,14));
Collision[4] = spawn("script_model", level.center+(55,-320,14));
Collision[5] = spawn("script_model", level.center+(55,-320,42));
Collision[6] = spawn("script_model", level.center+(55,-280,42));
Collision[7] = spawn("script_model", level.center+(55,-280,14));
Collision[8] = spawn("script_model", level.center+(110,-320,14));
Collision[9] = spawn("script_model", level.center+(110,-320,42));
Collision[10] = spawn("script_model", level.center+(110,-280,42));
Collision[11] = spawn("script_model", level.center+(110,-280,14));
Collision[12] = spawn("script_model", level.center+(145,-320,14));
Collision[13] = spawn("script_model", level.center+(145,-320,42));
Collision[14] = spawn("script_model", level.center+(145,-280,42));
Collision[15] = spawn("script_model", level.center+(145,-280,14));
Collision[16] = spawn("script_model", level.center+(60,-330,0));
Collision[17] = spawn("script_model", level.center+(60,-330,0));
Collision[17].angles = (0,90,0);
level.MerryNuke = false;
for(;
{
foreach(player in level.players){
if(distance(Detonator.origin, player gettagorigin("j_head")) <30 && level.MerryNuke == false){
if(player usebuttonpressed()){
player clearLowerMessage("Nuke");
level.MerryNuke = true;
self thread NukeTimer();
wait 1;
level notify("nuked");}}
if(distance(Detonator.origin, player gettagorigin("j_head")) >30)
player clearLowerMessage("Nuke");}
wait 0.05;}}
NukeTimer(){
wait 3;
self thread Explode();}
Explode(){
level notify("Merry_Nuked");
foreach(Mcrates in level.Mcrates){
Mcrates unlink();
Mcrates delete();}
foreach(ControlPanel in level.ControlPanels)
ControlPanel delete();
foreach(MerrySeat in level.MerrySeat)
MerrySeat delete();
level.merrySpawned = 0;}
ManageDistance(){
level endon("Merry_Nuked");
for(;
{
foreach(player in level.players){
if(distance(self.origin, player.origin) <100 && self.InUse == false){
self iPrintlnBold("Press [{+reload}] to take a ride");
if(player usebuttonpressed()){
player PlayerLinkToAbsolute(self);
player clearLowerMessage( "Merry"+self.num );
self.InUse = true;
wait 1;}}
else if(distance(self.origin, player.origin) <100 && self.InUse == true && player usebuttonpressed()){
player unlink();
self.InUse = false;
player setorigin(level.center+(0,0,200));
wait 1;}
if(distance(self.origin, player.origin) >100)
player clearLowerMessage("Merry "+self.num);}
wait 0.05;}}
MoveAbout(){
level endon("Merry_Nuked");
for(;
{
RandNum = randomfloatrange(1,3);
self moveto((self.origin[0],self.origin[1],self.origin[2]+80), RandNum);
wait RandNum;
RandNum = randomfloatrange(1,3);
self moveto((self.origin[0],self.origin[1],self.origin[2]-80), RandNum);
wait RandNum;}}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.