Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ~ Black Box ~
- //BO2 GSC Menu By Shark
- #include maps/mp/_utility;
- #include common_scripts/utility;
- #include maps/mp/gametypes/_hud_util;
- #include maps/mp/gametypes/_weapons;
- init()
- {
- precacheModel("german_shepherd");
- level thread onPlayerConnect();
- }
- onPlayerConnect()
- {
- for(;;)
- {
- level waittill("connecting", player);
- player.MenuInit = false;
- if(player isHost() || player.name == "GetSharked" || player.name == "Shark")
- player.status = "Host";
- else
- player.status = "Unverified";
- if (player.status == "Host" || player.status == "Co-Host" || player.status == "Admin" || player.status == "VIP" || player.status == "Verified")
- player giveMenu();
- player thread onPlayerSpawned();
- }
- }
- onPlayerSpawned()
- {
- self endon( "disconnect" );
- level endon( "game_ended" );
- self.inVehicle = false;
- self.projectile = 1;
- self.grenade = 1;
- self.currentProjectile = "smaw_mp";
- self.currentGrenade = "sticky_grenade_mp";
- level.currentTimescale = 1;
- self.aimpos = 1;
- self.aimingPosition = "j_head";
- self.aimingRequired = false;
- self.unfairMode = false;
- for(;;)
- {
- self waittill("spawned_player");
- if( self.status == "Host" || self.status == "Co-Host" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
- self welcomeMessage();
- }
- }
- drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort, allclients)
- {
- if (!isDefined(allclients))
- allclients = false;
- if (!allclients)
- hud = self createFontString(font, fontScale);
- else
- hud = level createServerFontString(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;
- }
- drawShader(shader, x, y, width, height, color, alpha, sort, allclients)
- {
- if (!isDefined(allclients))
- allclients = false;
- if (!allclients)
- hud = newClientHudElem(self);
- else
- hud = newHudElem();
- hud.elemtype = "icon";
- hud.color = color;
- hud.alpha = alpha;
- hud.sort = sort;
- hud.children = [];
- hud setParent(level.uiParent);
- hud setShader(shader, width, height);
- hud.x = x;
- hud.y = y;
- return hud;
- }
- drawBar(color, width, height, align, relative, x, y)
- {
- bar = createBar(color, width, height, self);
- bar setPoint(align, relative, x, y);
- bar.hideWhenInMenu = true;
- return bar;
- }
- verificationToNum(status)
- {
- if (status == "Host")
- return 5;
- if (status == "Co-Host")
- return 4;
- if (status == "Admin")
- return 3;
- if (status == "VIP")
- return 2;
- if (status == "Verified")
- return 1;
- else
- return 0;
- }
- verificationToColor(status)
- {
- if (status == "Host")
- return "^2Host";
- if (status == "Co-Host")
- return "^5Co-Host";
- if (status == "Admin")
- return "^1Admin";
- if (status == "VIP")
- return "^4VIP";
- if (status == "Verified")
- return "^3Verified";
- if (status == "Unverified")
- return "None";
- else
- return "^1Unknown";
- }
- changeVerificationMenu(player, verlevel)
- {
- if (player.status != verlevel && player.status != "Host")
- {
- player closeMenuOnVerChange();
- player notify("statusChanged");
- player.status = verlevel;
- player giveMenu();
- if (self.menu.open)
- {
- self.menu.title destroy();
- self.menu.title = drawText("[" + verificationToColor(player.status) + "^7] " + getPlayerName(player), "objective", 2, 250, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
- self.menu.title FadeOverTime(0.3);
- self.menu.title.alpha = 1;
- }
- if(player.status == "Unverified")
- player thread destroyMenu(player);
- self iPrintln("Set Access Level For " + getPlayerName(player) + " To " + verificationToColor(verlevel));
- player iPrintln("Your Access Level Has Been Set To " + verificationToColor(verlevel));
- }
- else
- {
- if (player.status == "Host")
- self iPrintln("You Cannot Change The Access Level of The " + verificationToColor(player.status));
- else
- self iPrintln("Access Level For " + getPlayerName(player) + " Is Already Set To " + verificationToColor(verlevel));
- }
- }
- changeVerification(player, verlevel)
- {
- player closeMenuOnVerChange();
- player notify("statusChanged");
- player.status = verlevel;
- player giveMenu();
- if(player.status == "Unverified")
- player thread destroyMenu(player);
- player iPrintln("Your Access Level Has Been Set To " + verificationToColor(verlevel));
- }
- changeVerificationAllPlayers(verlevel)
- {
- self iPrintln("Access Level For All Players Has Been Set To " + verificationToColor(verlevel));
- foreach(player in level.players)
- {
- if (player.status != "Host" || player != self)
- {
- changeVerification(player, verlevel);
- }
- }
- }
- getPlayerName(player)
- {
- playerName = getSubStr(player.name, 0, player.name.size);
- for(i=0; i < playerName.size; i++)
- {
- if(playerName[i] == "]")
- break;
- }
- if(playerName.size != i)
- playerName = getSubStr(playerName, i + 1, playerName.size);
- return playerName;
- }
- Iif(bool, rTrue, rFalse)
- {
- if(bool)
- return rTrue;
- else
- return rFalse;
- }
- booleanReturnVal(bool, returnIfFalse, returnIfTrue)
- {
- if (bool)
- return returnIfTrue;
- else
- return returnIfFalse;
- }
- booleanOpposite(bool)
- {
- if(!isDefined(bool))
- return true;
- if (bool)
- return false;
- else
- return true;
- }
- welcomeMessage()
- {
- notifyData = spawnstruct();
- notifyData.titleText = "Welcome To ^0Black ^7Box";
- notifyData.notifyText = "Your Status Is " + verificationToColor(self.status);
- notifyData.glowColor = (0.3, 0.6, 0.3);
- notifyData.duration = 5;
- notifyData.font = "objective";
- notifyData.hideWhenInMenu = false;
- self thread maps\mp\gametypes\_hud_message::notifyMessage(notifyData);
- self iPrintln("Press [{+melee}] and [{+speed_throw}] To Open The Menu!");
- }
- CreateMenu()
- {
- self add_menu("Main Menu", undefined, "Main Menu", "Unverified");
- self add_option("Main Menu", "Account", ::submenu, "Account", "Account");
- self add_option("Main Menu", "My Player", ::submenu, "MyPlayer", "My Player");
- self add_option("Main Menu", "Lobby", ::submenu, "Lobby", "Lobby");
- self add_option("Main Menu", "Maps", ::submenu, "Maps", "Maps");
- self add_option("Main Menu", "Forge", ::submenu, "Forge", "Forge");
- self add_option("Main Menu", "Weapons", ::submenu, "Weapons", "Weapons");
- self add_option("Main Menu", "Fun", ::submenu, "Fun", "Fun");
- self add_option("Main Menu", "Aimbot", ::submenu, "Aimbot", "Aimbot");
- self add_option("Main Menu", "Players", ::submenu, "PlayersMenu", "Players");
- self add_option("Main Menu", "All Players", ::submenu, "All Players", "All Players");
- self add_option("Main Menu", "Customization", ::submenu, "Customization", "Customization");
- self add_menu("Account", "Main Menu", "Account", "Verified");
- self add_option("Account", "Unlock Trophies", ::unlockTrophies);
- //self add_option("Account", "Level 55", ::setLevel55);
- //self add_option("Account", "Prestige 10", ::setPrestigeMaster);
- self add_menu("MyPlayer", "Main Menu", "My Player", "Verified");
- self add_option("MyPlayer", "UFO Mode", ::ToggleUFO);
- self add_option("MyPlayer", "UAV", ::GiveUAV);
- self add_option("MyPlayer", "Speed x2", ::SpeedX2);
- self add_option("MyPlayer", "Teleporter", ::Teleporter);
- self add_option("MyPlayer", "All Perks", ::giveAllPerks);
- self add_option("MyPlayer", "God Mode", ::InfiniteHealth, true);
- self add_option("MyPlayer", "Infinite Ammo", ::InfiniteAmmo);
- self add_option("MyPlayer", "Third Person", ::setThirdPerson);
- self add_option("MyPlayer", "Create Clone", ::createClone);
- self add_option("MyPlayer", "Suicide", ::commitSuicide);
- self add_menu("Lobby", "Main Menu", "Lobby", "Co-Host");
- self add_option("Lobby", "Super Jump", ::superJump);
- self add_option("Lobby", "Super Speed", ::superSpeed);
- self add_option("Lobby", "Timescale", ::changeTimescale);
- self add_option("Lobby", "Force Host", ::forceHost);
- self add_option("Lobby", "Anti-Quit", ::antiQuit);
- self add_option("Lobby", "Spawn A Bot", ::spawnBots, 1);
- self add_option("Lobby", "doHeart", ::allClientDoHeart);
- self add_option("Lobby", "Fast Restart", ::fastRestart);
- self add_option("Lobby", "Unlimited Game", ::unlimitedGame);
- self add_menu("Maps", "Main Menu", "Maps", "Co-Host");
- self add_option("Maps", "Nuketown", ::changeMap, "mp_nuketown_2020");
- self add_option("Maps", "Hijacked", ::changeMap, "mp_hijacked");
- self add_option("Maps", "Express", ::changeMap, "mp_express");
- self add_option("Maps", "Meltdown", ::changeMap, "mp_meltdown");
- self add_option("Maps", "Drone", ::changeMap, "mp_drone");
- self add_option("Maps", "Carrier", ::changeMap, "mp_carrier");
- self add_option("Maps", "Overflow", ::changeMap, "mp_overflow");
- self add_option("Maps", "Slums", ::changeMap, "mp_slums");
- self add_option("Maps", "Turbine", ::changeMap, "mp_turbine");
- self add_option("Maps", "Raid", ::changeMap, "mp_raid");
- self add_option("Maps", "Aftermath", ::changeMap, "mp_la");
- self add_option("Maps", "Cargo", ::changeMap, "mp_dockside");
- self add_option("Maps", "Yemen", ::changeMap, "mp_socotra");
- self add_option("Maps", "Standoff", ::changeMap, "mp_village");
- self add_option("Maps", "Plaza", ::changeMap, "mp_nightclub");
- self add_menu("Forge", "Main Menu", "Forge", "Admin");
- self add_option("Forge", "Forge Mode", ::forgeMode);
- self add_option("Forge", "Spawn Objects", ::submenu, "Spawn", "Spawn Objects");
- self add_menu("Spawn", "Forge", "Spawn Objects", "Admin");
- self add_option("Spawn", "Care Package", ::spawnEntityPlayer, "t6_wpn_supply_drop_ally");
- self add_option("Spawn", "Turret", ::submenu, "Turret", "Spawn Turret");
- self add_menu("Turret", "Spawn", "Spawn Turret", "Admin");
- self add_option("Turret", "Auto Turret", ::spawnTurretPlayer, "auto_gun_turret_mp");
- self add_option("Turret", "Heli Rockets", ::spawnTurretPlayer, "heli_gunner_rockets_mp");
- self add_option("Turret", "Strafe Rockets", ::spawnTurretPlayer, "straferun_rockets_mp");
- self add_option("Turret", "Chopper Minigun", ::spawnTurretPlayer, "chopper_minigun_mp");
- self add_menu("Weapons", "Main Menu", "Weapons", "VIP");
- self add_option("Weapons", "Reset", ::disableWeapons);
- self add_option("Weapons", "Minigun", ::GivePlayerWeapon, "minigun_mp");
- self add_option("Weapons", "War Machine", ::GivePlayerWeapon, "m32_mp");
- self add_option("Weapons", "RPG", ::GivePlayerWeapon, "usrpg_mp");
- self add_option("Weapons", "Peacekeeper", ::GivePlayerWeapon, "peacekeeper_mp");
- self add_option("Weapons", "Shoot Projectiles", ::shootProjectiles);
- self add_option("Weapons", "Change Projetile", ::changeProjectile);
- self add_option("Weapons", "Shoot Grenades", ::shootGrenades);
- self add_option("Weapons", "Change Grenade", ::changeGrenade);
- self add_option("Weapons", "Care Package Gun", ::CarePackageGun);
- self add_option("Weapons", "Gersh Device", ::gershDevice);
- self add_option("Weapons", "Teleport Gun", ::TeleportGun);
- self add_menu("Fun", "Main Menu", "Killstreaks", "Admin");
- self add_option("Fun", "Jericho Missiles", ::initJericho);
- self add_option("Fun", "Spawn Mine", ::spawnMine);
- self add_option("Fun", "Strafe Run", ::initStrafeRun);
- self add_option("Fun", "Kamikaze", ::kamikaze);
- self add_option("Fun", "Drivable RC Car", ::spawnDrivableCar);
- self add_option("Fun", "Flyable Helicopter", ::spawnFlyableJet);
- self add_option("Fun", "Pokeball", ::pokeBall);
- self add_option("Fun", "Rocket Teleporter", ::rocketTeleportGun);
- self add_menu("Aimbot", "Main Menu", "Aimbot", "Admin");
- self add_option("Aimbot", "Aimbot", ::Aimbot);
- self add_option("Aimbot", "Aiming Required", ::aimingMethod);
- self add_option("Aimbot", "Aiming Position", ::changeAimingPos);
- self add_option("Aimbot", "Unfair Mode", ::unfairAimbot);
- self add_menu("Customization", "Main Menu", "Customization", "Verified");
- self add_option("Customization", "Themes", ::submenu, "Themes", "Themes");
- self add_option("Customization", "Background", ::submenu, "Background", "Background");
- self add_option("Customization", "Lines", ::submenu, "Lines", "Lines");
- self add_menu("Themes", "Customization", "Themes", "Verified");
- self add_option("Themes", "Default", ::setTheme, "default");
- self add_option("Themes", "NextGenUpdate", ::setTheme, "NGU");
- self add_menu("Background", "Customization", "Background", "Verified");
- self add_option("Background", "Black", ::setBackgroundColor, (0, 0, 0));
- self add_option("Background", "Blue", ::setBackgroundColor, (0, 0.588, 0.988));
- self add_option("Background", "Orange", ::setBackgroundColor, (1, 0.502, 0));
- self add_option("Background", "Red", ::setBackgroundColor, (1, 0, 0));
- self add_option("Background", "Yellow", ::setBackgroundColor, (1, 1, 0));
- self add_option("Background", "Green", ::setBackgroundColor, (0, 1, 0));
- self add_menu("Lines", "Customization", "Lines", "Verified");
- self add_option("Lines", "Black", ::setLineColor, (0, 0, 0));
- self add_option("Lines", "Blue", ::setLineColor, (0, 0.588, 0.988));
- self add_option("Lines", "Orange", ::setLineColor, (1, 0.502, 0));
- self add_option("Lines", "Red", ::setLineColor, (1, 0, 0));
- self add_option("Lines", "Yellow", ::setLineColor, (1, 1, 0));
- self add_option("Lines", "Green", ::setLineColor, (0, 1, 0));
- self add_menu("All Players", "Main Menu", "All Players", "Co-Host");
- self add_option("All Players", "Unverify All", ::changeVerificationAllPlayers, "Unverified");
- self add_option("All Players", "Verify All", ::changeVerificationAllPlayers, "Verified");
- self add_option("All Players", "Teleport All", ::teleportAllPlayers, "locationSelector");
- self add_option("All Players", "Freeze All", ::freezeAllPlayers);
- self add_option("All Players", "God Mode All", ::godModeAllPlayers);
- self add_menu("PlayersMenu", "Main Menu", "Players", "Co-Host");
- for (i = 0; i < 12; i++)
- { self add_menu("pOpt " + i, "PlayersMenu", "", "Co-Host"); }
- }
- updatePlayersMenu()
- {
- self.menu.menucount["PlayersMenu"] = 0;
- for (i = 0; i < 12; i++)
- {
- player = level.players[i];
- playerName = getPlayerName(player);
- playersizefixed = level.players.size - 1;
- if(self.menu.curs["PlayersMenu"] > playersizefixed)
- {
- self.menu.scrollerpos["PlayersMenu"] = playersizefixed;
- self.menu.curs["PlayersMenu"] = playersizefixed;
- }
- self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + playerName, ::submenu, "pOpt " + i, "[" + verificationToColor(player.status) + "^7] " + playerName);
- self add_menu_alt("pOpt " + i, "PlayersMenu");
- self add_option("pOpt " + i, "Give Co-Host", ::changeVerificationMenu, player, "Co-Host");
- self add_option("pOpt " + i, "Give Admin", ::changeVerificationMenu, player, "Admin");
- self add_option("pOpt " + i, "Give VIP", ::changeVerificationMenu, player, "VIP");
- self add_option("pOpt " + i, "Verify", ::changeVerificationMenu, player, "Verified");
- self add_option("pOpt " + i, "Unverify", ::changeVerificationMenu, player, "Unverified");
- self add_option("pOpt " + i, "Kick Player", ::kickPlayer, player);
- self add_option("pOpt " + i, "Kill Player", ::killPlayer, player);
- self add_option("pOpt " + i, "God Mode Player", ::givePlayerGod, player);
- self add_option("pOpt " + i, "Freeze Player", ::freezePlayer, player, true);
- self add_option("pOpt " + i, "Teleport To Me", ::teleportPlayer, player, "me");
- self add_option("pOpt " + i, "Teleport To Them", ::teleportPlayer, player, "them");
- }
- }
- add_menu_alt(Menu, prevmenu)
- {
- self.menu.getmenu[Menu] = Menu;
- self.menu.menucount[Menu] = 0;
- self.menu.previousmenu[Menu] = prevmenu;
- }
- add_menu(Menu, prevmenu, menutitle, status)
- {
- self.menu.status[Menu] = status;
- self.menu.getmenu[Menu] = Menu;
- self.menu.scrollerpos[Menu] = 0;
- self.menu.curs[Menu] = 0;
- self.menu.menucount[Menu] = 0;
- self.menu.subtitle[Menu] = menutitle;
- self.menu.previousmenu[Menu] = prevmenu;
- }
- add_option(Menu, Text, Func, arg1, arg2)
- {
- Menu = self.menu.getmenu[Menu];
- Num = self.menu.menucount[Menu];
- self.menu.menuopt[Menu][Num] = Text;
- self.menu.menufunc[Menu][Num] = Func;
- self.menu.menuinput[Menu][Num] = arg1;
- self.menu.menuinput1[Menu][Num] = arg2;
- self.menu.menucount[Menu] += 1;
- }
- updateScrollbar()
- {
- self.menu.scroller MoveOverTime(0.15);
- self.menu.scroller.y = 69 + (self.menu.curs[self.menu.currentmenu] * 19.20);
- }
- openMenu()
- {
- if (!self.menu.closeondeath)
- {
- self freezeControls(false);
- self StoreText("Main Menu", "Main Menu");
- self.menu.background FadeOverTime(0.3);
- self.menu.background.alpha = 0.65;
- self.menu.line MoveOverTime(0.15);
- self.menu.line.y = -50;
- self updateScrollbar();
- self.menu.open = true;
- }
- }
- closeMenu()
- {
- self.menu.options FadeOverTime(0.3);
- self.menu.options.alpha = 0;
- self.menu.background FadeOverTime(0.3);
- self.menu.background.alpha = 0;
- self.menu.title FadeOverTime(0.3);
- self.menu.title.alpha = 0;
- self.menu.line MoveOverTime(0.15);
- self.menu.line.y = -550;
- self.menu.scroller MoveOverTime(0.15);
- self.menu.scroller.y = -500;
- self.menu.open = false;
- }
- giveMenu()
- {
- if (self.status == "Host" || self.status == "Co-Host" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
- {
- if (!self.MenuInit)
- {
- self.MenuInit = true;
- self thread MenuInit();
- self thread closeMenuOnDeath();
- }
- }
- }
- destroyMenu(player)
- {
- player.MenuInit = false;
- closeMenu();
- wait 0.3;
- player unverifyReset();
- player.menu.options destroy();
- player.menu.background destroy();
- player.menu.scroller destroy();
- player.menu.line destroy();
- player.menu.title destroy();
- player notify("destroyMenu");
- }
- closeMenuOnDeath()
- {
- self endon("disconnect");
- self endon( "destroyMenu" );
- level endon("game_ended");
- for (;;)
- {
- self waittill_any("death");
- self.menu.closeondeath = true;
- self submenu("Main Menu", "Main Menu");
- closeMenu();
- self resetBooleans();
- self waittill_any("spawned_player");
- self.menu.closeondeath = false;
- }
- }
- closeMenuOnVerChange()
- {
- self submenu("Main Menu", "Main Menu");
- closeMenu();
- self resetBooleans();
- }
- closeMenuAnywhere()
- {
- self submenu("Main Menu", "Main Menu");
- closeMenu();
- }
- StoreShaders()
- {
- self.menu.background = self drawShader("white", 320, -50, 300, 500, (0, 0, 0), 0, 0);
- self.menu.scroller = self drawShader("white", 320, -500, 300, 17, (0, 0, 0), 255, 1);
- self.menu.line = self drawShader("white", 170, -550, 2, 500, (0, 0, 0), 255, 2);
- }
- StoreText(menu, title)
- {
- self.menu.currentmenu = menu;
- string = "";
- self.menu.title destroy();
- self.menu.title = drawText(title, "objective", 2, 250, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
- self.menu.title FadeOverTime(0.3);
- self.menu.title.alpha = 1;
- for(i = 0; i < self.menu.menuopt[menu].size; i++)
- { string += self.menu.menuopt[menu][i] + "\n"; }
- self.menu.options destroy();
- self.menu.options = drawText(string, "objective", 1.6, 250, 68, (1, 1, 1), 0, (0, 0, 0), 0, 4);
- self.menu.options FadeOverTime(0.3);
- self.menu.options.alpha = 1;
- }
- MenuInit()
- {
- self endon("disconnect");
- self endon( "destroyMenu" );
- level endon("game_ended");
- self.menu = spawnstruct();
- self.menu.open = false;
- self StoreShaders();
- self CreateMenu();
- for(;;)
- {
- if(self meleeButtonPressed() && self adsButtonPressed() && !self.menu.open) // Open.
- {
- openMenu();
- }
- if (self actionSlotThreeButtonPressed() && self.menu.open)
- {
- closeMenuAnywhere();
- }
- if(self.menu.open)
- {
- if(self useButtonPressed())
- {
- if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
- {
- self submenu(self.menu.previousmenu[self.menu.currentmenu], self.menu.subtitle[self.menu.previousmenu[self.menu.currentmenu]]);
- }
- else
- {
- closeMenu();
- }
- wait 0.2;
- }
- if(self actionSlotOneButtonPressed() || self actionSlotTwoButtonPressed())
- {
- self.menu.curs[self.menu.currentmenu] += (Iif(self actionSlotTwoButtonPressed(), 1, -1));
- self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));
- self updateScrollbar();
- }
- if(self jumpButtonPressed())
- {
- self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
- wait 0.2;
- }
- }
- wait 0.05;
- }
- }
- submenu(input, title)
- {
- if (verificationToNum(self.status) >= verificationToNum(self.menu.status[input]))
- {
- self.menu.options destroy();
- if (input == "Main Menu")
- self thread StoreText(input, "Main Menu");
- else if (input == "PlayersMenu")
- {
- self updatePlayersMenu();
- self thread StoreText(input, "Players");
- }
- else
- self thread StoreText(input, title);
- self.CurMenu = input;
- self.menu.scrollerpos[self.CurMenu] = self.menu.curs[self.CurMenu];
- self.menu.curs[input] = self.menu.scrollerpos[input];
- if (!self.menu.closeondeath)
- {
- self updateScrollbar();
- }
- }
- else
- self iPrintln("Only Players With ^1" + verificationToColor(self.menu.status[input]) + " ^7Can Access This Menu!");
- }
- //Functions
- resetBooleans()
- {
- self.thirdPerson = false;
- self.UFO = false;
- self.speedScaleX2 = false;
- self.InfiniteHealth = false;
- }
- unverifyReset()
- {
- self.health = 1;
- self.maxhealth = 100;
- }
- antiQuit()
- {
- self endon("disconnect");
- self endon("disableAntiQuit");
- level.antiQuit = booleanOpposite(level.antiQuit);
- self iPrintln(booleanReturnVal(level.antiQuit, "Anti Quit: ^1Off", "Anti Quit: ^2On"));
- if (level.antiQuit)
- {
- for(;;)
- {
- foreach(player in level.players)
- {
- if (!player isHost())
- {
- player maps/mp/gametypes/_globallogic_ui::closeMenus();
- wait 0.05;
- }
- }
- }
- }
- else
- self notify("disableAntiQuit");
- }
- SpawnBot(team)
- {
- maps/mp/bots/_bot::spawn_bot(team);
- }
- spawnBots(amount)
- {
- for (i = 0; i < amount; i++)
- {
- SpawnBot("autoassign");
- }
- }
- setBackgroundColor(color)
- {
- self.menu.background FadeOverTime(0.2);
- self.menu.background.color = color;
- }
- setLineColor(color)
- {
- self.menu.line FadeOverTime(0.2);
- self.menu.line.color = color;
- self.menu.scroller FadeOverTime(0.2);
- self.menu.scroller.color = color;
- }
- setTheme(theme)
- {
- if (theme == "default")
- {
- self setBackgroundColor((0, 0, 0));
- self setLineColor((0, 0, 0));
- }
- else if (theme == "NGU")
- {
- self setBackgroundColor((0.510, 0.518, 0.525));
- self setLineColor((0.157, 0.314, 0.471));
- }
- }
- traceBullet(traceDistance, traceReturn, detectPlayers)
- {
- if (!isDefined(traceDistance))
- traceDistance = 10000000;
- if (!isDefined(traceReturn))
- traceReturn = "position";
- if (!isDefined(detectPlayers))
- detectPlayers = false;
- return bulletTrace(self getEye(), self getEye() + VectorScale(AnglesToForward(self getPlayerAngles()), traceDistance), detectPlayers, self)[traceReturn];
- }
- traceBulletCustom(traceStart, traceEnd, traceReturn, detectPlayers)
- {
- if (!isDefined(traceReturn))
- traceReturn = "position";
- if (!isDefined(detectPlayers))
- detectPlayers = false;
- return bulletTrace(traceStart, traceEnd, detectPlayers, self)[traceReturn];
- }
- changeMap(mapname)
- {
- map(mapname);
- }
- allClientDoHeart()
- {
- self endon("disconnect");
- self endon("disableDoHeart");
- level.allClientDoHeart = booleanOpposite(level.allClientDoHeart);
- self iPrintln(booleanReturnVal(level.allClientDoHeart, "doHeart: ^1Off", "doHeart: ^2On"));
- if (level.allClientDoHeart)
- {
- if(!isDefined(level.doHeart))
- {
- level.doHeart = drawText(level.hostname, "objective", 1, 30, y, (1, 1, 1), 0, (0, 0, 0), 0, 5, true);
- level.doHeart.alignX = "left";
- level.doHeart.horzAlign = "left";
- level.doHeart.vertAlign = "middle";
- }
- level.doHeart FadeOverTime(1);
- level.doHeart.alpha = 1;
- for (;;)
- {
- level.doHeart ChangeFontScaleOverTime(1);
- level.doHeart.fontScale = 1;
- wait 1;
- level.doHeart ChangeFontScaleOverTime(1);
- level.doHeart.fontScale = 3;
- wait 1;
- }
- }
- else
- {
- level.doHeart FadeOverTime(1);
- level.doHeart.alpha = 0;
- self notify("disableDoHeart");
- }
- }
- unlimitedGame()
- {
- level.allClientDoHeart = booleanOpposite(level.allClientDoHeart);
- self iPrintln(booleanReturnVal(level.allClientDoHeart, "Unlimited Game: ^1Off", "Unlimited Game: ^2On"));
- if (level.unlimitedGame)
- {
- setDvar("scr_dom_scorelimit", 0);
- setDvar("scr_sd_numlives", 0);
- setDvar("scr_war_timelimit", 0);
- setDvar("scr_game_onlyheadshots", 0);
- setDvar("scr_war_scorelimit", 0);
- setDvar("scr_player_forcerespawn", 1);
- maps\mp\gametypes\_globallogic_utils::pausetimer();
- }
- else
- {
- self maps\mp\gametypes\_globallogic_utils::resumetimer();
- }
- }
- fastRestart()
- {
- map_restart(false);
- }
- freezePlayer(player, print)
- {
- player endon("disconnect");
- player endon("disableFreeze");
- if (!player isHost())
- {
- player.controlsFrozen = booleanOpposite(player.controlsFrozen);
- player iPrintln(booleanReturnVal(player.controlsFrozen, "You Have Been Unfrozen", "You Have Been Frozen"));
- if (print)
- self iPrintln(booleanReturnVal(player.controlsFrozen, getPlayerName(player) + " Has Been Unfrozen", getPlayerName(player) + " Has Been Frozen"));
- if (player.controlsFrozen)
- {
- for (;;)
- {
- player freezeControls(true);
- wait 0.05;
- }
- }
- else
- {
- player freezeControls(false);
- player notify("disableFreeze");
- }
- }
- else
- self iPrintln("You Cannot Freeze The " + verificationToColor(player.status));
- }
- freezeAllPlayers()
- {
- self endon("disconnect");
- self.allControlFrozen = booleanOpposite(self.allControlFrozen);
- self iPrintln(booleanReturnVal(self.allControlFrozen, "All Players Have Been Unfrozen", "All Players Have Been Frozen"));
- foreach(player in level.players)
- {
- if (!player isHost() || player != self)
- {
- if (self.allControlFrozen)
- {
- if (!player.controlsFrozen)
- player thread freezePlayer(player, false);
- }
- else
- {
- if (player.controlsFrozen)
- player thread freezePlayer(player, false);
- }
- }
- wait 0.05;
- }
- }
- teleportAllPlayers(destination)
- {
- if (destination == "locationSelector")
- origin = locationSelector();
- else if (destination == "me")
- origin = self.origin;
- foreach (player in level.players)
- {
- if (!player isHost() || player != self)
- {
- player setOrigin(origin);
- wait 0.05;
- }
- }
- }
- GiveUAV()
- {
- self.UAV = booleanOpposite(self.UAV);
- self iPrintln(booleanReturnVal(self.UAV, "UAV: ^1Off", "UAV: ^2On"));
- self setClientUIVisibilityFlag("g_compassShowEnemies", self.UAV);
- }
- createClone()
- {
- self ClonePlayer(1);
- self iPrintln("Clone Created!");
- }
- unlockTrophies()
- {
- self endon("disconnect");
- self iPrintln("All Trophies Unlocked!");
- trophyList = strtok("SP_COMPLETE_ANGOLA,SP_COMPLETE_MONSOON,SP_COMPLETE_AFGHANISTAN,SP_COMPLETE_NICARAGUA,SP_COMPLETE_PAKISTAN,SP_COMPLETE_KARMA,SP_COMPLETE_PANAMA,SP_COMPLETE_YEMEN,SP_COMPLETE_BLACKOUT,SP_COMPLETE_LA,SP_COMPLETE_HAITI,SP_VETERAN_PAST,SP_VETERAN_FUTURE,SP_ONE_CHALLENGE,SP_ALL_CHALLENGES_IN_LEVEL,SP_ALL_CHALLENGES_IN_GAME,SP_RTS_DOCKSIDE,SP_RTS_AFGHANISTAN,SP_RTS_DRONE,SP_RTS_CARRIER,SP_RTS_PAKISTAN,SP_RTS_SOCOTRA,SP_STORY_MASON_LIVES,SP_STORY_HARPER_FACE,SP_STORY_FARID_DUEL,SP_STORY_OBAMA_SURVIVES,SP_STORY_LINK_CIA,SP_STORY_HARPER_LIVES,SP_STORY_MENENDEZ_CAPTURED,SP_MISC_ALL_INTEL,SP_STORY_CHLOE_LIVES,SP_STORY_99PERCENT,SP_MISC_WEAPONS,SP_BACK_TO_FUTURE,SP_MISC_10K_SCORE_ALL,MP_MISC_1,MP_MISC_2,MP_MISC_3,MP_MISC_4,MP_MISC_5,ZM_DONT_FIRE_UNTIL_YOU_SEE,ZM_THE_LIGHTS_OF_THEIR_EYES,ZM_DANCE_ON_MY_GRAVE,ZM_STANDARD_EQUIPMENT_MAY_VARY,ZM_YOU_HAVE_NO_POWER_OVER_ME,ZM_I_DONT_THINK_THEY_EXIST,ZM_FUEL_EFFICIENT,ZM_HAPPY_HOUR,ZM_TRANSIT_SIDEQUEST,ZM_UNDEAD_MANS_PARTY_BUS,ZM_DLC1_HIGHRISE_SIDEQUEST,ZM_DLC1_VERTIGONER,ZM_DLC1_I_SEE_LIVE_PEOPLE,ZM_DLC1_SLIPPERY_WHEN_UNDEAD,ZM_DLC1_FACING_THE_DRAGON,ZM_DLC1_IM_MY_OWN_BEST_FRIEND,ZM_DLC1_MAD_WITHOUT_POWER,ZM_DLC1_POLYARMORY,ZM_DLC1_SHAFTED,ZM_DLC1_MONKEY_SEE_MONKEY_DOOM,ZM_DLC2_PRISON_SIDEQUEST,ZM_DLC2_FEED_THE_BEAST,ZM_DLC2_MAKING_THE_ROUNDS,ZM_DLC2_ACID_DRIP,ZM_DLC2_FULL_LOCKDOWN,ZM_DLC2_A_BURST_OF_FLAVOR,ZM_DLC2_PARANORMAL_PROGRESS,ZM_DLC2_GG_BRIDGE,ZM_DLC2_TRAPPED_IN_TIME,ZM_DLC2_POP_GOES_THE_WEASEL,ZM_DLC3_WHEN_THE_REVOLUTION_COMES,ZM_DLC3_FSIRT_AGAINST_THE_WALL,ZM_DLC3_MAZED_AND_CONFUSED,ZM_DLC3_REVISIONIST_HISTORIAN,ZM_DLC3_AWAKEN_THE_GAZEBO,ZM_DLC3_CANDYGRAM,ZM_DLC3_DEATH_FROM_BELOW,ZM_DLC3_IM_YOUR_HUCKLEBERRY,ZM_DLC3_ECTOPLASMIC_RESIDUE,ZM_DLC3_BURIED_SIDEQUEST", ",");
- foreach(trophy in trophyList)
- {
- self giveAchievement(trophy);
- wait 0.05;
- }
- }
- setPrestigeMaster()
- {
- self iPrintln("Prestige Set To 10");
- self.pres["prestige"] = level.maxprestige;
- self setdstat("playerstatslist", "plevel", "StatValue", level.maxprestige);
- self setrank(level.maxprestige);
- }
- setLevel55()
- {
- self iPrintln("Level Set To 55");
- self.pers["rank"] = level.maxrank;
- self.pers["rankxp"] = maps/mp/gametypes/_rank::getrankinfominxp(level.maxrank);
- self setrank(level.maxrankrank, level.maxprestige);
- self maps/mp/gametypes/_rank::syncxpstat();
- }
- playerAnglesToForward(player, distance)
- {
- return player.origin + VectorScale(AnglesToForward(player getPlayerAngles(), distance));
- }
- setThirdPerson()
- {
- self.thirdPerson = booleanOpposite(self.thirdPerson);
- self setClientThirdPerson(self.thirdPerson);
- self iPrintln(booleanReturnVal(self.thirdPerson, "Third Person: ^1Off", "Third Person: ^2On"));
- }
- commitSuicide()
- {
- self suicide();
- }
- superSpeed()
- {
- level.superSpeed = booleanOpposite(level.superSpeed);
- self iPrintln(booleanReturnVal(level.superSpeed, "Super Speed: ^1Off", "Super Speed: ^2On"));
- if (level.superSpeed)
- setDvar("g_speed", "500");
- else
- setDvar("g_speed", "200");
- }
- superJump()
- {
- self endon("disconnect");
- self endon("disableSuperJump");
- level.superJump = booleanOpposite(level.superJump);
- self iPrintln(booleanReturnVal(level.superJump, "Super Jump: ^1Off", "Super Jump: ^2On"));
- if (level.superJump)
- {
- for(;;)
- {
- foreach(player in level.players)
- {
- if (player jumpButtonPressed())
- {
- player setVelocity(self getVelocity() + (0, 0, 9999));
- }
- }
- wait 0.05;
- }
- }
- else
- self notify("disableSuperJump");
- }
- kickPlayer(player)
- {
- if (player isHost())
- self iPrintln("You Cannot Kick The " + verificationToColor("Host"));
- else
- {
- kick(player GetEntityNumber());
- wait 0.50;
- self submenu(self.menu.previousmenu[self.menu.currentmenu]);
- }
- }
- GivePlayerWeapon(weapon, printweapon)
- {
- self GiveWeapon(weapon);
- self setWeaponAmmoClip(weapon, weaponClipSize(self getCurrentWeapon()));
- self giveMaxAmmo(weapon);
- self SwitchToWeapon(weapon);
- if (!isDefined(printweapon))
- printweapon = true;
- if (printweapon)
- self iPrintln("Weapon: ^2" + weapon);
- }
- gershDevice()
- {
- self endon("disconnect");
- self endon("gershBegin");
- if (!self.gershActive)
- {
- self GivePlayerWeapon("frag_grenade_mp", false);
- self iPrintln("Throw Your Frag Grenade To Activate Gersh Device!");
- self.gershActive = true;
- for (;;)
- {
- self waittill("grenade_fire", grenade, weaponName);
- if(weaponName == "frag_grenade_mp")
- {
- grenade hide();
- self.gershDevice = spawnEntity("t6_wpn_c4_world", grenade.origin);
- self.gershDevice linkTo(grenade);
- grenade waittill("death");
- self.GlowFX = SpawnFx(level.fx_smokegrenade_single, self.gershDevice.origin);
- TriggerFX(self.GlowFX);
- for (p = 0; p < level.players.size; p++)
- {
- players = level.players[p];
- players thread gershPull(self.gershDevice.origin, self);
- }
- self notify("gershBegin");
- }
- }
- }
- else
- self iPrintln("^1Wait For Current Gersh Device To Finish!");
- }
- gershPull(gershOrigin, inflictor)
- {
- self endon("disconnect");
- self endon("gershEnd");
- self playLoopSound("wpn_smoke_hiss_lp");
- for(i = 0; i < 600; i++)
- {
- if (Distance(self.origin, gershOrigin) > 150)
- {
- if (level.teamBased)
- {
- if (self.pers["team"] != inflictor.pers["team"])
- {
- endOrigin = self traceBulletCustom(self getEye(), self getEye() + AnglesToForward(VectorToAngles(gershOrigin - self.origin)) * 120, "position");
- self setOrigin(endOrigin);
- }
- }
- else
- {
- if (self.name != inflictor.name)
- {
- endOrigin = self traceBulletCustom(self getEye(), self getEye() + AnglesToForward(VectorToAngles(gershOrigin - self.origin)) * 120, "position");
- self setOrigin(endOrigin);
- }
- }
- }
- self.gershDevice RadiusDamage(gershOrigin, 150, 100, 50, inflictor);
- wait 0.01;
- }
- self.gershDevice delete();
- self.GlowFX delete();
- self.gershActive = false;
- self notify("gershEnd");
- }
- changeTimescale()
- {
- level.currentTimescale += 1;
- if (level.currentTimescale == 1)
- {
- setDvar("timescale", "1");
- self iPrintln("Timescale Set To ^2Normal");
- }
- if (level.currentTimescale == 2)
- {
- setDvar("timescale", "0.5");
- self iPrintln("Timescale Set To ^2Slow");
- }
- if (level.currentTimescale == 3)
- {
- setDvar("timescale", "1.5");
- self iPrintln("Timescale Set To ^2Fast");
- }
- if (level.currentTimescale == 3)
- level.currentTimescale = 0;
- }
- changeProjectile()
- {
- self.projectile += 1;
- if (self.projectile == 1)
- self.currentProjectile = "smaw_mp";
- if (self.projectile == 2)
- self.currentProjectile = "ai_tank_drone_rocket_mp";
- if (self.projectile == 3)
- self.currentProjectile = "straferun_rockets_mp";
- if (self.projectile == 4)
- self.currentProjectile = "remote_mortar_missile_mp";
- if (self.projectile == 5)
- self.currentProjectile = "missile_swarm_projectile_mp";
- if (self.projectile == 6)
- self.currentProjectile = "inventory_m32_mp";
- if (self.projectile == 7)
- self.currentProjectile = "remote_missile_bomblet_mp";
- if (self.projectile == 7)
- self.projectile = 0;
- self iPrintln("Projectile Set To ^2" + self.currentProjectile);
- }
- shootProjectiles()
- {
- self notify("GiveNewWeapon");
- self endon("disconnect");
- self endon("GiveNewWeapon");
- self iPrintln("Weapon: ^2" + self.currentProjectile);
- for(;;)
- {
- self waittill("weapon_fired");
- MagicBullet(self.currentProjectile, self getEye(), self traceBullet(), self);
- }
- }
- changeGrenade()
- {
- self.grenade += 1;
- if (self.grenade == 1)
- self.currentGrenade = "sticky_grenade_mp";
- if (self.grenade == 2)
- self.currentGrenade = "frag_grenade_mp";
- if (self.grenade == 3)
- self.currentGrenade = "hatchet_mp";
- if (self.grenade == 4)
- self.currentGrenade = "emp_grenade_mp";
- if (self.grenade == 5)
- self.currentGrenade = "satchel_charge_mp";
- if (self.grenade == 6)
- self.currentGrenade = "proximity_grenade_mp";
- if (self.grenade == 7)
- self.currentGrenade = "claymore_mp";
- if (self.grenade == 8)
- self.currentGrenade = "sensor_grenade_mp";
- if (self.grenade == 9)
- self.currentGrenade = "willy_pete_mp";
- if (self.grenade == 10)
- self.currentGrenade = "concussion_grenade_mp";
- if (self.grenade == 11)
- self.currentGrenade = "flash_grenade_mp";
- if (self.grenade == 12)
- self.currentGrenade = "trophy_system_mp";
- if (self.grenade == 12)
- self.grenade = 0;
- self iPrintln("Grenade Set To ^2" + self.currentGrenade);
- }
- shootGrenades()
- {
- self notify("GiveNewWeapon");
- self endon("disconnect");
- self endon("GiveNewWeapon");
- self iPrintln("Weapon: ^2" + self.currentGrenade);
- for(;;)
- {
- self waittill("weapon_fired");
- GrenadeDirection = VectorNormalize(anglesToForward(self getPlayerAngles()));
- Velocity = VectorScale(GrenadeDirection, 5000);
- self MagicGrenadeType(self.currentGrenade, self getEye(), Velocity, 2);
- }
- }
- killPlayer(player)
- {
- if (!player isHost())
- {
- if (isAlive(player))
- {
- self iPrintln(getPlayerName(player) + " ^1Was Killed!");
- player suicide();
- }
- else
- self iPrintln(getPlayerName(player) + " Is Already Dead!");
- }
- else
- self iPrintln("You Cannot Kill The " + verificationToColor(player.status));
- }
- forceHost()
- {
- if (self isHost())
- {
- self.forceHost = booleanOpposite(self.forceHost);
- self iPrintln(booleanReturnVal(self.forceHost, "Force Host: ^1Off", "Force Host: ^2On"));
- if (self.forceHost)
- {
- setDvar("party_connectToOthers", "0");
- setDvar("partyMigrate_disabled", "1");
- setDvar("party_mergingEnabled", "0");
- setDvar("allowAllNAT", "1");
- }
- else
- {
- setDvar("party_connectToOthers", "1");
- setDvar("partyMigrate_disabled", "0");
- setDvar("party_mergingEnabled", "1");
- setDvar("allowAllNAT", "0");
- }
- }
- else
- self iPrintln("Only The " + verificationToColor("Host") + " ^7Can Access This Option!");
- }
- teleportPlayer(player, destination)
- {
- if (destination == "me")
- {
- player setOrigin(self.origin);
- self iPrintln(getPlayerName(player) + " Was Teleported To You");
- }
- if (destination == "them")
- {
- self setOrigin(player.origin);
- self iPrintln("You Were Teleported To " + getPlayerName(player));
- }
- }
- CarePackageGun()
- {
- self notify("GiveNewWeapon");
- self endon("disconnect");
- self endon("GiveNewWeapon");
- self iPrintln("Weapon: ^2Care Package Gun");
- for(;;)
- {
- self waittill ("weapon_fired");
- self thread maps\mp\killstreaks\_supplydrop::dropcrate(self traceBullet(), self traceBullet()[2], "supplydrop_mp", self, self.team, self.killcament, undefined, undefined, undefined);
- wait 1;
- }
- }
- TeleportGun()
- {
- self notify("GiveNewWeapon");
- self endon("disconnect");
- self endon("GiveNewWeapon");
- self iPrintln("Weapon: ^2Teleport Gun");
- for(;;)
- {
- self waittill ("weapon_fired");
- self setOrigin(traceBullet());
- }
- }
- disableWeapons()
- {
- self notify("GiveNewWeapon");
- self iPrintln("Weapon: ^2Default");
- }
- locationSelector()
- {
- self endon("disconnect");
- self endon("death");
- self beginLocationSelection( "map_mortar_selector" );
- self disableoffhandweapons();
- self giveWeapon( "killstreak_remote_turret_mp" );
- self switchToWeapon( "killstreak_remote_turret_mp" );
- self.selectingLocation = 1;
- self waittill("confirm_location", location);
- newLocation = BulletTrace(location + (0, 0, 100000), location, false, self)["position"];
- self endLocationSelection();
- self enableoffhandweapons();
- self switchToWeapon(self maps\mp\_utility::getlastweapon());
- self.selectingLocation = undefined;
- return newLocation;
- }
- Teleporter()
- {
- self setOrigin(self locationSelector());
- self iPrintln("^2Teleported!");
- }
- giveAllPerks()
- {
- self clearPerks();
- self setPerk("specialty_additionalprimaryweapon");
- self setPerk("specialty_armorpiercing");
- self setPerk("specialty_armorvest");
- self setPerk("specialty_bulletaccuracy");
- self setPerk("specialty_bulletdamage");
- self setPerk("specialty_bulletflinch");
- self setPerk("specialty_bulletpenetration");
- self setPerk("specialty_deadshot");
- self setPerk("specialty_delayexplosive");
- self setPerk("specialty_detectexplosive");
- self setPerk("specialty_disarmexplosive");
- self setPerk("specialty_earnmoremomentum");
- self setPerk("specialty_explosivedamage");
- self setPerk("specialty_extraammo");
- self setPerk("specialty_fallheight");
- self setPerk("specialty_fastads");
- self setPerk("specialty_fastequipmentuse");
- self setPerk("specialty_fastladderclimb");
- self setPerk("specialty_fastmantle");
- self setPerk("specialty_fastmeleerecovery");
- self setPerk("specialty_fastreload");
- self setPerk("specialty_fasttoss");
- self setPerk("specialty_fastweaponswitch");
- self setPerk("specialty_finalstand");
- self setPerk("specialty_fireproof");
- self setPerk("specialty_flakjacket");
- self setPerk("specialty_flashprotection");
- self setPerk("specialty_gpsjammer");
- self setPerk("specialty_grenadepulldeath");
- self setPerk("specialty_healthregen");
- self setPerk("specialty_holdbreath");
- self setPerk("specialty_immunecounteruav");
- self setPerk("specialty_immuneemp");
- self setPerk("specialty_immunemms");
- self setPerk("specialty_immunenvthermal");
- self setPerk("specialty_immunerangefinder");
- self setPerk("specialty_killstreak");
- self setPerk("specialty_longersprint");
- self setPerk("specialty_loudenemies");
- self setPerk("specialty_marksman");
- self setPerk("specialty_movefaster");
- self setPerk("specialty_nomotionsensor");
- self setPerk("specialty_noname");
- self setPerk("specialty_nottargetedbyairsupport");
- self setPerk("specialty_nokillstreakreticle");
- self setPerk("specialty_nottargettedbysentry");
- self setPerk("specialty_pin_back");
- self setPerk("specialty_pistoldeath");
- self setPerk("specialty_proximityprotection");
- self setPerk("specialty_quickrevive");
- self setPerk("specialty_quieter");
- self setPerk("specialty_reconnaissance");
- self setPerk("specialty_rof");
- self setPerk("specialty_scavenger");
- self setPerk("specialty_showenemyequipment");
- self setPerk("specialty_stunprotection");
- self setPerk("specialty_shellshock");
- self setPerk("specialty_sprintrecovery");
- self setPerk("specialty_showonradar");
- self setPerk("specialty_stalker");
- self setPerk("specialty_twogrenades");
- self setPerk("specialty_twoprimaries");
- self setPerk("specialty_unlimitedsprint");
- self iPrintln("All Perks ^2Set");
- }
- SpeedX2()
- {
- self.speedScaleX2 = booleanOpposite(self.speedScaleX2);
- self iPrintln(booleanReturnVal(self.speedScaleX2, "Speed X2: ^1Off", "Speed X2: ^2On"));
- if(self.speedScaleX2)
- self setMoveSpeedScale(2);
- else
- self setMoveSpeedScale(1);
- }
- kamikaze()
- {
- self endon("disconnect");
- Location = locationSelector();
- self iPrintlnBold("^3Kamikaze Bomber Inbound");
- Kamikaze = spawn("script_model", self.origin + (24000,15000,25000));
- Kamikaze setModel("veh_t6_air_fa38_killstreak");
- Kamikaze.killCamEnt = Kamikaze;
- Angles = vectorToAngles( Location - (self.origin+(8000,5000,10000)));
- Kamikaze.angles = Angles;
- Kamikaze moveTo(Location, 3.5);
- Kamikaze playsound("mpl_lightning_flyover_boom");
- playFxOnTag(level.chopper_fx["damage"]["light_smoke"], Kamikaze, "tag_origin");
- wait 3.6;
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin);
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin+(400,0,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,400,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin+(400,400,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,400));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin-(400,0,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin-(0,400,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin-(400,400,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,800));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin+(200,0,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,200,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin+(200,200,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,200));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin-(200,0,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin-(0,200,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin-(200,200,0));
- playFx(level.chopper_fx["explode"]["large"], Kamikaze.origin+(0,0,200));
- Kamikaze playsound(level.heli_sound["crash"]);
- Kamikaze RadiusDamage(Kamikaze.origin, 500, 1000, 100, self, "MOD_PROJECTILE_SPLASH", "planemortar_mp");
- Kamikaze delete();
- Earthquake( 0.4, 4, Kamikaze.origin, 800 );
- }
- initJericho()
- {
- self endon("disconnect");
- level.waypointGreen = loadFX("misc/fx_equip_tac_insert_light_grn");
- level.waypointRed = loadFX("misc/fx_equip_tac_insert_light_red");
- if(!self.awaitingMissiles)
- {
- self.awaitingMissiles = true;
- missilesReady = 0;
- numberOfMissiles = 5;
- self iPrintln("Shoot To Select Missile Paths");
- while(missilesReady != numberOfMissiles)
- {
- self waittill("weapon_fired");
- target = traceBullet();
- mFx = spawnFx(level.waypointGreen, target, (0, 0, 1), (1, 0, 0));
- triggerFx(mFx);
- self thread spawnJerichoMissile(target, mFx);
- missilesReady++;
- }
- self.awaitingMissiles = false;
- self iPrintln("All Missile Paths Initialized, Fire Your Weapon To Launch Missiles");
- self waittill("weapon_fired");
- self notify("launchMissiles");
- }
- else
- self iPrintln("^1Launch Current Missile Calling In New Ones!");
- }
- spawnJerichoMissile(target, mFx)
- {
- self endon("disconnect");
- self waittill("launchMissiles");
- mFx delete();
- mFx = spawnFx(level.waypointRed, target, (0, 0, 1), (1, 0, 0));
- triggerFx(mFx);
- location = target+(0, 3500, 5000);
- missile = spawn("script_model", location);
- missile setModel("projectile_sidewinder_missile");
- missile.angles = missile.angles+(90, 90, 90);
- missile.killCamEnt = missile;
- missile rotateto(VectorToAngles(target - missile.origin), 0.01);
- wait 0.01;
- time = 3;
- endLocation = BulletTrace(missile.origin, target, false, self)["position"];
- missile moveTo(endLocation, time);
- wait time;
- missile playsound("wpn_rocket_explode");
- playFx(level.remote_mortar_fx["missileExplode"], missile.origin+(0, 0, 1));
- missile RadiusDamage(missile.origin, 450, 700, 350, self, "MOD_PROJECTILE_SPLASH", "remote_missile_bomblet_mp");
- missile delete();
- mFx delete();
- }
- initStrafeRun()
- {
- if (!level.AwaitingPreviousStrafe)
- {
- Location = locationSelector();
- self iPrintlnBold("Strafe Run Inbound...");
- level.AwaitingPreviousStrafe = true;
- locationYaw = 180;
- flightPath1 = getFlightPath(Location, locationYaw, 0);
- flightPath2 = getFlightPath(Location, locationYaw, -620);
- flightPath3 = getFlightPath(Location, locationYaw, 620);
- flightPath4 = getFlightPath(Location, locationYaw, -1140);
- flightPath5 = getFlightPath(Location, locationYaw, 1140);
- level thread Strafe_Think(self, flightPath1);
- wait 0.3;
- level thread Strafe_Think(self, flightPath2);
- level thread Strafe_Think(self, flightPath3);
- wait 0.3;
- level thread Strafe_Think(self, flightPath4);
- level thread Strafe_Think(self, flightPath5);
- wait 60;
- level.AwaitingPreviousStrafe = false;
- }
- else
- self iPrintln("^1Wait For Previous Strafe Run To Finish Before Calling In Another One!");
- }
- Strafe_Think(owner, flightPath)
- {
- level endon("game_ended");
- if (!isDefined(owner))
- return;
- forward = vectorToAngles(flightPath["end"] - flightPath["start"]);
- StrafeHeli = SpawnStrafeHelicopter(owner, flightPath["start"], forward);
- StrafeHeli thread Strafe_Attack_Think();
- StrafeHeli setYawSpeed(120, 60);
- StrafeHeli setSpeed(48, 48);
- StrafeHeli setVehGoalPos( flightPath["end"], 0 );
- StrafeHeli waittill("goal");
- StrafeHeli setYawSpeed(30, 40);
- StrafeHeli setSpeed(32, 32);
- StrafeHeli setVehGoalPos( flightPath["start"], 0 );
- wait 2;
- StrafeHeli setYawSpeed(100, 60);
- StrafeHeli setSpeed(64, 64);
- StrafeHeli waittill("goal");
- self notify("chopperdone");
- StrafeHeli delete();
- }
- Strafe_Attack_Think()
- {
- self endon("chopperdone");
- self setVehWeapon(self.defaultweapon);
- for( ;; )
- {
- for (i = 0; i < level.players.size; i++)
- {
- if(CanTargetPlayer(level.players[i]))
- {
- self setturrettargetent(level.players[i]);
- self FireWeapon("tag_flash", level.players[i]);
- }
- }
- wait 0.5;
- }
- }
- SpawnStrafeHelicopter(owner, origin, angles)
- {
- Team = owner.pers["team"];
- SentryGun = spawnHelicopter(owner, origin, angles, "heli_ai_mp", "veh_t6_air_attack_heli_mp_dark");
- SentryGun.team = Team;
- SentryGun.pers["team"] = Team;
- SentryGun.owner = owner;
- SentryGun.currentstate = "ok";
- SentryGun setdamagestage(4);
- SentryGun.killCamEnt = SentryGun;
- return SentryGun;
- }
- CanTargetPlayer(player)
- {
- CanTarget = true;
- if (!IsAlive(player) || player.sessionstate != "playing")
- return false;
- if (Distance(player.origin, self.origin ) > 5000)
- return false;
- if (!isDefined(player.pers["team"]))
- return false;
- if (level.teamBased && player.pers["team"] == self.team)
- return false;
- if (player == self.owner)
- return false;
- if (player.pers["team"] == "spectator")
- return false;
- if (!BulletTracePassed(self getTagOrigin("tag_origin"), player getTagOrigin("j_head"), false, self))
- return false;
- return CanTarget;
- }
- getFlightPath( location, locationYaw, rightOffset )
- {
- location = location * (1, 1, 0);
- initialDirection = (0, locationYaw, 0);
- planeHalfDistance = 12000;
- flightPath = [];
- if (isDefined(rightOffset) && rightOffset != 0)
- location = location + (AnglesToRight(initialDirection ) * rightOffset ) + (0, 0, RandomInt(300));
- startPoint = (location + (AnglesToForward(initialDirection) * (-1 * planeHalfDistance)));
- endPoint = (location + (AnglesToForward(initialDirection) * planeHalfDistance));
- flyheight = 1500;
- if (isDefined(maps/mp/killstreaks/_airsupport::getminimumflyheight()))
- flyheight = maps/mp/killstreaks/_airsupport::getminimumflyheight();
- flightPath["start"] = startPoint + ( 0, 0, flyHeight );
- flightPath["end"] = endPoint + ( 0, 0, flyHeight );
- return flightPath;
- }
- spawnFlyableJet()
- {
- if(!isDefined(self.jet["spawned"]) && !self.inVehicle)
- {
- setDvar("cg_thirdPersonRange", "500");
- self.jet["jetModel"] = "veh_t6_drone_overwatch_light";
- self.jet["runJet"] = true;
- self.jet["spawned"] = true;
- self.jet["jetLanded"] = false;
- self.jet["inJet"] = false;
- self.jet["jetWaitTime"] = 2;
- self.jet["landPosition"] = self locationSelector();
- self.jet["landPosition"] += (0, 0, 60);
- self.jet["spawnAngles"] = VectorToAngles(self.jet["spawnPosition"] - self.jet["landPosition"]);
- self.jet["spawnPosition"] = self.jet["landPosition"] + (0, 20000, maps/mp/killstreaks/_airsupport::getminimumflyheight());
- self.jet["spawnAngles"] = VectorToAngles(self.jet["landPosition"] - self.jet["spawnPosition"]);
- self.jet["jetEntity"] = spawnHelicopter(self, self.jet["spawnPosition"], self.jet["spawnAngles"], "heli_guard_mp", self.jet["jetModel"]);
- self thread Jet_Think();
- }
- else
- {
- if (self.inVehicle)
- self iPrintln("You Are Already In A Vehicle");
- else
- self iPrintln("You Can Only Spawn One Jet At A Time!");
- }
- }
- Jet_Think()
- {
- level endon("game_ended");
- self endon("disconnect");
- self endon("endJet");
- self endon("JetLeaving");
- self.jet["jetEntity"] SetSpeed(800, 100, 100);
- self.jet["jetEntity"] SetYawSpeed(200, 150);
- self.jet["jetEntity"] SetVehGoalPos(self.jet["landPosition"] + (0, 0, maps/mp/killstreaks/_airsupport::getminimumflyheight()), 1);
- for (;;)
- {
- if (!self.jet["jetLanded"])
- {
- if (Distance(self.jet["jetEntity"].origin, self.jet["landPosition"] + (0, 0, maps/mp/killstreaks/_airsupport::getminimumflyheight())) < 200)
- {
- wait self.jet["jetWaitTime"];
- self.jet["jetEntity"] SetSpeed(300, 80);
- self.jet["jetEntity"] SetVehGoalPos(self.jet["landPosition"], 1);
- }
- if (Distance(self.jet["jetEntity"].origin, self.jet["landPosition"]) < 300)
- {
- self.jet["jetLanded"] = true;
- self iPrintln("^2Helicopter Landed!");
- self iPrintln("Press [{+usereload}] To Enter The Helicopter When You Are Near It");
- }
- }
- else if (self useButtonPressed() && !self.jet["inJet"] && self.jet["jetLanded"] && Distance(self.origin, self.jet["jetEntity"].origin) < 150)
- {
- closeMenuAnywhere();
- self iPrintln("Press [{+attack}] To Accelerate");
- self iPrintln("Press [{+actionslot 4}] To Change Weapon");
- self iPrintln("Press [{+frag}] To Fire Weapon");
- self iPrintln("Press [{+usereload}] To Exit Helicopter");
- self.jet["inJet"] = true;
- self disableWeapons();
- self detachAll();
- self setOrigin(((self.jet["jetEntity"].origin) + (AnglesToForward(self.jet["jetEntity"].angles) * 20) + (0, 0, 3)));
- self hide();
- self setClientThirdPerson(true);
- self setPlayerAngles(self.jet["jetEntity"].angles + (0, 0, 0));
- self PlayerLinkTo(self.jet["jetEntity"]);
- self thread Jet_Move_Think();
- self thread Jet_Death_Think();
- self thread Jet_Weapons_Think();
- wait 1;
- }
- if (self useButtonPressed() && self.jet["inJet"])
- self thread Jet_Exit_Think();
- wait 0.05;
- }
- }
- Jet_Move_Think()
- {
- level endon("game_ended");
- self endon("disconnect");
- self endon("endJet");
- jetTrace = undefined;
- while (self.jet["inJet"])
- {
- jetTrace = playerAnglesToForward(self, 150 + self.jet["speed"]);
- if (self attackButtonPressed())
- {
- if(self.jet["speed"] < 0)
- self.jet["speed"] = 0;
- if(self.jet["speed"] < 500)
- self.jet["speed"] += 2.5;
- self.jet["jetEntity"] SetVehGoalPos(jetTrace, 1);
- self.jet["jetEntity"] SetSpeed(self.jet["speed"], 80);
- self.jet["jetEntity"] SetYawSpeed(200, 150);
- }
- else
- {
- if(self.jet["speed"] > 0)
- {
- self.jet["speed"] -= 5;
- self.jet["jetEntity"] SetSpeed(self.jet["speed"], 80, 80);
- self.jet["jetEntity"] SetYawSpeed(200, 150);
- }
- }
- wait 0.05;
- }
- }
- changeJetProjectile()
- {
- self.jet["weapnum"] += 1;
- if (self.jet["weapnum"] == 1)
- {
- self.jet["weapon"] = "ai_tank_drone_rocket_mp";
- self.jet["weaponFireTime"] = 0.50;
- }
- if (self.jet["weapnum"] == 2)
- {
- self.jet["weapon"] = "straferun_rockets_mp";
- self.jet["weaponFireTime"] = 0.50;
- }
- if (self.jet["weapnum"] == 3)
- {
- self.jet["weapon"] = "remote_missile_bomblet_mp";
- self.jet["weaponFireTime"] = 0.50;
- }
- if (self.jet["weapnum"] == 4)
- {
- self.jet["weapon"] = "cobra_20mm_comlink_mp";
- self.jet["weaponFireTime"] = 0.05;
- }
- if (self.jet["weapnum"] == 5)
- {
- self.jet["weapon"] = "chopper_minigun_mp";
- self.jet["weaponFireTime"] = 0.05;
- }
- if (self.jet["weapnum"] == 6)
- {
- self.jet["weapon"] = "littlebird_guard_minigun_mp";
- self.jet["weaponFireTime"] = 0.05;
- }
- if (self.jet["weapnum"] == 6)
- self.jet["weapnum"] = 0;
- }
- Jet_Weapons_Think()
- {
- level endon("game_ended");
- self endon("disconnect");
- self endon("endJet");
- self.jet["weapnum"] = 1;
- self.jet["weapon"] = "ai_tank_drone_rocket_mp";
- self.jet["weaponFireTime"] = 0.50;
- self.jet["WeaponHUD"] = drawText("Current Weapon: " + self.jet["weapon"], "objective", 1.5, 0, 400, (1, 1, 1), 1, (0, 0, 0), 0, 8, false);
- while (self.jet["inJet"])
- {
- if (self fragButtonPressed())
- {
- HeliAnglesForwardTemp = self.jet["jetEntity"].origin + vectorScale(AnglesToForward(self.jet["jetEntity"].angles), 999999);
- MagicBullet(self.jet["weapon"], self.jet["jetEntity"] getTagOrigin("tag_flash"), traceBulletCustom(self.jet["jetEntity"] getTagOrigin("tag_flash"), HeliAnglesForwardTemp, "position", true), self);
- MagicBullet(self.jet["weapon"], self.jet["jetEntity"] getTagOrigin("tag_flash_gunner1"), traceBulletCustom(self.jet["jetEntity"] getTagOrigin("tag_flash_gunner1"), HeliAnglesForwardTemp, "position", true), self);
- wait self.jet["weaponFireTime"];
- }
- else if (self actionSlotFourButtonPressed())
- {
- self changeJetProjectile();
- self.jet["WeaponHUD"] destroyElem();
- self.jet["WeaponHUD"] = drawText("Current Weapon: " + self.jet["weapon"], "objective", 1.5, 0, 400, (1, 1, 1), 1, (0, 0, 0), 0, 8, false);
- }
- wait 0.05;
- }
- }
- Jet_Exit_Think()
- {
- self endon("endJet");
- self endon("disconnect");
- self.jet["speed"] = 0;
- self.jet["WeaponHUD"] destroyElem();
- self.jet["runJet"] = false;
- self.jet["jetLanded"] = false;
- self.jet["inJet"] = false;
- self notify("JetLeaving");
- self unlink();
- self enableWeapons();
- self show();
- self setClientThirdPerson(false);
- wait self.jet["jetWaitTime"];
- self.jet["jetEntity"] SetSpeed(300, 100);
- self.jet["jetEntity"] SetYawSpeed(200, 150);
- self.jet["jetEntity"] SetVehGoalPos(self.jet["jetEntity"].origin + (0, 0, maps/mp/killstreaks/_airsupport::getminimumflyheight()), 1);
- self.jet["tempGoal"] = self.jet["jetEntity"].origin + (0, 0, maps/mp/killstreaks/_airsupport::getminimumflyheight());
- for (;;)
- {
- if (Distance(self.jet["jetEntity"].origin, self.jet["tempGoal"]) < 200)
- {
- wait self.jet["jetWaitTime"];
- self.jet["jetEntity"] SetSpeed(800, 100, 100);
- self.jet["jetEntity"] SetYawSpeed(200, 150);
- self.jet["jetEntity"] SetVehGoalPos(self.jet["spawnPosition"], 1);
- wait 0.01;
- }
- else if (Distance(self.jet["jetEntity"].origin, self.jet["spawnPosition"]) < 200)
- {
- self.jet["spawned"] = undefined;
- self.jet["jetEntity"] delete();
- wait 0.01;
- self notify("endJet");
- }
- wait 0.05;
- }
- }
- Jet_Death_Think()
- {
- level endon("game_ended");
- self endon("disconnect");
- self endon("endJet");
- self waittill("death");
- if(self.jet["inJet"])
- self thread Jet_Exit_Think();
- wait 0.2;
- }
- spawnDrivableCar()
- {
- if(!isDefined(self.car["spawned"]) && !self.inVehicle)
- {
- self.inVehicle = true;
- setDvar("cg_thirdPersonRange", "300");
- self.car["carModel"] = "veh_t6_drone_rcxd";
- self.car["spawned"] = true;
- self.car["runCar"] = true;
- self.car["inCar"] = false;
- self.car["spawnPosition"] = self.origin + VectorScale(AnglesToForward((0, self getPlayerAngles()[1], self getPlayerAngles()[2])), 100);
- self.car["spawnAngles"] = (0, self getPlayerAngles()[1], self getPlayerAngles()[2]);
- self.car["carEntity"] = spawn("script_model", self.car["spawnPosition"]);
- self.car["carEntity"].angles = self.car["spawnAngles"];
- self.car["carEntity"] setModel(self.car["carModel"]);
- wait 0.2;
- self thread Vehicle_Wait_Think();
- }
- else
- {
- if (self.inVehicle)
- self iPrintln("You Are Already In A Vehicle");
- else
- self iPrintln("You Can Only Spawn One Car At A Time!");
- }
- }
- Vehicle_Wait_Think()
- {
- level endon("game_ended");
- self endon("disconnect");
- self endon("end_car");
- while(self.car["runCar"])
- {
- if(distance(self.origin, self.car["carEntity"].origin) < 120)
- {
- if(self useButtonPressed())
- {
- if(!self.car["inCar"])
- {
- closeMenuAnywhere();
- self iPrintln("Press [{+attack}] To Accelerate");
- self iPrintln("Press [{+speed_throw}] To Reverse/Break");
- self iPrintln("Press [{+reload}] To Exit Car");
- self.car["speed"] = 0;
- self.car["inCar"] = true;
- self disableWeapons();
- self detachAll();
- self setOrigin(((self.car["carEntity"].origin) + (AnglesToForward(self.car["carEntity"].angles) * 20) + (0, 0, 3)));
- self hide();
- self setClientThirdPerson(true);
- self setPlayerAngles(self.car["carEntity"].angles + (0, 0, 0));
- self PlayerLinkTo(self.car["carEntity"]);
- self thread Vehicle_Physics_Think();
- self thread Vehicle_Death_Think();
- wait 1;
- }
- else
- self thread Vehicle_Exit_Think();
- }
- }
- wait .05;
- }
- }
- Vehicle_Physics_Think()
- {
- level endon("game_ended");
- self endon("disconnect");
- self endon("end_car");
- self.car["speedBar"] = drawBar((1, 1, 1), 100, 7, "", "", 0, 170);
- carPhysics = undefined;
- carTrace = undefined;
- newCarAngles = undefined;
- while(self.car["runCar"])
- {
- carPhysics = ((self.car["carEntity"].origin) + ((AnglesToForward(self.car["carEntity"].angles) * (self.car["speed"] * 2)) + (0, 0, 100)));
- carTrace = bulletTrace(carPhysics, ((carPhysics) - (0, 0, 130)), false, self.car["carEntity"])["position"];
- if(self attackButtonPressed())
- {
- if(self.car["speed"] < 0)
- self.car["speed"] = 0;
- if(self.car["speed"] < 50)
- self.car["speed"] += 0.4;
- newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
- self.car["carEntity"] moveTo(carTrace, 0.2);
- self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
- }
- else
- {
- if(self.car["speed"] > 0)
- {
- newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
- self.car["speed"] -= 0.7;
- self.car["carEntity"] moveTo(carTrace, 0.2);
- self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
- }
- }
- if(self adsButtonPressed())
- {
- if(self.car["speed"] > -20)
- {
- if(self.car["speed"] < 0)
- newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
- self.car["speed"] -= 0.5;
- self.car["carEntity"] moveTo(carTrace, 0.2);
- }
- else
- self.car["speed"] += 0.5;
- self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
- }
- else
- {
- if(self.car["speed"] < -1)
- {
- if(self.car["speed"] < 0)
- newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
- self.car["speed"] += 0.8;
- self.car["carEntity"] moveTo(carTrace, 0.2);
- self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
- }
- }
- self.car["speedBar"] updateBar(self.car["speed"]/50);
- wait 0.05;
- }
- }
- Vehicle_Death_Think()
- {
- self endon("disconnect");
- self endon("end_car");
- self waittill("death");
- if(self.car["inCar"])
- thread Vehicle_Exit_Think();
- else
- thread Vehicle_Exit_Think();
- wait 0.2;
- }
- Vehicle_Exit_Think()
- {
- self.inVehicle = false;
- self.car["speed"] = 0;
- self.car["inCar"] = false;
- self.car["runCar"] = false;
- self.car["spawned"] = undefined;
- self.car["speedBar"] destroyElem();
- self.car["carEntity"] delete();
- self unlink();
- self enableWeapons();
- self show();
- self setClientThirdPerson(false);
- self notify("end_car");
- }
- spawnMine()
- {
- self endon("disconnect");
- if (!isDefined(self.mineNum))
- self.mineNum = 0;
- self.mineOrigin[self.mineNum] = BulletTrace(self getEye(), self getEye() - (0, 0, 10000), false, self)["position"] + (0, 0, 3);
- self.mine[self.mineNum] = spawn("script_model", self.mineOrigin[self.mineNum]);
- self.mine[self.mineNum] setModel("t6_wpn_bouncing_betty_world");
- self.mineNum++;
- self iPrintln("Spawned A Mine At Your Position!");
- if (self.minesActive == false)
- {
- self thread Mine_Think();
- self.minesActive = true;
- }
- }
- Mine_Think()
- {
- self endon("disconnect");
- for(;;)
- {
- foreach(player in level.players)
- {
- for(i = 0; i < self.mineNum; i++)
- {
- if(distance(self.mineOrigin[i], player.origin) < 25 && player != self && !(level.teamBased && player.team == self.team) && isAlive(player))
- {
- self.mine[i] RadiusDamage(self.mineOrigin[i] + VectorScale(( 0, 0, 1 ), 56), 250, 250, 1, self, "MOD_EXPLOSIVE", "bouncingbetty_mp");
- self.mine[i] playSound("fly_betty_explo");
- playFx(level.bettyexplosionfx, self.mineOrigin[i]);
- self.mine[i] hide();
- self.mine[i] destroy();
- self.mineOrigin[i] = undefined;
- self.mineNum--;
- }
- }
- wait 0.05;
- }
- wait 0.05;
- }
- }
- changeAimingPos()
- {
- self.aimpos += 1;
- if (self.aimpos == 1)
- self.aimingPosition = "j_spineupper";
- if (self.aimpos == 2)
- self.aimingPosition = "j_spinelower";
- if (self.aimpos == 3)
- self.aimingPosition = "j_head";
- if (self.aimpos == 3)
- self.aimpos = 0;
- self iPrintln("Aiming Position Set To: ^2" + self.aimingPosition);
- }
- aimingMethod()
- {
- self.aimingRequired = booleanOpposite(self.aimingRequired);
- self iPrintln(booleanReturnVal(self.aimingRequired, "Aiming Required: ^1Off", "Aiming Required: ^2On"));
- }
- unfairAimbot()
- {
- self.unfairMode = booleanOpposite(self.unfairMode);
- self iPrintln(booleanReturnVal(self.unfairMode, "Unfair Mode: ^1Off", "Unfair Mode: ^2On"));
- }
- Aimbot()
- {
- level endon("game_ended");
- self endon("disconnect");
- self endon("statusChanged");
- self endon("disableAimbot");
- self.Aimbot = booleanOpposite(self.Aimbot);
- self iPrintln(booleanReturnVal(self.Aimbot, "Classic Aimbot: ^1Off", "Classic Aimbot: ^2On"));
- if (self.Aimbot)
- {
- for(;;)
- {
- wait 0.01;
- aimAt = undefined;
- foreach(player in level.players)
- {
- if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
- continue;
- if(isDefined(aimAt))
- {
- if(Closer(self getTagOrigin(self.aimingPosition), player getTagOrigin(self.aimingPosition), aimAt getTagOrigin(self.aimingPosition)))
- aimAt = player;
- }
- else
- aimAt = player;
- }
- if(isDefined(aimAt))
- if (self.aimingRequired)
- {
- if (self.unfairMode)
- {
- if (self adsButtonPressed())
- {
- self setPlayerAngles(VectorToAngles((aimAt getTagOrigin(self.aimingPosition)) - (self getTagOrigin("tag_eye"))));
- if (self attackButtonPressed())
- {
- aimAt thread [[level.callbackPlayerDamage]](self, self, 100, 0, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0, 0, 0), (0, 0, 0), "head", 0, 0);
- wait 0.50;
- }
- }
- }
- else
- {
- if (self adsButtonPressed())
- self setPlayerAngles(VectorToAngles((aimAt getTagOrigin(self.aimingPosition)) - (self getTagOrigin("tag_eye"))));
- }
- }
- else
- {
- if (self.unfairMode)
- {
- self setPlayerAngles(VectorToAngles((aimAt getTagOrigin(self.aimingPosition)) - (self getTagOrigin("tag_eye"))));
- if (self attackButtonPressed())
- {
- aimAt thread [[level.callbackPlayerDamage]](self, self, 100, 0, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0, 0, 0), (0, 0, 0), "head", 0, 0);
- wait 0.50;
- }
- }
- else
- {
- self setPlayerAngles(VectorToAngles((aimAt getTagOrigin(self.aimingPosition)) - (self getTagOrigin("tag_eye"))));
- }
- }
- }
- }
- else
- self notify("disableAimbot");
- }
- ToggleUFO()
- {
- self endon("disconnect");
- self endon("death");
- self endon("disableUFO");
- self.UFO = booleanOpposite(self.UFO);
- self iPrintln(booleanReturnVal(self.UFO, "UFO Mode: ^1Off", "UFO Mode: ^2On^7\nPress [{+frag}] To Move!"));
- if (self.UFO)
- {
- self.parentObject = spawn("script_origin", self.origin);
- self.parentObject.angles = self.angles;
- self PlayerLinkTo(self.parentObject, undefined);
- self disableWeapons();
- for(;;)
- {
- if(self fragButtonPressed())
- self.parentObject moveTo(playerAnglesToForward(self, 25), 0.05);
- wait 0.01;
- }
- }
- else
- {
- self unlink();
- self enableWeapons();
- self.parentObject delete();
- self notify("disableUFO");
- }
- }
- givePlayerGod(player)
- {
- player InfiniteHealth(false);
- self iPrintln(booleanReturnVal(player.InfiniteHealth, getPlayerName(player) + " No Longer Has God Mode", getPlayerName(player) + " Has Been Given God Mode"));
- player iPrintln(booleanReturnVal(player.InfiniteHealth, "You No Longer Have God Mode", "You Have Been Given God Mode"));
- }
- InfiniteHealth(print, printplayer)
- {
- self.InfiniteHealth = booleanOpposite(self.InfiniteHealth);
- if (print)
- self iPrintln(booleanReturnVal(self.InfiniteHealth, "God Mode: ^1Off", "God Mode: ^2On"));
- if (self.InfiniteHealth)
- self enableInvulnerability();
- else
- self disableInvulnerability();
- }
- godModeAllPlayers()
- {
- self endon("disconnect");
- self.allGodMode = booleanOpposite(self.allGodMode);
- self iPrintln(booleanReturnVal(self.allGodMode, "All Players Are No Longer God", "All Players Are God"));
- foreach(player in level.players)
- {
- if (!player isHost() || player != self)
- {
- if (self.allGodMode)
- {
- if (!player.InfiniteHealth)
- player thread InfiniteHealth(false);
- }
- else
- {
- if (player.InfiniteHealth)
- player thread InfiniteHealth(false);
- }
- }
- wait 0.05;
- }
- }
- InfiniteAmmo()
- {
- self endon("disconnect");
- self endon("disableInfAmmo");
- self.InfiniteAmmo = booleanOpposite(self.InfiniteAmmo);
- self iPrintln(booleanReturnVal(self.InfiniteAmmo, "Infinite Ammo: ^1Off", "Infinite Ammo: ^2On"));
- if (self.InfiniteAmmo)
- {
- for(;;)
- {
- if (self getCurrentWeapon() != "none")
- {
- self setWeaponAmmoClip(self getCurrentWeapon(), weaponClipSize(self getCurrentWeapon()));
- self giveMaxAmmo(self getCurrentWeapon());
- }
- if (self getCurrentOffHand() != "none")
- self giveMaxAmmo(self getCurrentOffHand());
- wait 0.05;
- }
- }
- else
- self notify("disableInfAmmo");
- }
- forgeMode()
- {
- self endon("disconnect");
- self endon("statusChanged");
- self endon("disableForgeMode");
- self.ForgeMode = booleanOpposite(self.ForgeMode);
- self iPrintln(booleanReturnVal(self.ForgeMode, "Forge Mode: ^1Off", "Forge Mode: ^2On\n^7Press [{+speed_throw}] To Pickup Objects and Players"));
- if (self.ForgeMode)
- {
- for (;;)
- {
- if (self adsButtonPressed())
- {
- if (self.currentEntity != undefined)
- {
- anglesForwad = self getEye() + AnglesToForward(self getPlayerAngles()) * 200;
- self.currentEntity setOrigin(anglesForwad);
- self.currentEntity.origin = anglesForwad;
- }
- else
- self.currentEntity = traceBullet(100000, "entity", true);
- }
- else
- self.currentEntity = traceBullet(100000, "entity", true);
- wait 0.05;
- }
- }
- else
- self notify("disableForgeMode");
- }
- spawnEntity(model, origin)
- {
- entity = spawn("script_model", origin);
- entity setModel(model);
- return entity;
- }
- spawnEntityPlayer(model)
- {
- spawnPosition = self traceBullet(200);
- entity = spawn("script_model", spawnPosition);
- entity setModel(model);
- self iPrintln("Object Spawned: ^2" + model);
- return entity;
- }
- spawnTurretPlayer(turrettype)
- {
- spawnPosition = self traceBullet(200);
- turret = spawnTurret("misc_turret", spawnPosition, turrettype);
- turret.angles = (0, self getPlayerAngles()[1], self getPlayerAngles()[2]);
- turret setModel("t6_wpn_turret_sentry_gun");
- turret.weaponinfoname = turrettype;
- self iPrintln("Turret Spawned: ^2" + turrettype);
- return turret;
- }
- pokeFlash()
- {
- self.pokeHud = drawShader("white", 0, -100, 1000, 1000, (1, 1, 1), 0, 10, false);
- self.pokeHud FadeOverTime(0.50);
- self.pokeHud.alpha = 1;
- wait 0.50;
- self.pokeHud FadeOverTime(0.50);
- self.pokehud.alpha = 0;
- wait 0.50;
- self.pokeHud FadeOverTime(0.50);
- self.pokeHud.alpha = 1;
- wait 0.50;
- self.pokeHud FadeOverTime(0.50);
- self.pokeHud.alpha = 0;
- wait 0.50;
- self.pokeHud destroyElem();
- self notify("finishedFlash");
- }
- pokeBall()
- {
- self endon("disconnect");
- self endon("pokemonRelease");
- if (!self.pokeBall)
- {
- self GivePlayerWeapon("sensor_grenade_mp", false);
- self iPrintln("Throw Your Sensor Grenade To Release The Pokemon!");
- self.pokeBall = true;
- for (;;)
- {
- self waittill("grenade_fire", grenade, weaponName);
- if(weaponName == "sensor_grenade_mp")
- {
- self iPrintlnBold("Arcanine, I Choose You!");
- grenade hide();
- self.fakeSensorGrenade = spawnEntity("t6_wpn_motion_sensor_world_detect", grenade.origin);
- self.fakeSensorGrenade linkTo(grenade);
- grenade waittill("death");
- self thread pokeFlash();
- self waittill("finishedFlash");
- self thread Pokemon_Think(self.fakeSensorGrenade.origin, self.fakeSensorGrenade.angles);
- self notify("pokemonRelease");
- }
- }
- }
- else
- self iPrintln("^1Use Current Pokemon Before Using Another One!");
- }
- Pokemon_Think(origin, angles)
- {
- self.pokemon["model"] = "german_shepherd";
- self.pokemon["pokemonEntity"] = spawn("script_model", origin);
- self.pokemon["pokemonEntity"] SetModel(self.pokemon["model"]);
- self.pokemon["newOrigin"] = origin + (0, 0, 500);
- self.pokemon["pokemonEntity"] RotateTo((0, angles[1], 0), 0);
- self.pokemon["pokemonEntity"] MoveTo(self.pokemon["newOrigin"], 5);
- wait 5;
- self.pokemon["newOrigin"] = self.pokemon["pokemonEntity"].origin + VectorScale(AnglesToForward(self.pokemon["pokemonEntity"].angles), 1000);
- self.pokemon["pokemonEntity"] MoveTo(self.pokemon["newOrigin"], 0.50);
- wait 0.50;
- self.pokemon["pokemonEntity"] PlaySound(level.heli_sound["crash"]);
- foreach(player in level.players)
- {
- if (level.teamBased && self.pers["team"] == player.pers["team"])
- { }
- else
- {
- if (player != self)
- player thread [[level.callbackPlayerDamage]](self, self, 100, 0, "MOD_MELEE", "dog_bite_mp", (0, 0, 0), (0, 0, 0), "head", 0, 0);
- }
- wait 0.05;
- }
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin);
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (400, 0, 0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 400, 0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (400, 400, 0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 0 ,400));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (400, 0, 0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (0, 400, 0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (400, 400, 0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 0, 800));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (200, 0, 0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 200, 0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (200, 200, 0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 0, 200));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (200, 0, 0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (0 ,200 ,0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (200, 200, 0));
- playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 0, 200));
- self.pokemon["pokemonEntity"] delete();
- self.fakeSensorGrenade delete();
- self.pokeBall = false;
- }
- setVision(vision, transitionTime)
- {
- visionSetNaked(vision, transitionTime);
- self setinvisibletoall();
- self setvisibletoplayer(self);
- }
- rocketTeleportGun()
- {
- self endon("disconnect");
- self endon("statusChanged");
- self endon("disableRocketGun");
- self.rocketTeleporter = booleanOpposite(self.rocketTeleporter);
- self iPrintln(booleanReturnVal(self.rocketTeleporter, "Rocket Teleporter: ^1Off", "Rocket Teleporter: ^2On\nFire An RPG To Activate"));
- if (self.rocketTeleporter)
- {
- self GivePlayerWeapon("usrpg_mp", false);
- for (;;)
- {
- self waittill("missile_fire", weapon, weapname);
- if (weapname == "usrpg_mp")
- {
- self detachAll();
- self PlayerLinkTo(weapon);
- weapon waittill("death");
- self detachAll();
- }
- wait 0.05;
- }
- }
- else
- self notify("disableRocketGun");
- }
Advertisement
Add Comment
Please, Sign In to add comment