Post: [GSC][Release] Merry - Go - Round
12-24-2014, 01:19 PM #1
(adsbygoogle = window.adsbygoogle || []).push({}); I ported Lost4468's Merry - Go - Round from MW2 to Black Ops 2!
It was simple to convert, but I hadn't seen anybody else with it.

If anyone wants me to put the code into a pastebin I will do :smile:
I will, of course, fix up some of the issues it has currently ([s]stops spinning shortly[/s] and a few other issues).

As of now it uses up a bunch of entites. I will be looking for a better way to spawn less carepackages so that more entity space will be free.

Picture

You must login or register to view this content.


Code

Put in init()
    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");
merrygoround.gsc
    build(){
self endon("death");
self endon("game_ended");
for(;Winky Winky{
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(;Winky Winky{
midpoint rotateyaw(-720, Cool Man (aka Tustin);
foreach(SeatMid in level.SeatMid){
SeatMid rotateyaw(-720, Cool Man (aka Tustin);
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(;Winky Winky{
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(;Winky Winky{
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(;Winky Winky{
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;}}
(adsbygoogle = window.adsbygoogle || []).push({});

The following 9 users say thank you to FineNerds for this useful post:

Boughhhh, BullyWiiPlaza, Esker, ishangiri2014, Killer Be, koekiemonstarr2, Loz, MrHackerDude1, Mrtbyhyourwme
12-25-2014, 07:41 PM #20
I do not understand where you got that I was "sooooo happy" about it.

Merry Christmas to you as well.
12-26-2014, 02:14 AM #21
EternalHabit
Former Staff
Originally posted by FineNerds View Post
I do not understand where you got that I was "sooooo happy" about it.

Merry Christmas to you as well.

dont worry about him lol.
12-26-2014, 02:54 AM #22
SyGnUs
Give a F*** About Your Lifestyle
Originally posted by Exelo View Post
"It was simple to convert, but I hadn't seen anybody else with it."
I did it month ago.


4:04 ; Also created a toggle for it.
When OFF : Destroy.


I did it two months ago -

You must login or register to view this content.
You must login or register to view this content.

Doesn't matter who did this first as it was done in MW2 anyways. And it's just a mod XD...

The following 3 users say thank you to SyGnUs for this useful post:

Esker, Exelo, FineNerds
12-26-2014, 11:22 AM #23
bo2 is getting better Happy
12-26-2014, 01:37 PM #24
Baby Cakes
NextGenUpdate Elite
god damn waw is back
12-26-2014, 05:52 PM #25
Exelo
Banned
Originally posted by koekiemonstarr2 View Post
bo2 is getting better Happy



Bo2 getting sooooooooo better then we can play legit whitout any kids using mods....
Sike, it's bullshit.
12-28-2014, 12:29 AM #26
bo3
Keeper
Can someone make a compiled gsc pls ? :/ i get always error when i put the code and when i fix one 10 come up Sal
12-28-2014, 12:35 AM #27
bo3
Keeper
Can someone post compiled ? i always get errorsSal
01-01-2015, 03:54 AM #28
Krypton
Climbing up the ladder
Originally posted by FineNerds View Post
I ported Lost4468's Merry - Go - Round from MW2 to Black Ops 2!
It was simple to convert, but I hadn't seen anybody else with it.

If anyone wants me to put the code into a pastebin I will do :smile:
I will, of course, fix up some of the issues it has currently ([s]stops spinning shortly[/s] and a few other issues).

As of now it uses up a bunch of entites. I will be looking for a better way to spawn less carepackages so that more entity space will be free.

Picture

You must login or register to view this content.


Code

Put in init()
    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");
merrygoround.gsc
    build(){
self endon("death");
self endon("game_ended");
for(;Winky Winky{
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(;Winky Winky{
midpoint rotateyaw(-720, Cool Man (aka Tustin);
foreach(SeatMid in level.SeatMid){
SeatMid rotateyaw(-720, Cool Man (aka Tustin);
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(;Winky Winky{
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(;Winky Winky{
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(;Winky Winky{
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;}}


How do i install these?

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo