Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include maps/mp/_utility;
- #include common_scripts/utility;
- #include maps/mp/gametypes/_hud_util;
- #include maps/mp/_utility;
- #include maps/mp/gametypes/_rank;
- #include maps/mp/gametypes/_globallogic_player;
- #include maps/mp/gametypes/_hud_message;
- #include maps/mp/killstreaks/_turret_killstreak;
- init( )
- {
- PrecacheAll();
- level.Entities = [];
- level.amountOfEntities = 0;
- level.clientid = 0;
- level.activesky1 = 0;
- level.activeElevatorCrates = 0;
- level.activeMovingCrates = 0;
- level.activeZiplines = 0;
- level.activeDoors = 0;
- level.activeMysteryBoxes = 0;
- level.activeSpawnweaponCrates = 0;
- level.activePerkCrateCrates = 0;
- level.activeFlags = 0;
- level.activePackOPunchCrates = 0;
- level.activeKillStreakCrateCrates = 0;
- level.turretsSpawned = 0;
- level.deletetext = false;
- level.platspawned = false;
- level.bunker = true;
- level.supplyDropModel = "t6_wpn_supply_drop_ally";
- level.supplyDropModelhq = "t6_wpn_supply_drop_hq";
- level.supplyDropModelAxis = "t6_wpn_supply_drop_axis";
- level.supplyDropModelTrap = "t6_wpn_supply_drop_trap";
- level.teleportFlagStartModel = "mp_flag_green";
- level.teleportFlagEndModel = "mp_flag_red";
- level.teleportFlagBothModel = "mp_flag_neutral";
- level thread onplayerconnect();
- level thread deathBarrier();
- level thread entityMonitor();
- }
- PrecacheAll()
- {
- /* Precache Models */
- self.AllMyModels = strTok("t6_wpn_supply_drop_ally;prop_suitcase_bomb;veh_t6_drone_overwatch_light;mp_flag_green;mp_flag_red;mp_flag_neutral;t6_wpn_supply_drop_trap;t6_wpn_drop_box;collision_physics_256x256x256",";");
- for(i=0;i<self.AllMyModels.size;i++)
- {
- PrecacheModel(self.AllMyModels[i]);
- }
- /* Precache Items */
- self.AllMyItems = strTok("minigun_wager_mp;m32_wager_mp",";");
- for(F=0;F<self.AllMyItems.size;F++)
- {
- PrecacheItem(self.AllMyItems[F]);
- }
- }
- onplayerconnect( )
- {
- for(;;)
- {
- level waittill( "connecting", player );
- player thread onplayerspawned( );
- player.clientid = level.clientid;
- level.clientid++;
- player.Verified = false;
- player.VIP = false;
- player.Admin = false;
- player.CoHost = false;
- player.MyAccess = "";
- }
- }
- onplayerspawned( )
- {
- self endon( "disconnect" );
- level endon( "game_ended" );
- for(;;)
- {
- self waittill( "spawned_player" );
- self.God=false;
- if(self isHost())
- {
- self freezecontrols(false);
- self.Verified = true;
- self.VIP = true;
- self.Admin = true;
- self.CoHost = true;
- self.MyAccess = "^1Host";
- self thread welcomeMessage();
- self thread BuildMenu();
- }
- else if ( self.CoHost == true)
- {
- self.Verified = true;
- self.VIP = true;
- self.Admin = true;
- self.CoHost = true;
- self.MyAccess = "^5Co-Host";
- self freezecontrols(false);
- self thread welcomeMessage();
- self thread BuildMenu();
- }
- else if ( self.Admin == true)
- {
- self.Verified = true;
- self.VIP = true;
- self.Admin = true;
- self.MyAccess = "^1Admin";
- self freezecontrols(false);
- self thread welcomeMessage();
- self thread BuildMenu();
- }
- else if ( self.VIP == true)
- {
- self.Verified = true;
- self.VIP = true;
- self.MyAccess = "^3VIP";
- self freezecontrols(false);
- self thread welcomeMessage();
- self thread BuildMenu();
- }
- else if ( self.Verified == true)
- {
- self.Verified = true;
- self.MyAccess = "^1Verified";
- self freezecontrols(false);
- self thread welcomeMessage();
- self thread BuildMenu();
- }
- else if ( self.Verified == false)
- {
- self.MyAccess = "";
- }
- }
- }
- BuildMenu()
- {
- self endon("disconnect");
- self endon("death");
- self.MenuOpen = false;
- self.Menu = spawnstruct();
- self InitialisingMenu();
- self MenuStructure();
- self thread MenuDeath();
- while (1)
- {
- if(self meleeButtonPressed() && self adsButtonPressed() && self.MenuOpen == false)
- {
- self MenuOpening();
- self LoadMenu("Main Menu");
- }
- else if(self UseButtonPressed() && self.MenuOpen == true)
- {
- if(isDefined(self.Menu.System["MenuPrevious"][self.Menu.System["MenuRoot"]]))
- {
- self.Menu.System["MenuCurser"] = 0;
- self SubMenu(self.Menu.System["MenuPrevious"][self.Menu.System["MenuRoot"]]);
- wait 0.05;
- }
- else
- self MenuClosing();
- wait 0.01;
- }
- else if (self actionSlotoneButtonPressed() && self.MenuOpen == true)
- {
- self.Menu.System["MenuCurser"] -= 1;
- if (self.Menu.System["MenuCurser"] < 0)
- {
- self.Menu.System["MenuCurser"] = self.Menu.System["MenuTexte"][self.Menu.System["MenuRoot"]].size - 1;
- }
- self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
- wait.02;
- }
- else if (self actionSlottwoButtonPressed() && self.MenuOpen == true)
- {
- self.Menu.System["MenuCurser"] += 1;
- if (self.Menu.System["MenuCurser"] >= self.Menu.System["MenuTexte"][self.Menu.System["MenuRoot"]].size)
- {
- self.Menu.System["MenuCurser"] = 0;
- }
- self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
- wait.02;
- }
- else if(self jumpButtonPressed() && self.MenuOpen == true)
- {
- //wait 0.2;
- if(self.Menu.System["MenuRoot"]=="Clients Menu") self.Menu.System["ClientIndex"]=self.Menu.System["MenuCurser"];
- self thread [[self.Menu.System["MenuFunction"][self.Menu.System["MenuRoot"]][self.Menu.System["MenuCurser"]]]](self.Menu.System["MenuInput"][self.Menu.System["MenuRoot"]][self.Menu.System["MenuCurser"]]);
- wait 0.3;
- }
- else if(self actionslotthreebuttonpressed() && self.MenuOpen == false) // Open.
- {
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- self.menu.title2 destroy();
- }
- wait 0.01;
- }
- }
- MenuStructure()
- {
- if (self.Verified == true || self.VIP == true || self.Admin == true)
- {
- self MainMenu("Main Menu", undefined);
- self MenuOption("Main Menu", 0, "Forge Menu", ::SubMenu, "Forge Menu");
- self MenuOption("Main Menu", 2, "Perks Menu", ::SubMenu, "Perks Menu");
- self MenuOption("Main Menu", 3, "Weapons Menu", ::SubMenu, "Weapons Menu");
- self MenuOption("Main Menu", 4, "KillStreaks", ::SubMenu, "KillStreaks");
- self MenuOption("Main Menu", 5, "Models menu", ::SubMenu, "Models menu");
- self MenuOption("Main Menu", 6, "Map menu", ::SubMenu, "Map menu");
- }
- if (self.CoHost == true)
- {
- self MenuOption("Main Menu", 1, "Forge Menu Host", ::SubMenu, "Forge Menu Host");
- self MenuOption("Main Menu", 7, "Custom Maps", ::SubMenu, "Custom Maps");
- self MenuOption("Main Menu", 8, "Clients Menu", ::SubMenu, "Clients Menu");
- self MenuOption("Main Menu", 9, "All Clients", ::SubMenu, "All Clients");
- }
- self MainMenu("Forge Menu", "Main Menu");
- self MenuOption("Forge Menu", 0, "God Mode", ::Toggle_God);
- self MenuOption("Forge Menu", 1, "Ufo Mode", ::UFOMode);
- self MenuOption("Forge Menu", 2, "Forge Mode", ::ForgeON);
- self MenuOption("Forge Menu", 3, "Forge Ramp", ::ForgeRamp);
- self MenuOption("Forge Menu", 4, "Forge Wall", ::ForgeWall);
- self MenuOption("Forge Menu", 5, "Forge Grid", ::ForgeGrids);
- self MenuOption("Forge Menu", 6, "Ammo", ::Ammoinit);
- self MenuOption("Forge Menu", 7, "Pack-O-Punch", ::PackOPunchinit);
- self MenuOption("Forge Menu", 8, "MysterBox", ::mysteryinit);
- self MenuOption("Forge Menu", 9, "Elevator", ::Elevatorinit);
- self MenuOption("Forge Menu", 10, "Zipline", ::Ziplineinit);
- self MenuOption("Forge Menu", 11, "Door", ::Doorinit);
- self MenuOption("Forge Menu", 12, "Moving Crate", ::movingcrateinit);
- self MenuOption("Forge Menu", 13, "Teleport Flags", ::Flagsinit);
- self MenuOption("Forge Menu", 14, "Spawn Auto Turrent", ::giveturrent);
- self MenuOption("Forge Menu", 15, "Teleport", ::doTeleport);
- self MainMenu("Forge Menu Host", "Main Menu");
- self MenuOption("Forge Menu Host", 0, "Force Host", ::forceHost);
- self MenuOption("Forge Menu Host", 1, "Platform", ::plat);
- self MenuOption("Forge Menu Host", 2, "Jwm614 Bunker", ::bunker);
- self MenuOption("Forge Menu Host", 3, "Jwm614 Skybase", ::skybasetoggle);
- self MenuOption("Forge Menu Host", 4, "Delete Text On Spawn", ::deletetextonspawn);
- self MenuOption("Forge Menu Host", 5, "Delete All Entities", ::destroyAllEntities);
- self MainMenu("Perks Menu", "Main Menu");
- self MenuOption("Perks Menu", 0, "^1Perks Menu 1", ::submenu, "^1Perks Menu 1");
- self MenuOption("Perks Menu", 1, "^2Perks Menu 2", ::submenu, "^2Perks Menu 2");
- self MenuOption("Perks Menu", 2, "^3Perks Menu 3", ::submenu, "^3Perks Menu 3");
- self MenuOption("Perks Menu", 3, "^4Perks Menu 4", ::submenu, "^4Perks Menu 4");
- self MainMenu("^1Perks Menu 1", "Perks Menu");
- self MenuOption("^1Perks Menu 1", 0, "additionalprimaryweapon", ::PerkCrateinit,"specialty_additionalprimaryweapon");
- self MenuOption("^1Perks Menu 1", 1, "armorpiercing", ::PerkCrateinit,"specialty_armorpiercing");
- self MenuOption("^1Perks Menu 1", 2, "armorvest", ::PerkCrateinit,"specialty_armorvest");
- self MenuOption("^1Perks Menu 1", 3, "bulletaccuracy", ::PerkCrateinit,"specialty_bulletaccuracy");
- self MenuOption("^1Perks Menu 1", 4, "bulletdamage", ::PerkCrateinit,"specialty_bulletdamage");
- self MenuOption("^1Perks Menu 1", 5, "bulletflinch", ::PerkCrateinit,"specialty_bulletflinch");
- self MenuOption("^1Perks Menu 1", 6, "bulletpenetration", ::PerkCrateinit,"specialty_bulletpenetration");
- self MenuOption("^1Perks Menu 1", 7, "deadshot", ::PerkCrateinit,"specialty_deadshot");
- self MenuOption("^1Perks Menu 1", 8, "delayexplosive", ::PerkCrateinit,"specialty_delayexplosive");
- self MenuOption("^1Perks Menu 1", 9, "detectexplosive", ::PerkCrateinit,"specialty_detectexplosive");
- self MenuOption("^1Perks Menu 1", 10, "disarmexplosive", ::PerkCrateinit,"specialty_disarmexplosive");
- self MenuOption("^1Perks Menu 1", 11, "explosivedamage", ::PerkCrateinit,"specialty_explosivedamage");
- self MenuOption("^1Perks Menu 1", 12, "extraammo", ::PerkCrateinit,"specialty_extraammo");
- self MenuOption("^1Perks Menu 1", 13, "fallheight", ::PerkCrateinit,"specialty_fallheight");
- self MenuOption("^1Perks Menu 1", 14, "fastads", ::PerkCrateinit,"specialty_fastads");
- self MenuOption("^1Perks Menu 1", 15, "fastequipmentuse", ::PerkCrateinit,"specialty_fastequipmentuse");
- self MenuOption("^1Perks Menu 1",16, "fastladderclimb", ::PerkCrateinit,"specialty_fastladderclimb");
- self MainMenu("^2Perks Menu 2", "Perks Menu");
- self MenuOption("^2Perks Menu 2", 0, "fastreload", ::PerkCrateinit,"specialty_fastreload");
- self MenuOption("^2Perks Menu 2", 1, "fasttoss", ::PerkCrateinit,"specialty_fasttoss");
- self MenuOption("^2Perks Menu 2", 2, "fastweaponswitch", ::PerkCrateinit,"specialty_fastweaponswitch");
- self MenuOption("^2Perks Menu 2", 3, "finalstand", ::PerkCrateinit,"specialty_finalstand");
- self MenuOption("^2Perks Menu 2", 4, "fireproof", ::PerkCrateinit,"specialty_fireproof");
- self MenuOption("^2Perks Menu 2", 5, "flakjacket", ::PerkCrateinit,"specialty_bulletflinch");
- self MenuOption("^2Perks Menu 2", 6, "flashprotection", ::PerkCrateinit,"specialty_flashprotection");
- self MenuOption("^2Perks Menu 2", 7, "gpsjammer", ::PerkCrateinit,"specialty_gpsjammer");
- self MenuOption("^2Perks Menu 2", 8, "grenadepulldeath", ::PerkCrateinit,"specialty_grenadepulldeath");
- self MenuOption("^2Perks Menu 2", 9, "healthregen", ::PerkCrateinit,"specialty_healthregen");
- self MenuOption("^2Perks Menu 2", 10, "holdbreath", ::PerkCrateinit,"specialty_holdbreath");
- self MenuOption("^2Perks Menu 2", 11, "immunecounteruav", ::PerkCrateinit,"specialty_immunecounteruav");
- self MenuOption("^2Perks Menu 2", 12, "immuneemp", ::PerkCrateinit,"specialty_immuneemp");
- self MenuOption("^2Perks Menu 2", 13, "immunemms", ::PerkCrateinit,"specialty_immunemms");
- self MenuOption("^2Perks Menu 2", 14, "immunenvthermal", ::PerkCrateinit,"specialty_immunenvthermal");
- self MenuOption("^2Perks Menu 2", 15, "immunerangefinder", ::PerkCrateinit,"specialty_immunerangefinder");
- self MenuOption("^2Perks Menu 2", 16, "killstreak", ::PerkCrateinit,"specialty_killstreak");
- self MenuOption("^2Perks Menu 2", 17, "longersprint", ::PerkCrateinit,"specialty_longersprint");
- self MainMenu("^3Perks Menu 3", "Perks Menu");
- self MenuOption("^3Perks Menu 3", 0, "loudenemies", ::PerkCrateinit,"specialty_loudenemies");
- self MenuOption("^3Perks Menu 3", 1, "marksman", ::PerkCrateinit,"specialty_marksman");
- self MenuOption("^3Perks Menu 3", 2, "movefaster", ::PerkCrateinit,"specialty_movefaster");
- self MenuOption("^3Perks Menu 3", 3, "nomotionsensor", ::PerkCrateinit,"specialty_nomotionsensor");
- self MenuOption("^3Perks Menu 3", 4, "noname", ::PerkCrateinit,"specialty_noname");
- self MenuOption("^3Perks Menu 3", 5, "nottargetedbyairsupport", ::PerkCrateinit,"specialty_nottargetedbyairsupport");
- self MenuOption("^3Perks Menu 3", 6, "nokillstreakreticle", ::PerkCrateinit,"specialty_nokillstreakreticle");
- self MenuOption("^3Perks Menu 3", 7, "nottargettedbysentry", ::PerkCrateinit,"specialty_nottargettedbysentry");
- self MenuOption("^3Perks Menu 3", 8, "pin_back", ::PerkCrateinit,"specialty_pin_back");
- self MenuOption("^3Perks Menu 3", 9, "pistoldeath", ::PerkCrateinit,"specialty_pistoldeath");
- self MenuOption("^3Perks Menu 3", 10, "proximityprotection", ::PerkCrateinit,"specialty_proximityprotection");
- self MenuOption("^3Perks Menu 3", 11, "quickrevive", ::PerkCrateinit,"specialty_quickrevive");
- self MenuOption("^3Perks Menu 3", 12, "quieter", ::PerkCrateinit,"specialty_quieter");
- self MenuOption("^3Perks Menu 3", 13, "reconnaissance", ::PerkCrateinit,"specialty_reconnaissance");
- self MenuOption("^3Perks Menu 3", 14, "rof", ::PerkCrateinit,"specialty_rof");
- self MenuOption("^3Perks Menu 3", 15, "scavenger", ::PerkCrateinit,"specialty_scavenger");
- self MenuOption("^3Perks Menu 3", 16, "showenemyequipment", ::PerkCrateinit,"specialty_showenemyequipment");
- self MenuOption("^3Perks Menu 3", 17, "stunprotection", ::PerkCrateinit,"specialty_stunprotection");
- self MainMenu("^4Perks Menu 4", "Perks Menu");
- self MenuOption("^4Perks Menu 4", 0, "shellshock", ::PerkCrateinit,"specialty_shellshock");
- self MenuOption("^4Perks Menu 4", 1, "sprintrecovery", ::PerkCrateinit,"specialty_sprintrecovery");
- self MenuOption("^4Perks Menu 4", 2, "showonradar", ::PerkCrateinit,"specialty_showonradar");
- self MenuOption("^4Perks Menu 4", 3, "showonradar", ::PerkCrateinit,"specialty_showonradar");
- self MenuOption("^4Perks Menu 4", 4, "stalker", ::PerkCrateinit,"specialty_stalker");
- self MenuOption("^4Perks Menu 4", 5, "twogrenades", ::PerkCrateinit,"specialty_twogrenades");
- self MenuOption("^4Perks Menu 4", 6, "twoprimaries", ::PerkCrateinit,"specialty_twoprimaries");
- self MenuOption("^4Perks Menu 4", 7, "unlimitedsprint", ::PerkCrateinit,"specialty_unlimitedsprint");
- self MainMenu("Weapons Menu", "Main Menu");
- self MenuOption("Weapons Menu", 0, "Submachine Guns", ::SubMenu, "Submachine Guns");
- self MenuOption("Weapons Menu", 1, "Assault Rifles", ::SubMenu, "Assault Rifles");
- self MenuOption("Weapons Menu", 2, "^7Lightmachine Guns", ::submenu, "Lightmachine Guns");
- self MenuOption("Weapons Menu", 3, "^7Shotguns", ::submenu, "Shotguns");
- self MenuOption("Weapons Menu", 4, "^7Sniper Rifles", ::submenu, "Sniper Rifles");
- self MenuOption("Weapons Menu", 5, "^7Pistols ", ::submenu, "Pistols");
- self MenuOption("Weapons Menu", 6, "^7Launchers", ::submenu, "Launchers");
- self MenuOption("Weapons Menu", 7, "^7Specials", ::submenu, "Specials");
- self MenuOption("Weapons Menu", 8, "^7Super Specials", ::submenu, "Super Specials");
- self MainMenu("Submachine Guns", "Weapons Menu");
- self MenuOption("Submachine Guns", 0, "MP7", ::SpawnWeaponinit, "mp7_mp");
- self MenuOption("Submachine Guns", 1, "PDW-57", ::SpawnWeaponinit, "pdw57_mp");
- self MenuOption("Submachine Guns", 2, "Vector-K10", ::SpawnWeaponinit, "vector_mp");
- self MenuOption("Submachine Guns", 3, "MSMC", ::SpawnWeaponinit, "insas_mp", "MSMC");
- self MenuOption("Submachine Guns", 4, "Chicom CQB", ::SpawnWeaponinit, "qcw05_mp");
- self MenuOption("Submachine Guns", 5, "Skorpion EVO", ::SpawnWeaponinit, "evoskorpion_mp");
- self MenuOption("Submachine Guns", 6, "Peacekeeper", ::SpawnWeaponinit, "peacekeeper_mp");
- self MainMenu("Assault Rifles", "Weapons Menu");
- self MenuOption("Assault Rifles", 0, "MTAR", ::SpawnWeaponinit, "tar21_mp");
- self MenuOption("Assault Rifles", 1, "Type 25", ::SpawnWeaponinit, "type95_mp");
- self MenuOption("Assault Rifles", 2, "SWAT-556", ::SpawnWeaponinit, "sig556_mp");
- self MenuOption("Assault Rifles", 3, "FAL OSW", ::SpawnWeaponinit, "sa58_mp");
- self MenuOption("Assault Rifles", 4, "M27", ::SpawnWeaponinit, "hk416_mp");
- self MenuOption("Assault Rifles", 5, "SCAR-H", ::SpawnWeaponinit, "scar_mp");
- self MenuOption("Assault Rifles", 6, "SMR", ::SpawnWeaponinit, "saritch_mp");
- self MenuOption("Assault Rifles", 7, "M8A1", ::SpawnWeaponinit, "xm8_mp");
- self MenuOption("Assault Rifles", 8, "AN-94", ::SpawnWeaponinit, "an94_mp");
- self MainMenu("Lightmachine Guns", "Weapons Menu");
- self MenuOption("Lightmachine Guns", 0, "MK 48", ::SpawnWeaponinit, "mk48_mp");
- self MenuOption("Lightmachine Guns", 1, "QBB LSW", ::SpawnWeaponinit, "qbb95_mp");
- self MenuOption("Lightmachine Guns", 2, "LSAT", ::SpawnWeaponinit, "lsat_mp");
- self MenuOption("Lightmachine Guns", 3, "HAMR", ::SpawnWeaponinit, "hamr_mp");
- self MainMenu("Shotguns", "Weapons Menu");
- self MenuOption("Shotguns", 0, "R870 MCS", ::SpawnWeaponinit, "870mcs_mp");
- self MenuOption("Shotguns", 1, "S12", ::SpawnWeaponinit, "saiga12_mp");
- self MenuOption("Shotguns", 2, "KSG", ::SpawnWeaponinit, "ksg_mp");
- self MenuOption("Shotguns", 3, "M1216", ::SpawnWeaponinit, "srm1216_mp");
- self MainMenu("Sniper Rifles", "Weapons Menu");
- self MenuOption("Sniper Rifles", 0, "SVU-AS", ::SpawnWeaponinit, "svu_mp");
- self MenuOption("Sniper Rifles", 1, "DSR 50", ::SpawnWeaponinit, "dsr50_mp");
- self MenuOption("Sniper Rifles", 2, "Ballista", ::SpawnWeaponinit, "ballista_mp");
- self MenuOption("Sniper Rifles", 3, "XPR-50", ::SpawnWeaponinit, "as50_mp");
- self MainMenu("Pistols", "Weapons Menu");
- self MenuOption("Pistols", 0, "Five-seven", ::SpawnWeaponinit, "fiveseven_mp");
- self MenuOption("Pistols", 1, "Tac-45", ::SpawnWeaponinit, "fnp45_mp");
- self MenuOption("Pistols", 2, "B23R", ::SpawnWeaponinit, "beretta93r_mp");
- self MenuOption("Pistols", 3, "Executioner", ::SpawnWeaponinit, "judge_mp");
- self MenuOption("Pistols", 3, "KAP-40", ::SpawnWeaponinit, "kard_mp");
- self MainMenu("Launchers", "Weapons Menu");
- self MenuOption("Launchers", 0, "SMAW", ::SpawnWeaponinit, "smaw_mp");
- self MenuOption("Launchers", 1, "RPG", ::SpawnWeaponinit, "usrpg_mp");
- self MainMenu("Specials", "Weapons Menu");
- self MenuOption("Specials", 0, "Riot Shield", ::SpawnWeaponinit, "riotshield_mp");
- self MenuOption("Specials", 1, "Ballistic Knife", ::SpawnWeaponinit, "knife_ballistic_mp");
- self MenuOption("Specials", 2, "Crossbow", ::SpawnWeaponinit, "crossbow_mp");
- self MainMenu("Super Specials", "Weapons Menu");
- self MenuOption("Super Specials", 0, "Grenade Launcher", ::SpawnWeaponinit, "m32_wager_mp");
- self MenuOption("Super Specials", 1, "Minigun", ::SpawnWeaponinit, "minigun_wager_mp");
- self MenuOption("Super Specials", 2, "Rando", ::RandomWeapon);
- self MainMenu("KillStreaks", "Main Menu");
- self MenuOption("KillStreaks", 0, "Uav", ::KillStreakinit, "killstreak_spyplane");
- self MenuOption("KillStreaks", 1, "RC-XD", ::KillStreakinit, "killstreak_rcbomb");
- self MenuOption("KillStreaks", 2, "Hunter Killer", ::KillStreakinit, "missile_drone_mp");
- self MenuOption("KillStreaks", 3, "Care Package", ::KillStreakinit ,"supplydrop_mp");
- self MenuOption("KillStreaks", 4, "Counter Uav", ::KillStreakinit ,"killstreak_counteruav");
- self MenuOption("KillStreaks", 5, "Gaurdian", ::KillStreakinit ,"microwaveturret_mp");
- self MenuOption("KillStreaks", 6, "Hellstorm Missle", ::KillStreakinit ,"killstreak_remote_missile");
- self MenuOption("KillStreaks", 7, "Lightning Strike", ::KillStreakinit ,"killstreak_planemortar");
- self MenuOption("KillStreaks", 8, "Sentry Gun", ::KillStreakinit ,"autoturret_mp");
- self MenuOption("KillStreaks", 9, "A.G.R", ::KillStreakinit ,"ai_tank_drop_mp ");
- self MenuOption("KillStreaks", 10, "Orbital VSAT", ::KillStreakinit ,"killstreak_helicopter_comlink");
- self MenuOption("KillStreaks", 11, "Escort Drone", ::KillStreakinit ,"killstreak_helicopter_guard");
- self MenuOption("KillStreaks", 12, "EMP", ::KillStreakinit ,"emp_mp");
- self MenuOption("KillStreaks", 13, "Warthog", ::KillStreakinit ,"killstreak_straferun");
- self MenuOption("KillStreaks", 14, "Loadestar", ::KillStreakinit ,"killstreak_remote_mortar");
- self MenuOption("KillStreaks", 15, "VTOL Warship", ::KillStreakinit ,"helicopter_player_gunner_mp");
- self MenuOption("KillStreaks", 16, "Dogs", ::KillStreakinit ,"dogs_mp");
- self MenuOption("Killstreaks", 17, "Swarm", ::KillStreakinit ,"killstreak_missile_swarm");
- self MainMenu("Models menu", "Main Menu");
- self MenuOption("Models menu", 0, "t6_wpn_supply_drop_ally", ::cratetext ,"t6_wpn_supply_drop_ally");
- self MenuOption("Models menu", 1, "t6_wpn_supply_drop_axis", ::cratetext ,"t6_wpn_supply_drop_axis");
- self MenuOption("Models menu", 2, "t6_wpn_supply_drop_detect", ::cratetext ,"t6_wpn_supply_drop_detect");
- self MenuOption("Models menu", 3, "t6_wpn_drop_box", ::cratetext ,"t6_wpn_drop_box");
- self MenuOption("Models menu", 4, "collision_physics_256x256x256", ::cratetext ,"collision_physics_256x256x256");
- self MenuOption("Models menu", 5, "german_shepherd_vest_black", ::cratetext ,"german_shepherd_vest_black");
- self MainMenu("Map menu", "Main Menu");
- self MenuOption("Map menu", 0, "Aftermath", ::changmap, "mp_la");
- self MenuOption("Map menu", 1, "Carrier", ::changmap, "mp_carrier");
- self MenuOption("Map menu", 2, "Cargo", ::changmap, "mp_dockside");
- self MenuOption("Map menu", 3, "Drone", ::changmap, "mp_drone");
- self MenuOption("Map menu", 4, "Express", ::changmap, "mp_express");
- self MenuOption("Map menu", 5, "Hijacked", ::changmap, "mp_hijacked");
- self MenuOption("Map menu", 6, "Meltdown", ::changmap, "mp_meltdown");
- self MenuOption("Map menu", 7, "Nuketown", ::changmap, "mp_nuketown_2020");
- self MenuOption("Map menu", 8, "Overflow", ::changmap, "mp_overflow");
- self MenuOption("Map menu", 9, "Plaza", ::changmap, "mp_nightclub");
- self MenuOption("Map menu", 10, "Raid", ::changmap, "mp_raid");
- self MenuOption("Map menu", 11, "Slums", ::changmap, "mp_slums");
- self MenuOption("Map menu", 12, "Standoff", ::changmap, "mp_village");
- self MenuOption("Map menu", 13, "Turbine", ::changmap, "mp_turbine");
- self MenuOption("Map menu", 14, "Yemen", ::changmap, "mp_socotra");
- self MainMenu("Custom Maps", "Main Menu");
- self MenuOption("Custom Maps", 0, "Aftermath", ::Aftermath);
- self MenuOption("Custom Maps", 1, "Carrier", ::Carrier);
- self MenuOption("Custom Maps", 2, "Cargo", ::Cargo);
- self MenuOption("Custom Maps", 3, "Drone", ::Drone);
- self MenuOption("Custom Maps", 4, "Express", ::Express);
- self MenuOption("Custom Maps", 5, "Hijacked", ::Hijacked);
- self MenuOption("Custom Maps", 6, "Meltdown", ::Meltdown);
- //self MenuOption("Custom Maps", 7, "Nuketown", ::Nuketown, 0);
- self MenuOption("Custom Maps", 7, "Nuketown", ::submenu, "Nuketown");
- self MenuOption("Custom Maps", 8, "Overflow", ::Overflow);
- self MenuOption("Custom Maps", 9, "Plaza", ::plaza);
- self MenuOption("Custom Maps", 10, "Raid", ::Raid);
- self MenuOption("Custom Maps", 11, "Slums", ::Slums);
- self MenuOption("Custom Maps", 12, "Standoff", ::Standoff);
- self MenuOption("Custom Maps", 13, "Turbine", ::Turbine);
- self MenuOption("Custom Maps", 14, "Yemen", ::Yemen);
- self MainMenu("Nuketown", "Custom Maps");
- self MenuOption("Nuketown", 0, "Nuketown Edit 1", ::Nuketown, 0);
- self MenuOption("Nuketown", 1, "Nuketown Edit 2", ::Nuketown, 1);
- self MainMenu("Clients Menu", "Main Menu");
- for (p = 0; p < level.players.size; p++) {
- player = level.players[p];
- self MenuOption("Clients Menu", p, "[" + player.MyAccess + "^7] " + player.name + "", ::SubMenu, "Client Function");
- }
- self thread MonitorPlayers();
- self MainMenu("Client Function", "Clients Menu");
- self MenuOption("Client Function", 0, "Verify Player", ::Verify);
- self MenuOption("Client Function", 1, "VIP Player", ::doVIP);
- self MenuOption("Client Function", 2, "Admin Player", ::doAdmin);
- self MenuOption("Client Function", 3, "Co-Host Player", ::doCoHost);
- self MenuOption("Client Function", 4, "Unverified Player", ::doUnverif);
- self MainMenu("All Clients", "Main Menu");
- self MenuOption("All Clients", 0, "Kill All Players", ::AllPlayersKilled);
- self MenuOption("All Clients", 1, "Teleport All To Me", ::AllToMe);
- self MenuOption("All Clients", 2, "Send All To Space", ::sendalltospace);
- }
- MonitorPlayers()
- {
- self endon("disconnect");
- for(;;)
- {
- for(p = 0;p < level.players.size;p++)
- {
- player = level.players[p];
- self.Menu.System["MenuTexte"]["Clients Menu"][p] = "[" + player.MyAccess + "^7] " + player.name;
- self.Menu.System["MenuFunction"]["Clients Menu"][p] = ::SubMenu;
- self.Menu.System["MenuInput"]["Clients Menu"][p] = "Client Function";
- wait .01;
- }
- wait .5;
- }
- }
- MainMenu(Menu, Return)
- {
- self.Menu.System["GetMenu"] = Menu;
- self.Menu.System["MenuCount"] = 0;
- self.Menu.System["MenuPrevious"][Menu] = Return;
- }
- MenuOption(Menu, Index, Texte, Function, Input)
- {
- self.Menu.System["MenuTexte"][Menu][Index] = Texte;
- self.Menu.System["MenuFunction"][Menu][Index] = Function;
- self.Menu.System["MenuInput"][Menu][Index] = Input;
- }
- SubMenu(input)
- {
- self.Menu.System["MenuCurser"] = 0;
- self.Menu.System["Texte"] fadeovertime(0.05);
- self.Menu.System["Texte"].alpha = 0;
- self.Menu.System["Texte"] destroy();
- self.Menu.System["Title"] destroy();
- self thread LoadMenu(input);
- if(self.Menu.System["MenuRoot"]=="Client Function")
- {
- self.Menu.System["Title"] destroy();
- player = level.players[self.Menu.System["ClientIndex"]];
- self.Menu.System["Title"] = self createFontString("default", 2.0);
- self.Menu.System["Title"] setPoint("LEFT", "TOP", 125, 30);
- self.Menu.System["Title"] setText("[" + player.MyAccess + "^7] " + player.name);
- self.Menu.System["Title"].sort = 3;
- self.Menu.System["Title"].alpha = 1;
- }
- }
- LoadMenu(menu)
- {
- self.Menu.System["MenuCurser"] = 0;
- self.Menu.System["MenuRoot"] = menu;
- self.Menu.System["Title"] = self createFontString("default", 2.0);
- self.Menu.System["Title"] setPoint("LEFT", "TOP", 125, 30);
- self.Menu.System["Title"] setText(menu);
- self.Menu.System["Title"].sort = 3;
- self.Menu.System["Title"].alpha = 1;
- string = "";
- for(i=0;i<self.Menu.System["MenuTexte"][Menu].size;i++) string += self.Menu.System["MenuTexte"][Menu][i] + "\n";
- self.Menu.System["Texte"] = self createFontString("default", 1.3);
- self.Menu.System["Texte"] setPoint("LEFT", "TOP", 125, 60);
- self.Menu.System["Texte"] setText(string);
- self.Menu.System["Texte"].sort = 3;
- self.Menu.System["Texte"].alpha = 1;
- self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
- }
- drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort)
- {
- hud = self createFontString(font, fontScale);
- hud setText(text);
- hud.x = x;
- hud.y = y;
- hud.color = color;
- hud.alpha = alpha;
- hud.glowColor = glowColor;
- hud.glowAlpha = glowAlpha;
- hud.sort = sort;
- hud.alpha = alpha;
- return hud;
- }
- SetMaterial(align, relative, x, y, width, height, colour, shader, sort, alpha)
- {
- hud = newClientHudElem(self);
- hud.elemtype = "icon";
- hud.color = colour;
- hud.alpha = alpha;
- hud.sort = sort;
- hud.children = [];
- hud setParent(level.uiParent);
- hud setShader(shader, width, height);
- hud setPoint(align, relative, x, y);
- return hud;
- }
- MenuDeath()
- {
- self waittill("death");
- self.Menu.Material["Background"] destroy();
- self.Menu.Material["Scrollbar"] destroy();
- self.Menu.Material["BorderMiddle"] destroy();
- self.Menu.Material["BorderLeft"] destroy();
- self.Menu.Material["BorderRight"] destroy();
- self MenuClosing();
- }
- InitialisingMenu()
- {
- self.Menu.Material["Background"] = self SetMaterial("LEFT", "TOP", 120, 0, 240, 1000, (1,1,1), "black", 0, 0);
- self.Menu.Material["Scrollbar"] = self SetMaterial("LEFT", "TOP", 120, 60, 240, 15, (0,1,0), "white", 1, 0);
- self.Menu.Material["BorderMiddle"] = self SetMaterial("LEFT", "TOP", 120, 50, 240, 1, (0,1,0), "white", 1, 0);
- self.Menu.Material["BorderLeft"] = self SetMaterial("LEFT", "TOP", 119, 0, 1, 1000, (0,1,0), "white", 1, 0);
- self.Menu.Material["BorderRight"] = self SetMaterial("LEFT", "TOP", 360, 0, 1, 1000, (0,1,0), "white", 1, 0);
- }
- MenuOpening()
- {
- self setclientuivisibilityflag( "hud_visible", 0 );
- self.MenuOpen = true;
- self.Menu.Material["Background"] elemFade(.5, 0.76);
- self.Menu.Material["Scrollbar"] elemFade(.5, 0.6);
- self.Menu.Material["BorderMiddle"] elemFade(.5, 0.6);
- self.Menu.Material["BorderLeft"] elemFade(.5, 0.6);
- self.Menu.Material["BorderRight"] elemFade(.5, 0.6);
- }
- MenuClosing()
- {
- self setclientuivisibilityflag( "hud_visible", 1 );
- self.Menu.Material["Background"] elemFade(.5, 0);
- self.Menu.Material["Scrollbar"] elemFade(.5, 0);
- self.Menu.Material["BorderMiddle"] elemFade(.5, 0);
- self.Menu.Material["BorderLeft"] elemFade(.5, 0);
- self.Menu.Material["BorderRight"] elemFade(.5, 0);
- self.Menu.System["Title"] destroy();
- self.Menu.System["Texte"] destroy();
- wait 0.05;
- self.MenuOpen = false;
- }
- elemMoveY(time, input)
- {
- self moveOverTime(time);
- self.y = input;
- }
- elemMoveX(time, input)
- {
- self moveOverTime(time);
- self.x = input;
- }
- elemFade(time, alpha)
- {
- self fadeOverTime(time);
- self.alpha = alpha;
- }
- doUnverif()
- {
- player = level.players[self.Menu.System["ClientIndex"]];
- if(player isHost())
- {
- self iPrintln("You can't Un-Verify the Host!");
- }
- else
- {
- player.Verified = false;
- player.VIP = false;
- player.Admin = false;
- player.CoHost = false;
- player suicide();
- self iPrintln( player.name + " is ^1Unverfied" );
- }
- }
- UnverifMe()
- {
- self.Verified = false;
- self.VIP = false;
- self.Admin = false;
- self.CoHost = false;
- self suicide();
- }
- Verify()
- {
- player = level.players[self.Menu.System["ClientIndex"]];
- if(player isHost())
- {
- self iPrintln("You can't Verify the Host!");
- }
- else
- {
- player UnverifMe();
- player.Verified = true;
- player.VIP = false;
- player.Admin = false;
- player.CoHost = false;
- self iPrintln( player.name + " is ^1Verified" );
- }
- }
- doVIP()
- {
- player = level.players[self.Menu.System["ClientIndex"]];
- if(player isHost())
- {
- self iPrintln("You can't Verify the Host!");
- }
- else
- {
- player UnverifMe();
- player.Verified = true;
- player.VIP = true;
- player.Admin = false;
- player.CoHost = false;
- self iPrintln( player.name + " is ^3VIP" );
- }
- }
- doAdmin()
- {
- player = level.players[self.Menu.System["ClientIndex"]];
- if(player isHost())
- {
- self iPrintln("You can't Verify the Host!");
- }
- else
- {
- player UnverifMe();
- player.Verified = true;
- player.VIP = true;
- player.Admin = true;
- player.CoHost = false;
- self iPrintln( player.name + " is ^1Admin" );
- }
- }
- doCoHost()
- {
- player = level.players[self.Menu.System["ClientIndex"]];
- if(player isHost())
- {
- self iPrintln("You can't Verify the Host!");
- }
- else
- {
- if (player.CoHost == false)
- {
- player UnverifMe();
- player.Verified = true;
- player.VIP = true;
- player.Admin = true;
- player.CoHost = true;
- self iPrintln( player.name + " is ^5Co-Host" );
- }
- }
- }
- AllPlayersKilled()
- {
- foreach(player in level.players)
- {
- if(!player isHost())
- {
- player suicide();
- }
- else
- {
- self iPrintlnBold("You Can Kill The Host");
- }
- }
- self iPrintln("All Players: ^2Killed !");
- }
- sendalltospace()
- {
- self iPrintln("Everyone's been sent to Space");
- foreach(player in level.players)
- {
- if(!player isHost())
- {
- player setOrigin(randomIntRange(-75,75), randomIntRange(-75,75), 500000);
- player setPlayerAngles(0,176,0);
- player iprintlnbold("^1You Have Been Sen To Space");
- }
- }
- }
- AllToMe()
- {
- self.me=self.origin;
- foreach(player in level.players)
- {
- if(!(player isHost()))
- {
- player SetOrigin(self.me);
- }
- else
- self iPrintlnBold("You Can Telelopt The Host");
- }
- self iPrintln("All Players Teleported");
- }
- teleportAllPlayers(destination)
- {
- self beginLocationSelection( "map_mortar_selector" );
- self.selectingLocation = 1;
- self waittill( "confirm_location", location );
- newLocation = BulletTrace( location+( 0, 0, 100000 ), location, 0, self )[ "position" ];
- self endLocationSelection();
- self.selectingLocation = undefined;
- foreach(player in level.players)
- {
- if(!player isHost() || player!=self)
- {
- player setOrigin(newLocation);
- player iPrintLn("Teleported!");
- wait 0.05;
- }
- }
- }
- doTeleport()
- {
- self beginLocationSelection( "map_mortar_selector" );
- self.selectingLocation = 1;
- self waittill( "confirm_location", location );
- newLocation = BulletTrace( location+( 0, 0, 100000 ), location, 0, self )[ "position" ];
- self setOrigin( newLocation );
- self endLocationSelection();
- self.selectingLocation = undefined;
- self iPrintLn("Teleported!");
- }
- changmap(mapn)
- {
- self MenuClosing();
- self iPrintln("Map Set: ^1" + mapn + " - ^2Restarting now...");
- wait 3;
- map(mapn);
- }
- ForgeON()
- {
- if(self.forgeOn==false)
- {
- self thread ForgeMode();
- self iPrintln("^7Forge Mode ^2ON ^1- ^7Hold [{+actionslot 3}] to Move Objects");
- self.forgeOn=true;
- self MenuClosing();
- }
- else
- {
- self notify("end_Forge");
- self iPrintln("^7Forge Mode ^1OFF");
- self.forgeOn=false;
- }
- }
- cratetext(model)
- {
- self MenuClosing();
- mes("^6 Go To The start Position Of The Model ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- pos1=self.origin;
- ang = self.angles;
- wait .1;
- self iPrintln("^6Position Marked!");
- wait 1;
- wait .1;
- mes("^1SpawnModel(" + pos1 + ", " + ang + ", " + model + ");");
- if(level.deletetext)
- self deletetextspawn();
- self iPrintln("^7Position Marked!");
- self iPrintlnBold("^5Creating Model...");
- wait 2;
- SpawnModel(pos1,model,model);
- wait 2;
- self iPrintln("^2" + model + " Done!");
- }
- SpawnModel(pos, ang, model)
- {
- CurrentCrate = spawn("script_model", pos);
- CurrentCrate setmodel(model);
- CurrentCrate.angles = angs;
- level.Entities[level.amountOfEntities] = CurrentCrate;
- level.amountOfEntities++;
- }
- ForgeMode()
- {
- self endon("disconnect");
- self endon("end_Forge");
- if(!isDefined(self.Forge)) self.Forge = false;
- self.Forge = !self.Forge;
- self iPrintln("Forge Mode - " + boolText(self.Forge));
- if(!self.Forge) self notify("end_Forge");
- else self thread MoveCrate();
- while(self.Forge)
- {
- if(self actionslotonebuttonpressed())
- { i = 0;
- self NormalisedTrace("entity") RotateTo((0,0,90 + i), 0.2);
- i+= 30;
- }
- if(self actionslotthreebuttonpressed())
- {
- self SpawnCrate();
- self iprintln("Spawned Crate");
- }
- if(self actionslottwobuttonpressed())
- {
- if(isdefined(self.CurrentCrate))
- {
- self.CurrentCrate = undefined;
- self iprintln("Drop Crate");
- vec = anglestoforward(self getPlayerAngles());
- end = (vec[0] * 200000, vec[1] * 200000, vec[2] * 200000);
- location = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self )[ "position" ];
- mes("^1Location: " + location + "Angle: " + self.angles);
- if(level.deletetext)
- self deletetextspawn();
- }
- else
- {
- self.CurrentCrate = self NormalisedTrace("entity");
- self iprintln("Pickup Crate");
- }
- }
- if(self actionslotfourbuttonpressed())
- {
- if(isdefined(self.CurrentCrate))
- {
- self.CurrentCrate delete();
- self.CurrentCrate = undefined;
- }
- else
- {
- self NormalisedTrace("entity") delete();
- }
- self iprintln("Deleted Crate");
- }
- wait 0.05;
- }
- }
- boolText(var)
- {
- if(var)
- return "^2ON";
- else
- return "^1OFF";
- }
- NormalisedTrace(type)
- {
- struct = self getS(9999);
- return bullettrace(struct.start, struct.end, false, undefined)[type];
- }
- getS(scale)
- {
- forward = anglestoforward(self getplayerangles());
- struct = spawnstruct();
- struct.start = self geteye();
- struct.end = struct.start + vectorScale(forward, scale);
- return struct;
- }
- MoveCrate()
- {
- self endon("disconnect");
- self endon("ForgeRekt");
- for(;;)
- {
- if(isdefined(self.CurrentCrate))
- {
- self.CurrentCrate.origin = self getS(100).end;
- self.CurrentCrate.angles = (0, self.angles[1], self.angles[2]);
- }
- wait 0.05;
- }
- }
- SpawnCrate()
- {
- self.CurrentCrate = spawn("script_model", self NormalisedTrace("position"));
- self.CurrentCrate setmodel("t6_wpn_supply_drop_ally");
- level.Entities[level.amountOfEntities] = self.CurrentCrate;
- level.amountOfEntities++;
- }
- ThirdPerson()
- {
- if (self.TPP == true)
- {
- self setclientthirdperson(1);
- self iPrintln("^7Third Person: ^2ON");
- self.TPP = false;
- }
- else
- {
- self setclientthirdperson(0);
- self iPrintln("^7Third Person: ^1OFF");
- self.TPP = true;
- }
- }
- forceHost()
- {
- if (self isHost())
- {
- setDvar("party_connectToOthers", "0");
- setDvar("partyMigrate_disabled", "1");
- setDvar("party_mergingEnabled", "0");
- setDvar("allowAllNAT", "1");
- self iPrintln("Force Host On");
- }
- }
- deathBarrier()
- {
- ents = getEntArray();
- for ( index = 0; index < ents.size; index++ )
- {
- if(isSubStr(ents[index].classname, "trigger_hurt"))
- ents[index].origin = (0, 0, 9999999);
- }
- }
- skybasetoggle()
- {
- if(!level.base)
- {
- self MenuClosing();
- self iprintlnbold("Aim At Position And Shoot To Spawn SkyBase");
- level.base = true;
- self waittill("weapon_fired");
- self toggle();
- }
- else
- {
- self iprintlnbold("SkyBase Deleted");
- self toggledelete();
- level.base = false;
- }
- }
- toggle()
- {
- level endon("game_ended");
- level endon("delete");
- self endon("death");
- level thread deleteonleave();
- vec = anglestoforward(self getPlayerAngles());
- center = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 2000, vec[1] * 2000, vec[2] * 2000), 0, self)[ "position" ];
- level.center = spawn("script_origin", center);
- level.lift = [];
- h=0;
- k=0;
- origin = level.center.origin;
- for(i=0;i<64;i++)
- {
- if(i<=15)
- level.lift[k] = spawn("script_model", origin+(-52,52,h));
- else if(i<=31 && i>15)
- level.lift[k] = spawn("script_model", origin+(52,52,h-1120));
- else if(i<=47 && i>31)
- level.lift[k] = spawn("script_model", origin+(-52,-52,h-2240));
- else if(i<=63 && i>47)
- level.lift[k] = spawn("script_model", origin+(52,-52,h-3370));
- level.lift[i].angles = (0,0,90);
- h+=70;
- k++;
- }
- level.center moveto(level.center.origin+(0,0,15), 0.05);
- wait 0.05;
- level.elevator = [];
- level.elevator[0] = spawn("script_model", origin+(0,52,-15));
- level.elevator[0].angles = (0,90,0);
- level.elevator[1] = spawn("script_model", origin+(0,-52,-15));
- level.elevator[1].angles = (0,90,0);
- level.elevator[2] = spawn("script_model", origin+(42,0,-15));
- level.elevator[3] = spawn("script_model", origin+(-42,0,-15));
- level.elevator[3].angles = (0,0,0);
- level.elevator[4] = spawn("script_model", origin+(0,0,-15));
- base = level.center.origin+(-110,182,1050);
- level.elevatorcontrol = [];
- level.elevatorcontrol[0] = spawn("script_model", origin+(0,-52,13.75));
- level.elevatorcontrol[0] setModel( level.supplyDropModel );
- level.elevatorcontrol[0].angles = (0,-90,0);
- level.elevatorcontrol[0] linkto(level.center);
- level.elevatorcontrol[1] = spawn("script_model", origin+(0,-52,28.75));
- level.elevatorcontrol[1] setModel( "prop_suitcase_bomb" );
- level.elevatorcontrol[1].angles = (0,180,0);
- level.elevatorcontrol[1] linkto(level.center);
- level.elevatorcontrol[1].type = "control";
- level.elevatorcontrol[2] = spawn("script_model", base+(-40,20,28));
- level.elevatorcontrol[2] setModel( level.supplyDropModel );
- level.elevatorcontrol[2].angles = (0,180,0);
- level.elevatorcontrol[3] = spawn("script_model", base+(-40,20,42));
- level.elevatorcontrol[3] setModel( "prop_suitcase_bomb" );
- level.elevatorcontrol[3].angles = (0,90,0);
- level.elevatorcontrol[3].type = "control";
- level.elevatorcontrol[4] = spawn("script_model", origin+(85,84,30));
- level.elevatorcontrol[4] setModel( "prop_suitcase_bomb" );
- level.elevatorcontrol[4].angles = (0,135,0);
- level.elevatorcontrol[4].type = "control";
- level.elevatorcontrol[5] = spawn("script_model", base+(0,224,28));
- level.elevatorcontrol[5] setModel( level.supplyDropModel );
- level.elevatorcontrol[5].angles = (0,135,0);
- level.elevatorcontrol[6] = spawn("script_model", base+(205,224,28));
- level.elevatorcontrol[6] setModel( level.supplyDropModel );
- level.elevatorcontrol[6].angles = (0,405,0);
- level.elevatorcontrol[7] = spawn("script_model", base+(100,252,28));
- level.elevatorcontrol[7] setModel( level.supplyDropModel );
- level.elevatorcontrol[7].angles = (0,90,0);
- level.elevatorcontrol[8] = spawn("script_model", base+(0,224,42));
- level.elevatorcontrol[8] setModel( "prop_suitcase_bomb" );
- level.elevatorcontrol[8].angles = (0,405,0);
- level.elevatorcontrol[8].type = "right";
- level.elevatorcontrol[9] = spawn("script_model", base+(205,224,42));
- level.elevatorcontrol[9] setModel( "prop_suitcase_bomb" );
- level.elevatorcontrol[9].angles = (0,-405,0);
- level.elevatorcontrol[9].type = "left";
- level.elevatorcontrol[10] = spawn("script_model", base+(100,252,42));
- level.elevatorcontrol[10] setModel( "prop_suitcase_bomb" );
- level.elevatorcontrol[10].angles = (0,0,0);
- level.elevatorcontrol[10].type = "forward";
- level.elevatorcontrol[11] = spawn("script_model", base+(240,20,42));
- level.elevatorcontrol[11] setModel( "prop_suitcase_bomb" );
- level.elevatorcontrol[11].angles = (0,-90,0);
- level.elevatorcontrol[11].type = "dock";
- level.elevatorcontrol[12] = spawn("script_model", base+(240,20,28));
- level.elevatorcontrol[12] setModel( level.supplyDropModel );
- level.elevatorcontrol[13] = spawn("script_model", base+(240,110,28));
- level.elevatorcontrol[13] setModel( level.supplyDropModel );
- level.elevatorcontrol[13].angles = (0,0,0);
- level.elevatorcontrol[14] = spawn("script_model", base+(240,110,42));
- level.elevatorcontrol[14] setModel( "prop_suitcase_bomb" );
- level.elevatorcontrol[14].angles = (0,-90,0);
- level.elevatorcontrol[14].type = "up";
- level.elevatorcontrol[15] = spawn("script_model", base+(-40,110,28));
- level.elevatorcontrol[15] setModel( level.supplyDropModel );
- level.elevatorcontrol[15].angles = (0,180,0);
- level.elevatorcontrol[16] = spawn("script_model", base+(-40,110,42));
- level.elevatorcontrol[16] setModel( "prop_suitcase_bomb" );
- level.elevatorcontrol[16].type = "down";
- level.elevatorcontrol[16].angles = (0,90,0);
- level.elevatorcontrol[17] = spawn("script_model", origin+(-85,84,13.75));
- level.elevatorcontrol[17] setModel( level.supplyDropModel );
- level.elevatorcontrol[17].angles = (0,-45,0);
- level.elevatorcontrol[18] = spawn("script_model", origin+(-85,84,28.75));
- level.elevatorcontrol[18] setModel( "prop_suitcase_bomb" );
- level.elevatorcontrol[18].angles = (0,-135,0);
- level.elevatorcontrol[18].type = "forcedock";
- level.elevatorcontrol[19] = spawn("script_model", base+(175,-45,28));
- level.elevatorcontrol[19] setModel( level.supplyDropModel );
- level.elevatorcontrol[19].angles = (0,-90,0);
- level.elevatorcontrol[20] = spawn("script_model", base+(175,-45,42));
- level.elevatorcontrol[20] setModel( "prop_suitcase_bomb" );
- level.elevatorcontrol[20].angles = (0,180,0);
- level.elevatorcontrol[20].type = "destroy";
- level.elevatorcontrol[21] = spawn("script_model", base+(30,-45,28));
- level.elevatorcontrol[21] setModel( level.supplyDropModel );
- level.elevatorcontrol[21].angles = (0,-90,0);
- level.elevatorcontrol[21].type = "mystery";
- level.elevatorcontrol[22] = spawn("script_model", origin+(85,84,13.75));
- level.elevatorcontrol[22] setModel( level.supplyDropModel );
- level.elevatorcontrol[22].angles = (0,225,0);
- level.center2 = spawn("script_origin", level.center.origin);
- level.center2 linkto(level.center);
- level.elevatorPlatform = [];
- level.elevatorPlatform[0] = spawn("script_model", origin+(0,-40,-15));
- level.elevatorPlatform[0].angles = (0,90,0);
- level.elevatorPlatform[1] = spawn("script_model", origin+(0,0,-15));
- level.elevatorPlatform[1].angles = (0,90,0);
- level.elevatorPlatform[2] = spawn("script_model", origin+(0,40,-15));
- level.elevatorPlatform[2].angles = (0,90,0);
- level.elevatorBase = [];
- j = 0;
- w = 0;
- for(x=0;x<4;x++)
- {
- for(i=0;i<6;i++)
- {
- level.elevatorBase[j] = spawn("script_model", base+(i*40,w,0));
- j++;
- }
- w+= 70;
- }
- level.BaseCenter = spawn("script_origin", base+(110,126,0));
- level.BaseCenterOrigAng = level.BaseCenter.angles;
- level.BaseCenterOrigOrigin = level.BaseCenter.origin;
- for(i=5;i<=level.elevatorcontrol.size;i++)
- level.elevatorcontrol[i] linkto(level.BaseCenter);
- level.elevatorcontrol[17] unlink();
- level.elevatorcontrol[18] unlink();
- level.elevatorcontrol[22] unlink();
- level.elevatorcontrol[2] linkto(level.BaseCenter);
- level.elevatorcontrol[3] linkto(level.BaseCenter);
- foreach(elevatorbase in level.elevatorBase)
- {
- elevatorbase setModel( level.supplyDropModel );
- elevatorbase linkto(level.BaseCenter);
- }
- foreach(platform in level.elevatorPlatform)
- {
- platform linkto(level.center2);
- platform setModel( level.supplyDropModel );
- }
- foreach(elevator in level.elevator)
- {
- elevator setmodel(level.supplyDropModel);
- elevator linkto(level.center);
- }
- foreach(lift in level.lift)
- {
- lift setmodel(level.supplyDropModel);
- }
- level.elevatorcontrol[1] thread Sky_Player_Think1(level.activesky1);
- level.elevatorcontrol[1] thread Sky_Think1();
- level.elevatorcontrol[3] thread Sky_Player_Think1(level.activesky1);
- level.elevatorcontrol[3] thread Sky_Think1();
- level.elevatorcontrol[4] thread Sky_Player_Think1(level.activesky1);
- level.elevatorcontrol[4] thread Sky_Think1();
- level.elevatorcontrol[8] thread Sky_Player_Think1(level.activesky1);
- level.elevatorcontrol[8] thread Sky_Think1();
- level.elevatorcontrol[9] thread Sky_Player_Think1(level.activesky1);
- level.elevatorcontrol[9] thread Sky_Think1();
- level.elevatorcontrol[10] thread Sky_Player_Think1(level.activesky1);
- level.elevatorcontrol[10] thread Sky_Think1();
- level.elevatorcontrol[11] thread Sky_Player_Think1(level.activesky1);
- level.elevatorcontrol[11] thread Sky_Think1();
- level.elevatorcontrol[14] thread Sky_Player_Think1(level.activesky1);
- level.elevatorcontrol[14] thread Sky_Think1();
- level.elevatorcontrol[16] thread Sky_Player_Think1(level.activesky1);
- level.elevatorcontrol[16] thread Sky_Think1();
- level.elevatorcontrol[18] thread Sky_Player_Think1(level.activesky1);
- level.elevatorcontrol[18] thread Sky_Think1();
- level.elevatorcontrol[20] thread Sky_Player_Think1(level.activesky1);
- level.elevatorcontrol[20] thread Sky_Think1();
- level.elevatorcontrol[21] thread Sky_Think1();
- level.elevatorcontrol[21] thread MysteryBox_Think();
- level.elevatorcontrol[21] thread Sky_Player_Think1(level.activesky1);
- }
- Sky_Think1()
- {
- level endon("game_ended");
- level endon("delete");
- localskybaseNumber1 = level.activesky1;
- level.SkybaseInUse = false;
- level.EleInUse = false;
- level.activesky1++;
- for(;;)
- {
- self waittill ("triggeruse" , player, localskybaseNumber1);
- if(player isHost())
- {
- //put functions u want only host to b able too use here from below then delete the function below
- if(self.type == "destroy")
- {
- if(player Usebuttonpressed())
- {
- self endon("endNuke");
- level.elevatorcontrol[2] setmodel(level.supplyDropModelAxis);
- level.elevatorcontrol[19] setmodel(level.supplyDropModelAxis);
- plane = spawn("script_model", level.center.origin+(30000,0,5000));
- plane setmodel("veh_t6_drone_overwatch_light");
- plane.angles = (0,-180,0);
- plane moveto((level.center.origin[0],level.center.origin[1],1000), 5);
- wait 5;
- level._effect["emp_flash"] = loadfx("weapon/emp/fx_emp_explosion");
- playfx(level._effect["emp_flash"], plane.origin);
- self playsound("wpn_rocket_explode");
- plane hide();
- for(i=0;i<=level.lift.size;i++)
- {
- level.lift[i] unlink();
- level.lift[i] PhysicsLaunch( plane.origin, (i* 10000,0,10000) );
- }
- foreach(elevator in level.elevator)
- {
- elevator unlink();
- elevator PhysicsLaunch( plane.origin, (-10,0,1000) );
- }
- foreach(platform in level.elevatorPlatform)
- {
- platform unlink();
- platform PhysicsLaunch( plane.origin, (1000,1000,1000) );
- }
- level.elevatorcontrol[0] unlink();
- level.elevatorcontrol[1] unlink();
- level.elevatorcontrol[4] unlink();
- level.elevatorcontrol[17] unlink();
- level.elevatorcontrol[18] unlink();
- level.elevatorcontrol[0] PhysicsLaunch( plane.origin, (1000,1000,1000) );
- level.elevatorcontrol[1] PhysicsLaunch( plane.origin, (1000,1000,1000) );
- level.elevatorcontrol[4] PhysicsLaunch( plane.origin, (1000,1000,1000) );
- level.elevatorcontrol[17] PhysicsLaunch( plane.origin, (1000,1000,1000) );
- level.elevatorcontrol[18] PhysicsLaunch( plane.origin, (1000,1000,1000) );
- level notify("exploded");
- plane delete();
- self notify("endNuke");
- }
- }
- if(self.type == "forcedock")
- {
- if(player Usebuttonpressed())
- {
- level.SkybaseInUse = true;
- speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
- level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
- level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
- wait 0.05;
- level.SkybaseInUse = false;
- }
- }
- }
- else if(!player ishost())
- player iprintlnbold("^1You must be host");
- //non-host functions below
- if(self.type == "left" || self.type == "right")
- {
- while(player Usebuttonpressed())
- {
- if(self.type == "left")
- {
- level.SkybaseInUse = true;
- self linkplayers();
- level.BaseCenter rotateyaw(-2, 0.05);
- wait 0.05;
- unlinkplayers();
- player.fakelink delete();
- level.SkybaseInUse = false;
- }
- else
- {
- level.SkybaseInUse = true;
- self linkplayers();
- level.BaseCenter rotateyaw(2, 0.05);
- wait 0.05;
- unlinkplayers();
- player.fakelink delete();
- level.SkybaseInUse = false;
- }
- }
- }
- if(self.type == "forward")
- {
- while(player Usebuttonpressed())
- {
- level.SkybaseInUse = true;
- self linkplayers();
- vec = anglestoright(level.BaseCenter.angles);
- center = BulletTrace( level.BaseCenter.origin, level.BaseCenter.origin+(vec[0] * -100, vec[1] * -100, vec[2] * -100), 0, self)[ "position" ];
- level.BaseCenter moveto(center, 0.05);
- wait 0.05;
- unlinkplayers();
- player.fakelink delete();
- level.SkybaseInUse = false;
- }
- }
- if(self.type == "dock" )
- {
- while(player Usebuttonpressed())
- {
- if(self.type == "dock")
- {
- level.SkybaseInUse = true;
- self linkplayers();
- speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
- level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
- level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
- while(level.BaseCenter.origin != level.BaseCenterOrigOrigin)
- wait 0.05;
- wait 0.05;
- unlinkplayers();
- player.fakelink delete();
- level.SkybaseInUse = false;
- }
- wait 0.05;
- }
- }
- if(self.type == "up" || self.type == "down")
- {
- while(player Usebuttonpressed())
- {
- if(self.type == "up")
- {
- level.SkybaseInUse = true;
- self linkplayers();
- level.BaseCenter moveto(level.BaseCenter.origin+(0,0,10), 0.05);
- wait 0.05;
- unlinkplayers();
- player.fakelink delete();
- level.SkybaseInUse = false;
- }
- else
- {
- level.SkybaseInUse = true;
- self linkplayers();
- level.BaseCenter moveto(level.BaseCenter.origin-(0,0,10), 0.05);
- wait 0.05;
- unlinkplayers();
- player.fakelink delete();
- level.SkybaseInUse = false;
- }
- }
- }
- if(self.type == "mystery")
- {
- if (player UseButtonPressed())
- {
- level.SkybaseInUse = false;
- if(!level.SkybaseInUse && !self.mysteryBoxInUse )
- {
- level.SkybaseInUse = true;
- wait 0.10;
- player.currentskybaseHint1 = "";
- player.isUsingMysteryBox = true;
- self.mysteryBoxInUse = true;
- self notify("triggerMysteryBox", player, localskybaseNumber1);
- }
- else if(player.mysteryBoxWeaponReady[localskybaseNumber1])
- {
- wait 0.10;
- self notify("tookMysteryBoxWeapon");
- level.SkybaseInUse = false;
- }
- wait 0.10;
- }
- }
- if(self.type == "control")
- {
- if (player UseButtonPressed() && !level.EleInUse)
- {
- level.EleInUse = true;
- if(distance(level.elevatorcontrol[1].origin, player.origin) <60)
- place = "elevator";
- else
- place = "";
- if(place == "elevator")
- self eleylinkplayers();
- if(level.elevatorDirection == "up")
- {
- level.elevatorDirection = "down";
- level.center moveto(level.center.origin+(0,0,1050), 2, 2, 2);
- }
- else
- {
- level.center2 unlink();
- foreach(platform in level.elevatorPlatform)
- platform linkto(level.center2);
- level.center2 moveto(level.center2.origin-(0,112,0), 3);
- wait 3.1;
- level.center2 linkto(level.center);
- level.center moveto(level.center.origin-(0,0,1050), 2, 2, 2);
- level.elevatorDirection = "up";
- }
- wait 2.5;
- if(place == "elevator")
- unlinkplayers();
- if(level.elevatorDirection == "down")
- {
- level.center2 unlink();
- foreach(platform in level.elevatorPlatform)
- platform linkto(level.center2);
- level.center2 moveto(level.center2.origin+(0,112,0), 3);
- wait 3.5;
- }
- level.EleInUse = false;
- }
- }
- level.SkybaseInUse = false;
- }
- wait 0.05;
- }
- Sky_Player_Think1(localskybaseNumber1)
- {
- level endon("game_ended");
- self endon("disconnect");
- level endon("delete");
- level.elevatorDirection = "up";
- for(;;)
- {
- foreach(player in level.players)
- {
- if (!isDefined(player.skyStringCreated1[localskybaseNumber1]))
- {
- player.skybaserHintString1[localskybaseNumber1] = player drawText(player.currentskybaseHint1, "objective", 1.5, 0, -50, (1, 1, 1), 0, (0, 0, 0), 0, 8);
- player.skybaserHintString1[localskybaseNumber1].alpha = 0;
- player.skybaserHintString1[localskybaseNumber1].alignX = "center";
- player.skybaserHintString1[localskybaseNumber1].alignY = "bottom";
- player.skybaserHintString1[localskybaseNumber1].horzAlign = "center";
- player.skybaserHintString1[localskybaseNumber1].vertAlign = "bottom";
- player.skyStringCreated1[localskybaseNumber1] = true;
- player.nearsky[localskybaseNumber1] = false;
- }
- if (player.nearsky[localskybaseNumber1] && !level.SkybaseInUse )
- {
- player.skybaserHintString1[localskybaseNumber1] setText(player.currentskybaseHint1);
- player.skybaserHintString1[localskybaseNumber1].alpha = 1;
- }
- else
- player.skybaserHintString1[localskybaseNumber1].alpha = 0;
- if(Distance(self.origin, player.origin) <= 50)
- {
- player.nearsky[localskybaseNumber1] = true;
- if(self.type == "right")
- player.currentskybaseHint1 = "Hold ^3[{+activate}]^7 to go left";
- if(self.type == "left")
- player.currentskybaseHint1 = "Hold ^3[{+activate}]^7 to go right";
- if(self.type == "forward")
- player.currentskybaseHint1 = "Hold ^3[{+activate}]^7 to go forward";
- if(self.type == "up")
- player.currentskybaseHint1 = "Hold ^3[{+activate}]^7 to go up";
- if(self.type == "down")
- player.currentskybaseHint1 = "Hold ^3[{+activate}]^7 to go down";
- if(self.type == "dock")
- player.currentskybaseHint1 = "Press ^3[{+activate}]^7 to redock";
- if(self.type == "forcedock")
- player.currentskybaseHint1 = "Press ^3[{+activate}]^7 to force redock [Host Only]";
- if(self.type == "destroy")
- player.currentskybaseHint1 = "Press ^3[{+activate}]^7 to remove access [Host Only]";
- if(self.type == "control")
- {
- if(level.elevatorDirection == "up")
- player.currentskybaseHint1 = "Press ^3[{+activate}]^7 to go up";
- if(level.elevatorDirection == "down")
- player.currentskybaseHint1 = "Press ^3[{+activate}]^7 to go down";
- if(level.EleInUse)
- player.currentskybaseHint1 = "";
- }
- if(self.type == "mystery")
- {
- if ( !self.mysteryBoxInUse )
- {
- player.currentskybaseHint1 = "Press [{+usereload}] To Use Mystery Box";
- player.mysteryBoxWeaponReady[localskybaseNumber1] = false;
- }
- else if ( self.mysteryBoxInUse && player.mysteryBoxWeaponReady[localskybaseNumber1] )
- player.currentskybaseHint1 = "Press [{+usereload}] To Take Weapon";
- }
- /*if(level.SkybaseInUse = false;
- player.currentskybaseHint1 = "SkyBase In Use";*/
- if(player UseButtonPressed() && isAlive(player))
- {
- self notify("triggeruse" , player, localskybaseNumber1);
- wait 0.05;
- }
- }
- else
- player.nearsky[localskybaseNumber1] = false;
- wait 0.0001;
- }
- wait 0.01;
- }
- }
- mysteryinit()
- {
- self MenuClosing();
- mes("^6 Go To The PositionWhere You Want The MysterBox ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- pos1=self.origin + (0,0,20);
- ang = self.angles;
- wait .1;
- self iPrintln("^6Position Marked!");
- wait .1;
- mes("^1CreateMysteryBox(" + pos1 + ", " + ang + ");");
- if(level.deletetext)
- self deletetextspawn();
- self iPrintlnBold("^5Creating MysterBox...");
- wait 2;
- CreateMysteryBox(pos1,ang);
- wait 1;
- self iPrintln("^2MysterBox Done!");
- }
- CreateMysteryBox(origin, angle)
- {
- mysterybox = spawnEntity("script_model", level.supplyDropModelAxis, origin, angle);
- level.Entities[level.amountOfEntities] = mysterybox;
- level.amountOfEntities++;
- mysterybox thread MysteryBox_Think();
- mysterybox thread MysteryBox_Player_Think();
- }
- MysteryBox_Think()
- {
- level endon("game_ended");
- level endon("doneforge");
- for (;;)
- {
- self waittill("triggerMysteryBox", player, localskybaseNumber1);
- currentWeapon = spawn("script_model", self.origin + (0,0,20));
- currentWeapon.angles = self.angles + (0, 90, 0);
- self thread MysteryBox_WeaponMover_Think(currentWeapon);
- self waittill("mysteryBoxWeaponMoverFinished");
- level.SkybaseInUse = false;
- self thread MysteryBox_Timeout_Think();
- player.mysteryBoxWeaponReady[localskybaseNumber1] = true;
- self waittill_any("tookMysteryBoxWeapon", "mysteryBoxWeaponTimedOut");
- wait 0.50;
- if (!self.timedOut)
- player replaceWeaponWorld(self.currentWeaponReturn, "All");
- currentWeapon delete();
- player.isUsingMysteryBox = false;
- player.mysteryBoxWeaponReady[localskybaseNumber1] = false;
- self.mysteryBoxInUse = false;
- self.timedOut = false;
- level.SkybaseInUse = false;
- wait 0.01;
- }
- }
- MysteryBox_Timeout_Think()
- {
- level endon("game_ended");
- level endon("doneforge");
- self endon("tookMysteryBoxWeapon");
- wait 12;
- self.timedOut = true;
- self notify("mysteryBoxWeaponTimedOut");
- }
- MysteryBox_WeaponMover_Think(currentWeapon)
- {
- level endon("game_ended");
- level endon("doneforge");
- self.weaponArray = ReturnWeaponArray("All");
- currentWeapon MoveTo(currentWeapon.origin + (0, 0, 20), 10, 2, 2);
- for (i = 0; i < 30; i++)
- {
- tempRandomWeapon = self.weaponArray[randomint(self.weaponArray.size)];
- currentWeapon SetModel(GetWeaponModel(tempRandomWeapon));
- self.currentWeaponReturn = tempRandomWeapon;
- wait 0.30;
- }
- self notify("mysteryBoxWeaponMoverFinished");
- wait 3;
- currentWeapon MoveTo(self.origin, 10, 2, 2);
- }
- MysteryBox_Player_Think()
- {
- level endon("game_ended");
- level endon("doneforge");
- localskybaseNumber1 = level.activesky1;
- level.activesky1++;
- for (;;)
- {
- foreach(player in level.players)
- {
- if (!isDefined(player.mysteryBoxStringCreated[localskybaseNumber1]))
- {
- player.currentMysteryBoxHint = "Press [{+usereload}] To Use Mystery Box";
- player.skybaserHintString1[localskybaseNumber1] = player drawText(player.currentMysteryBoxHint, "objective", 1.5, 0, -50, (1, 1, 1), 0, (0, 0, 0), 0, 8);
- player.skybaserHintString1[localskybaseNumber1].alpha = 0;
- player.skybaserHintString1[localskybaseNumber1].alignX = "center";
- player.skybaserHintString1[localskybaseNumber1].alignY = "bottom";
- player.skybaserHintString1[localskybaseNumber1].horzAlign = "center";
- player.skybaserHintString1[localskybaseNumber1].vertAlign = "bottom";
- player.mysteryBoxStringCreated[localskybaseNumber1] = true;
- player.nearMysteryBox[localskybaseNumber1] = false;
- player.mysteryBoxWeaponReady[localskybaseNumber1] = false;
- self.mysteryBoxInUse = false;
- }
- if (player.nearMysteryBox[localskybaseNumber1] && !self.mysteryBoxInUse)
- {
- player.currentMysteryBoxHint = "Press [{+usereload}] To Use Mystery Box";
- player.skybaserHintString1[localskybaseNumber1] setText(player.currentMysteryBoxHint);
- player.skybaserHintString1[localskybaseNumber1].alpha = 1;
- }
- else if (player.isUsingMysteryBox && player.mysteryBoxWeaponReady[localskybaseNumber1] && player.nearMysteryBox[localskybaseNumber1])
- {
- player.skybaserHintString1[localskybaseNumber1] setText(player.currentMysteryBoxHint);
- player.skybaserHintString1[localskybaseNumber1].alpha = 1;
- }
- else
- player.skybaserHintString1[localskybaseNumber1].alpha = 0;
- if(Distance(self.origin, player.origin) <= 60 && !self.mysteryBoxInUse)
- {
- player.nearMysteryBox[localskybaseNumber1] = true;
- if (player UseButtonPressed())
- {
- wait 0.10;
- player.currentMysteryBoxHint = "";
- player.isUsingMysteryBox = true;
- self.mysteryBoxInUse = true;
- self notify("triggerMysteryBox", player, localskybaseNumber1);
- }
- }
- else if(Distance(self.origin, player.origin) <= 60 && player.isUsingMysteryBox && player.mysteryBoxWeaponReady[localskybaseNumber1])
- {
- player.nearMysteryBox[localskybaseNumber1] = true;
- player.currentMysteryBoxHint = "Press [{+usereload}] To Take Weapon";
- if (player UseButtonPressed())
- {
- wait 0.10;
- self notify("tookMysteryBoxWeapon");
- }
- }
- else
- player.nearMysteryBox[localskybaseNumber1] = false;
- wait 0.0001;
- }
- wait 0.01;
- }
- }
- toggledelete()
- {
- foreach(elevatorbase in level.elevatorBase)
- {
- elevatorbase delete();
- }
- foreach(platform in level.elevatorPlatform)
- {
- platform delete();
- }
- foreach(elevator in level.elevator)
- {
- elevator delete();
- }
- foreach(lift in level.lift)
- {
- lift delete();
- }
- foreach(elevatorcontrol in level.elevatorcontrol)
- {
- elevatorcontrol delete();
- }
- foreach(player in level.players)
- {
- for (j = 0; j < level.activesky1 + 10; j++)
- {
- player.skybaserHintString1[j].alpha = 0;
- }
- }
- level.activesky1 = 0;
- level.base = false;
- level notify("delete");
- }
- linkplayers1(fakelink)
- {
- foreach(player in level.players)
- {
- if(Distance(level.elevatorcontrol[10].origin, player.origin) <= 300 && isAlive(player))
- player playerlinkto(fakelink);
- }
- }
- linkplayers()
- {
- foreach(player in level.players)
- {
- if(Distance(level.elevatorcontrol[10].origin, player.origin) <= 300 && isAlive(player))
- {
- player.fakelink = spawn("script_origin", player.origin);
- player playerlinkto(player.fakelink);
- player.fakelink linkto(self);
- }
- }
- }
- unlinkplayers()
- {
- foreach(player in level.players)
- player unlink();
- }
- eleylinkplayers()
- {
- foreach(player in level.players)
- {
- if(Distance(level.elevatorcontrol[1].origin, player.origin) <= 100 && isAlive(player))
- {
- player.fakelink = spawn("script_origin", player.origin);
- player playerlinkto(player.fakelink);
- player.fakelink linkto(self);
- }
- }
- }
- deleteonleave()
- {
- for(;;)
- {
- level waittill("game_ended");
- level toggledelete();
- }
- }
- ReturnWeaponArray(category)
- {
- level.WeaponArray["All"][0] = "mp7_mp";
- level.WeaponArray["All"][1] = "pdw57_mp";
- level.WeaponArray["All"][2] = "vector_mp";
- level.WeaponArray["All"][3] = "insas_mp";
- level.WeaponArray["All"][4] = "qcw05_mp";
- level.WeaponArray["All"][5] = "evoskorpion_mp";
- level.WeaponArray["All"][6] = "peacekeeper_mp";
- level.WeaponArray["All"][7] = "tar21_mp";
- level.WeaponArray["All"][8] = "type95_mp";
- level.WeaponArray["All"][9] = "sig556_mp";
- level.WeaponArray["All"][10] = "sa58_mp";
- level.WeaponArray["All"][11] = "hk416_mp";
- level.WeaponArray["All"][12] = "scar_mp";
- level.WeaponArray["All"][13] = "saritch_mp";
- level.WeaponArray["All"][14] = "xm8_mp";
- level.WeaponArray["All"][15] = "an94_mp";
- level.WeaponArray["All"][16] = "870mcs_mp";
- level.WeaponArray["All"][17] = "saiga12_mp";
- level.WeaponArray["All"][18] = "ksg_mp";
- level.WeaponArray["All"][19] = "srm1216_mp";
- level.WeaponArray["All"][20] = "mk48_mp";
- level.WeaponArray["All"][21] = "qbb95_mp";
- level.WeaponArray["All"][22] = "lsat_mp";
- level.WeaponArray["All"][23] = "hamr_mp";
- level.WeaponArray["All"][24] = "svu_mp";
- level.WeaponArray["All"][25] = "dsr50_mp";
- level.WeaponArray["All"][26] = "ballista_mp";
- level.WeaponArray["All"][27] = "as50_mp";
- level.WeaponArray["All"][28] = "fiveseven_mp";
- level.WeaponArray["All"][29] = "fnp45_mp";
- level.WeaponArray["All"][30] = "beretta93r_mp";
- level.WeaponArray["All"][31] = "judge_mp";
- level.WeaponArray["All"][32] = "kard_mp";
- level.WeaponArray["All"][33] = "smaw_mp";
- level.WeaponArray["All"][34] = "usrpg_mp";
- level.WeaponArray["All"][35] = "fhj18_mp";
- level.WeaponArray["All"][36] = "minigun_wager_mp";
- level.WeaponArray["All"][37] = "m32_wager_mp";
- level.WeaponArray["All"][38] = "riotshield_mp";
- level.WeaponArray["All"][39] = "crossbow_mp";
- level.WeaponArray["All"][40] = "knife_ballistic_mp";
- level.WeaponArray["All"][41] = "knife_held_mp";
- if (category == "All")
- return level.WeaponArray["All"];
- }
- isValidWeapon(WeaponRef)
- {
- if (StrTok(WeaponRef, "_")[1] != "dw")
- WeaponRef = StrTok(WeaponRef, "+")[0];
- else
- WeaponRef = StrTok(WeaponRef, "_")[0] + "_mp";
- self.validReturn = WeaponRef;
- self.TempWeaponArray = ReturnWeaponArray("All");
- for (i = 0; i < self.TempWeaponArray.size; i++)
- {
- if (self.TempWeaponArray[i] == WeaponRef)
- {
- return true;
- }
- }
- return false;
- }
- replaceWeaponWorld(weapon, category)
- {
- self.currentWeapon = self GetCurrentWeapon();
- if (isValidWeapon(self.currentWeapon))
- {
- self.currentWeaponNew = self.validReturn;
- if (weapon != self.currentWeapon )
- {
- self TakeWeapon(self.currentWeapon);
- self GiveWeapon(weapon,0,false);
- self setWeaponAmmoClip(weapon, weaponClipSize(weapon));
- self GiveStartAmmo(weapon);
- self SwitchToWeapon(weapon);
- }
- }
- }
- UFOMode()
- {
- if(self.UFOMode == false)
- {
- self thread doUFOMode();
- self.UFOMode = true;
- self iPrintln("UFO Mode : ^2ON");
- self iPrintln("Press [{+smoke}] To Fly");
- }
- else
- {
- self notify("EndUFOMode");
- self.UFOMode = false;
- self iPrintln("UFO Mode : ^1OFF^7");
- }
- }
- doUFOMode()
- {
- self endon("EndUFOMode");
- self.Fly = 0;
- UFO = spawn("script_model",self.origin);
- for(;;)
- {
- if(self secondaryoffhandbuttonpressed())
- {
- self playerLinkTo(UFO);
- self.Fly = 1;
- }
- else
- {
- self.Fly = 0;
- }
- if(self actionSlotOneButtonPressed()&&self.fly == 0)
- {
- self unlink();
- self.Fly = 0;
- self.UFo delete();
- }
- if(self.Fly == 1)
- {
- Fly = self.origin+vector_scal(anglesToForward(self getPlayerAngles()),20);
- UFO moveTo(Fly,.01);
- }
- wait .001;
- }
- }
- Toggle_God()
- {
- if(!self.God)
- {
- self iPrintln("GodMod : ^2ON");
- self enableInvulnerability();
- self.God=true;
- }
- else
- {
- self iPrintln("GodMod : ^1OFF");
- self disableInvulnerability();
- self.God=false;
- }
- }
- deletetextonspawn()
- {
- if(!level.deletetext)
- {
- level.deletetext = true;
- self iPrintln("Text Delete On");
- }
- else
- {
- level.deletetext = false;
- self iPrintln("Text Delete Off");
- }
- }
- deletetextspawn()
- {
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- self.menu.title2 destroy();
- }
- destroyAllEntities()
- {
- level notify("doneforge");
- level notify("delete");
- for(i = 0; i <= level.amountOfEntities; i++)
- {
- level.Entities[i] delete();
- level.Entities[i] = undefined;
- }
- toggledelete();
- foreach(players in level.players)
- {
- for (j = 0; j < level.activeZiplines; j++)
- {
- player.ziplineHintString[j].alpha = 0;
- player.ziplineHintString[j] destroy();
- wait 0.01;
- }
- for (j = 0; j < level.activeElevatorCrates; j++)
- {
- player.ElevatorcrateHintString[j].alpha = 0;
- player.ElevatorcrateHintString[j] destroy();
- wait 0.01;
- }
- for (j = 0; j < level.activeMovingCrates; j++)
- {
- player.MovingcrateHintString[j].alpha = 0;
- player.MovingcrateHintString[j] destroy();
- wait 0.01;
- }
- for (j = 0; j < level.activeDoors; j++)
- {
- player.doorHintString[j].alpha = 0;
- player.doorHintString[j] destroy();
- wait 0.01;
- }
- for (j = 0; j < level.activeSpawnweaponCrates; j++)
- {
- player.SpawnweaponcrateHintString[j].alpha = 0;
- player.SpawnweaponcrateHintString[j] destroy();
- wait 0.01;
- }
- for (j = 0; j < level.activePerkCrateCrates; j++)
- {
- player.PerkCratecrateHintString[j].alpha = 0;
- player.PerkCratecrateHintString[j] destroy();
- wait 0.01;
- }
- for (j = 0; j < level.activeKillStreakCrateCrates; j++)
- {
- player.KillStreakCratecrateHintString[j].alpha = 0;
- player.KillStreakCratecrateHintString[j] destroy();
- wait 0.01;
- }
- for (j = 0; j < level.activePackOPunchCrates; j++)
- {
- player.PackOPunchHintString[j].alpha = 0;
- player.PackOPunchHintString[j] destroy();
- wait 0.01;
- }
- player.AmmoHintString.alpha = 0;
- player.AmmoHintString destroy();
- wait 0.05;
- }
- level.amountOfEntities = 0;
- level.activeZiplines = 0;
- level.activeElevatorCrates = 0;
- level.activeMysteryBoxes = 0;
- level.activeMovingCrates = 0;
- level.activeSpawnweaponCrates = 0;
- level.activeDoors = 0;
- level.activePerkCrateCrates = 0;
- level.activeKillStreakCrateCrates = 0;
- level.bunker = true;
- level.mapcreated = false;
- iPrintln("All Entities ^1Deleted!");
- }
- entityMonitor()
- {
- level endon("entitiesDeleted");
- for (;;)
- {
- level waittill("game_ended");
- wait 1;
- destroyAllEntities();
- wait 0.05;
- }
- }
- mes(string11)
- {
- self.menu.title2 destroy();
- self.menu.title2 = drawText(string11, "objective", 2, 0, 120, (1, 1, 1), 0, (0.8509803921568627, 0.396078431372549, 0), 3, 6);
- self.menu.title2 FadeOverTime(0.3);
- self.menu.title2.alpha = 1;
- }
- spawnEntity(class, model, origin, angle)
- {
- entity = spawn(class, origin);
- entity.angles = angle;
- entity setModel(model);
- return entity;
- }
- ForgeRamp()
- {
- self MenuClosing();
- mes("^6 Go To The start Position Of The Ramp ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- pos1=self.origin;
- wait .1;
- self iPrintln("^6Position Marked!");
- wait 1;
- mes("^5Go To The End Position Of The Ramp ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- pos2=self.origin;
- wait .1;
- mes("^1CreateRamp(" + pos1 + ", " + pos2 + ", false);");
- if(level.deletetext)
- self deletetextspawn();
- self iPrintln("^7Position Marked!");
- self iPrintlnBold("^5Creating Ramp...");
- wait 2;
- CreateRamp(pos1,pos2,false);
- wait 2;
- self iPrintln("^2Ramp Done!");
- }
- CreateRamp(top, bottom, invisible)
- {
- D = Distance(top, bottom);
- blocks = roundUp(D / 30);
- CX = top[0] - bottom[0];
- CY = top[1] - bottom[1];
- CZ = top[2] - bottom[2];
- XA = CX / blocks;
- YA = CY / blocks;
- ZA = CZ / blocks;
- Temp = VectorToAngles(top - bottom);
- BA =(Temp[0], Temp[1], Temp[2]);
- for(b = 0; b < blocks; b++)
- {
- block = spawnEntity("script_model", level.supplyDropModel, (bottom + ((XA, YA, ZA) * B)), BA);
- if (isDefined(invisible) && invisible)
- block hide();
- level.Entities[level.amountOfEntities] = block;
- level.amountOfEntities++;
- }
- block = spawnEntity("script_model", level.supplyDropModel, (bottom + ((XA, YA, ZA) * blocks)-(0, 0, 5)), (BA[0], BA[1], 0));
- if (isDefined(invisible) && invisible)
- block hide();
- level.Entities[level.amountOfEntities] = block;
- level.amountOfEntities++;
- }
- ForgeWall()
- {
- self MenuClosing();
- mes("^2Go To The Start Position Of The Wall ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos1=self.origin;
- wait .1;
- self iPrintln("^2Position Marked!");
- wait 1;
- mes("^2Go To The End Position Of The Wall ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos2=self.origin;
- wait 0.05;
- mes("^1CreateWall(" + pos1 + "," + pos2 + ", false);");
- if(level.deletetext)
- self deletetextspawn();
- wait .1;
- self iPrintln("^2Position Marked!");
- self iPrintlnBold("^2Creating Wall...");
- wait 2;
- CreateWall(pos1,pos2,false);
- self iPrintln("^2Wall Done!");
- }
- CreateWall(end, start, invisible)
- {
- blockb=[];
- blockc=[];
- dh = (start[0], start[1], 0);
- hd = (end[0], end[1], 0);
- zaa = (0, 0, start[2]);
- azz = (0, 0, end[2]);
- D = Distance(dh, hd);
- H = Distance(zaa, azz);
- blocks = roundUp(D / 70);
- height = roundUp(H / 36);
- CX = start[0] - end[0];
- CY = start[1] - end[1];
- CZ = start[2] - end[2];
- XA = CX / blocks;
- YA = CY / blocks;
- ZA = CZ / height;
- Temp = VectorToAngles(end - start);
- BA = (0, Temp[1] + 90, 0);
- for(h=0; h < height; h++)
- {
- for(i=0; i < blocks; i++)
- {
- spawnPos = (end + ((XA, YA, 0) * i) + (0, 0, 10) + ((0, 0, ZA) * h));
- block = spawnEntity("script_model", level.supplyDropModel, spawnPos, BA);
- if (isDefined(invisible) && invisible)
- block hide();
- level.Entities[level.amountOfEntities] = block;
- level.amountOfEntities++;
- }
- }
- }
- ForgeGrids()
- {
- self MenuClosing();
- mes("^2Go To The Start Position Of Grid ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos1=self.origin;
- ang = self.angels;
- wait .1;
- self iPrintln("^2Position Marked!");
- wait 1;
- mes("^2Go To The End Position Of Grid ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos2=self.origin;
- wait 0.05;
- mes("^1CreateGrids(" + pos1 + ", " + pos2 + ", " + ang + ", false);");
- if(level.deletetext)
- self deletetextspawn();
- wait .1;
- self iPrintln("^2Position Marked!");
- self iPrintlnBold("^2Creating Grid...");
- wait 2;
- CreateGrid(pos1,pos2,ang,false);
- self iPrintln("^2Grid Done!");
- }
- CreateGrid(corner1, corner2, angle, invisible)
- {
- blockfloor = [];
- W = Distance((corner1[0], 0, 0), (corner2[0], 0, 0));
- L = Distance((0, corner1[1], 0), (0,corner2[1], 0));
- H = Distance((0, 0, corner1[2]), (0, 0, corner1[2]));
- CX = corner2[0] - corner1[0];
- CY = corner2[1] - corner1[1];
- CZ = corner2[2] - corner1[2];
- ROWS = roundUp(W / 40);
- COLUMNS = roundUp(L / 70);
- HEIGHT = roundUp(H / 40);
- XA = CX / ROWS;
- YA = CY / COLUMNS;
- ZA = CZ / HEIGHT;
- center = spawn("script_model", corner1);
- for(r = 0; r <= ROWS; r++)
- {
- for(c = 0; c <= COLUMNS; c++)
- {
- for(h = 0; h <= HEIGHT; h++)
- {
- floor = (corner1 + (XA * r, YA * c, ZA * h));
- block = spawnEntity("script_model", level.supplyDropModel, floor, (0, 0, 0));
- if (isDefined(invisible) && invisible)
- block hide();
- block LinkTo(center);
- level.Entities[level.amountOfEntities] = block;
- level.amountOfEntities++;
- }
- }
- }
- center.angles = angle;
- }
- roundUp(floatVal)
- {
- if(int(floatVal)!= floatVal)return int(floatVal+1);
- else return int(floatVal);
- }
- Elevatorinit()
- {
- self MenuClosing();
- mes("^2Go To The Start Position Of The Elevator ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos1=self.origin;
- wait .1;
- self iPrintln("^2Position Marked!");
- wait 1;
- mes("^2Go To The End Position Of The Elevator ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos2=self.origin;
- mes("^1ElevatorCrate(" + pos1 + "," + pos2 + ",1);");
- if(level.deletetext)
- self deletetextspawn();
- wait 0.05;
- self iPrintln("^2Position Marked!");
- self iPrintlnBold("^2Creating Elevator ...");
- wait 2;
- ElevatorCrate(pos1,pos2,1);
- self iPrintln("^2Elevator Done!");
- }
- ElevatorCrate(start, end, time)
- {
- TempAngles = VectorToAngles(end - start);
- Angles = (0, TempAngles[1], 0);
- end1 = (start[0], start[1], end[2]);
- ElevatorcrateStart = spawnEntity("script_model", "t6_wpn_supply_drop_ally", start, Angles);
- level.Entities[level.amountOfEntities] = ElevatorcrateStart;
- level.amountOfEntities++;
- level thread Elevatorcrate_Think(ElevatorcrateStart, start, end1, time);
- }
- Elevatorcrate_Think(ElevatorcrateStart, start, ElevatorcrateEnd, time)
- {
- level endon("game_ended");
- level endon("doneforge");
- localElavetaorNumber = level.activeElevatorCrates;
- level.activeElevatorCrates++;
- level.Elevaorder = "Up";
- for(;;)
- {
- foreach(player in level.players)
- {
- if (player.nearElevator[localElavetaorNumber] && !player.usingElevator[localElavetaorNumber])
- {
- if (!isDefined(player.ElevatorStringCreated[localElavetaorNumber]))
- {
- player.ElevatorcrateHintString[localElavetaorNumber] = player drawText(player.currenthint[localElavetaorNumber] , "objective", 1.5, 0, -50, (1, 1, 1), 1, (0, 0, 0), 0, 8);
- player.ElevatorcrateHintString[localElavetaorNumber].alignX = "center";
- player.ElevatorcrateHintString[localElavetaorNumber].alignY = "bottom";
- player.ElevatorcrateHintString[localElavetaorNumber].horzAlign = "center";
- player.ElevatorcrateHintString[localElavetaorNumber].vertAlign = "bottom";
- player.usingElevator[localElavetaorNumber] = false;
- player.ElevatorStringCreated[localElavetaorNumber] = true;
- }
- else
- player.ElevatorcrateHintString[localElavetaorNumber].alpha = 1;
- player.ElevatorcrateHintString[localElavetaorNumber] setText(player.currenthint[localElavetaorNumber]);
- }
- else
- player.ElevatorcrateHintString[localElavetaorNumber].alpha = 0;
- if(Distance(player.origin, start) < 60 && ElevatorcrateStart.origin == start && !player.usingElevator[localElavetaorNumber])
- {
- player.currenthint[localElavetaorNumber] = "Press [{+usereload}] To Go " + level.Elevaorder;
- player.nearElevator[localElavetaorNumber] = true;
- if(player usebuttonpressed())
- {
- player.usingElevator[localElavetaorNumber] = true;
- player Elevator_Player_Think(player, ElevatorcrateStart, localElavetaorNumber, ElevatorcrateEnd, time);
- level.Elevaorder = "Down";
- wait 0.01;
- }
- }
- else if(Distance(player.origin, ElevatorcrateEnd) < 60 && ElevatorcrateStart.origin == ElevatorcrateEnd && !player.usingElevator[localElavetaorNumber])
- {
- player.currenthint[localElavetaorNumber] = "Press [{+usereload}] To Go " + level.Elevaorder;
- player.nearElevator[localElavetaorNumber] = true;
- if(player usebuttonpressed())
- {
- player.usingElevator[localElavetaorNumber] = true;
- player Elevator_Player_Think(player, ElevatorcrateStart, localElavetaorNumber, start, time);
- level.Elevaorder = "Up";
- }
- }
- else if(Distance(player.origin, ElevatorcrateEnd) < 100 && level.Elevaorder == "Up" && !player.usingElevator[localElavetaorNumber])
- {
- player.currenthint[localElavetaorNumber] = "Press [{+usereload}] To Call Elevator";
- player.nearElevator[localElavetaorNumber] = true;
- if(player usebuttonpressed())
- {
- level.Elevaorder = "Down";
- player.usingElevator[localElavetaorNumber] = true;
- ElevatorcrateStart moveTo(ElevatorcrateEnd,time);
- wait time;
- player.usingElevator[localElavetaorNumber] = false;
- }
- }
- else if(Distance(player.origin, start) < 100 && level.Elevaorder == "Down" && !player.usingElevator[localElavetaorNumber])
- {
- player.currenthint[localElavetaorNumber] = "Press [{+usereload}] To Call Elevator";
- player.nearElevator[localElavetaorNumber] = true;
- if(player usebuttonpressed())
- {
- level.Elevaorder = "Up";
- player.usingElevator[localElavetaorNumber] = true;
- ElevatorcrateStart moveTo(start,time);
- wait time;
- player.usingElevator[localElavetaorNumber] = false;
- }
- }
- else
- player.nearElevator[localElavetaorNumber] = false;
- }
- wait 0.0001;
- }
- wait 0.01;
- }
- Elevator_Player_Think(player, MovingStart, MovingNumber, start, time)
- {
- player.usingElevator[MovingNumber] = true;
- player playerLinkTo(MovingStart);
- MovingStart moveTo(start,time);
- wait time + 0.03;
- player unlink();
- player.usingElevator[MovingNumber] = false;
- }
- PackOPunchinit()
- {
- self MenuClosing();
- mes("^2Go To The Start Position Of Pack-O-Punch ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos1=self.origin + (0,0,20);
- angle = self.angles;
- mes("^1PackOPunchCrate(" + pos1 + "," + angle + ");");
- if(level.deletetext)
- self deletetextspawn();
- wait .1;
- self iPrintln("^2Position Marked!");
- self iPrintlnBold("^2Creating Pack-O-Punch...");
- wait 2;
- PackOPunchCrate(pos1,angle);
- self iPrintln("^2Pack-O-Punch Done!");
- }
- PackOPunchCrate(origin,ang)
- {
- PackOPunchorigin = spawnEntity("script_model", level.supplyDropModel, origin, ang);
- level.Entities[level.amountOfEntities] = PackOPunchorigin;
- level.amountOfEntities++;
- level thread PackOPunch_Think(PackOPunchorigin);
- }
- PackOPunch_Think(PackOPunchorigin)
- {
- level endon("game_ended");
- level endon("doneforge");
- locaclPackOPunchnumber = level.activePackOPunchCrates;
- level.activePackOPunchCrates++;
- for(;;)
- {
- foreach(player in level.players)
- {
- if (player.nearPackOPunch[locaclPackOPunchnumber] && !player.usingPackOPunch[locaclPackOPunchnumber])
- {
- if (!isDefined(player.PackOPunchStringCreated[locaclPackOPunchnumber]))
- {
- player.PackOPunchHintString[locaclPackOPunchnumber] = player drawText("Press [{+usereload}] To PackOPunch Your Weapon", "objective", 1.5, 0, -50, (1, 1, 1), 1, (0, 0, 0), 0, 8);
- player.PackOPunchHintString[locaclPackOPunchnumber].alignX = "center";
- player.PackOPunchHintString[locaclPackOPunchnumber].alignY = "bottom";
- player.PackOPunchHintString[locaclPackOPunchnumber].horzAlign = "center";
- player.PackOPunchHintString[locaclPackOPunchnumber].vertAlign = "bottom";
- player.usingPackOPunch[locaclPackOPunchnumber] = false;
- player.PackOPunchStringCreated[locaclPackOPunchnumber] = true;
- }
- else
- player.PackOPunchHintString[locaclPackOPunchnumber].alpha = 1;
- }
- else
- player.PackOPunchHintString[locaclPackOPunchnumber].alpha = 0;
- if(Distance(player.origin, PackOPunchorigin.origin) < 60 && !player.usingPackOPunch[locaclPackOPunchnumber])
- {
- player.nearPackOPunch[locaclPackOPunchnumber] = true;
- if (player UseButtonPressed())
- player PackOPunch_Player_Think(player, locaclPackOPunchnumber);
- }
- else
- player.nearPackOPunch[locaclPackOPunchnumber] = false;
- }
- wait 0.0001;
- }
- wait 0.01;
- }
- PackOPunch_Player_Think(player, locaclPackOPunchnumber)
- {
- player.usingPackOPunch[locaclPackOPunchnumber] = true;
- player.PackOPunchHintString[locaclPackOPunchnumber].alpha = 0;
- weap = player getCurrentWeapon();
- if( player.upw[weap] == 0 )
- {
- player takeWeapon(player getCurrentWeapon());
- player iPrintln("^5Packing That Shit Hold Up");
- wait 4;
- player iPrintln("^5Done! Now Fuck Shit Up");
- player.upw[weap] = 1;
- player giveWeapon( weap, 0, false );
- player SwitchToWeapon(weap);
- player thread ebbullets( weap );
- }
- else
- {
- player iPrintlnBold("^5You've Already Upgraded This Weapon!");
- wait 1;
- }
- wait 2;
- player.usingPackOPunch[locaclPackOPunchnumber] = false;
- player thread reseetpack();
- }
- ebbullets(eb)
- {
- level endon("game_ended");
- level endon("doneforge");
- self endon("death");
- for(;;)
- {
- self waittill ( "weapon_fired" );
- weap = self getCurrentWeapon();
- if( weap == eb )
- {
- forward = self getTagOrigin("j_head");
- end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
- SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
- level._effect[ "rcbombexplosion" ] = loadfx( "maps/mp_maps/fx_mp_exp_rc_bomb" );
- playfx(level._effect[ "rcbombexplosion" ], SPLOSIONlocation);
- RadiusDamage( SPLOSIONlocation, 200, 200, 100, self );
- }
- }
- }
- vector_scal(vec, scale)
- {
- vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
- return vec;
- }
- reseetpack()
- {
- level endon("game_ended");
- level endon("doneforge");
- self endon("donepack");
- for(;;)
- {
- self waittill("death");
- TempWeaponArray = ReturnWeaponArray("All");
- for (i = 0; i < TempWeaponArray.size; i++)
- {
- weaponarray = TempWeaponArray[i];
- self.upw[weaponarray] = 0;
- }
- }
- self notify("donepack");
- wait 0.05;
- }
- Ammoinit()
- {
- self MenuClosing();
- mes("^2Go To The Start Position Of Ammo Crate ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos1=self.origin + (0,0,20);
- angle = self.angles;
- mes("^1AmmoCrate(" + pos1 + "," + angle + ");");
- if(level.deletetext)
- self deletetextspawn();
- wait .1;
- self iPrintln("^2Position Marked!");
- self iPrintlnBold("^2Creating Ammo Crate...");
- wait 2;
- AmmoCrate(pos1,angle);
- self iPrintln("^2Ammo Crate Done!");
- }
- AmmoCrate(origin,ang)
- {
- Ammoorigin = spawnEntity("script_model", level.supplyDropModel, origin, ang);
- level.Entities[level.amountOfEntities] = Ammoorigin;
- level.amountOfEntities++;
- level thread Ammo_Think(Ammoorigin);
- }
- Ammo_Think(Ammoorigin)
- {
- level endon("game_ended");
- level endon("doneforge");
- for(;;)
- {
- foreach(player in level.players)
- {
- if (player.nearAmmo && !player.usingAmmo)
- {
- if (!isDefined(player.AmmoStringCreated))
- {
- player.AmmoHintString = player drawText("Press [{+usereload}] For Ammo", "objective", 1.5, 0, -50, (1, 1, 1), 1, (0, 0, 0), 0, 8);
- player.AmmoHintString.alignX = "center";
- player.AmmoHintString.alignY = "bottom";
- player.AmmoHintString.horzAlign = "center";
- player.AmmoHintString.vertAlign = "bottom";
- player.usingAmmo = false;
- player.AmmoStringCreated = true;
- }
- else
- player.AmmoHintString.alpha = 1;
- }
- else
- player.AmmoHintString.alpha = 0;
- if(Distance(player.origin, Ammoorigin.origin) < 60 && !player.usingAmmo)
- {
- player.nearAmmo = true;
- if (player UseButtonPressed())
- player Ammo_Player_Think(player);
- }
- else
- player.nearAmmo = false;
- }
- wait 0.0001;
- }
- wait 0.01;
- }
- Ammo_Player_Think(player)
- {
- player.usingAmmo = true;
- player.AmmoHintString.alpha = 0;
- currentWeapon = player getcurrentweapon();
- if ( currentWeapon != "none" )
- {
- player setweaponammoclip( currentWeapon, weaponclipsize(currentWeapon) );
- player givemaxammo( currentWeapon );
- }
- currentoffhand = player getcurrentoffhand();
- player setweaponammoclip( currentoffhand, weaponclipsize(currentoffhand) );
- player givemaxammo( currentoffhand );
- wait 0.2;
- player.usingAmmo = false;
- }
- Ziplineinit()
- {
- self MenuClosing();
- mes("^2Go To The Start Position Of The ZipLine ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos1=self.origin;
- wait .1;
- self iPrintln("^2Position Marked!");
- wait 1;
- mes("^2Go To The End Position Of The ZipLine ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos2=self.origin;
- wait 0.05;
- mes("^1CreateZipline(" + pos1 + ", " + pos2 + ", 1, true);");
- if(level.deletetext)
- self deletetextspawn();
- wait .1;
- self iPrintln("^2Position Marked!");
- self iPrintlnBold("^2Creating ZipLine...");
- wait 2;
- CreateZipline(pos1,pos2,1,true);
- self iPrintln("^2ZipLine Done!");
- }
- CreateZipline(start, end, time, bothWays)
- {
- TempAngles = VectorToAngles(end - start);
- Angles = (0, TempAngles[1], 0);
- if (bothWays)
- {
- ziplineStart = spawnEntity("script_model", level.supplyDropModel, start, Angles);
- ziplineEnd = spawnEntity("script_model", level.supplyDropModelAxis, end, Angles);
- }
- else
- {
- ziplineStart = spawnEntity("script_model", level.supplyDropModel, start, Angles);
- ziplineEnd = spawnEntity("script_model", "", end, Angles);
- }
- level.Entities[level.amountOfEntities] = ziplineStart;
- level.amountOfEntities++;
- level.Entities[level.amountOfEntities] = ziplineEnd;
- level.amountOfEntities++;
- level thread Zipline_Think(ziplineStart, ziplineEnd, time, bothWays);
- }
- Zipline_Think(ziplineStart, ziplineEnd, time, bothWays)
- {
- level endon("game_ended");
- level endon("doneforge");
- localZiplineNumber = level.activeZiplines;
- level.activeZiplines++;
- for(;;)
- {
- foreach(player in level.players)
- {
- if (player.nearZipline[localZiplineNumber] && !player.usingZipline[localZiplineNumber])
- {
- if (!isDefined(player.ziplineStringCreated[localZiplineNumber]))
- {
- player.ziplineHintString[localZiplineNumber] = player drawText("Press [{+usereload}] To Use Zipline", "objective", 1.5, 0, -50, (1, 1, 1), 1, (0, 0, 0), 0, 8);
- player.ziplineHintString[localZiplineNumber].alignX = "center";
- player.ziplineHintString[localZiplineNumber].alignY = "bottom";
- player.ziplineHintString[localZiplineNumber].horzAlign = "center";
- player.ziplineHintString[localZiplineNumber].vertAlign = "bottom";
- player.usingZipline[localZiplineNumber] = false;
- player.ziplineStringCreated[localZiplineNumber] = true;
- }
- else
- player.ziplineHintString[localZiplineNumber].alpha = 1;
- }
- else
- player.ziplineHintString[localZiplineNumber].alpha = 0;
- if (bothWays)
- {
- if(Distance(player.origin, ziplineStart.origin) < 60 && !player.usingZipline[localZiplineNumber])
- {
- player.nearZipline[localZiplineNumber] = true;
- if (player UseButtonPressed())
- player Zipline_Player_Think(player, localZiplineNumber, ziplineStart.origin, ziplineEnd.origin, time);
- }
- else if(Distance(player.origin, ziplineEnd.origin) < 60 && !player.usingZipline[localZiplineNumber])
- {
- player.nearZipline[localZiplineNumber] = true;
- if (player UseButtonPressed())
- player Zipline_Player_Think(player, localZiplineNumber, ziplineEnd.origin, ziplineStart.origin, time);
- }
- else
- player.nearZipline[localZiplineNumber] = false;
- }
- if (!bothWays)
- {
- if(Distance(player.origin, ziplineStart.origin) < 60 && !player.usingZipline[localZiplineNumber])
- {
- player.nearZipline[localZiplineNumber] = true;
- if (player UseButtonPressed())
- player Zipline_Player_Think(player, localZiplineNumber, ziplineStart.origin, ziplineEnd.origin, time);
- }
- else
- player.nearZipline[localZiplineNumber] = false;
- }
- wait 0.0001;
- }
- wait 0.01;
- }
- }
- Zipline_Player_Think(player, ziplineNumber, start, end, time)
- {
- ZiplineMover = spawn("script_model", start);
- player PlayerLinkTo(ZiplineMover);
- player.usingZipline[ziplineNumber] = true;
- player.ziplineHintString[ziplineNumber].alpha = 0;
- ZiplineMover MoveTo(end, time, 0.5, 0.5);
- wait time + 0.03;
- player DetachAll();
- ZiplineMover delete();
- player.usingZipline[ziplineNumber] = false;
- }
- movingcrateinit()
- {
- self MenuClosing();
- mes("^2Go To The Start Position Of The Moving Platform ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos1=self.origin;
- wait .1;
- self iPrintln("^2Position Marked!");
- wait 1;
- mes("^2Go To The End Position Of The Moving Platform ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos2=self.origin;
- mes("^1movingplatform(" + pos1 + "," + pos2 + ",1);");
- if(level.deletetext)
- self deletetextspawn();
- wait 0.05;
- self iPrintln("^2Position Marked!");
- self iPrintlnBold("^2Creating Moving Plateform...");
- wait 2;
- Movingcrate(pos1,pos2,1);
- self iPrintln("^2Moving plateform Done!");
- }
- Movingcrate(depart,arivee,time1)
- {
- localmcnumber = level.activeMovingCrates;
- level.activeMovingCrates++;
- level.mo = [];
- level.mo[localmcnumber] = spawn("script_model",depart);
- level.mo[localmcnumber] setModel("t6_wpn_supply_drop_ally");
- level.mo[localmcnumber].angles=self.angles;
- level.Entities[level.amountOfEntities] = level.mo[localmcnumber];
- level.amountOfEntities++;
- level.mo[localmcnumber] Escalator(depart,arivee,time1);
- }
- Escalator(depart,arivee,time1)
- {
- self endon("disconnect");
- level endon("doneforge");
- for(;;)
- {
- foreach(player in level.players)
- {
- if(distance(player.origin, depart) < 60 && self.origin == depart)
- {
- player playerLinkTo(self);
- }
- if(distance(player.origin, arivee) < 60 && self.origin == arivee)
- {
- player playerLinkTo(self);
- }
- if(self.state=="open")
- {
- self moveTo(arivee,time1);
- wait(time1 + 0.20);
- player unlink();
- wait 2;
- self.state ="close";
- continue;
- }
- if(self.state=="close")
- {
- self moveTo(depart,time1);
- wait(time1 + 0.20);
- player unlink();
- wait 2;
- self.state ="open";
- continue;
- }
- wait 0.001;
- }
- wait 0.01;
- }
- }
- Doorinit()
- {
- self MenuClosing();
- mes("^2Go To The Start Position Of The Door ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos1 = self.origin;
- pos11 = (pos1[0],pos1[1],self.origin[2]+20);
- ang = (0, self.angles[1], self.angles[2]);
- wait .1;
- self iPrintln("^2Position Marked!");
- wait 1;
- mes("^2Go To The End Position Of The Door ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos2=self.origin;
- pos22 = (pos2[0],pos2[1],self.origin[2]+20);
- ang2 = (0, self.angles[1], self.angles[2]);
- team = self.pers["team"];
- wait 0.05;
- mes("^1CreateDoor(" + pos11 + ", " + pos22 + ", 1.5, " + ang + ", " + ang2 + ", 3, 2, 50, 80, self.team);");
- if(level.deletetext)
- self deletetextspawn();
- wait .1;
- self iPrintln("^2Position Marked!");
- self iPrintlnBold("^2Creating Door...");
- wait 2;
- CreateDoor(pos11,pos22,1.5,ang,ang2,2,2,50,80,team);
- self iPrintln("^2Door Done!");
- }
- CreateDoor(open, close, time, angle,ang, width, height, hp, triggerRadius,team)
- {
- offset = (((width / 2) - 0.5) * -1);
- center = spawn("script_model", open);
- for(j = 0; j < width; j++)
- {
- door = spawnEntity("script_model", "t6_wpn_supply_drop_ally", open + ((0, 70, 0) * offset), (0,0,0));
- door EnableLinkTo();
- door LinkTo(center);
- level.Entities[level.amountOfEntities] = door;
- level.amountOfEntities++;
- for(h = 1; h < height; h++)
- {
- door = spawnEntity("script_model", "t6_wpn_supply_drop_ally", open + ((0, 70, 0) * offset) + ((0, 0, 70) * h), (0,0,0));
- door EnableLinkTo();
- door LinkTo(center);
- level.Entities[level.amountOfEntities] = door;
- level.amountOfEntities++;
- }
- offset += 1;
- }
- center.angles = angle;
- center.state = "close";
- center.hp = hp;
- center.triggerRadius = triggerRadius;
- center thread Door_Player_Think(level.activeDoors, team);
- center thread Door_Think(open, close, time, angle, ang, team);
- wait 0.01;
- }
- Door_Think(open, close, time, angle, ang, team)
- {
- level endon("game_ended");
- level endon("doneforge");
- self.state = "close";
- localDoorNumber = level.activeDoors;
- level.doorInUse[localDoorNumber] = false;
- level.activeDoors++;
- for(;;)
- {
- self waittill ("triggeruse" , player);
- if(self.hp > 0)
- {
- if(player.team == team)
- {
- if(self.state == "open")
- {
- self playSound("mpl_drone_door_open");
- self MoveTo(open, time);
- self RotateTo( angle, time );
- level.doorInUse[localDoorNumber] = true;
- wait time;
- level.doorInUse[localDoorNumber] = false;
- self.state = "close";
- continue;
- }
- if(self.state == "close")
- {
- self playSound("mpl_drone_door_close");
- self MoveTo(close, time);
- self RotateTo( ang, time );
- level.doorInUse[localDoorNumber] = true;
- wait time;
- level.doorInUse[localDoorNumber] = false;
- self.state = "open";
- continue;
- }
- }
- if(player.team != team)
- {
- if(self.state == "close")
- {
- self.hp--;
- player iPrintlnBold("Door Damaged!");
- wait 1;
- continue;
- }
- }
- }
- else
- {
- if(self.state == "close")
- {
- self MoveTo(open, time);
- self.state = "broken";
- wait 0.5;
- continue;
- }
- if(self.state == "broken")
- {
- self ResetDoor(localDoorNumber, open, angle, 50, time);
- continue;
- }
- }
- }
- }
- Door_Player_Think(localDoorNumber, team)
- {
- level endon("game_ended");
- self endon("disconnect");
- level endon("doneforge");
- for(;;)
- {
- foreach(player in level.players)
- {
- if (!isDefined(player.doorStringCreated[localDoorNumber]))
- {
- player.doorHintString[localDoorNumber] = player drawText(player.currentDoorHint, "objective", 1.5, 0, -50, (1, 1, 1), 0, (0, 0, 0), 0, 8);
- player.doorHintString[localDoorNumber].alpha = 0;
- player.doorHintString[localDoorNumber].alignX = "center";
- player.doorHintString[localDoorNumber].alignY = "bottom";
- player.doorHintString[localDoorNumber].horzAlign = "center";
- player.doorHintString[localDoorNumber].vertAlign = "bottom";
- player.doorStringCreated[localDoorNumber] = true;
- player.nearDoor[localDoorNumber] = false;
- }
- if (player.nearDoor[localDoorNumber] && !level.doorInUse[localDoorNumber])
- {
- player.doorHintString[localDoorNumber] setText(player.currentDoorHint);
- player.doorHintString[localDoorNumber].alpha = 1;
- }
- else
- player.doorHintString[localDoorNumber].alpha = 0;
- if(Distance(self.origin, player.origin) <= self.triggerRadius)
- {
- if(player.team == team)
- {
- if(self.state == "open")
- player.currentDoorHint = "[{+melee}] ^1To Close ^7the door / [{+usereload}] Shows Current HP.";
- if(self.state == "close")
- player.currentDoorHint = "[{+melee}] ^2To Open ^7the door / [{+usereload}] Shows Current HP.";
- if(self.state == "broken")
- player.currentDoorHint = "^1Door is Broken";
- }
- if(player.team != team)
- {
- if (self.state == "open")
- player.currentDoorHint = "";
- if(self.state == "close")
- player.currentDoorHint = "[{+melee}] ^1To Damage ^7the door / [{+usereload}] Shows Current HP.";
- if(self.state == "broken")
- player.currentDoorHint = "^1Door is Broken";
- }
- if(player isHost())
- {
- if(self.state == "broken")
- player.currentDoorHint = "^1Door is Broken/^7Press [{+actionslot 4}] To Reset Door";
- }
- if(player actionslotfourbuttonpressed() && player isHost() && self.state == "broken")
- {
- self notify("triggeruse" , player);
- wait 0.20;
- }
- if(player MeleeButtonPressed() && isAlive(player))
- {
- if (player.team == team)
- self notify("triggeruse" , player);
- if (player.team != team)
- self notify("triggeruse" , player);
- wait 0.20;
- }
- if(player UseButtonPressed())
- {
- if (player.team == team)
- player iPrintlnBold("Current HP: ^1" + self.hp);
- if (player.team != team)
- player iPrintlnBold("Current HP: ^1" + self.hp);
- wait 0.20;
- }
- player.nearDoor[localDoorNumber] = true;
- }
- else
- player.nearDoor[localDoorNumber] = false;
- }
- wait 0.1;
- }
- }
- ResetDoor(localDoorNumber, open, angle, hp, time)
- {
- self.hp = hp;
- self MoveTo(open, time);
- self RotateTo( angle, time );
- self.state = "open";
- }
- Flagsinit()
- {
- self MenuClosing();
- mes("^2Go To The Start Position Of The Flag ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos1=self.origin;
- wait .1;
- self iPrintln("^2Position Marked!");
- wait 1;
- mes("^2Go To The End Position Of The Flag ^2Press [{+attack}] To Mark");
- self waittill("weapon_fired");
- self.menu.title2 FadeOverTime(0.30);
- self.menu.title2.alpha = 0;
- pos2=self.origin;
- wait 0.05;
- mes("^1level CreateFlag(" + pos1 + ", " + pos2 + ", true);");
- if(level.deletetext)
- self deletetextspawn();
- wait .1;
- self iPrintln("^2Position Marked!");
- self iPrintlnBold("^2Creating Flag...");
- wait 2;
- level CreateFlag(pos1,pos2,true);
- self iPrintln("^2Flag Done!");
- }
- CreateFlag(start, end, bothWays)
- {
- TempAngles = VectorToAngles(end - start);
- Angles = (0, TempAngles[1], 0);
- if (bothWays)
- {
- FlagStart = spawnEntity("script_model", level.teleportFlagStartModel, start, Angles);
- FlagEnd = spawnEntity("script_model", level.teleportFlagEndModel, end, Angles);
- }
- else
- {
- FlagStart = spawnEntity("script_model", level.teleportFlagStartModel, start, Angles);
- FlagEnd = spawnEntity("script_model", "", end, Angles);
- }
- level.Entities[level.amountOfEntities] = FlagStart;
- level.amountOfEntities++;
- level.Entities[level.amountOfEntities] = FlagEnd;
- level.amountOfEntities++;
- self thread Flag_Think(FlagStart, FlagEnd, true);
- }
- Flag_Think(FlagStart, FlagEnd, bothWays)
- {
- level endon("game_ended");
- level endon("doneforge");
- localFlagNumber = level.activeFlags;
- level.activeFlags++;
- for(;;)
- {
- foreach(player in level.players)
- {
- if (bothWays)
- {
- if(Distance(player.origin, FlagStart.origin) < 20 && !player.usingFlag[localFlagNumber])
- {
- player.usingFlag[localFlagNumber] = true;
- player setorigin(FlagEnd.origin);
- //wait time + 0.10;
- }
- else
- player.usingFlag[localFlagNumber] = false;
- if(Distance(player.origin, FlagEnd.origin) < 20 && !player.usingFlag[localFlagNumber])
- {
- player.usingFlag[localFlagNumber] = true;
- player setorigin(FlagStart.origin);
- //wait time + 0.10;
- }
- else
- player.usingFlag[localFlagNumber] = false;
- }
- if (!bothWays)
- {
- if(Distance(player.origin, FlagStart.origin) < 20 && !player.usingFlag[localFlagNumber])
- {
- player.usingFlag[localFlagNumber] = true;
- player setorigin(FlagEnd.origin);
- //wait time + 0.10;
- }
- else
- player.usingFlag[localFlagNumber] = false;
- }
- wait 0.0001;
- }
- wait 0.01;
- }
- }
- SpawnWeaponinit(Weapon)
- {
- self MenuClosing();
- mes("^5Press [{+attack}] To Spawn ^1" + Weapon);
- self waittill("weapon_fired");
- location = self NormalisedTrace("position");
- ang = self.angles;
- ang2 = ang + (0,270,0);
- wait 0.05;
- mes("^1SpawnWeapon(" + Weapon + ", " + location + ", " + ang2 + ");");
- if(level.deletetext)
- self deletetextspawn();
- wait 2;
- SpawnWeapon(weapon,location,ang2);
- }
- Spawnweapon(weapon,start,Angles)
- {
- weapon_model = getWeaponModel(Weapon);
- if(weapon_model=="")weapon_model=Weapon;
- if(weapon_model=="minigun_wager_mp")weapon_model="minigun_mp";
- if(weapon_model=="m32_wager_mp")weapon_model="m32_mp";
- SpawnweaponcrateStart = spawnEntity("script_model", weapon_model, start, Angles);
- level.Entities[level.amountOfEntities] = SpawnweaponcrateStart;
- level.amountOfEntities++;
- level thread Spawnweaponcrate_Think(start,weapon );
- }
- Spawnweaponcrate_Think(start,weapon )
- {
- level endon("game_ended");
- level endon("doneforge");
- localSpawnweaponNumber = level.activeSpawnweaponCrates;
- level.activeSpawnweaponCrates++;
- for(;;)
- {
- foreach(player in level.players)
- {
- //player.usingSpawnweapon[localSpawnweaponNumber] = false;
- if (player.nearSpawnweapon[localSpawnweaponNumber])
- {
- if (!isDefined(player.SpawnweaponStringCreated[localSpawnweaponNumber]))
- {
- player.SpawnweaponcrateHintString[localSpawnweaponNumber] = player drawText( "" , "objective", 1.5, 0, -50, (1, 1, 1), 1, (0, 0, 0), 0, 8);
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].alignX = "center";
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].alignY = "bottom";
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].horzAlign = "center";
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].vertAlign = "bottom";
- //player.usingSpawnweapon[localSpawnweaponNumber] = false;
- player.SpawnweaponStringCreated[localSpawnweaponNumber] = true;
- }
- else
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].alpha = 1;
- player.SpawnweaponcrateHintString[localSpawnweaponNumber] setText("Press [{+usereload}] For " + player.currentweaponhint[localSpawnweaponNumber]);
- }
- else
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].alpha = 0;
- if(Distance(player.origin, start) < 60)
- {
- player.currentweaponhint[localSpawnweaponNumber] = weapon;
- player.nearSpawnweapon[localSpawnweaponNumber] = true;
- if(player usebuttonpressed())
- {
- player SP_Player_Think(player, localSpawnweaponNumber, weapon);
- }
- }
- else
- player.nearSpawnweapon[localSpawnweaponNumber] = false;
- }
- wait 0.0001;
- }
- wait 0.01;
- }
- SP_Player_Think(player, localSpawnweaponNumber, weapon)
- {
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].alpha = 0;
- //player.usingSpawnweapon[localSpawnweaponNumber] = true;
- player TakeWeapon(player.currentWeapon);
- player GiveWeapon(weapon,0,false);
- player SwitchToWeapon(weapon);
- player iPrintln("^1" + weapon + " ^2Given");
- //player.usingSpawnweapon[localSpawnweaponNumber] = false;
- wait 0.50;
- }
- plat()
- {
- if(level.platspawned)
- {
- while (isDefined(self.spawnedcrate[0][0]))
- {
- i = -3;
- while (i < 3)
- {
- d = -3;
- while (d < 3)
- {
- self.spawnedcrate[i][d] delete();
- d++;
- }
- i++;
- }
- }
- level.platspawned = false;
- }
- else
- {
- startpos = self.origin;
- i = -3;
- while (i < 3)
- {
- d = -3;
- while (d < 3)
- {
- self.spawnedcrate[i][d] = spawn("script_model", startpos + (d * 40, i * 70, 0));
- self.spawnedcrate[i][d] setmodel("t6_wpn_supply_drop_ally");
- level.Entities[level.amountOfEntities] = self.spawnedcrate[i][d];
- level.amountOfEntities++;
- d++;
- }
- i++;
- }
- level.platspawned = true;
- self iprintln("^2Platform Spawned!");
- wait 1;
- }
- }
- RandomWeapon()
- {
- self MenuClosing();
- self iPrintlnBold("^5Press [{+attack}] To Spawn ^1Random Wepon");
- self waittill("weapon_fired");
- location = self NormalisedTrace("position");
- ang = self.angles;
- ang2 = ang + (0,270,0);
- id = random(level.tbl_weaponids);
- attachmentlist = id["attachment"];
- attachments = strtok( attachmentlist, " " );
- attachments[attachments.size] = "";
- attachment = random(attachments);
- weapon = ((id["reference"] + "_mp+") + attachment);
- mes("^1SpawnWeapon(" + weapon + ", " + location + ", " + ang + ");");
- if(level.deletetext)
- self deletetextspawn();
- wait 2;
- SpawnWeapon(weapon,location,ang2);
- }
- PerkCrateinit(Perkname)
- {
- self MenuClosing();
- mes("^5Press [{+attack}] To Spawn ^1" + Perkname);
- self waittill("weapon_fired");
- location = self.origin + (0,0,20);
- ang = self.angles;
- mes("^1PerkCrate(" + Perkname + "," + location + ang + ");");
- if(level.deletetext)
- self deletetextspawn();
- wait 2;
- PerkCrate(Perkname,location,ang);
- }
- PerkCrate(Perkname,start,Angles)
- {
- PerkCratecrateStart = spawnEntity("script_model", level.supplyDropModel, start, Angles);
- level.Entities[level.amountOfEntities] = PerkCratecrateStart;
- level.amountOfEntities++;
- level thread PerkCratecrate_Think(PerkCratecrateStart,Perkname );
- }
- PerkCratecrate_Think(PerkCratecrateStart,Perkname )
- {
- level endon("game_ended");
- level endon("doneforge");
- localPerkCrateNumber = level.activePerkCrateCrates;
- player.usingPerkCrate[localPerkCrateNumber] = false;
- level.activePerkCrateCrates++;
- for(;;)
- {
- foreach(player in level.players)
- {
- if (player.nearPerkCrate[localPerkCrateNumber] && !player.usingPerkCrate[localPerkCrateNumber])
- {
- if (!isDefined(player.PerkCrateStringCreated[localPerkCrateNumber]))
- {
- player.currentperkHint[localPerkCrateNumber] = Perkname;
- player.PerkCratecrateHintString[localPerkCrateNumber] = player drawText( "Press [{+usereload}] For " + player.currentperkHint[localPerkCrateNumber], "objective", 1.5, 0, -50, (1, 1, 1), 1, (0, 0, 0), 0, 8);
- player.PerkCratecrateHintString[localPerkCrateNumber].alignX = "center";
- player.PerkCratecrateHintString[localPerkCrateNumber].alignY = "bottom";
- player.PerkCratecrateHintString[localPerkCrateNumber].horzAlign = "center";
- player.PerkCratecrateHintString[localPerkCrateNumber].vertAlign = "bottom";
- player.usingPerkCrate[localPerkCrateNumber] = false;
- player.PerkCrateStringCreated[localPerkCrateNumber] = true;
- }
- else
- player.PerkCratecrateHintString[localPerkCrateNumber].alpha = 1;
- }
- else
- player.PerkCratecrateHintString[localPerkCrateNumber].alpha = 0;
- if(Distance(player.origin, PerkCratecrateStart.origin) < 60 && !player.usingPerkCrate[localPerkCrateNumber])
- {
- player.nearPerkCrate[localPerkCrateNumber] = true;
- if(player usebuttonpressed())
- {
- player Perk_Player_Think(localPerkCrateNumber, Perkname);
- wait 1;
- }
- }
- else
- player.nearPerkCrate[localPerkCrateNumber] = false;
- wait 0.0001;
- }
- wait 0.01;
- }
- }
- Perk_Player_Think(localPerkCrateNumber, Perkname)
- {
- self.PerkCratecrateHintString[localPerkCrateNumber].alpha = 0;
- self.usingPerkCrate[localPerkCrateNumber] = true;
- if( self.perk[perkname] == 0 )
- {
- self.perk[perkname] = 1;
- self setperk(Perkname);
- self iPrintln("^2" + Perkname + "^1 Given");
- self thread reseetperks();
- }
- else
- self iprintln("You Already Have " + Perkname);
- self.usingPerkCrate[localPerkCrateNumber] = false;
- wait 1;
- }
- reseetperks()
- {
- level endon("game_ended");
- level endon("doneforge");
- self endon("doneperk");
- for(;;)
- {
- self waittill("death");
- TempPerkArray = ReturnPerkArray("All");
- for (i = 0; i < TempPerkArray.size; i++)
- {
- perkarray = TempPerkArray[i];
- self.perk[perkarray] = 0;
- }
- }
- self notify("doneperk");
- wait 0.05;
- }
- ReturnPerkArray(category)
- {
- level.PerkArray["All"][0] = "specialty_armorpiercing";
- level.PerkArray["All"][1] = "specialty_armorvest";
- level.PerkArray["All"][2] = "specialty_bulletaccuracy";
- level.PerkArray["All"][3] = "specialty_bulletdamage";
- level.PerkArray["All"][4] = "specialty_bulletflinch";
- level.PerkArray["All"][5] = "specialty_bulletpenetration";
- level.PerkArray["All"][6] = "specialty_deadshot";
- level.PerkArray["All"][7] = "specialty_delayexplosive";
- level.PerkArray["All"][8] = "specialty_detectexplosive";
- level.PerkArray["All"][9] = "specialty_disarmexplosive";
- level.PerkArray["All"][10] = "specialty_earnmoremomentum";
- level.PerkArray["All"][11] = "specialty_explosivedamage";
- level.PerkArray["All"][12] = "specialty_extraammo";
- level.PerkArray["All"][13] = "specialty_fallheight";
- level.PerkArray["All"][14] = "specialty_fastads";
- level.PerkArray["All"][15] = "specialty_fastequipmentuse";
- level.PerkArray["All"][16] = "specialty_fastladderclimb";
- level.PerkArray["All"][17] = "specialty_fastmantle";
- level.PerkArray["All"][18] = "specialty_fastmeleerecovery";
- level.PerkArray["All"][19] = "specialty_fastreload";
- level.PerkArray["All"][20] = "specialty_fasttoss";
- level.PerkArray["All"][21] = "specialty_fastweaponswitch";
- level.PerkArray["All"][22] = "specialty_finalstand";
- level.PerkArray["All"][23] = "specialty_fireproof";
- level.PerkArray["All"][24] = "specialty_flakjacket";
- level.PerkArray["All"][25] = "specialty_flashprotection";
- level.PerkArray["All"][26] = "specialty_gpsjammer";
- level.PerkArray["All"][27] = "specialty_grenadepulldeath";
- level.PerkArray["All"][28] = "specialty_healthregen";
- level.PerkArray["All"][29] = "specialty_holdbreath";
- level.PerkArray["All"][30] = "specialty_immunecounteruav";
- level.PerkArray["All"][31] = "specialty_immuneemp";
- level.PerkArray["All"][32] = "specialty_immunemms";
- level.PerkArray["All"][33] = "specialty_immunenvthermal";
- level.PerkArray["All"][34] = "specialty_immunerangefinder";
- level.PerkArray["All"][35] = "specialty_killstreak";
- level.PerkArray["All"][36] = "specialty_longersprint";
- level.PerkArray["All"][37] = "specialty_loudenemies";
- level.PerkArray["All"][38] = "specialty_marksman";
- level.PerkArray["All"][39] = "specialty_movefaster";
- level.PerkArray["All"][40] = "specialty_nomotionsensor";
- level.PerkArray["All"][41] = "specialty_noname";
- level.PerkArray["All"][42] = "specialty_nottargetedbyairsupport";
- level.PerkArray["All"][42] = "specialty_nokillstreakreticle";
- level.PerkArray["All"][43] = "specialty_nottargettedbysentry";
- level.PerkArray["All"][44] = "specialty_pin_back";
- level.PerkArray["All"][45] = "specialty_pistoldeath";
- level.PerkArray["All"][46] = "specialty_proximityprotection";
- level.PerkArray["All"][47] = "specialty_quickrevive";
- level.PerkArray["All"][48] = "specialty_quieter";
- level.PerkArray["All"][49] = "specialty_reconnaissance";
- level.PerkArray["All"][50] = "specialty_rof";
- level.PerkArray["All"][51] = "specialty_scavenger";
- level.PerkArray["All"][52] = "specialty_showenemyequipment";
- level.PerkArray["All"][53] = "specialty_stunprotection";
- level.PerkArray["All"][54] = "specialty_shellshock";
- level.PerkArray["All"][55] = "specialty_sprintrecovery";
- level.PerkArray["All"][56] = "specialty_showonradar";
- level.PerkArray["All"][57] = "specialty_stalker";
- level.PerkArray["All"][58] = "specialty_twogrenades";
- level.PerkArray["All"][59] = "specialty_twoprimaries";
- level.PerkArray["All"][60] = "specialty_unlimitedsprint";
- level.PerkArray["All"][61] = "specialty_additionalprimaryweapon";
- if (category == "All")
- return level.PerkArray["All"];
- }
- Nuketown(edit)
- {
- if(getDvar("mapname") == "mp_nuketown_2020")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- wait 1;
- if(!level.mapcreated)
- {
- if(edit == 0)
- {
- self iPrintln("^5Edit 1");
- CreateWall((-611.9672,-1197.882,-30.91674), (1236.619,-1202.963,-30.08543), false);//long death
- CreateWall((1236.619,-1202.963,-30.08543), (1242.345,-913.1017,-30.08054), false);//spawn
- CreateWall((1242.345,-913.1017,-30.08054), (342.2169,-908.8411,-30.20414), false);//side spawn
- CreateWall((-393.5878,-800.1978,-30.43816), (-660.8975,-369.7951,-30.12709), false);
- CreateWall((-660.8975,-369.7951,-30.12709), (-1670.36,-63.1468,-30.38548), false);//side base hedge
- CreateWall((-1665.36,-491.791,-30.12709), (-1657.85,-41,-30.38548), false);//back wall
- CreateWall((-1271.594,-869.7337,-30.69753), (-611.624,-1203.602,-30.90213), false);
- CreateWall((-276.396,-851.596,-35), (-276.396,-608.882,-35), false);
- CreateWall((-1285.24,-717.673,-60), (-1269.44,-566.84,30), false);
- CreateWall((-368.227,1916.06,-30), (-609.834,1956.13,-30), false);
- CreateWall((-609.834,1956.13,-30), (-594.881,1497.43,-30), false);
- CreateMysteryBox((-1386,-689,-45), (0, 90, 0));//door
- CreateDoor((-1269.44,-566.84,-60), (-1277.57, -340.334, -60), 3, (0, 90, 0),(0, 90, 0), 15, 2, 50, 80,self.team); //1st bunker door
- level CreateFlag((-697.123,-188.705,-58.1288), (1119.9,-1052.2,-63.2372), 1, false);//orange
- level CreateFlag((673.976,-175.06,-60.7388), (1119.9,-1052.2,-63.2372), 1, false);//blue
- level CreateFlag((-1612,-156,-63), (-1133.26,491.506,77.125), 1, false);//corner base
- //optional
- CreateRamp((-1418.32,-400.305,-62.8178), (-1975.92, -353.336, 130.6187), false);//door
- CreateGrid((-1975.92,-280.336,130.6187), (-2280.5,-465.029,130.6187), (0,0,0),false);//door
- CreateZipline((-2304.93,-274.583,130.6187), (-1133.26,491.506,77.125), 3, false);//2nd story house deck
- CreateWall((-1690.36,-63.1468,-4.39707), (-1392,-171.155,80.322),false);//barrier
- level.mapcreated = true;
- wait 1;
- self iPrintln("Map Loaded....");
- //CreateDoor((-890.387,880.204,-44.133), (-946.728,950.85,-42.9579), 3, (0,-21.2455,0),(0,66.6781,0), 3, 2, 50, 80,self.team);
- //put functions here
- }
- if(edit == 1)
- {
- self iPrintln("^5Edit 2");
- CreateWall((587.236,-57.3551,-63.227), (605.329,-186.426,-14.8346), false);
- level.mapcreated = true;
- wait 1;
- self iPrintln("Map Loaded....");
- //put functions here
- }
- }
- else
- {
- destroyAllEntities();
- level.mapcreated = false;
- }
- }
- else
- self iPrintln("Wrong Map....");
- }
- Hijacked()
- {
- if(getDvar("mapname") == "mp_hijacked")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Express()
- {
- if(getDvar("mapname") == "mp_express")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Meltdown()
- {
- if(getDvar("mapname") == "mp_meltdown")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Drone()
- {
- if(getDvar("mapname") == "mp_drone")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Carrier()
- {
- if(getDvar("mapname") == "mp_carrier")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Overflow()
- {
- if(getDvar("mapname") == "mp_overflow")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Slums()
- {
- if(getDvar("mapname") == "mp_slums")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Turbine()
- {
- if(getDvar("mapname") == "mp_turbine")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Raid()
- {
- if(getDvar("mapname") == "mp_raid")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Aftermath()
- {
- if(getDvar("mapname") == "mp_la")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Cargo()
- {
- if(getDvar("mapname") == "mp_dockside")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Standoff()
- {
- if(getDvar("mapname") == "mp_village")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Plaza()
- {
- if(getDvar("mapname") == "mp_nightclub")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Yemen()
- {
- if(getDvar("mapname") == "mp_socotra")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Dig()
- {
- if(getDvar("mapname") == "mp_dig")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Pod()
- {
- if(getDvar("mapname") == "mp_pod")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Takeoff()
- {
- if(getDvar("mapname") == "mp_takeoff")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Frost()
- {
- if(getDvar("mapname") == "mp_frostbite")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Mirage()
- {
- if(getDvar("mapname") == "mp_mirage")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Hydro()
- {
- if(getDvar("mapname") == "mp_hydro")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Grind()
- {
- if(getDvar("mapname") == "mp_skate")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Downhill()
- {
- if(getDvar("mapname") == "mp_downhill")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Encore()
- {
- if(getDvar("mapname") == "mp_vertigo")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Vertigo()
- {
- if(getDvar("mapname") == "mp_vertigo")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Studio()
- {
- if(getDvar("mapname") == "mp_studio")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Rush()
- {
- if(getDvar("mapname") == "mp_paintball")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Cove()
- {
- if(getDvar("mapname") == "mp_castaway")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Detour()
- {
- if(getDvar("mapname") == "mp_bridge")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- Uplink()
- {
- if(getDvar("mapname") == "mp_uplink")
- {
- self MenuClosing();
- self iPrintln("Map Loading....");
- //put functions here
- }
- else
- self iPrintln("Wrong Map....");
- }
- welcomeMessage()
- {
- notifyData = spawnstruct();
- notifyData.titleText = "^1Welcome to Jwm614 Forge Menu v2.9";
- notifyData.notifyText = "^F^1Your Status Is " + self.MyAccess;
- self iPrintln("^0|^5Welcome To ^1jwm614 Forge Menu v2 ^3Coded By ^1jwm614");
- self iPrintln("^0|^5Press [{+speed_throw}] and [{+melee}] To open ^1Forge v2.9!^1");
- self iPrintln("^0|^5Press [{+gostand}] To select an option and[{+usereload}] ^1To Go Back");
- notifyData.glowColor = (255, 168, 54);
- notifyData.duration = 8;
- notifyData.font = "hudbig";
- notifyData.hideWhenInMenu = false;
- self thread maps\mp\gametypes\_hud_message::notifyMessage(notifyData);
- }
- SpawnCrate1(originn, angless)
- {
- CurrentCrate = spawnEntity("script_model", level.supplyDropModelTrap, originn, angless);
- level.Entities[level.amountOfEntities] = CurrentCrate;
- level.amountOfEntities++;
- }
- bunker()
- {
- if(level.bunker)
- {
- location = self.origin;
- x = location[0];
- y = location[1];
- z = location[2] + 600;
- ang = (0,0,0);
- ang1 = (0,90,0);
- ang2 = (-40,0,0);
- fortteleg = (x, y, z - 600);
- forttele = (x , y , z + 35);//
- fortteleg1 = (x + 110, y - 200, z - 600);
- forttele1 = (x - 110, y - 200, z);//
- am = (x, y - 410, z + 210);
- wait 1;
- loc = (x - 120, y - 410, z);
- loc1 = (x - 120, y - 410, z + 175);
- loc2 = (x - 105, y - 450, z + 35);
- loc3 = (x - 150, y - 410, z + 35);
- loc4 = (x - 100, y, z - 10);
- loc5 = (x + 100, y, z + 60);
- for ( i = 0; i < 7; i++ )
- {
- for ( y = 0; y < 7; y++ )
- {
- self SpawnCrate1(loc + (i *40, y * 70,0), ang);
- }
- }
- for ( i = 0; i < 7; i++ )
- {
- for ( y = 0; y < 6; y++ )
- {
- self SpawnCrate1(loc1 + (i * 40, y * 70,0), ang);
- }
- }
- k = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 4; y++ )
- {
- self SpawnCrate1(loc2 + (y * 70, i + k,0), ang1);
- }
- k = 510;
- }
- k1 = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 4; y++ )
- {
- self SpawnCrate1(loc2 + (y * 70, i + k1,105), ang1);
- }
- k1 = 510;
- }
- k2 = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 4; y++ )
- {
- self SpawnCrate1(loc2 + (y * 70, i + k2,175), ang1);
- }
- k2 = 510;
- }
- j = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 7; y++ )
- {
- self SpawnCrate1(loc3 + (i + j, y * 70,0), ang);
- }
- j = 300;
- }
- j1 = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 7; y++ )
- {
- self SpawnCrate1(loc3 + (i + j1, y * 70,105), ang);
- }
- j1 = 300;
- }
- j2 = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 7; y++ )
- {
- self SpawnCrate1(loc3 + (i + j2, y * 70,175), ang);
- }
- j2 = 300;
- }
- u = 0;
- for ( i = 0; i < 7; i++ )
- {
- self SpawnCrate1(loc4 + (i *35, 0 , u), ang2);
- u += 30;
- }
- level CreateFlag(fortteleg, forttele1, 1 ,true);
- wait 0.05;
- PackOPunchCrate(am, ang1);
- wait 0.05;
- Spawnweapon("as50_mp",loc5,ang);
- wait 0.05;
- level.bunker = false;
- }
- else
- {
- self iPrintlnBold("Bunker Alread Spawned!");
- }
- }
- GiveKillstreak(killstreak111)
- {
- self maps/mp/killstreaks/_killstreaks::givekillstreak(self maps/mp/killstreaks/_killstreaks::getkillstreakbymenuname( killstreak111) , 5594, true, 5594);
- }
- KillStreakinit(KillStreakname)
- {
- self MenuClosing();
- mes("^5Press [{+attack}] To Spawn ^1" + KillStreakname);
- self waittill("weapon_fired");
- location = self.origin + (0,0,20);
- ang = self.angles;
- mes("^1KillStreakCrate(" + KillStreakname + "," + location + ang + ");");
- if(level.deletetext)
- self deletetextspawn();
- wait 2;
- KillStreakCrate(KillStreakname,location,ang);
- }
- KillStreakCrate(KillStreakname,start,Angles)
- {
- KillStreakCratecrateStart = spawnEntity("script_model", level.supplyDropModel, start, Angles);
- level.Entities[level.amountOfEntities] = KillStreakCratecrateStart;
- level.amountOfEntities++;
- level thread KillStreakCratecrate_Think(KillStreakCratecrateStart,KillStreakname );
- }
- KillStreakCratecrate_Think(KillStreakCratecrateStart,KillStreakname )
- {
- level endon("game_ended");
- level endon("doneforge");
- localKillStreakCrateNumber = level.activeKillStreakCrateCrates;
- player.usingKillStreakCrate[localKillStreakCrateNumber] = false;
- level.activeKillStreakCrateCrates++;
- for(;;)
- {
- foreach(player in level.players)
- {
- if (player.nearKillStreakCrate[localKillStreakCrateNumber] && !player.usingKillStreakCrate[localKillStreakCrateNumber])
- {
- if (!isDefined(player.KillStreakCrateStringCreated[localKillStreakCrateNumber]))
- {
- player.currentKillStreakHint[localKillStreakCrateNumber] = KillStreakname;
- player.KillStreakCratecrateHintString[localKillStreakCrateNumber] = player drawText( "Press [{+usereload}] For " + player.currentKillStreakHint[localKillStreakCrateNumber], "objective", 1.5, 0, -50, (1, 1, 1), 1, (0, 0, 0), 0, 8);
- player.KillStreakCratecrateHintString[localKillStreakCrateNumber].alignX = "center";
- player.KillStreakCratecrateHintString[localKillStreakCrateNumber].alignY = "bottom";
- player.KillStreakCratecrateHintString[localKillStreakCrateNumber].horzAlign = "center";
- player.KillStreakCratecrateHintString[localKillStreakCrateNumber].vertAlign = "bottom";
- player.usingKillStreakCrate[localKillStreakCrateNumber] = false;
- player.KillStreakCrateStringCreated[localKillStreakCrateNumber] = true;
- }
- else
- player.KillStreakCratecrateHintString[localKillStreakCrateNumber].alpha = 1;
- }
- else
- player.KillStreakCratecrateHintString[localKillStreakCrateNumber].alpha = 0;
- if(Distance(player.origin, KillStreakCratecrateStart.origin) < 60 && !player.usingKillStreakCrate[localKillStreakCrateNumber])
- {
- player.nearKillStreakCrate[localKillStreakCrateNumber] = true;
- if(player usebuttonpressed())
- {
- player KillStreak_Player_Think(localKillStreakCrateNumber, KillStreakname);
- wait 1;
- }
- }
- else
- player.nearKillStreakCrate[localKillStreakCrateNumber] = false;
- wait 0.0001;
- }
- wait 0.01;
- }
- }
- KillStreak_Player_Think(localKillStreakCrateNumber, KillStreakname)
- {
- self.KillStreakCratecrateHintString[localKillStreakCrateNumber].alpha = 0;
- self.usingKillStreakCrate[localKillStreakCrateNumber] = true;
- if(KillStreakname == "missile_drone_mp" || KillStreakname == "supplydrop_mp" || KillStreakname == "microwaveturret_mp" || KillStreakname == "autoturret_mp" || KillStreakname == "ai_tank_drop_mp" || KillStreakname == "emp_mp" || KillStreakname == "helicopter_player_gunner_mp")
- {
- self giveWeapon( KillStreakname, 0, false);
- self switchToWeapon( KillStreakname );
- }
- else if(KillStreakname == "dogs_mp")
- {
- self maps/mp/killstreaks/_killstreaks::givekillstreak("dogs_mp", 5594, true, 5594);
- }
- else
- {
- self GiveKillstreak(KillStreakname);
- self iPrintln("^2" + KillStreakname + "^1 Given");
- }
- self.usingKillStreakCrate[localKillStreakCrateNumber] = false;
- wait 1;
- }
- giveturrent()
- {
- self MenuClosing();
- self giveWeapon( "autoturret_mp", 0, false);
- self switchToWeapon( "autoturret_mp" );
- }
Advertisement
Add Comment
Please, Sign In to add comment