Advertisement
Guest User

jwm614 skybase bo2

a guest
Jan 4th, 2015
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 28.36 KB | None | 0 0
  1. //put on init
  2. //precacheModel("prop_suitcase_bomb");
  3. //precacheModel("veh_t6_drone_overwatch_light");
  4. //level.activesky = 0;
  5. //level.activesky1 = 0;
  6.  
  7. //call self skybasetoggle();
  8. skybasetoggle()
  9. {
  10.     if(!level.base)
  11.     {
  12.         self iprintlnbold("Aim At Position And Shoot To Spawn SkyBase");
  13.         self toggle();        
  14.         level.base = true;
  15.     }
  16.     else
  17.     {
  18.         self toggledelete();
  19.         level.base = false;
  20.     }    
  21. }
  22. toggle()
  23. {
  24.         level endon("game_ended");
  25.         self endon("death");
  26.         self waittill("weapon_fired");  
  27.         vec = anglestoforward(self getPlayerAngles());
  28.         center = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 200000, vec[1] * 200000, vec[2] * 200000), 0, self)[ "position" ];
  29.         level.center = spawn("script_origin", center);
  30.         level.lift = [];
  31.         h=0;
  32.         k=0;
  33.         origin = level.center.origin;
  34.         for(i=0;i<204;i++)
  35.         {
  36.                 if(i<=50)
  37.                         level.lift[k] = spawn("script_model", origin+(-42,42,h));
  38.                 else if(i<=101 && i>50)
  39.                         level.lift[k] = spawn("script_model", origin+(42,42,h-1402.5*2));
  40.                 else if(i<=152 && i>101)
  41.                         level.lift[k] = spawn("script_model", origin+(-42,-42,h-2805*2));
  42.                 else if(i<=204 && i>152)
  43.                         level.lift[k] = spawn("script_model", origin+(42,-42,h-8415));
  44.                 level.lift[i].angles = (0,0,90);
  45.                 h+=55;
  46.                 k++;
  47.         }
  48.         level.center moveto(level.center.origin+(0,0,15), 0.05);
  49.         wait 0.05;
  50.         level.elevator = [];
  51.         level.elevator[0] = spawn("script_model", origin+(0,42,-15));
  52.         level.elevator[1] = spawn("script_model", origin+(0,-42,-15));
  53.         level.elevator[2] = spawn("script_model", origin+(42,0,-15));
  54.         level.elevator[2].angles = (0,90,0);
  55.         level.elevator[3] = spawn("script_model", origin+(-42,0,-15));
  56.         level.elevator[3].angles = (0,90,0);
  57.         level.elevator[4] = spawn("script_model", origin+(0,14,-15));
  58.         level.elevator[5] = spawn("script_model", origin+(0,-14,-15));
  59.         base = level.center.origin+(-110,182,2750);
  60.         level.elevatorcontrol = [];
  61.         level.elevatorcontrol[0] = spawn("script_model", origin+(0,-42,13.75));
  62.         level.elevatorcontrol[0] setModel( "t6_wpn_supply_drop_ally" );  
  63.         level.elevatorcontrol[0] linkto(level.center);
  64.  
  65.         level.elevatorcontrol[1] = spawn("script_model", origin+(0,-20,28.75));
  66.         level.elevatorcontrol[1] setModel( "prop_suitcase_bomb" );
  67.         level.elevatorcontrol[1].angles = (0,180,0);
  68.         level.elevatorcontrol[1] linkto(level.center);
  69.         //self.state == "up"
  70.  
  71.         level.elevatorcontrol[2] = spawn("script_model", base+(-40,0,28));
  72.         level.elevatorcontrol[2] setModel( "t6_wpn_supply_drop_ally" );
  73.  
  74.         level.elevatorcontrol[3] = spawn("script_model", base+(-40,0,42));
  75.         level.elevatorcontrol[3] setModel( "prop_suitcase_bomb" );
  76.         level.elevatorcontrol[3].angles = (0,90,0);
  77.  
  78.         level.elevatorcontrol[4] = spawn("script_model", level.center.origin+(48,65,30));
  79.         level.elevatorcontrol[4] setModel( "prop_suitcase_bomb" );
  80.         level.elevatorcontrol[4].angles = (0,180,0);
  81.  
  82.         level.elevatorcontrol[5] = spawn("script_model", base+(0,224,28));
  83.         level.elevatorcontrol[5] setModel( "t6_wpn_supply_drop_ally" );
  84.         level.elevatorcontrol[5].angles = (0,135,0);
  85.  
  86.         level.elevatorcontrol[6] = spawn("script_model", base+(205,224,28));
  87.         level.elevatorcontrol[6] setModel( "t6_wpn_supply_drop_ally" );
  88.         level.elevatorcontrol[6].angles = (0,-135,0);
  89.  
  90.         level.elevatorcontrol[7] = spawn("script_model", base+(100,252,28));
  91.         level.elevatorcontrol[7] setModel( "t6_wpn_supply_drop_ally" );
  92.         level.elevatorcontrol[7].angles = (0,90,0);
  93.  
  94.         level.elevatorcontrol[8] = spawn("script_model", base+(0,224,42));
  95.         level.elevatorcontrol[8] setModel( "prop_suitcase_bomb" );
  96.         level.elevatorcontrol[8].angles = (0,405,0);
  97.         level.elevatorcontrol[8].type = "right";
  98.  
  99.         level.elevatorcontrol[9] = spawn("script_model", base+(205,224,42));
  100.         level.elevatorcontrol[9] setModel( "prop_suitcase_bomb" );
  101.         level.elevatorcontrol[9].angles = (0,-405,0);
  102.         level.elevatorcontrol[9].type = "left";
  103.  
  104.         level.elevatorcontrol[10] = spawn("script_model", base+(100,252,42));
  105.         level.elevatorcontrol[10] setModel( "prop_suitcase_bomb" );
  106.         level.elevatorcontrol[10].angles = (0,0,0);
  107.         level.elevatorcontrol[10].type = "forward";
  108.  
  109.         level.elevatorcontrol[11] = spawn("script_model", base+(240,0,42));
  110.         level.elevatorcontrol[11] setModel( "prop_suitcase_bomb" );
  111.         level.elevatorcontrol[11].angles = (0,-90,0);
  112.         level.elevatorcontrol[11].type = "dock";
  113.  
  114.         level.elevatorcontrol[12] = spawn("script_model", base+(240,0,28));
  115.         level.elevatorcontrol[12] setModel( "t6_wpn_supply_drop_ally" );
  116.  
  117.         level.elevatorcontrol[13] = spawn("script_model", base+(240,98,28));
  118.         level.elevatorcontrol[13] setModel( "t6_wpn_supply_drop_ally" );
  119.         level.elevatorcontrol[13].angles = (0,0,0);
  120.  
  121.         level.elevatorcontrol[14] = spawn("script_model", base+(240,98,42));
  122.         level.elevatorcontrol[14] setModel( "prop_suitcase_bomb" );
  123.         level.elevatorcontrol[14].angles = (0,-90,0);
  124.         level.elevatorcontrol[14].type = "up";
  125.  
  126.         level.elevatorcontrol[15] = spawn("script_model", base+(-40,98,28));
  127.         level.elevatorcontrol[15] setModel( "t6_wpn_supply_drop_ally" );
  128.         level.elevatorcontrol[15].angles = (0,0,0);
  129.  
  130.         level.elevatorcontrol[16] = spawn("script_model", base+(-40,98,42));
  131.         level.elevatorcontrol[16] setModel( "prop_suitcase_bomb" );
  132.         level.elevatorcontrol[16].type = "down";
  133.         level.elevatorcontrol[16].angles = (0,90,0);
  134.  
  135.         level.elevatorcontrol[17] = spawn("script_model", origin+(-85,84,13.75));
  136.         level.elevatorcontrol[17] setModel( "t6_wpn_supply_drop_ally" );
  137.         level.elevatorcontrol[17].angles = (0,-45,0);
  138.  
  139.         level.elevatorcontrol[18] = spawn("script_model", origin+(-85,84,28.75));
  140.         level.elevatorcontrol[18] setModel( "prop_suitcase_bomb" );
  141.         level.elevatorcontrol[18].angles = (0,-135,0);
  142.         level.elevatorcontrol[18].type = "forcedock";
  143.  
  144.         level.elevatorcontrol[19] = spawn("script_model", base+(180,-45,28));
  145.         level.elevatorcontrol[19] setModel( "t6_wpn_supply_drop_ally" );
  146.         level.elevatorcontrol[19].angles = (0,90,0);
  147.  
  148.         level.elevatorcontrol[20] = spawn("script_model", base+(180,-45,42));
  149.         level.elevatorcontrol[20] setModel( "prop_suitcase_bomb" );
  150.         level.elevatorcontrol[20].angles = (0,180,0);
  151.         level.elevatorcontrol[20].type = "destroy";
  152.  
  153.         level.center2 = spawn("script_origin", level.center.origin);
  154.         level.center2 linkto(level.center);
  155.         level.elevatorPlatform = [];
  156.         level.elevatorPlatform[0] = spawn("script_model", origin+(0,-42,-15));
  157.         level.elevatorPlatform[1] = spawn("script_model", origin+(0,-14,-15));
  158.         level.elevatorPlatform[2] = spawn("script_model", origin+(0,14,-15));
  159.         level.elevatorPlatform[3] = spawn("script_model", origin+(0,42,-15));
  160.         level.elevatorBase = [];
  161.         j = 0;
  162.         w = 0;
  163.         for(x=0;x<4;x++)
  164.         {
  165.                 for(i=0;i<6;i++)
  166.                 {
  167.                         level.elevatorBase[j] = spawn("script_model", base+(i*40,w,0));
  168.                         j++;
  169.                 }
  170.                 w+= 70;
  171.         }
  172.         level.BaseCenter = spawn("script_origin", base+(110,126,0));
  173.         level.BaseCenterOrigAng = level.BaseCenter.angles;
  174.         level.BaseCenterOrigOrigin = level.BaseCenter.origin;
  175.         for(i=5;i<=level.elevatorcontrol.size;i++)
  176.                 level.elevatorcontrol[i] linkto(level.BaseCenter);
  177.         level.elevatorcontrol[17] unlink();
  178.         level.elevatorcontrol[18] unlink();
  179.         level.elevatorcontrol[2] linkto(level.BaseCenter);
  180.         level.elevatorcontrol[3] linkto(level.BaseCenter);
  181.         foreach(elevatorbase in level.elevatorBase)
  182.         {
  183.                 elevatorbase setModel( "t6_wpn_supply_drop_ally" );  
  184.                 elevatorbase linkto(level.BaseCenter);
  185.         }
  186.         foreach(platform in level.elevatorPlatform)
  187.         {
  188.                 platform linkto(level.center2);
  189.                 platform setModel( "t6_wpn_supply_drop_ally" );  
  190.         }
  191.         foreach(elevator in level.elevator)
  192.         {
  193.                 elevator setmodel("t6_wpn_supply_drop_ally");
  194.                 elevator linkto(level.center);
  195.         }
  196.         foreach(lift in level.lift)
  197.         {
  198.                 lift setmodel("t6_wpn_supply_drop_ally");
  199.         }
  200.         //thread computers();
  201.         level.elevatorcontrol[8] thread Sky_Player_Think1(level.activesky1);
  202.         level.elevatorcontrol[8] thread Sky_Think1();
  203.         level.elevatorcontrol[9] thread Sky_Player_Think1(level.activesky1);
  204.         level.elevatorcontrol[9] thread Sky_Think1();
  205.         level.elevatorcontrol[10] thread Sky_Player_Think1(level.activesky1);
  206.         level.elevatorcontrol[10] thread Sky_Think1();
  207.         level.elevatorcontrol[11] thread Sky_Player_Think1(level.activesky1);
  208.         level.elevatorcontrol[11] thread Sky_Think1();
  209.         level.elevatorcontrol[14] thread Sky_Player_Think1(level.activesky1);
  210.         level.elevatorcontrol[14] thread Sky_Think1();
  211.         level.elevatorcontrol[16] thread Sky_Player_Think1(level.activesky1);
  212.         level.elevatorcontrol[16] thread Sky_Think1();
  213.         level.elevatorcontrol[18] thread Sky_Player_Think1(level.activesky1);
  214.         level.elevatorcontrol[18] thread Sky_Think1();
  215.         level.elevatorcontrol[20] thread Sky_Player_Think1(level.activesky1);
  216.         level.elevatorcontrol[20] thread Sky_Think1();
  217.         level.elevatorcontrol[1] thread Sky_Player_Think(level.activesky);
  218.         level.elevatorcontrol[1] thread Sky_Think();
  219.          level.elevatorcontrol[3] thread Sky_Player_Think(level.activesky);
  220.         level.elevatorcontrol[3] thread Sky_Think();
  221.          level.elevatorcontrol[4] thread Sky_Player_Think(level.activesky);
  222.         level.elevatorcontrol[4] thread Sky_Think();
  223. }
  224.  
  225. Sky_Think()
  226. {
  227.     level endon("game_ended");
  228.     level.elevatorDirection = "up";
  229.     localskybaseNumber = level.activesky;
  230.     level.SkybaseInUse1[localskybaseNumber] = false;
  231.     level.activesky++;
  232.  
  233.     for(;;)
  234.     {
  235.        
  236.         self waittill ("triggeruse" , player);              
  237.         if(distance(level.elevatorcontrol[1].origin, player.origin) <60)
  238.             place = "elevator";
  239.         else
  240.             place = "";
  241.  
  242.         if(place == "elevator")
  243.             player PlayerLinkTo(level.center);
  244.  
  245.         if(level.elevatorDirection == "up")// && moving)
  246.         {
  247.             level.SkybaseInUse1[localskybaseNumber] = ture;
  248.  
  249.             level.elevatorDirection = "down";
  250.             level.center moveto(level.center.origin+(0,0,2750), 5, 3, 2);
  251.             //wait 3.1;
  252.         }
  253.         else
  254.         {
  255.             level.center2 unlink();
  256.             foreach(platform in level.elevatorPlatform)
  257.                 platform linkto(level.center2);
  258.             level.center2 moveto(level.center2.origin-(0,112,0), 3);
  259.             wait 3.1;
  260.             level.center2 linkto(level.center);
  261.             level.center moveto(level.center.origin-(0,0,2750), 5, 3, 2);
  262.             level.elevatorDirection = "up";
  263.         }
  264.         wait 5.5;
  265.  
  266.         if(place == "elevator")
  267.             player unlink();
  268.  
  269.         if(level.elevatorDirection == "down")
  270.         {
  271.             level.center2 unlink();
  272.             foreach(platform in level.elevatorPlatform)
  273.                 platform linkto(level.center2);
  274.                 level.center2 moveto(level.center2.origin+(0,112,0), 3);
  275.                 wait 3.5;
  276.         }      
  277.         level.SkybaseInUse1[localskybaseNumber] = false;
  278.  
  279.     }
  280. }
  281.                
  282. Sky_Player_Think(localskybaseNumber)
  283. {
  284.     level endon("game_ended");
  285.     self endon("disconnect");
  286.     level.elevatorDirection = "up";
  287.     for(;;)
  288.     {
  289.         foreach(player in level.players)
  290.         {
  291.             if (!isDefined(player.doorStringCreated[localskybaseNumber]))
  292.             {
  293.                 player.skybaserHintString[localskybaseNumber] = player drawText(player.currentskybaseHint, "objective", 1.5, 0, -50, (1, 1, 1), 0, (0, 0, 0), 0, 8, false);
  294.                 player.skybaserHintString[localskybaseNumber].alpha = 0;
  295.                 player.skybaserHintString[localskybaseNumber].alignX = "center";
  296.                 player.skybaserHintString[localskybaseNumber].alignY = "bottom";
  297.                 player.skybaserHintString[localskybaseNumber].horzAlign = "center";
  298.                 player.skybaserHintString[localskybaseNumber].vertAlign = "bottom";
  299.                 player.doorStringCreated[localskybaseNumber] = true;
  300.                 player.nearskyy[localskybaseNumber] = false;
  301.             }
  302.             if (player.nearskyy[localskybaseNumber] && !level.SkybaseInUse1[localskybaseNumber])
  303.             {
  304.                 player.skybaserHintString[localskybaseNumber] setText(player.currentskybaseHint);
  305.                 player.skybaserHintString[localskybaseNumber].alpha = 1;
  306.             }
  307.             else
  308.                 player.skybaserHintString[localskybaseNumber].alpha = 0;
  309.  
  310.             if(Distance(self.origin, player.origin) <= 50)
  311.             {
  312.                
  313.                     if(level.elevatorDirection == "up")
  314.                         player.currentskybaseHint = "ControlElevator Press ^3[{+activate}]^7 to go up";
  315.                     if(level.elevatorDirection == "down")                
  316.                         player.currentskybaseHint = "ControlElevator Press ^3[{+activate}]^7 to go down";
  317.                    
  318.                
  319.                 if(player UseButtonPressed() && isAlive(player))
  320.                 {
  321.                    self notify("triggeruse" , player);
  322.                     wait 0.20;
  323.                 }
  324.                
  325.                 player.nearskyy[localskybaseNumber] = true;
  326.             }
  327.             else
  328.                 player.nearskyy[localskybaseNumber] = false;
  329.         }
  330.         wait 0.1;
  331.     }
  332. }
  333.  
  334.  Sky_Think1()
  335. {
  336.     level endon("game_ended");    
  337.     localskybaseNumber1 = level.activesky1;
  338.     level.SkybaseInUse[localskybaseNumber1] = false;
  339.     level.activesky1++;
  340.  
  341.     for(;;)
  342.     {
  343.        
  344.         self waittill ("triggeruse" , player);      
  345.            
  346.         if(self.type == "left" || self.type == "right")
  347.         {
  348.             while(player Usebuttonpressed())  
  349.             {  
  350.                 if(self.type == "left")
  351.                 {                                                
  352.                     player.SkybaseInUse[localskybaseNumber] = true;
  353.                     player.fakelink = spawn("script_origin", player.origin);
  354.                     player playerlinkto(player.fakelink);
  355.                     player.fakelink linkto(self);
  356.                     level.BaseCenter rotateyaw(-2, 0.05);
  357.                     wait 0.05;
  358.                     player unlink();
  359.                     player.fakelink delete();
  360.                     player.SkybaseInUse[localskybaseNumber] = false;
  361.                 }
  362.                 else
  363.                 {
  364.                     player.SkybaseInUse[localskybaseNumber] = true;
  365.                     player.fakelink = spawn("script_origin", player.origin);
  366.                     player playerlinkto(player.fakelink);
  367.                     player.fakelink linkto(self);
  368.                     level.BaseCenter rotateyaw(2, 0.05);
  369.                     wait 0.05;
  370.                     player unlink();
  371.                     player.fakelink delete();
  372.                     player.SkybaseInUse[localskybaseNumber] = false;
  373.                 }
  374.             }
  375.         }
  376.         if(self.type == "forward")
  377.         {
  378.             while(player Usebuttonpressed())  
  379.             {  
  380.                player.SkybaseInUse[localskybaseNumber] = true;
  381.                 player.fakelink = spawn("script_origin", player.origin);
  382.                 player playerlinkto(player.fakelink);
  383.                 player.fakelink linkto(self);
  384.                 vec = anglestoright(level.BaseCenter.angles);
  385.                 center = BulletTrace( level.BaseCenter.origin, level.BaseCenter.origin+(vec[0] * -100, vec[1] * -100, vec[2] * -100), 0, self)[ "position" ];
  386.                 level.BaseCenter moveto(center, 0.05);
  387.                 wait 0.05;
  388.                 player unlink();
  389.                 player.fakelink delete();
  390.                 player.SkybaseInUse[localskybaseNumber] = false;
  391.             }
  392.         }
  393.         if(self.type == "dock" || self.type == "forcedock")
  394.         {
  395.             while(player Usebuttonpressed())  
  396.             {  
  397.                 if(self.type == "dock")
  398.                 {
  399.                     player.SkybaseInUse[localskybaseNumber] = true;
  400.                     player.fakelink = spawn("script_origin", player.origin);
  401.                     player playerlinkto(player.fakelink);
  402.                     player.fakelink linkto(self);
  403.                     speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
  404.                     level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
  405.                     level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
  406.                     while(level.BaseCenter.origin != level.BaseCenterOrigOrigin)
  407.                     wait 0.05;
  408.                     wait 0.05;
  409.                     player unlink();
  410.                     player.fakelink delete();
  411.                     player.SkybaseInUse[localskybaseNumber] = false;
  412.                 }
  413.                 if(player isHost() && self.type == "forcedock")
  414.                 {
  415.                     player.SkybaseInUse[localskybaseNumber] = true;
  416.                     speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
  417.                     level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
  418.                     level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
  419.                     player.SkybaseInUse[localskybaseNumber] = false;
  420.                     wait 0.05;
  421.                 }
  422.                 else if(self.type == "forcedock" && !player ishost())
  423.                 player iprintlnbold("^1You must be host");
  424.                 wait 0.05;
  425.             }
  426.         }
  427.         if(self.type == "up" || self.type == "down")
  428.         {
  429.             while(player Usebuttonpressed())  
  430.             {  
  431.                 if(self.type == "up")
  432.                 {
  433.                     player.SkybaseInUse[localskybaseNumber] = true;
  434.                     player.fakelink = spawn("script_origin", player.origin);
  435.                     player playerlinkto(player.fakelink);
  436.                     player.fakelink linkto(self);
  437.                     level.BaseCenter moveto(level.BaseCenter.origin+(0,0,10), 0.05);
  438.                     wait 0.05;
  439.                     player unlink();
  440.                     player.fakelink delete();
  441.                     player.SkybaseInUse[localskybaseNumber] = false;
  442.                 }
  443.                 else
  444.                 {
  445.                     player.SkybaseInUse[localskybaseNumber] = true;
  446.                     player.fakelink = spawn("script_origin", player.origin);
  447.                     player playerlinkto(player.fakelink);
  448.                     player.fakelink linkto(self);
  449.                     level.BaseCenter moveto(level.BaseCenter.origin-(0,0,10), 0.05);
  450.                     wait 0.05;
  451.                     player unlink();
  452.                     player.fakelink delete();
  453.                     player.SkybaseInUse[localskybaseNumber] = false;
  454.                 }
  455.             }
  456.         }
  457.         if(self.type == "destroy")
  458.         {
  459.             while(player Usebuttonpressed())  
  460.             {  
  461.                 self endon("endNuke");
  462.                 player.SkybaseInUse[localskybaseNumber] = true;
  463.                 level.elevatorcontrol[2] setmodel("t6_wpn_supply_drop_axis");
  464.                 level.elevatorcontrol[19] setmodel("t6_wpn_supply_drop_axis");
  465.                 player clearLowerMessage("destroy");
  466.                 plane = spawn("script_model", level.center.origin+(30000,0,5000));
  467.                 plane setmodel("veh_t6_drone_overwatch_light");
  468.                 plane.angles = (0,-180,0);
  469.                 plane moveto(level.center.origin, 5); //-(0,0,200)
  470.                 wait 5;
  471.                 level._effect["emp_flash"] = loadfx("weapon/emp/fx_emp_explosion");
  472.                 playfx(level._effect["emp_flash"], plane.origin);
  473.                 self playsound("wpn_rocket_explode");
  474.                 player playlocalsound( "nuke_explosion" );
  475.                 player playlocalsound( "nuke_wave" );
  476.                 plane hide();
  477.                 player.SkybaseInUse[localskybaseNumber] = false;
  478.                 for(i=0;i<=level.lift.size;i++)
  479.                 {
  480.                     level.lift[i] unlink();
  481.                     level.lift[i] PhysicsLaunch( plane.origin, (i*-10,0,randomint(1000)) );
  482.                 }
  483.                 wait 4;
  484.                 foreach(elevator in level.elevator)
  485.                 {
  486.                     elevator unlink();
  487.                     elevator PhysicsLaunch( plane.origin, (i*-10,0,1000) );
  488.                 }
  489.                 foreach(platform in level.elevatorPlatform)
  490.                 {
  491.                     platform unlink();
  492.                     platform PhysicsLaunch( plane.origin, (1000,1000,1000) );
  493.                 }
  494.                 level.elevatorcontrol[0] unlink();
  495.                 level.elevatorcontrol[1] unlink();
  496.                 level.elevatorcontrol[4] unlink();
  497.                 level.elevatorcontrol[17] unlink();
  498.                 level.elevatorcontrol[18] unlink();
  499.                 level.elevatorcontrol[0] PhysicsLaunch( plane.origin, (1000,1000,1000) );
  500.                 level.elevatorcontrol[1] PhysicsLaunch( plane.origin, (1000,1000,1000) );
  501.                 level.elevatorcontrol[4] PhysicsLaunch( plane.origin, (1000,1000,1000) );
  502.                 level.elevatorcontrol[17] PhysicsLaunch( plane.origin, (1000,1000,1000) );
  503.                 level.elevatorcontrol[18] PhysicsLaunch( plane.origin, (1000,1000,1000) );
  504.                 level notify("exploded");
  505.                 plane delete();
  506.                 self notify("endNuke");
  507.             }
  508.            
  509.         }
  510.     }
  511. }
  512.                
  513. Sky_Player_Think1(localskybaseNumber1)
  514. {
  515.     level endon("game_ended");
  516.     self endon("disconnect");
  517.    
  518.     for(;;)
  519.     {
  520.         foreach(player in level.players)
  521.         {
  522.             if (!isDefined(player.doorStringCreated1[localskybaseNumber1]))
  523.             {
  524.                 player.skybaserHintString1[localskybaseNumber1] = player drawText(player.currentskybaseHint1, "objective", 1.5, 0, -50, (1, 1, 1), 0, (0, 0, 0), 0, 8, false);
  525.                 player.skybaserHintString1[localskybaseNumber1].alpha = 0;
  526.                 player.skybaserHintString1[localskybaseNumber1].alignX = "center";
  527.                 player.skybaserHintString1[localskybaseNumber1].alignY = "bottom";
  528.                 player.skybaserHintString1[localskybaseNumber1].horzAlign = "center";
  529.                 player.skybaserHintString1[localskybaseNumber1].vertAlign = "bottom";
  530.                 player.doorStringCreated1[localskybaseNumber1] = true;
  531.                 player.nearsky[localskybaseNumber1] = false;
  532.             }
  533.             if (player.nearsky[localskybaseNumber1] && !level.SkybaseInUse[localskybaseNumber1])
  534.             {
  535.                 player.skybaserHintString1[localskybaseNumber1] setText(player.currentskybaseHint1);
  536.                 player.skybaserHintString1[localskybaseNumber1].alpha = 1;
  537.             }
  538.             else
  539.                 player.skybaserHintString1[localskybaseNumber1].alpha = 0;
  540.  
  541.             if(Distance(self.origin, player.origin) <= 50)
  542.             {
  543.                 if(self.type == "left" || self.type == "right")
  544.                 {
  545.                     if(self.type == "right")
  546.                     {
  547.                         player.currentskybaseHint1 = "MoveLeft Hold ^3[{+activate}]^7 to go left";
  548.                         player.nearsky[localskybaseNumber1] = true;
  549.                     }
  550.                     else
  551.                     {
  552.                         player.currentskybaseHint1 = "MoveRight Hold ^3[{+activate}]^7 to go right";
  553.                         player.nearsky[localskybaseNumber1] = true;
  554.                     }                                        
  555.                 }
  556.                 if(self.type == "forward")
  557.                 {
  558.                     player.currentskybaseHint1 = "MoveForward Hold ^3[{+activate}]^7 to go forward";
  559.                     player.nearsky[localskybaseNumber1] = true;
  560.                 }
  561.                 if(self.type == "dock" || self.type == "forcedock")
  562.                 {
  563.                     if(self.type == "dock")
  564.                     {
  565.                         player.currentskybaseHint1 = "Redock Press ^3[{+activate}]^7 to redock";
  566.                         player.nearsky[localskybaseNumber1] = true;
  567.                     }
  568.                     else
  569.                     {
  570.                         player.currentskybaseHint1 = "forcedock Press ^3[{+activate}]^7 to force redock [Host Only]";
  571.                         player.nearsky[localskybaseNumber1] = true;
  572.                     }
  573.                 }
  574.                 if(self.type == "up" || self.type == "down")
  575.                 {
  576.                     if(self.type == "up")
  577.                     {
  578.                         player.currentskybaseHint1 = "Moveup Hold ^3[{+activate}]^7 to go up";
  579.                         player.nearsky[localskybaseNumber1] = true;
  580.                     }
  581.                     else
  582.                     {
  583.                         player.currentskybaseHint1 = "Movedown Hold ^3[{+activate}]^7 to go down";
  584.                         player.nearsky[localskybaseNumber1] = true;
  585.                     }    
  586.                 }
  587.                 if(self.type == "destroy")
  588.                 {
  589.                     self endon("endNuke");
  590.                     player.currentskybaseHint1 = "destroy Press ^3[{+activate}]^7 to remove access";
  591.                     player.nearsky[localskybaseNumber1] = true;
  592.                 }
  593.                 if(player UseButtonPressed() && isAlive(player))
  594.                 {
  595.                    self notify("triggeruse" , player);
  596.                     wait 0.05;
  597.                 }
  598.                 player.nearsky[localskybaseNumber1] = true;
  599.             }
  600.             else
  601.                 player.nearsky[localskybaseNumber1] = false;
  602.         }
  603.         wait 0.1;
  604.     }
  605. }
  606. toggledelete()
  607. {
  608.     foreach(elevatorbase in level.elevatorBase)
  609.     {
  610.         elevatorbase delete();
  611.     }
  612.     foreach(platform in level.elevatorPlatform)
  613.     {
  614.         platform delete();  
  615.     }
  616.     foreach(elevator in level.elevator)
  617.     {
  618.         elevator delete();
  619.     }
  620.     foreach(lift in level.lift)
  621.     {
  622.         lift delete();
  623.     }
  624.     foreach(elevatorcontrol in level.elevatorcontrol)
  625.     {
  626.         elevatorcontrol delete();
  627.     }
  628.     foreach(player in level.players)
  629.     {
  630.        for (i = 0; i < level.activesky; i++)
  631.        {
  632.            player.skybaserHintString[i] destroyElem();
  633.            player.skybaserHintString[i] destroy();
  634.            
  635.        }
  636.        for (i = 0; i < level.activesky1; i++)
  637.        {
  638.            player.skybaserHintString1[i] destroyElem();
  639.            player.skybaserHintString1[i] destroy();
  640.        }
  641.     }    
  642. }
  643. drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort, allclients)
  644. {
  645.     if (!isDefined(allclients))
  646.         allclients = false;
  647.    
  648.     if (!allclients)
  649.         hud = self createFontString(font, fontScale);
  650.     else
  651.         hud = level createServerFontString(font, fontScale);
  652.     hud setText(text);
  653.     hud.x = x;
  654.     hud.y = y;
  655.     hud.color = color;
  656.     hud.alpha = alpha;
  657.     hud.glowColor = glowColor;
  658.     hud.glowAlpha = glowAlpha;
  659.     hud.sort = sort;
  660.     hud.alpha = alpha;
  661.     return hud;
  662. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement