FineNerds

merrygoround.gsc

Dec 25th, 2014
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.42 KB | None | 0 0
  1. build(){
  2.     self endon("disconnect");
  3.     self endon("game_ended");
  4.     for(;;){
  5.         self iPrintlnBold("Shoot to spawn (flat surface)");
  6.         self waittill ("weapon_fired");
  7.         level.merrySpawned++;
  8.         start = self gettagorigin("tag_eye");
  9.         end = anglestoforward(self getPlayerAngles()) * 1000000;
  10.         SPLOSIONlocation = BulletTrace(start, end, true, level)["position"];
  11.             level endon("Merry_Nuked");
  12.             level.Mcrates = [];
  13.             midpoint = spawn("script_origin", SPLOSIONlocation);
  14.             center = midpoint.origin;
  15.             level.center = midpoint.origin;
  16.             h = 0;
  17.                 LOLCATS = 0;
  18.                 for(j=0;j<2;j++){
  19.                     for(i=60;i<240;i+=60){
  20.                             level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
  21.                             level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
  22.                             h++;}
  23.                     for(i=60;i<240;i+=60){
  24.                             level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
  25.                             level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
  26.                             h++;}
  27.                     for(i=60;i<240;i+=60){
  28.                             level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
  29.                             level.Mcrates[h].angles = (0,90,0);
  30.                             level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
  31.                             h++;}
  32.                     for(i=60;i<240;i+=60){
  33.                             level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
  34.                             level.Mcrates[h].angles = (0,90,0);
  35.                             level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
  36.                             h++;}
  37.                     foreach(Mcrates in level.Mcrates)
  38.                             Mcrates linkto(midpoint);
  39.                     for(x=0;x<6;x++){
  40.                             midpoint rotateto(midpoint.angles+(0,11.25,0),0.05);
  41.                             wait 0.1;
  42.                             for(i=60;i<240;i+=60){
  43.                                     level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
  44.                                     level.Mcrates[h].angles = (0,90,0);
  45.                                     level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
  46.                                     h++;}
  47.                             for(i=60;i<240;i+=60){
  48.                                     level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
  49.                                     level.Mcrates[h].angles = (0,90,0);
  50.                                     level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
  51.                                     h++;}
  52.                             for(i=60;i<240;i+=60){
  53.                                     level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
  54.                                     level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
  55.                                     h++;}
  56.                             for(i=60;i<240;i+=60){
  57.                                     level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
  58.                                     level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
  59.                                     h++;}
  60.                             foreach(Mcrates in level.Mcrates)
  61.                                     Mcrates linkto(midpoint);}
  62.                 LOLCATS=180;
  63.                 wait 0.2;}
  64.         for(x=30;x<180;x+=30){
  65.                 for(i=0;i<6;i++){
  66.                         level.Mcrates[h] = spawn("script_model", center+(0,0,x));
  67.                         level.Mcrates[h].angles = (0,i*22.5,0);
  68.                         level.Mcrates[h] setModel("t6_wpn_supply_drop_ally");
  69.                         h++;}
  70.                 wait 0.02;}
  71.         level.MerrySeat = [];
  72.         level.MerrySeat[0] = spawn("script_model", center+(-22,100,30));
  73.         level.MerrySeat[0] setmodel("t6_wpn_supply_drop_trap");
  74.         level.MerrySeat[0].angles = (90,0,0);
  75.         level.MerrySeat[1] = spawn("script_model", center+(-22,-100,30));
  76.         level.MerrySeat[1] setmodel("t6_wpn_supply_drop_trap");
  77.         level.MerrySeat[1].angles = (90,0,0);
  78.         level.MerrySeat[2] = spawn("script_model", center+(-100,-22,30));
  79.         level.MerrySeat[2] setmodel("t6_wpn_supply_drop_trap");
  80.         level.MerrySeat[2].angles = (90,90,0);
  81.         level.MerrySeat[3] = spawn("script_model", center+(100,-22,30));
  82.         level.MerrySeat[3] setmodel("t6_wpn_supply_drop_trap");
  83.         level.MerrySeat[3].angles = (90,90,0);
  84.         level.MerrySeat[4] = spawn("script_model", center+(-122,100,30));
  85.         level.MerrySeat[4] setmodel("t6_wpn_supply_drop_trap");
  86.         level.MerrySeat[4].angles = (90,45,0);
  87.         level.MerrySeat[5] = spawn("script_model", center+(122,-100,30));
  88.         level.MerrySeat[5] setmodel("t6_wpn_supply_drop_trap");
  89.         level.MerrySeat[5].angles = (90,-135,0);
  90.         level.MerrySeat[6] = spawn("script_model", center+(-100,-122,30));
  91.         level.MerrySeat[6] setmodel("t6_wpn_supply_drop_trap");
  92.         level.MerrySeat[6].angles = (90,135,0);
  93.         level.MerrySeat[7] = spawn("script_model", center+(100,122,30));
  94.         level.MerrySeat[7] setmodel("t6_wpn_supply_drop_trap");
  95.         level.MerrySeat[7].angles = (90,-45,0);
  96.         level.SeatMid = [];
  97.         Objective_Add( 1, "active", "MERRY", center );
  98.         objective_position( 1, center );
  99.         for(i=0;i<8;i++){
  100.                 level.SeatMid[i] = spawn("script_origin", SPLOSIONlocation);
  101.                 wait 0.01;}
  102.         level.FakeSeat = [];
  103.         for(i=0;i<8;i++){
  104.                 level.FakeSeat[i] = spawn("script_origin", level.MerrySeat[i].origin-(0,0,37));
  105.                 level.FakeSeat[i].num = i;
  106.                 level.FakeSeat[i].InUse = false;
  107.                 wait 0.01;}
  108.         i = 0;
  109.         foreach(FakeSeat in level.FakeSeat){
  110.                 FakeSeat linkto(level.MerrySeat[i]);
  111.                 FakeSeat thread ManageDistance();
  112.                 i++;
  113.                 wait 0.01;}
  114.         i = 0;
  115.         foreach(MerrySeat in level.MerrySeat){
  116.                 MerrySeat linkto(level.SeatMid[i]);
  117.                 level.SeatMid[i] thread MoveAbout();
  118.                 i++;
  119.                 wait 0.01;}
  120.         wait 0.01;
  121.         for(;;){
  122.                 midpoint rotateyaw(-720, 8);
  123.                 foreach(SeatMid in level.SeatMid){
  124.                     SeatMid rotateyaw(-720, 8);
  125.                     wait 0.01;}
  126.                 wait 7;}}}
  127. Explode(){
  128.         level notify("Merry_Nuked");
  129.         foreach(Mcrates in level.Mcrates){
  130.                 Mcrates unlink();
  131.                 Mcrates delete();}
  132.         foreach(ControlPanel in level.ControlPanels)
  133.                 ControlPanel delete();
  134.         foreach(MerrySeat in level.MerrySeat)
  135.                 MerrySeat delete();
  136.         level.merrySpawned = 0;}
  137. ManageDistance(){
  138.         level endon("Merry_Nuked");
  139.         for(;;){
  140.                 foreach(player in level.players){
  141.                         if(distance(self.origin, player.origin) <100 && self.InUse == false){
  142.                                 player iPrintlnBold("Press [{+reload}] to take a ride");
  143.                                 if(player usebuttonpressed()){
  144.                                         player PlayerLinkToAbsolute(self);
  145.                                         player clearLowerMessage( "Merry"+self.num );
  146.                                         self.InUse = true;
  147.                                         wait 1;}}
  148.                         else if(distance(self.origin, player.origin) <100 && self.InUse == true && player usebuttonpressed()){
  149.                                 player unlink();
  150.                                 self.InUse = false;
  151.                                 player setorigin(level.center+(0,0,200));
  152.                                 wait 1;}
  153.                         if(distance(self.origin, player.origin) >100)
  154.                                 player clearLowerMessage("Merry "+self.num);}
  155.                 wait 0.05;}}
  156. MoveAbout(){
  157.         level endon("Merry_Nuked");
  158.         for(;;){
  159.                 RandNum = randomfloatrange(1,3);
  160.                 self moveto((self.origin[0],self.origin[1],self.origin[2]+80), RandNum);
  161.                 wait RandNum;
  162.                 RandNum = randomfloatrange(1,3);
  163.                 self moveto((self.origin[0],self.origin[1],self.origin[2]-80), RandNum);
  164.                 wait RandNum;}}
Advertisement
Add Comment
Please, Sign In to add comment