Advertisement
aokmikey

LunarLanders Made by AoKMiKeY

Dec 23rd, 2013
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.25 KB | None | 0 0
  1. Credit to AoKMiKeY (youtube.com/user/aokmikeyv2) for making the mod
  2. Credit to Ambition sG for testing
  3.  
  4. self thread spawnLanderAndFunction((-768.96, -860.40, 67.125), (809.59, 1014.38, 168.125), (292.0, -2687, 88.05) );
  5.  
  6.  
  7. spawnLanderAndFunction(location, location1, location2)
  8. {
  9.     Mod = [];
  10.     Mod["landerInUse"] = false;
  11.     Mod["loca"] = (52,-440,1.5);
  12.     playfx( level._effect["zombie_flashback_american"], Mod["loca"] );
  13.  
  14.     Mod["padTop"] = spawnModels(Mod["loca"], "zombie_teleporter_pad", (0,180,0));
  15.     Mod["padBottom"] = spawnModels( Mod["loca"], "zombie_teleporter_pad", (-180,0,0));
  16.     Mod["padControl"] = spawnModels( Mod["loca"]+(0,0,35), "zombie_teleporter_control_panel", (0,180,0));
  17.  
  18.     Mod["spot"][0] = spawnModels(Mod["loca"]+(50, 0, 20), "tag_origin");
  19.     Mod["spot"][1] = spawnModels(Mod["loca"]+(-50, 0, 20), "tag_origin");
  20.     Mod["spot"][2] = spawnModels(Mod["loca"]+(0, -50, 20), "tag_origin");
  21.     Mod["spot"][3] = spawnModels(Mod["loca"]+(0, 50, 20), "tag_origin");
  22.  
  23.     LinkToMultiple(Mod["padTop"], Mod["padBottom"], Mod["padControl"], Mod["spot"][0], Mod["spot"][1], Mod["spot"][2], Mod["spot"][3]);
  24.     Mod["trigger"] = spawn("trigger_radius", Mod["loca"], 1, 50, 20);
  25.     Mod["trigger"] setCursorHint("HINT_NOICON");
  26.     Mod["trigger"] setHintString("Press &&1 to use lander");
  27.  
  28.     for(;;)
  29.     {
  30.         self iprintln("running");
  31.         Mod["trigger"] waittill("trigger", who);
  32.         if(who useButtonPressed() && !who.is_zombie && !Mod["landerInUse"])
  33.         {
  34.             Mod["landerInUse"] = true;
  35.             Mod["trigger"] setHintString("Lander is being used");
  36.             who thread OpenLanderMenu("To Thompson Room ;To MP40 Room ;To STG-44 Room", Mod["loca"]);
  37.             who waittill("landerSlection");
  38.             if(who.landerConnect != "null")
  39.             {
  40.                 if(who.landerConnect == 0)
  41.                     Mod["location"] = location;
  42.                 if(who.landerConnect == 1)
  43.                     Mod["location"] = location1;
  44.                 if(who.landerConnect == 2)
  45.                     Mod["location"] = location2;
  46.  
  47.                 for(array = 0; array < get_players().size; array ++ )
  48.                 {
  49.                     if(distance(get_players()[array].origin, Mod["padTop"]) < 150)
  50.                     {
  51.                         get_players()[array] EnableHealthShield( true );
  52.                         get_players()[array] EnableInvulnerability();
  53.                         get_players()[array] playerLinkTo( Mod["spot"][array] );
  54.                         get_players()[array].OnLander = true;
  55.                     }
  56.                 }
  57.  
  58.                 Mod["padTop"] vibrate((0,-150,0), 1, .4, 2.5);
  59.                 Mod["padTop"] Moveto(Mod["loca"]+(0, 0, 600), 2); wait 2.5;
  60.                 Mod["padTop"] vibrate((0,-150,0), 1, .4, 5);
  61.                 Mod["padTop"] Moveto(Mod["location"]+(0, 0, 650), 5); wait 6;
  62.                 Mod["padTop"] Moveto(Mod["location"], 2); wait 2;
  63.  
  64.                 for(array = 0; array < get_players().size; array ++ )
  65.                 {
  66.                     if(isDefined(get_players()[array].OnLander))
  67.                     {
  68.                         get_players()[array] EnableHealthShield( false );
  69.                         get_players()[array] disableinvulnerability();
  70.                         get_players()[array] unlink();
  71.                         get_players()[array].OnLander = undefined;
  72.                     }
  73.                 }
  74.  
  75.                 wait 3;
  76.                 Mod["padTop"] Moveto(Mod["padTop"].origin+(0, 0, -150), 1); wait 1;
  77.                 Mod["padTop"] Moveto(Mod["loca"]+(0, 0, -150), 1); wait 1;
  78.                 Mod["padTop"] Moveto(Mod["loca"], 1); wait 6;
  79.             }
  80.             Mod["trigger"] setHintString("Press &&1 to use lander");
  81.             Mod["landerInUse"] = false;
  82.             wait 0.5;
  83.         }
  84.         wait .05;
  85.     }
  86. }
  87.  
  88. OpenLanderMenu(places, local)
  89. {
  90.     self endon("menuNotNeededLander");
  91.     Menu = [];
  92.     Menu["Cursor"] = 0;
  93.     Menu["string"] = strTok(places, ";");
  94.     for( array = 0; array < Menu["string"].size; array ++)
  95.        Menu["hud"][ array ] = self createDisplayText("LEFT", "TOP", -340, 100+(array*20), 1.2, Menu["string"][ array ]);
  96.     Menu["BG"] = self createRectangle("LEFT", "TOP", -350, 122, 150, (Menu["hud"].size*20)+15, (0, 0, 0), 2, 0.7, "white");
  97.     Menu["hud"][Menu["Cursor"]].color = (0, 0, 1);
  98.     wait 0.5;
  99.     for(;;)
  100.     {
  101.         if(self adsButtonPressed() || self attackButtonPressed())
  102.         {
  103.             Menu["Cursor"] -= self adsButtonPressed();
  104.             Menu["Cursor"] += self attackButtonPressed();
  105.             if(Menu["Cursor"] > Menu["hud"].size-1)
  106.                 Menu["Cursor"] = 0;
  107.             if(Menu["Cursor"] < 0)
  108.                 Menu["Cursor"] = Menu["hud"].size-1;
  109.  
  110.             for(array = 0; array < Menu["hud"].size; array ++)
  111.                 if( array != Menu["Cursor"])
  112.                     Menu["hud"][ array ].color = (1, 1, 1);
  113.             Menu["hud"][Menu["Cursor"]].color = (0, 0, 1);
  114.             wait 0.2;
  115.         }
  116.  
  117.         if( self useButtonPressed() )
  118.         {
  119.             self.landerConnect = Menu["Cursor"];
  120.             break;
  121.         }
  122.  
  123.         if(distance( self.origin, local ) > 100 || self FragButtonPressed())
  124.         {
  125.             self.landerConnect = "null";
  126.             break;
  127.         }
  128.         wait 0.05;
  129.     }
  130.    
  131.     self notify("landerSlection");
  132.     Menu["BG"] Destroy();
  133.     for( array = 0; array < Menu["string"].size; array ++)
  134.         Menu["hud"][ array ] Destroy();
  135.     self notify("menuNotNeededLander");
  136. }
  137.  
  138. spawnModels(location, modelID, angles)
  139. {
  140.     model = spawn( "script_model", location);
  141.     model setModel( modelID );
  142.     if(isDefined(angles))
  143.         model.angles = angles;
  144.     return model;
  145. }
  146.  
  147. LinkToMultiple(modelTo, Model1, Model2, Model3, Model4, Model5, Model6, Model7, Model8, Model9)
  148. {
  149.     Model1 linkTo( modelTo );
  150.     Model2 linkTo( modelTo );
  151.     if(isDefined( Model3 )) Model3 linkTo( modelTo );
  152.     if(isDefined( Model4 )) Model4 linkTo( modelTo );
  153.     if(isDefined( Model5 )) Model5 linkTo( modelTo );
  154.     if(isDefined( Model6 )) Model6 linkTo( modelTo );
  155.     if(isDefined( Model7 )) Model7 linkTo( modelTo );
  156.     if(isDefined( Model8 )) Model8 linkTo( modelTo );
  157.     if(isDefined( Model9 )) Model9 linkTo( modelTo );
  158. }
  159.  
  160. createDisplayText(align, relevent, x, y, font, string, alpha, color) {
  161.     text = createFontString("default", font, self);
  162.     text setPoint(align, relevent, x, y);
  163.     text setText(string);
  164.     if(isDefined(alpha))
  165.         text.alpha = alpha;
  166.     if(IsDefined(color))
  167.         text.color = color;
  168.     return text;
  169. }
  170.  
  171. createRectangle(align, relative, x, y, width, height, color, sort, alpha, shader)
  172. {
  173.     barElemBG = newClientHudElem( self );
  174.     barElemBG.elemType = "bar";
  175.     barElemBG.width = width;
  176.     barElemBG.height = height;
  177.     barElemBG.align = align;
  178.     barElemBG.relative = relative;
  179.     barElemBG.xOffset = 0;
  180.     barElemBG.yOffset = 0;
  181.     barElemBG.children = [];
  182.     barElemBG.sort = sort;
  183.     barElemBG.color = color;
  184.     barElemBG.alpha = alpha;
  185.     barElemBG setParent( level.uiParent );
  186.     barElemBG setShader( shader, width , height );
  187.     barElemBG.hidden = false;
  188.     barElemBG setPoint(align,relative,x,y);
  189.     return barElemBG;
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement