Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Credit to AoKMiKeY (youtube.com/user/aokmikeyv2) for making the mod
- Credit to Ambition sG for testing
- self thread spawnLanderAndFunction((-768.96, -860.40, 67.125), (809.59, 1014.38, 168.125), (292.0, -2687, 88.05) );
- spawnLanderAndFunction(location, location1, location2)
- {
- Mod = [];
- Mod["landerInUse"] = false;
- Mod["loca"] = (52,-440,1.5);
- playfx( level._effect["zombie_flashback_american"], Mod["loca"] );
- Mod["padTop"] = spawnModels(Mod["loca"], "zombie_teleporter_pad", (0,180,0));
- Mod["padBottom"] = spawnModels( Mod["loca"], "zombie_teleporter_pad", (-180,0,0));
- Mod["padControl"] = spawnModels( Mod["loca"]+(0,0,35), "zombie_teleporter_control_panel", (0,180,0));
- Mod["spot"][0] = spawnModels(Mod["loca"]+(50, 0, 20), "tag_origin");
- Mod["spot"][1] = spawnModels(Mod["loca"]+(-50, 0, 20), "tag_origin");
- Mod["spot"][2] = spawnModels(Mod["loca"]+(0, -50, 20), "tag_origin");
- Mod["spot"][3] = spawnModels(Mod["loca"]+(0, 50, 20), "tag_origin");
- LinkToMultiple(Mod["padTop"], Mod["padBottom"], Mod["padControl"], Mod["spot"][0], Mod["spot"][1], Mod["spot"][2], Mod["spot"][3]);
- Mod["trigger"] = spawn("trigger_radius", Mod["loca"], 1, 50, 20);
- Mod["trigger"] setCursorHint("HINT_NOICON");
- Mod["trigger"] setHintString("Press &&1 to use lander");
- for(;;)
- {
- self iprintln("running");
- Mod["trigger"] waittill("trigger", who);
- if(who useButtonPressed() && !who.is_zombie && !Mod["landerInUse"])
- {
- Mod["landerInUse"] = true;
- Mod["trigger"] setHintString("Lander is being used");
- who thread OpenLanderMenu("To Thompson Room ;To MP40 Room ;To STG-44 Room", Mod["loca"]);
- who waittill("landerSlection");
- if(who.landerConnect != "null")
- {
- if(who.landerConnect == 0)
- Mod["location"] = location;
- if(who.landerConnect == 1)
- Mod["location"] = location1;
- if(who.landerConnect == 2)
- Mod["location"] = location2;
- for(array = 0; array < get_players().size; array ++ )
- {
- if(distance(get_players()[array].origin, Mod["padTop"]) < 150)
- {
- get_players()[array] EnableHealthShield( true );
- get_players()[array] EnableInvulnerability();
- get_players()[array] playerLinkTo( Mod["spot"][array] );
- get_players()[array].OnLander = true;
- }
- }
- Mod["padTop"] vibrate((0,-150,0), 1, .4, 2.5);
- Mod["padTop"] Moveto(Mod["loca"]+(0, 0, 600), 2); wait 2.5;
- Mod["padTop"] vibrate((0,-150,0), 1, .4, 5);
- Mod["padTop"] Moveto(Mod["location"]+(0, 0, 650), 5); wait 6;
- Mod["padTop"] Moveto(Mod["location"], 2); wait 2;
- for(array = 0; array < get_players().size; array ++ )
- {
- if(isDefined(get_players()[array].OnLander))
- {
- get_players()[array] EnableHealthShield( false );
- get_players()[array] disableinvulnerability();
- get_players()[array] unlink();
- get_players()[array].OnLander = undefined;
- }
- }
- wait 3;
- Mod["padTop"] Moveto(Mod["padTop"].origin+(0, 0, -150), 1); wait 1;
- Mod["padTop"] Moveto(Mod["loca"]+(0, 0, -150), 1); wait 1;
- Mod["padTop"] Moveto(Mod["loca"], 1); wait 6;
- }
- Mod["trigger"] setHintString("Press &&1 to use lander");
- Mod["landerInUse"] = false;
- wait 0.5;
- }
- wait .05;
- }
- }
- OpenLanderMenu(places, local)
- {
- self endon("menuNotNeededLander");
- Menu = [];
- Menu["Cursor"] = 0;
- Menu["string"] = strTok(places, ";");
- for( array = 0; array < Menu["string"].size; array ++)
- Menu["hud"][ array ] = self createDisplayText("LEFT", "TOP", -340, 100+(array*20), 1.2, Menu["string"][ array ]);
- Menu["BG"] = self createRectangle("LEFT", "TOP", -350, 122, 150, (Menu["hud"].size*20)+15, (0, 0, 0), 2, 0.7, "white");
- Menu["hud"][Menu["Cursor"]].color = (0, 0, 1);
- wait 0.5;
- for(;;)
- {
- if(self adsButtonPressed() || self attackButtonPressed())
- {
- Menu["Cursor"] -= self adsButtonPressed();
- Menu["Cursor"] += self attackButtonPressed();
- if(Menu["Cursor"] > Menu["hud"].size-1)
- Menu["Cursor"] = 0;
- if(Menu["Cursor"] < 0)
- Menu["Cursor"] = Menu["hud"].size-1;
- for(array = 0; array < Menu["hud"].size; array ++)
- if( array != Menu["Cursor"])
- Menu["hud"][ array ].color = (1, 1, 1);
- Menu["hud"][Menu["Cursor"]].color = (0, 0, 1);
- wait 0.2;
- }
- if( self useButtonPressed() )
- {
- self.landerConnect = Menu["Cursor"];
- break;
- }
- if(distance( self.origin, local ) > 100 || self FragButtonPressed())
- {
- self.landerConnect = "null";
- break;
- }
- wait 0.05;
- }
- self notify("landerSlection");
- Menu["BG"] Destroy();
- for( array = 0; array < Menu["string"].size; array ++)
- Menu["hud"][ array ] Destroy();
- self notify("menuNotNeededLander");
- }
- spawnModels(location, modelID, angles)
- {
- model = spawn( "script_model", location);
- model setModel( modelID );
- if(isDefined(angles))
- model.angles = angles;
- return model;
- }
- LinkToMultiple(modelTo, Model1, Model2, Model3, Model4, Model5, Model6, Model7, Model8, Model9)
- {
- Model1 linkTo( modelTo );
- Model2 linkTo( modelTo );
- if(isDefined( Model3 )) Model3 linkTo( modelTo );
- if(isDefined( Model4 )) Model4 linkTo( modelTo );
- if(isDefined( Model5 )) Model5 linkTo( modelTo );
- if(isDefined( Model6 )) Model6 linkTo( modelTo );
- if(isDefined( Model7 )) Model7 linkTo( modelTo );
- if(isDefined( Model8 )) Model8 linkTo( modelTo );
- if(isDefined( Model9 )) Model9 linkTo( modelTo );
- }
- createDisplayText(align, relevent, x, y, font, string, alpha, color) {
- text = createFontString("default", font, self);
- text setPoint(align, relevent, x, y);
- text setText(string);
- if(isDefined(alpha))
- text.alpha = alpha;
- if(IsDefined(color))
- text.color = color;
- return text;
- }
- createRectangle(align, relative, x, y, width, height, color, sort, alpha, shader)
- {
- barElemBG = newClientHudElem( self );
- barElemBG.elemType = "bar";
- barElemBG.width = width;
- barElemBG.height = height;
- barElemBG.align = align;
- barElemBG.relative = relative;
- barElemBG.xOffset = 0;
- barElemBG.yOffset = 0;
- barElemBG.children = [];
- barElemBG.sort = sort;
- barElemBG.color = color;
- barElemBG.alpha = alpha;
- barElemBG setParent( level.uiParent );
- barElemBG setShader( shader, width , height );
- barElemBG.hidden = false;
- barElemBG setPoint(align,relative,x,y);
- return barElemBG;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement