commit 1fa82b982ad2042e73e0c174a6f3dc6dfc1ef04d Author: Nathan Date: Mon Apr 14 14:43:47 2025 +0100 Added old code files diff --git a/base.gsc b/base.gsc new file mode 100644 index 0000000..8662236 --- /dev/null +++ b/base.gsc @@ -0,0 +1,590 @@ +CreateMenu() +{ + self add_menu(self.menuname, undefined, "Unverified"); + self add_option(self.menuname, "Self Menu", ::submenu, "SubMenu1", "Self Menu"); + self add_option(self.menuname, "Menu Settings", ::submenu, "SubMenu18", "Menu Settings"); + self add_option(self.menuname, "Lobby Menu", ::submenu, "SubMenu2", "Lobby Menu"); + self add_option(self.menuname, "Fun Menu", ::submenu, "SubMenu3", "Fun Menu"); + self add_option(self.menuname, "Sky Menu", ::submenu, "SubMenu4", "Sky Menu"); + self add_option(self.menuname, "Sound Menu", ::submenu, "SubMenu5", "Sound Menu"); + self add_option(self.menuname, "Spawnables", ::submenu, "SubMenu6", "Spawnables"); + self add_option(self.menuname, "Forge Menu", ::submenu, "SubMenu7", "Forge Menu"); + self add_option(self.menuname, "Model Menu", ::submenu, "SubMenu8", "Model Menu"); + self add_option(self.menuname, "XP Menu", ::submenu, "SubMenu9", "XP Menu"); + self add_option(self.menuname, "Aimbot Menu", ::submenu, "SubMenu10", "Aimbot Menu"); + self add_option(self.menuname, "Modded Killstreaks", ::submenu, "SubMenu11", "Modded Killstreaks"); + self add_option(self.menuname, "Weapons Menu", ::submenu, "SubMenu12", "Weapons Menu"); + self add_option(self.menuname, "Messages Menu", ::submenu, "SubMenu13", "Messages Menu"); + self add_option(self.menuname, "Camo Menu", ::submenu, "SubMenu14", "Camo Menu"); + self add_option(self.menuname, "Bullets Menu", ::submenu, "SubMenu15", "Bullets Menu"); + self add_option(self.menuname, "Maps Menu", ::submenu, "SubMenu16", "Maps Menu"); + self add_option(self.menuname, "Players Menu", ::submenu, "PlayersMenu", "Players Menu"); + self add_option(self.menuname, "Killstreaks Menu", ::submenu, "SubMenu17", "All Clients"); + self add_option(self.menuname, "All Players Menu", ::submenu, "AllPlayersMenu", "All Players Menu"); + + + self add_menu("SubMenu1", self.menuname, "Host");// Change Verification + self add_option("SubMenu1", "Godmode", ::ToggleGodModeSelf); + self add_option("SubMenu1", "Give All Perks", ::GivePerksToggle); + self add_option("SubMenu1", "Give KillStreaks", ::GivePlayerKillStreaks, self); + self add_option("SubMenu1", "Give UAV", ::GiveUAV, self); + self add_option("SubMenu1", "Invisibility", ::InvisibilityToggle); + self add_option("SubMenu1", "Third Person", ::ThirdPersonToggle); + self add_option("SubMenu1", "-->Infinite Ammo", ::submenu, "AmmoMenu", ""); + self add_option("SubMenu1", "-->UI Mods", ::submenu, "UiModMenu", ""); + self add_option("SubMenu1", "Instant Class Changer", ::QuickClassChangeToggle); + self add_option("SubMenu1", "Sixth Sense", ::SixthSenseToggle); + self add_option("SubMenu1", "Suicide", ::PlayerSuicide, self); + + + self add_menu("AmmoMenu", "SubMenu1", "Admin");// Change Verification + self add_option("AmmoMenu", "Infinite Clip", ::ToggleInfiniteClip); + self add_option("AmmoMenu", "Infinite Equipment", ::ToggleInfiniteEquipment); + self add_option("AmmoMenu", "Infinite Stock (Legit)", ::ToggleInfiniteStockLegit); + self add_option("AmmoMenu", "Infinite Stock", ::ToggleInfiniteStockNeverEnding); + + + self add_menu("UiModMenu", "SubMenu1", "Admin");// Change Verification + self add_option("UiModMenu", "Crosshair", ::DoCrosshair); + self add_option("UiModMenu", "Always Show Perks", ::ShowPerksToggle); + + self add_menu("SubMenu2", self.menuname, "Admin");// Change Verification + self add_option("SubMenu2", "-->Spawn Bots", ::submenu, "BotsMenu", "Bots Menu"); + self add_option("SubMenu2", "Host Migration", ::ToggleHostMigration); + self add_option("SubMenu2", "-->Change Map", ::submenu, "MapsMenu", "Maps Menu"); + self add_option("SubMenu2", "-->Voice Chat Options", ::submenu, "VoiceChatMenu", "Voice Chat Options"); + self add_option("SubMenu2", "Restart Map", ::mapRestart); + self add_option("SubMenu2", "Quick Exit", ::RageQuit); + self add_option("SubMenu2", "Pause Game Timer", ::PauseGameTimer); + self add_option("SubMenu2", "Infinite Game", ::InfiniteGame); + self add_option("SubMenu2", "Always Show Enemy Names", ::AlwaysShowEnemyNames); + self add_option("SubMenu2", "Show Big Names", ::BigNames); + + self add_menu("MapsMenu", "SubMenu2", "Admin"); + self add_option("MapsMenu", "Normal Maps", ::submenu, "NormalMapsMenu", "Normal Maps Menu"); + self add_option("MapsMenu", "DLC Maps", ::submenu, "DLCMapsMenu", "DLC Maps Menu"); + + + self add_menu("NormalMapsMenu", "MapsMenu", "Admin"); + foreach( item in strTok( "la,dockside,carrier,drone,express,hijacked,meltdown,overflow,nightclub,raid,slums,village,turbine,socotra", ",") )self add_option("NormalMapsMenu", mapNameLookup(item), ::changeMap, item); + + self add_menu("DLCMapsMenu", "MapsMenu", "Admin"); + foreach( item in strTok( "nuketown_2020,downhill,mirage,hydro,skate,concert,magma,vertigo,studio,uplink,bridge,castaway,paintball,dig,frostbite,pod,takeoff", ",") )self add_option("DLCMapsMenu", mapNameLookup(item), ::changeMap, item); + + self add_menu("BotsMenu", "SubMenu2", "Admin"); + self add_option("BotsMenu", "Spawn Bot(s)", ::submenu, "SpawnBotsMenu", "Bots Menu"); + self add_option("BotsMenu", "Bot Options", ::submenu, "BotOptsMenu", "Bot Options"); + // bots menu + self add_menu("SpawnBotsMenu", "BotsMenu", "Admin"); + self add_option("SpawnBotsMenu", "Spawn 1 Bot", ::SpawnBots, 1); + self add_option("SpawnBotsMenu", "Spawn 3 Bots", ::SpawnBots, 3); + self add_option("SpawnBotsMenu", "Spawn 5 Bots", ::SpawnBots, 5); + self add_option("SpawnBotsMenu", "Spawn 7 Bots", ::SpawnBots, 7); + self add_option("SpawnBotsMenu", "Spawn 9 Bots", ::SpawnBots, 9); + self add_option("SpawnBotsMenu", "Spawn 11 Bots", ::SpawnBots, 11); + self add_option("SpawnBotsMenu", "Spawn 13 Bots", ::SpawnBots, 13); + self add_option("SpawnBotsMenu", "Spawn 15 Bots", ::SpawnBots, 15); + self add_option("SpawnBotsMenu", "Spawn 17 Bots", ::SpawnBots, 17); + + self add_menu("BotOptsMenu", "BotsMenu", "Admin"); + self add_option("BotOptsMenu", "Kick All Bots", ::KickAll, "bots"); + self add_option("BotOptsMenu", "Remove All Bots Weapons", ::RemoveWeaponsAll, "bots"); + self add_option("BotOptsMenu", "Remove All Bots Ammo", ::RemoveAmmoAll, "bots"); + self add_option("BotOptsMenu", "Suicide All Bots", ::SuicideAll, "bots"); + + + self add_menu("VoiceChatMenu", "SubMenu2", "Admin"); + self add_option("VoiceChatMenu", "Reset Voice Chat Settings", ::ResetVoiceChatSettings); + foreach( vc_opt in strTok( "KillersHearVictim,DeadHearKiller,EveryoneHearsEveryone,DeadHearAllLiving,DeadHearTeamLiving,DeadChatWithTeam,DeadChatWithDead", ",") )self add_option("VoiceChatMenu", voiceChatSettingLookup(vc_opt), ::VoiceChatSettings, vc_opt); + + self add_menu("SubMenu3", self.menuname, "Admin");// Change Verification + self add_option("SubMenu3", "Option1"); + self add_option("SubMenu3", "Option2"); + self add_option("SubMenu3", "Option3"); + self add_option("SubMenu3", "Option4"); + self add_option("SubMenu3", "Option5"); + self add_option("SubMenu3", "Option6"); + self add_option("SubMenu3", "Option7"); + + + self add_menu("SubMenu4", self.menuname, "Admin");// Change Verification + self add_option("SubMenu4", "Option1"); + self add_option("SubMenu4", "Option2"); + self add_option("SubMenu4", "Option3"); + self add_option("SubMenu4", "Option4"); + self add_option("SubMenu4", "Option5"); + self add_option("SubMenu4", "Option6"); + self add_option("SubMenu4", "Option7"); + + self add_menu("SubMenu5", self.menuname, "Admin");// Change Verification + self add_option("SubMenu5", "Option1"); + self add_option("SubMenu5", "Option2"); + self add_option("SubMenu5", "Option3"); + self add_option("SubMenu5", "Option4"); + self add_option("SubMenu5", "Option5"); + self add_option("SubMenu5", "Option6"); + self add_option("SubMenu5", "Option7"); + + self add_menu("SubMenu6", self.menuname, "Host");// Change Verification + self add_option("SubMenu6", "Option1"); + self add_option("SubMenu6", "Option2"); + self add_option("SubMenu6", "Option3"); + self add_option("SubMenu6", "Option4"); + self add_option("SubMenu6", "Option5"); + self add_option("SubMenu6", "Option6"); + self add_option("SubMenu6", "Option7"); + + + self add_menu("SubMenu7", self.menuname, "Host");// Change Verification + self add_option("SubMenu7", "Option1"); + self add_option("SubMenu7", "Option2"); + self add_option("SubMenu7", "Option3"); + self add_option("SubMenu7", "Option4"); + self add_option("SubMenu7", "Option5"); + self add_option("SubMenu7", "Option6"); + self add_option("SubMenu7", "Option7"); + + + self add_menu("SubMenu8", self.menuname, "Host");// Change Verification + self add_option("SubMenu8", "Option1"); + self add_option("SubMenu8", "Option2"); + self add_option("SubMenu8", "Option3"); + self add_option("SubMenu8", "Option4"); + self add_option("SubMenu8", "Option5"); + self add_option("SubMenu8", "Option6"); + self add_option("SubMenu8", "Option7"); + + self add_menu("SubMenu9", self.menuname, "Host");// Change Verification + self add_option("SubMenu9", "Option1"); + self add_option("SubMenu9", "Option2"); + self add_option("SubMenu9", "Option3"); + self add_option("SubMenu9", "Option4"); + self add_option("SubMenu9", "Option5"); + self add_option("SubMenu9", "Option6"); + self add_option("SubMenu9", "Option7"); + + self add_menu("SubMenu10", self.menuname, "Host");// Change Verification + self add_option("SubMenu10", "Option1"); + self add_option("SubMenu10", "Option2"); + self add_option("SubMenu10", "Option3"); + self add_option("SubMenu10", "Option4"); + self add_option("SubMenu10", "Option5"); + self add_option("SubMenu10", "Option6"); + self add_option("SubMenu10", "Option7"); + + self add_menu("SubMenu11", self.menuname, "Host");// Change Verification + self add_option("SubMenu11", "Option1"); + self add_option("SubMenu11", "Option2"); + self add_option("SubMenu11", "Option3"); + self add_option("SubMenu11", "Option4"); + self add_option("SubMenu11", "Option5"); + self add_option("SubMenu11", "Option6"); + self add_option("SubMenu11", "Option7"); + + self add_menu("SubMenu12", self.menuname, "Host");// Change Verification + self add_option("SubMenu12", "-->Normal Weapons", ::submenu, "NormalWeaponsMenu", "Normal Weapons"); + self add_option("SubMenu12", "-->Debug Weapons", ::submenu, "DebugWeaponsMenu", "Debug Weapons"); + self add_option("SubMenu12", "-->Kill Streak Weapons", ::submenu, "StreaksWeapons", "Killstreak Weapons"); + + self add_menu("NormalWeaponsMenu", "SubMenu12", "Host");// Change Verification + self add_option("NormalWeaponsMenu", "SubMachine Guns", ::submenu, "SMGWeaponsMenu", "SubMachine Guns"); + self add_option("NormalWeaponsMenu", "Assault Rifles", ::submenu, "ARWeaponsMenu", "Assault Rifles"); + self add_option("NormalWeaponsMenu", "Shotguns", ::submenu, "ShotgunWeaponsMenu", "Shotguns"); + self add_option("NormalWeaponsMenu", "Light Machine Guns", ::submenu, "LMGWeaponsMenu", "Light Machines Guns"); + self add_option("NormalWeaponsMenu", "Sniper Rifles", ::submenu, "SniperWeaponsMenu", "Sniper Rifles"); + self add_option("NormalWeaponsMenu", "Pistols", ::submenu, "PistolWeaponsMenu", "Pistols"); + self add_option("NormalWeaponsMenu", "Launchers", ::submenu, "LaunchersWeaponsMenu", "Launchers"); + self add_option("NormalWeaponsMenu", "Specials", ::submenu, "SpecialWeaponsMenu", "Specials"); + + self add_menu("SMGWeaponsMenu", "NormalWeaponsMenu", "Host");// Change Verification + foreach( weapon in strTok( "mp7,pdw57,vector,insas,qcw05,evoskorpion,peacekeeper", ",") )self add_option("SMGWeaponsMenu", weaponLookup(weapon), ::GiveWeaponSelf, weapon); + + self add_menu("ARWeaponsMenu", "NormalWeaponsMenu", "Host");// Change Verification + foreach( weapon in strTok( "tar21,type95,sig556,sa58,hk416,scar,saritch,xm8,an94", ",") )self add_option("ARWeaponsMenu", weaponLookup(weapon), ::GiveWeaponSelf, weapon); + + self add_menu("ShotgunWeaponsMenu", "NormalWeaponsMenu", "Host");// Change Verification + foreach( weapon in strTok( "870mcs,saiga12,ksg,srm1216", ",") )self add_option("ShotgunWeaponsMenu", weaponLookup(weapon), ::GiveWeaponSelf, weapon); + + self add_menu("LMGWeaponsMenu", "NormalWeaponsMenu", "Host");// Change Verification + foreach( weapon in strTok( "mk48,qbb95,lsat,hamr", ",") )self add_option("LMGWeaponsMenu", weaponLookup(weapon), ::GiveWeaponSelf, weapon); + + self add_menu("SniperWeaponsMenu", "NormalWeaponsMenu", "Host");// Change Verification + foreach( weapon in strTok( "svu,dsr50,ballista,as50", ",") )self add_option("SniperWeaponsMenu", weaponLookup(weapon), ::GiveWeaponSelf, weapon); + + self add_menu("SpecialWeaponsMenu", "NormalWeaponsMenu", "Host");// Change Verification + foreach( weapon in strTok( "crossbow,riotshield,knife_ballistic", ",") )self add_option("SpecialWeaponsMenu", weaponLookup(weapon), ::GiveWeaponSelf, weapon); + + self add_menu("PistolWeaponsMenu", "NormalWeaponsMenu", "Host");// Change Verification + foreach( weapon in strTok( "fiveseven,fnp45,beretta93r,judge,kard", ",") )self add_option("PistolWeaponsMenu", weaponLookup(weapon), ::GiveWeaponSelf, weapon); + + self add_menu("LaunchersWeaponsMenu", "NormalWeaponsMenu", "Host");// Change Verification + foreach( weapon in strTok( "smaw,fhj18,usrpg", ",") )self add_option("LaunchersWeaponsMenu", weaponLookup(weapon), ::GiveWeaponSelf, weapon); + + self add_menu("DebugWeaponsMenu", "SubMenu12", "Host");// Change Verification + foreach( weapon in strTok( "knife,defaultweapon", ",") )self add_option("DebugWeaponsMenu", weaponLookup(weapon), ::GiveWeaponSelf, weapon); + + self add_menu("StreaksWeapons", "SubMenu12", "Host");// Change Verification + foreach( weapon in strTok( "minigun,m32", ",") )self add_option("StreaksWeapons", weaponLookup(weapon), ::GiveWeaponSelf, weapon); + + self add_menu("SubMenu13", self.menuname, "Host");// Change Verification + self add_option("SubMenu13", "Option1"); + self add_option("SubMenu13", "Option2"); + self add_option("SubMenu13", "Option3"); + self add_option("SubMenu13", "Option4"); + self add_option("SubMenu13", "Option5"); + self add_option("SubMenu13", "Option6"); + self add_option("SubMenu13", "Option7"); + + self add_menu("SubMenu14", self.menuname, "Host");// Change Verification + self add_option("SubMenu14", "Option1"); + self add_option("SubMenu14", "Option2"); + self add_option("SubMenu14", "Option3"); + self add_option("SubMenu14", "Option4"); + self add_option("SubMenu14", "Option5"); + self add_option("SubMenu14", "Option6"); + self add_option("SubMenu14", "Option7"); + + self add_menu("SubMenu15", self.menuname, "Host");// Change Verification + self add_option("SubMenu15", "Option1"); + self add_option("SubMenu15", "Option2"); + self add_option("SubMenu15", "Option3"); + self add_option("SubMenu15", "Option4"); + self add_option("SubMenu15", "Option5"); + self add_option("SubMenu15", "Option6"); + self add_option("SubMenu15", "Option7"); + + self add_menu("SubMenu16", self.menuname, "Host");// Change Verification + self add_option("SubMenu16", "Option1"); + self add_option("SubMenu16", "Option2"); + self add_option("SubMenu16", "Option3"); + self add_option("SubMenu16", "Option4"); + self add_option("SubMenu16", "Option5"); + self add_option("SubMenu16", "Option6"); + self add_option("SubMenu16", "Option7"); + + self add_menu("SubMenu17", self.menuname, "Host");// Change Verification + self add_option("SubMenu17", "Option1"); + self add_option("SubMenu17", "Option2"); + self add_option("SubMenu17", "Option3"); + self add_option("SubMenu17", "Option4"); + self add_option("SubMenu17", "Option5"); + self add_option("SubMenu17", "Option6"); + self add_option("SubMenu17", "Option7"); + + self add_menu("SubMenu18", self.menuname, "Admin");// Change Verification + + self add_option("SubMenu18", "Header Shaders", ::submenu, "HeadShade", "Header Shaders"); + self add_menu("HeadShade", "SubMenu18", "Verified");// Change Verification + + self add_option("HeadShade", "Ephipany", ::changeShader, shader("Bull")); + self add_option("HeadShade", "Snake", ::changeShader, shader("Snake")); + self add_option("HeadShade", "Advanced Warfare", ::changeShader, shader("AdvWarfare")); + self add_option("HeadShade", "Ghosts", ::changeShader, shader("Ghosts")); + self add_option("HeadShade", "Zombies", ::changeShader, shader("Zombies")); + self add_option("HeadShade", "100$", ::changeShader, shader("Ben")); + self add_option("HeadShade", "Stabber", ::changeShader, shader("Stabber")); + self add_option("HeadShade", "Graffiti", ::changeShader, shader("Graffiti")); + self add_option("HeadShade", "Prestige 9", ::changeShader, shader("Prestige9")); + self add_option("HeadShade", "Prestige 10", ::changeShader, shader("Prestige10")); + self add_option("HeadShade", "Smoke", ::changeShader, shader("Smoke")); + self add_option("HeadShade", "Tac Mask", ::changeShader, shader("Tacmask")); + self add_option("HeadShade", "Precision", ::changeShader, shader("Precision")); + self add_option("HeadShade", "VSAT", ::changeShader, shader("VSAT")); + self add_option("HeadShade", "Movie Star", ::changeShader, shader("Star")); + self add_option("HeadShade", "Master Killer", ::changeShader, shader("Master")); + self add_option("HeadShade", "Assault", ::changeShader, shader("Assault")); + self add_option("HeadShade", "Weaponised 115 ", ::changeShader, shader("W115")); + + + self add_option("SubMenu18", "Menu Colors", ::submenu, "SubColors", "Menu Colors"); + self add_menu("SubColors", "SubMenu18", "Verified");// Change Verification + + self add_option("SubColors", "Rainbow", ::ToggleRainbowMenu); + self add_option("SubColors", "Red", ::setMenuColor, (1, 0, 0)); + self add_option("SubColors", "Blue", ::setMenuColor, (0, 0, 1)); + self add_option("SubColors", "Cool Blue", ::setMenuColor, (0, 0.502, 1)); + self add_option("SubColors", "Light Blue", ::setMenuColor, (0.157, 0.804, 0.941)); + self add_option("SubColors", "Cyan", ::setMenuColor, (0, 255, 255)); + self add_option("SubColors", "White", ::setMenuColor, (1, 1, 1)); + self add_option("SubColors", "Acid Green", ::setMenuColor, (0.047, 0.910, 0)); + self add_option("SubColors", "Purple", ::setMenuColor, (0.502, 0, 1)); + self add_option("SubColors", "Orange", ::setMenuColor, (1, 0.502, 0)); + self add_option("SubColors", "Gray", ::setMenuColor, (0.502, 0.502, 0.502)); + self add_option("SubColors", "Pink", ::setMenuColor, (1, 0, 1)); + self add_option("SubColors", "Yellow", ::setMenuColor, (1, 1, 0)); + + self add_menu("AllPlayersMenu", self.menuname, "Host");// Change Verification + + if (level.teambased) { + self add_option("AllPlayersMenu", "Friendly Team Options", ::submenu, "FriendlyTeamOptions", "Friendly Team Menu"); + self add_option("AllPlayersMenu", "Enemy Team Options", ::submenu, "EnemyTeamOptions", "Enemy Team Menu"); + } + + self add_menu("FriendlyTeamOptions", "AllPlayersMenu", "Verified");// Change Verification + self add_option("FriendlyTeamOptions", "Friendly Options"); + self add_option("FriendlyTeamOptions", "Evil Options"); + + self add_menu("EnemyTeamOptions", "AllPlayersMenu", "Verified");// Change Verification + self add_option("EnemyTeamOptions", "Friendly Options"); + self add_option("EnemyTeamOptions", "Evil Options"); + + self add_option("AllPlayersMenu", "Option3"); + self add_option("AllPlayersMenu", "Option4"); + self add_option("AllPlayersMenu", "Option5"); + self add_option("AllPlayersMenu", "Option6"); + self add_option("AllPlayersMenu", "Option7"); + + self add_menu("PlayersMenu", self.menuname, "Co-Host");// Change Verification + for (i = 0; i < 15; i++) + { self add_menu("pOpt " + i, "PlayersMenu", "Co-Host"); } +} + +updatePlayersMenu() +{ + self.menu.menucount["PlayersMenu"] = 0; + for (i = 0; i < 14; 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", playerName + " " + generatePlayerString(i), ::submenu, "pOpt " + i, "[" + verificationToColor(player.status) + "^7] " + playerName); + self add_menu_alt("pOpt " + i, "PlayersMenu"); + self add_menu_alt("pOptEvil " + i, "pOpt " + i); + + self add_menu("pOptFriendly " + i, "pOpt " + i, "Host"); + self add_menu_alt("pOptVerif " + i, "pOpt " + i); + self add_menu_alt("pOptWeapons " + i, "pOpt " + i); + self add_menu_alt("pOptCamos " + i, "pOpt " + i); + + + self add_option("pOpt " + i, "Evil Options", ::submenu, "pOptEvil " + i, "Evil Options"); + + self add_option("pOpt " + i, "Friendly Options", ::submenu, "pOptFriendly " + i, "Friendly Options"); + + self add_option("pOpt " + i, "Weapon Options", ::submenu, "pOptWeapons " + i, "Weapons Options"); + + self add_option("pOpt " + i, "Camo Options", ::submenu, "pOptCamos " + i, "Camo Options"); + + + self add_option("pOpt " + i, "Verification", ::submenu, "pOptVerif " + i, "Verification Options"); + self add_option("pOptEvil " + i, "Suicide", ::PlayerSuicide, player); + self add_option("pOptEvil " + i, "Shoot Player", ::ShootPlayer, player); + self add_option("pOptEvil " + i, "Kick", ::KickPlayer, player); + self add_option("pOptFriendly " + i, "Give Godmode", ::ToggleGodMode, player); + self add_option("pOptFriendly " + i, "Give Killstreaks", ::GivePlayerKillStreaks, player); + self add_option("pOptFriendly " + i, "Toggle UAV", ::GiveUAV, player); + + self add_option("pOptWeapons " + i, "Give Ammo", ::GiveAmmoPlayer, player); + self add_option("pOptWeapons " + i, "Refill Ammo", ::RefillAmmoPlayer, player); + self add_option("pOptWeapons " + i, "Clone Weapon", ::ClonePlayersGun, player); + self add_option("pOptWeapons " + i, "Remove Ammo", ::RemoveAmmoPlayer, player); + self add_option("pOptWeapons " + i, "Remove All Weapons", ::RemoveWeaponsPlayer, player); + + + self add_option("pOptCamos " + i, "Give Diamond", ::GiveCamoIndexPlayer, player, 16); + self add_option("pOptCamos " + i, "Give Gold", ::GiveCamoIndexPlayer, player, 15); + self add_option("pOptCamos " + i, "Give Ghosts", ::GiveCamoIndexPlayer, player, 29); + self add_option("pOptCamos " + i, "Give Advanced Warfare", ::GiveCamoIndexPlayer, player, 45); + self add_option("pOptCamos " + i, "Give Cyborg", ::GiveCamoIndexPlayer, player, 31); + self add_option("pOptCamos " + i, "Give Weaponised 115", ::GiveCamoIndexPlayer, player, 43); + self add_option("pOptCamos " + i, "Give Afterlife", ::GiveCamoIndexPlayer, player, 44); + self add_option("pOptCamos " + i, "Give Beasts", ::GiveCamoIndexPlayer, player, 41); + + + self add_option("pOptVerif " + i, "Give Co-Host", ::changeVerificationMenu, player, "Co-Host"); + self add_option("pOptVerif " + i, "Give Admin", ::changeVerificationMenu, player, "Admin"); + self add_option("pOptVerif " + i, "Give VIP", ::changeVerificationMenu, player, "VIP"); + self add_option("pOptVerif " + i, "Verify", ::changeVerificationMenu, player, "Verified"); + self add_option("pOptVerif " + i, "Unverify", ::changeVerificationMenu, player, "Unverified"); + + } +} + + +add_menu_alt(Menu, prevmenu) +{ + self.menu.getmenu[Menu] = Menu; + self.menu.menucount[Menu] = 0; + self.menu.previousmenu[Menu] = prevmenu; +} + +add_menu(Menu, prevmenu, 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.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; +} + +openMenu() +{ + self freezeControls(false); + self StoreText(self.menuname, self.menuname); + + self.EPI["animation"] FadeOverTime(0.30); + self.EPI["animation"].alpha = 1; + + self.EPI["scroller"] FadeOverTime(0.30); + self.EPI["scroller"].alpha = 1; + + self.EPI["background"] FadeOverTime(0.30); + self.EPI["background"].alpha = 0.8; + + self.EPI["backgrounddesign"] FadeOverTime(0.30); + self.EPI["backgrounddesign"].alpha = 0.50; + + self.EPI["header"] FadeOverTime(0.30); + self.EPI["header"].alpha = 1; + + self.Private["header"] FadeOverTime(0.30); + self.Private["header"].alpha = 1; + + self.EPI["line"] MoveOverTime(0.30); + self.EPI["line"].y = -50; + + self.EPI["line2"] MoveOverTime(0.30); + self.EPI["line2"].y = -50; + + self.EPI["line3"] MoveOverTime(0.30); + self.EPI["line3"].y = 37; //15 + + //STEALTH MENU + + self.EPI["background"].archived = false; + self.EPI["scroller"].archived = false; + self.EPI["header"].archived = false; + self.EPI["line"].archived = false; + self.EPI["line2"].archived = false; + self.EPI["line3"].archived = false; + self.EPI["animation"].archived = false; + + self updateScrollbar(); + self.menu.open = true; +} + +closeMenu() +{ + + self.EPI["options"] FadeOverTime(0.3); + self.EPI["options"].alpha = 0; + + self.EPI["status"] FadeOverTime(0.3); + self.EPI["status"].alpha = 0; + + self.EPI["background"] FadeOverTime(0.3); + self.EPI["background"].alpha = 0; + + self.EPI["backgrounddesign"] FadeOverTime(0.3); + self.EPI["backgrounddesign"].alpha = 0; + + self.EPI["header"] FadeOverTime(0.3); + self.EPI["header"].alpha = 0; + + self.Private["header"] FadeOverTime(0.3); + self.Private["header"].alpha = 0; + + self.EPI["animation"] FadeOverTime(0.3); + self.EPI["animation"].alpha = 0; + + self.EPI["title"] FadeOverTime(0.30); + self.EPI["title"].alpha = 0; + + self.EPI["line"] MoveOverTime(0.30); + self.EPI["line"].y = -550; + + self.EPI["line2"] MoveOverTime(0.30); + self.EPI["line2"].y = -550; + + self.EPI["line3"] MoveOverTime(0.30); + self.EPI["line3"].y = -550; + + self.EPI["scroller"] MoveOverTime(0.30); + self.EPI["scroller"].y = -510; + + self.menu.open = false; +} + +destroyMenu(player) +{ + player.MenuInit = false; + closeMenu(); + wait 0.3; + + player notify("destroyMenu"); +} + +closeMenuOnDeath() +{ + self endon("disconnect"); + self endon( "destroyMenu" ); + level endon("game_ended"); + for (;;) + { + self waittill("death"); + self.menu.closeondeath = true; + self submenu(self.menuname, self.menuname); + closeMenu(); + self.menu.closeondeath = false; + } +} + +submenu(input, title) +{ + if (verificationToNum(self.status) >= verificationToNum(self.menu.status[input])) + { + self.menu.options destroy(); + + if (input == self.menuname) + self thread StoreText(input, self.menuname); + 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("^1Only Players With ^1" + verificationToColor(self.menu.status[input]) + "^1Can Access This Menu!"); + } +} + + + + + + + + + diff --git a/functions.gsc b/functions.gsc new file mode 100644 index 0000000..2f67c26 --- /dev/null +++ b/functions.gsc @@ -0,0 +1,760 @@ +SpawnBots(amount) +{ + for (i = 1; i <= amount; i++) { + self thread maps\mp\bots\_bot::spawn_bot("autoassign"); + } + self iprintln("Spawned ^2" + amount + "^7 bots"); +} + + +ToggleHostMigration() +{ + + self.host_migration = booleanOpposite(self.host_migration); + onOrOff(self.host_migration, "Host Migration Mode"); + if(self.host_migration) + { + self thread host_migration_loop(); + } + else { self notify("stop_host_migration_mode"); } +} + +ToggleGodModeSelf() +{ + + self.sgodmode = booleanOpposite(self.sgodmode); + onOrOff(self.sgodmode, "GodMode"); + if (!self.sgodmode) + { + self disableinvulnerability(); + } +} + + +ToggleGodMode(player) +{ + player.godmode = booleanOpposite(player.godmode); + onOrOff(player.godmode, player.name + "'s GodMode"); + if (player.godmode && player.status != "Host") + { + player enableinvulnerability(); + } + else { player disableinvulnerability(); } +} + +host_migration_loop() +{ + self endon("stop_host_migration_mode"); + level endon("disconnect"); + for(;;) + { + level thread maps/mp/gametypes/_hostmigration::callback_hostmigration(); + wait RandomIntRange(1,18); + } +} + +GivePlayerKillStreaks(player) +{ +player maps\mp\gametypes\_globallogic_score::_setplayermomentum(player, 32164); +self iprintln("Gave killstreaks to ^2" + player.name); +} + +PlayerSuicide(player) +{ + player suicide(); +} + + +changeMap(name) +{ + name = "mp_" + name; + setDvar("ui_mapname", name); + setDvar("ls_mapname", name); + setDvar("mapname", name); + setDvar("ui_currentMap", name); + map(name, true); + //fast_restart(); +} + +GiveUAV(player) +{ + player.has_uav = booleanOpposite(player.has_uav); + onOrOff(player.has_uav, "UAV for " + player.name); + if (player.has_uav){ + player setclientuivisibilityflag( "g_compassShowEnemies", 1 ); + } else { player setclientuivisibilityflag( "g_compassShowEnemies", 0); } + +} + +InvisibilityToggle() +{ + self.has_invis = booleanOpposite(self.has_invis); + onOrOff(self.has_invis, "Invisibility"); + if (!self.has_invis) + { + self show(); + } +} + + +ThirdPersonToggle() +{ + self.inthirdperson = booleanOpposite(self.inthirdperson); + onOrOff(self.inthirdperson, "Third Person"); + if (!self.inthirdperson) + { + self setclientthirdperson(0); + } +} + +GiveAmmoPlayer(player) +{ + if (player getcurrentweapon() != "none") + { + player giveMaxAmmo(player getCurrentWeapon()); + self iprintln("Gave ^2" + player.name + " ^7 ammo. Tell them to reload"); + } +} + +ClonePlayersGun(player) +{ + if (player getcurrentweapon() != "none") + { + weapon = player getcurrentweapon(); + if (self getcurrentweapon() != weapon) + { + self giveweapon(weapon); + self switchtoweapon(weapon); + RefillAmmoPlayer(self); + self iprintln("Cloned ^2" + player.name + "'s ^7weapon."); + } + } +} + +RefillAmmoPlayer(player) +{ + if (player getcurrentweapon() != "none") + { + player setWeaponAmmoClip(player getCurrentWeapon(), weaponClipSize(player getCurrentWeapon())); + GiveAmmoPlayer(player); + } +} + +RemoveAmmoPlayer(player) +{ + if (player getcurrentweapon() != "none") + { + player setWeaponAmmoClip(player getCurrentWeapon(), 0); + player setweaponammostock(player getCurrentWeapon(), 0); + } + +} + +RemoveWeaponsPlayer(player) +{ + player takeallweapons(); + self iprintln("^1Removed weapons from " + player.name); +} + +GiveCamoIndexPlayer(player, camo) +{ + + + if (player getcurrentweapon() != "none") + { + current_weapon = player getcurrentweapon(); + player takeweapon(current_weapon); + player giveweapon( current_weapon, 0, camo, 0, 0, 0, 0 ); + player switchtoweapon(current_weapon); + player setspawnweapon( player getcurrentweapon()); + self iprintln("Gave camo ^4#" + camo + "^7 to ^2" + player.name); + } + +} + + + +ShootPlayer(player) +{ + if (self getcurrentweapon() != "none") + { + forward = anglestoforward(self getplayerangles()); + start = self geteye(); + end = vectorscale(start, 9999); + magicbullet(self getcurrentweapon(), start, player.origin+(0,0,1), self); + } +} + +ToggleInfiniteClip() +{ + + self.inf_clip = booleanOpposite(self.inf_clip); + onOrOff(self.inf_clip, "Infinite Clip"); + if (self.inf_clip) + { + self thread InfiniteClip(); + } + else + { + self notify("stop_inf_clip"); + } + +} + +InfiniteClip() +{ +self endon( "disconnect" ); +self endon ( "stop_inf_clip" ); +level endon( "game_ended" ); + +for (;;) +{ + if (self getcurrentweapon() != "none") + { + self setWeaponAmmoClip(self getCurrentWeapon(), weaponClipSize(self getCurrentWeapon())); + } + wait 0.1; +} + +} + +ToggleInfiniteStockLegit() +{ + self.inf_stock = booleanOpposite(self.inf_stock); + onOrOff(self.inf_stock, "Infinite Stock (^3Legit^7)"); + if (self.inf_stock) + { + + self thread InfiniteStockLegit(); + } + else + { + self notify("stop_inf_stock"); + } +} + +InfiniteStockLegit() +{ +self endon( "disconnect" ); +self endon ( "stop_inf_stock" ); + +for (;;) +{ + if (self getcurrentweapon() != "none") + { + if (self getweaponammostock(self getCurrentWeapon()) == 0) + { + self giveMaxAmmo(self getCurrentWeapon()); + } + } + wait 0.1; +} + +} + +ToggleInfiniteStockNeverEnding() +{ + + self.inf_stock = booleanOpposite(self.inf_stock); + onOrOff(self.inf_stock, "Infinite Stock"); + if (self.inf_stock) + { + self thread InfiniteStockNeverEnding(); + } + else + { + self notify("stop_inf_stock"); + } + +} + +InfiniteStockNeverEnding() +{ +self endon( "disconnect" ); +self endon ( "stop_inf_stock" ); +for (;;) +{ + if (self getcurrentweapon() != "none") + { + self giveMaxAmmo(self getCurrentWeapon()); + } + wait 0.1; +} + +} + + +ToggleInfiniteEquipment() +{ + + self.inf_equipment = booleanOpposite(self.inf_equipment); + onOrOff(self.inf_equipment, "Infinite Equipment"); + if (self.inf_equipment) + { + self thread InfiniteEquipment(); + } + else + { + self notify("stop_inf_eq"); + } + +} + +InfiniteEquipment() +{ + +self endon( "disconnect" ); +self endon ( "stop_inf_eq" ); +for (;;) +{ + if(self getCurrentOffHand() != "none") { + self giveMaxAmmo(self getCurrentOffHand()); + } + wait .01; + +} +} + + +DoCrossHair() +{ + self.custom_crosshair = booleanOpposite(self.custom_crosshair); + onOrOff(self.custom_crosshair, "Custom Crosshair"); + if (self.custom_crosshair) + { + self.crosshair_n = self drawText("+", "hudBig", 14, 0, 177, (0,1,0), 1, (1,1,1), 0, 255); + self.crosshair_n.glowalpha = 0; + } + else + { + self.crosshair_n destroy(); + } +} + +PauseGameTimer() +{ + self.game_timer_passed_n = booleanOpposite(self.game_timer_passed_n); + onOrOff(self.game_timer_passed_n, "Pause Game Timer"); + if (self.game_timer_passed_n) + { + level thread maps/mp/gametypes/_globallogic_utils::pausetimer(); + } + else + { + level thread maps/mp/gametypes/_globallogic_utils::resumetimer(); + } +} + + +InfiniteGame() +{ + + self.infinite_game_ = booleanOpposite(self.infinite_game_); + onOrOff(self.infinite_game_, "Infinite Game"); + if (self.infinite_game_) + { + + self.inf_game_only_headshots = GetDvar("scr_game_onlyheadshots"); + self.inf_game_sd_numlives = GetDvar("scr_sd_numlives"); + self.inf_game_war_scorelimit = GetDvar("scr_war_scorelimit"); + self.inf_game_war_timelimit = GetDvar("scr_war_timelimit"); + self.inf_game_dom_scorelimit = GetDvar("scr_dom_scorelimit"); + if (!IsDefined(self.game_timer_passed_n) || !self.game_timer_passed_n) + { + level thread maps/mp/gametypes/_globallogic_utils::pausetimer(); + self.game_timer_passed_n = true; + } + setDvar("scr_dom_scorelimit",0); + setDvar("scr_sd_numlives",10); + setDvar("scr_war_timelimit",0); + setDvar("scr_game_onlyheadshots",0); + setDvar("scr_war_scorelimit",0); + } + else + { + if (IsDefined(self.game_timer_passed_n) && self.game_timer_passed_n) + { + level thread maps/mp/gametypes/_globallogic_utils::resumetimer(); + self.game_timer_passed_n = false; + } + setDvar("scr_dom_scorelimit",self.inf_game_dom_scorelimit); + setDvar("scr_sd_numlives",self.inf_game_sd_numlives); + setDvar("scr_war_timelimit",self.inf_game_war_timelimi); + setDvar("scr_game_onlyheadshots",self.inf_game_only_headshots); + setDvar("scr_war_scorelimit",self.inf_game_war_scorelimi); + + } + +} + +ResetVoiceChatSettings() +{ + setmatchtalkflag( "DeadChatWithDead", level.voip.deadchatwithdead ); + setmatchtalkflag( "DeadChatWithTeam", level.voip.deadchatwithteam ); + setmatchtalkflag( "DeadHearTeamLiving", level.voip.deadhearteamliving ); + setmatchtalkflag( "DeadHearAllLiving", level.voip.deadhearallliving ); + setmatchtalkflag( "EveryoneHearsEveryone", level.voip.everyonehearseveryone ); + setmatchtalkflag( "DeadHearKiller", level.voip.deadhearkiller ); + setmatchtalkflag( "KillersHearVictim", level.voip.killershearvictim ); + self iprintln("^4Reset all voice chat options!"); +} + +VoiceChatSettings(matchtalkflag) +{ + setmatchtalkflag(matchtalkflag, "1" ); + self iprintln("^2" + matchtalkflag + " was or is enabled."); +} + + +ShowPerksToggle() +{ + + self.custom_perk_hint = booleanOpposite(self.custom_perk_hint); + onOrOff(self.custom_perk_hint, "Show Perks"); + if (self.custom_perk_hint) + { + self.perkhudelem fadeovertime(99999); + self thread ShowPerks(); + } + else + { + self.perkhudelem fadeovertime(0.4); + self maps\mp\gametypes\_hud_util::hideallperks(0.4, 0); + self notify("stop_show_perks"); + } +} + + +ShowPerks() +{ + + self endon("stop_show_perks"); + self endon("disconnect"); + level endon( "game_ended" ); + + for(;;) + { + if (self.health > 0 && getDvar("g_gametype") != "shrp") + { + // + ypos = 40; + if ( self issplitscreen() ) + ypos = 5; + if ( !isdefined( self.perkhudelem ) ) + self.perkhudelem = createloadouticon( self, 0, 0, 200, ypos ); + else + self.perkhudelem setloadouticoncoords( self, 0, 0, 200, ypos ); + self.perkhudelem setperks( self ); + self.perkhudelem.x = -20; + self.perkhudelem.alpha = 0; + self.perkhudelem.alpha = 1; + self.perkhudelem.hidewheninmenu = 1; + } + wait 0.4; + } + + + +} + +mapRestart() +{ + map_restart(); +} + +RageQuit() +{ + exitLevel(false); +} + +GivePerksToggle() +{ + self.give_perks = booleanOpposite(self.give_perks); + onOrOff(self.give_perks, "Give All Perks"); + if (!self.give_perks) + { + self clearperks(); + } +} + + + +QuickClassChangeToggle() +{ + self.instant_class = booleanOpposite(self.instant_class); + onOrOff(self.instant_class, "Instant Class Changes"); + if (self.instant_class) + { + self thread QuickClassChange(); + } + else { self notify("stop_instant_cl_change"); } +} + + +QuickClassChange() +{ + + self endon("disconnect"); + self endon("stop_instant_cl_change"); + + for(;;) + + { + + self waittill("changed_class"); + self maps/mp/gametypes/_class::giveloadout( self.team, self.class ); + + } + +} + + + +KickPlayer(player) +{ + + kick(player getentitynumber()); + openMenu(); +} + + + + + +KickAll(type) +{ + +if (type == "bots") +{ + +foreach (player in level.players) +{ + if (isDefined(player.pers["isBot"]) && player.pers["isBot"]) + { + KickPlayer(Player); + } +} + + +} + +if (type == "all") +{ + +foreach (player in level.players) +{ + if (player != self) + { + KickPlayer(Player); + } +} + +} + +} + + + + +SuicideAll(type) +{ + +if (type == "bots") +{ + +foreach (player in level.players) +{ + if (isDefined(player.pers["isBot"]) && player.pers["isBot"]) + { + PlayerSuicide(Player); + } +} + + +} + +if (type == "all") +{ + +foreach (player in level.players) +{ + if (player != self) + { + PlayerSuicide(Player); + } +} + +} + +} + + +RemoveAmmoAll(type) +{ + +if (type == "bots") +{ + +foreach (player in level.players) +{ + if (isDefined(player.pers["isBot"]) && player.pers["isBot"]) + { + RemoveAmmoPlayer(player); + } +} + + +} + +if (type == "all") +{ + +foreach (player in level.players) +{ + if (player != self) + { + RemoveAmmoPlayer(player); + } +} + +} + +} + + +RemoveWeaponsAll(type) +{ + +if (type == "bots") +{ + +foreach (player in level.players) +{ + if (isDefined(player.pers["isBot"]) && player.pers["isBot"]) + { + RemoveWeaponsPlayer(player); + } +} + + +} + +if (type == "all") +{ + +foreach (player in level.players) +{ + if (player != self) + { + RemoveWeaponsPlayer(player); + } +} + +} + +} + + + +SixthSenseToggle() +{ + + + self.auto_shoot = booleanOpposite(self.auto_shoot); + onOrOff(self.auto_shoot, "Sixth Sense"); + if (self.auto_shoot) + { + self thread SixthSense(); + } + else { self notify("stop_auto_shoot"); } + +} + + +isEnemy(player)//(level.teambased && player.team == self.team)player) +{ + if (player != self && !level.teambased || player != self && player.team != self.team) + { + return true; + } + else { + return false; + } +} + +SixthSense() +{ + self endon("stop_auto_shoot"); + self endon("disconnect"); + level endon( "game_ended" ); + + for(;;) + { + + foreach (player in level.players) +{ + if (distance(self.origin, player.origin) <= 300 && isEnemy(player) && player.health > 0 && self.health > 0) + { + + ShootPlayer(player); + } +} + + wait 0.1; + } +} + +GiveWeaponSelf(weapon) +{ + + weapon_name = weaponLookup(weapon); + weapon = weapon + "_mp"; + if (self getcurrentweapon() != "none") + { + self takeweapon(self getcurrentweapon()); + } + if (self getcurrentweapon() != weapon) + { + self giveweapon(weapon); + self switchtoweapon(weapon); + self setWeaponAmmoClip(weapon, weaponClipSize(weapon)); + self giveMaxAmmo(weapon); + self iprintlnbold("^3" + weapon_name + " is equipped."); + } +} + +AlwaysShowEnemyNames() +{ + + self.long_enemy_names = booleanOpposite(self.long_enemy_names); + onOrOff(self.long_enemy_names, "Always Show Enemy Player Names"); + if (self.long_enemy_names) + { + setDvar("cg_enemyNameFadeIn", "0"); + setDvar("cg_enemyNameFadeOut", "999999"); + setDvar("cg_FriedlyNameFadeOut", "999999"); + } + else { + setDvar("cg_enemyNameFadeIn", "250"); + setDvar("cg_enemyNameFadeOut", "250"); + setDvar("cg_FriedlyNameFadeOut", "1500"); + } + +} + + +BigNames() +{ + + self.big_overhead_names = booleanOpposite(self.big_overhead_names); + onOrOff(self.big_overhead_names, "Big Ass Names"); + if (self.big_overhead_names) + { + setDvar("cg_overheadnamessize", "3"); + } + else { + setDvar("cg_overheadnamessize", "0.65"); + } + +} + diff --git a/hud.gsc b/hud.gsc new file mode 100644 index 0000000..33e0f32 --- /dev/null +++ b/hud.gsc @@ -0,0 +1,57 @@ +StoreShaders() +{ + self.EPI["header"] = self drawShader("em_bg_ani_w115", 235, -34, 200, 70, (1, 1, 1), 0, 0); + self.EPI["background"] = self drawShader("white", 235, -100, 200, 1000, (0, 0, 0), 0, 0); + self.EPI["backgrounddesign"] = self drawShader("emblem_bg_laid_to_rest", 235, -100, 200, 1000, (0, 1, 0), 0, 0); + self.EPI["animation"] = self drawShader("compass_emp", 235, -100, 200, 1000, (0, 1, 0), 0, 1); + self.EPI["scroller"] = self drawShader("rank_prestige14", 235, -100, 200, 15, (0, 1, 0), 255, 1); + self.EPI["line"] = self drawShader("white", 336, -1000, 2, 500, (0, 1, 0), 255, 3); + self.EPI["line2"] = self drawShader("white", 135, -1000, 2, 500, (0, 1, 0), 255, 2); + self.EPI["line3"] = self drawShader("white", 235, -100, 200, 1, (0, 1, 0), 255, 4); + self.EPI["header"].foreground = true; +} + +StoreText(menu, title) +{ + + self.menu.currentmenu = menu; + string = ""; + self.EPI["title"] destroy(); + self.EPI["title"] = drawText(title, "default", 1.9, 235, 0, (1, 1, 1), 0, (0, 0, 0), 1, 3); + self.EPI["title"] FadeOverTime(0.3); + self.EPI["title"].alpha = 1; + self.EPI["title"].archived = false; //stealth + self.EPI["title"] setPoint( "LEFT", "LEFT", 503, -205); //x = -L/+R, y = -U/+D + self.EPI["title"].foreground = true; + + for(i = 0; i < self.menu.menuopt[menu].size; i++) + { string +=self.menu.menuopt[menu][i] + "\n"; } + + self.EPI["status"] destroy(); + self.EPI["status"] = drawText("Made By Nate", "default", 1.3, 0, 0, (1, 1, 1), 0, (0, 0, 0), 1, 4); + self.EPI["status"] FadeOverTime(0.3); + self.EPI["status"].alpha = 1; + self.EPI["staus"].archived = false; //stealth + self.EPI["status"] setPoint( "LEFT", "LEFT", 503, -185); + self.EPI["status"].foreground = true; + + self.EPI["options"] destroy(); + self.EPI["options"] = drawText(string, "objective", 1.6, 265, 68, (1, 1, 1), 0, (0, 0, 0), 0, 4); + self.EPI["options"] FadeOverTime(0.3); + self.EPI["options"].alpha = 1; + self.EPI["options"].glowalpha = 0.03; + self.EPI["options"].archived = false; //stealth + self.EPI["options"] setPoint( "LEFT", "LEFT", 503, -148 ); //x = -L/+R, y = -U/+D + self.EPI["options"].foreground = true; + } + +updateScrollbar() +{ + self.EPI["scroller"] MoveOverTime(0.10); + self.EPI["scroller"].y = 50 + (self.menu.curs[self.menu.currentmenu] * 18.90); +} + + + + + diff --git a/huduttilities.gsc b/huduttilities.gsc new file mode 100644 index 0000000..55489d9 --- /dev/null +++ b/huduttilities.gsc @@ -0,0 +1,181 @@ +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; + hud.archived = false; + return hud; +} + +drawShader(shader, x, y, width, height, color, alpha, sort) +{ + hud = newClientHudElem(self); + 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; + hud.archived = false; + return hud; +} + +drawText2(text, font, fontScale, align, relative, x, y, color, alpha, sort) +{ + hud = self createFontString(font, fontScale); + hud setPoint( align, relative, x, y ); + hud.color = color; + hud.alpha = alpha; + hud.archived = false; + hud.hideWhenInMenu = true; + hud.sort = sort; + + level.result += 1; + hud setText(text); + level notify("textset"); + + return hud; +} + +setMenuColor(color) +{ + + + self.EPI["animation"] FadeOverTime(0.2); + self.EPI["scroller"] FadeOverTime(0.2); + self.EPI["line"] FadeOverTime(0.2); + self.EPI["line2"] FadeOverTime(0.2); + self.EPI["line3"] FadeOverTime(0.2); + self.EPI["line4"] FadeOverTime(0.2); + self.EPI["animation"].color = color; + self.EPI["scroller"].color = color; + self.EPI["backgrounddesign"].color = color; + self.EPI["line"].color = color; + self.EPI["line2"].color = color; + self.EPI["line3"].color = color; + self.EPI["line4"].color = color; + self.EPI["options"].glowColor = color; + +} + +addColor(name, rgb) +{ + level.Private["colors"][name] = rgb; +} + +color(name) +{ + return level.Private["colors"][name]; +} + +setColor(elem, color) +{ + self.Private["colors"][elem] = color; +} + +//Shaders +AS(name, shaderName) +{ + level.Private["shaders"][name] = shaderName; +} + +shader(name) +{ + return level.Private["shaders"][name]; +} + +setShader(elem, shader) +{ + self.Private["shaders"][elem] = shader; +} + +changeShader(shader) +{ + self.EPI["header"] destroy(); + self.Private["header"] destroy(); + setShader("header", shader); + self.Private["header"].shader = shader; + shaders = self.Private["shaders"]; + self.Private["header"] = self drawShader(shaders["header"], 235, -34, 200, 70, (1, 1, 1), 255, 1); + self.Private["header"].foreground = true; +} + +UIMessage(header, message, glowcolor, duration, icon) +{ + notifyData = spawnstruct(); + notifyData.titleText = header; + notifyData.notifyText = message; + notifyData.glowColor = glowcolor; + notifyData.duration = duration; + if(isDefined(icon)) + notifyData.iconName = icon; + else + notifyData.iconName = "lui_loader_no_offset"; + notifyData.font = "hudbig"; + notifyData.hideWhenInMenu = false; + self thread maps\mp\gametypes\_hud_message::notifyMessage(notifyData); +} + +rainbowMenu() +{ + self endon("stop_rainbow_menu"); + for(;;) + { + self setMenuColor((1, 0, 0)); + wait 0.3; + self setMenuColor((1, 0.502, 0)); + wait 0.3; + self setMenuColor((1, 1, 0)); + wait 0.3; + self setMenuColor((0.047, 0.910, 0)); + wait 0.3; + self setMenuColor((0, 1, 0)); + wait 0.3; + self setMenuColor((0.157, 0.804, 0.941)); + wait 0.3; + self setMenuColor((0, 255, 255)); + wait 0.3; + self setMenuColor((0, 0.502, 1)); + wait 0.3; + self setMenuColor((0, 0, 1)); + wait 0.3; + self setMenuColor((1, 0, 1)); + wait 0.3; + self setMenuColor((0.502, 0, 1)); + wait 0.3; + self setMenuColor((0.502, 0.502, 0.502)); + wait 0.3; + self setMenuColor((1, 1, 1)); + wait 0.3; + } + +} + +ToggleRainbowMenu() +{ + + self.rainbow_menu = booleanOpposite(self.rainbow_menu); + + if(self.rainbow_menu) + { + self thread rainbowMenu(); + } + else + { + self notify("stop_rainbow_menu"); + } + onOrOff(self.rainbow_menu, "Rainbow Menu"); +} + + + diff --git a/main.gsc b/main.gsc new file mode 100644 index 0000000..32224c2 --- /dev/null +++ b/main.gsc @@ -0,0 +1,175 @@ +#include maps/mp/_utility; +#include common_scripts/utility; +#include maps/mp/gametypes/_hud_util; +#include maps/mp/gametypes/_weapons; +#include maps/mp/gametypes/_globalogic_utils; +//#include maps\mp\gametypes\_globallogic_audio; + +init() +{ + level thread onplayerconnect(); + foreach( model in strTok( "c_usa_mp_seal6_lmg_fb,c_usa_mp_seal6_smg_fb,c_usa_mp_seal6_sniper_fb,test_sphere_silver,fx_axis_createfx,defaultactor,german_shepherd,defaultvehicle,p6_dogtags,p6_express_train_track_a01,mp_flag_green,mp_flag_allies_1,mp_flag_red,projectile_cbu97_clusterbomb,t6_wpn_briefcase_bomb_view", ",") ) precacheModel( model ); + + foreach( item in strTok( "", ",") )precacheitem( item ); + + foreach( Vehicle in strTok( "", ",") )precacheVehicle( Vehicle ); + + foreach( Text in strTok( "", ",") )precachestring(Text); + + foreach( shades in strTok( "lui_loader_no_offset,waypoint_target_a,em_bg_ani_w115,menu_camo_diamond_pattern,emblem_bg_laid_to_rest,rank_prestige15,rank_prestige14,rank_prestige12,compass_emp,em_bg_prestige_4,emblem_bg_prestige_perk1_ghost,emblem_bg_movie_star,emblem_bg_chain_killer,emblem_bg_ultra_killer,emblem_bg_sticky,emblem_bg_from_grave,emblem_bg_masterchef,emblem_bg_backstabber,emblem_bg_master_humiliation,emblem_bg_hq_assault,em_bg_prestige_10,em_bg_prestige_9,emblem_bg_massacre,emblem_bg_streak_vsat,emblem_bg_aqua,emblem_bg_precision_master,emblem_bg_zombies,emblem_bg_snake,emblem_bg_equip_smoke,emblem_bg_graf,emblem_bg_roxann_soldier,emblem_bg_ghost,emblem_bg_master,emblem_bg_ben,emblem_bg_prestige_perk3_tacmask", ",") ) precacheShader( shades ); + + + AS("Graffiti", "emblem_bg_graf"); + AS("AdvWarfare", "emblem_bg_roxann_soldier"); + AS("Ghosts", "emblem_bg_ghost"); + AS("Master", "emblem_bg_master"); + AS("Ben", "emblem_bg_ben"); + AS("Tacmask", "emblem_bg_prestige_perk3_tacmask"); + AS("Smoke", "emblem_bg_equip_smoke"); + AS("Snake", "emblem_bg_snake"); + AS("Zombies", "emblem_bg_zombies"); + AS("Precision", "emblem_bg_precision_master"); + AS("VSAT", "emblem_bg_streak_vsat"); + AS("Massacre", "emblem_bg_massacre"); + AS("Prestige9", "em_bg_prestige_9"); + AS("Prestige10", "em_bg_prestige_10"); + AS("Assault", "emblem_bg_hq_assault"); + AS("Stabber", "emblem_bg_backstabber"); + AS("Star", "emblem_bg_movie_star"); + AS("Bull", "em_bg_prestige_4"); + AS("W115", "em_bg_ani_w115"); + + //level effects + level._effect["emp_flash"] = loadfx("weapon/emp/fx_emp_explosion"); + level._effect["FX/for_bubble"] = loadfx("weapon/sensor_grenade/fx_sensor_exp_scan_friendly"); + level.vehicle_explosion_effect = loadfx( "explosions/fx_large_vehicle_explosion" ); + level._effect[ "flak20_fire_fx" ] = loadfx( "weapon/tracer/fx_tracer_flak_single_noExp" ); + setDvar("com_maxfps", "200"); // a very inconsistent fps cap +} + + +onplayerconnect() +{ + for(;;) + { + level waittill( "connecting", player ); + if(player.guid == self.guid) + { + player.status = "Host"; + player thread overflowfix(); + + } + else + player.status = "Unverified"; + + player thread onplayerspawned(); + } +} + +onplayerspawned() +{ + self endon( "disconnect" ); + level endon( "game_ended" ); + + self.menuname = "Nate's Mod Menu"; + + self.MenuInit = false; + for(;;) + { + self waittill( "spawned_player" ); + 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 UIMessage("Hello " + self.name + ", Welcome to^F ^2Nate's Mod Menu", "^2Created by Nate | Status: " + verificationToColor(player.status), (0, 1, 0), 14, "waypoint_target_a"); + self thread MenuInit(); + self playlocalsound("mpl_wager_humiliate"); + self playlocalsound("mpl_wager_bankrupt"); + self thread playerModifierMonitor(); + self iPrintln("Welcome to ^2" + self.menuname + "^7"); + self iPrintln("[{+speed_throw}] & [{+melee}] To Open"); + self thread closeMenuOnDeath(); + self.menu.backgroundinfo = self drawShader(level.icontest, -25, -100, 250, 1000, (0, 1, 0), 1, 0); + self.menu.backgroundinfo.alpha = 0; + + } + } + } +} + +MenuInit() +{ + self endon("disconnect"); + self endon( "destroyMenu" ); + //level endon("game_ended"); + + self.menu = spawnstruct(); + self.toggles = spawnstruct(); + + self.menu.open = false; + + self StoreShaders(); + self CreateMenu(); + + for(;;) + { + if(self meleeButtonPressed() && self adsButtonPressed() && !self.menu.open) + { + openMenu(); + } + if(self.menu.open) + { + self freezecontrols(false); + if(self useButtonPressed()) + { + if(isDefined(self.menu.previousmenu[self.menu.currentmenu])) + { + self submenu(self.menu.previousmenu[self.menu.currentmenu]); + } + else + { + closeMenu(); + } + wait 0.2; + } + if (self stanceButtonPressed()) + { + closeMenu(); + } + 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; + } +} + +overflowfix() +{ + level.test = createServerFontString("default",1.5); + level.test setText("xTUL"); + level.test.alpha = 0; + + for(;;) + { + level waittill("textset"); + if(level.result >= 50) + { + level.test ClearAllTextAfterHudElem(); + level.result = 0; + } + wait .1; + } +} + + diff --git a/utillities.gsc b/utillities.gsc new file mode 100644 index 0000000..8c019b8 --- /dev/null +++ b/utillities.gsc @@ -0,0 +1,288 @@ +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; +} + + +setDvarValue(dvar, value, ifChangedMessage, ifNotChangedMessage) +{ + if (getDvar(dvar) == value) + { + if (isDefined(ifNotChangedMessage)) + { + self iprintln(ifNotChangedMessage); + } + return false; + } + else + { + setDvar(dvar, value); + if (isDefined(ifChangedMessage)) + self iprintln(ifChangedMessage); + if (getDvar(dvar) == value) + return true; + } +} + +onOrOff(bool, func_message) +{ + self iprintln(booleanReturnVal(bool, func_message + " [^1OFF^7]", func_message + " [^2ON^7]")); +} + +generatePlayerString(i) +{ + player = level.players[i]; + if (isDefined(player.pers["isBot"]) && player.pers["isBot"]) + { + player_string = "[^2B^7]"; + } + else { player_string = "[^5P^7]"; } + if (level.teambased && player.team == self.team) + { + player_string = player_string + "[^6T^7]"; + } + else { player_string = player_string + "[^1E^7]"; } + return player_string; +} + + +playerModifierMonitor() +{ + +self endon("disconnect"); +level endon( "game_ended" ); +for(;;) +{ + +if (isDefined(self.sgodmode) && self.sgodmode == true) +{ + self enableinvulnerability(); +} + +if (isDefined(self.inthirdperson) && self.inthirdperson == true) +{ + self setclientthirdperson(1); +} + +if (isDefined(self.has_invis) && self.has_invis == true) +{ + self hide(); +} + +if (isDefined(self.give_perks) && self.give_perks == true) +{ + foreach( perk in strTok( "specialty_additionalprimaryweapon,specialty_armorpiercingspecialty_armorvest,specialty_bulletaccuracy,specialty_bulletdamage,specialty_bulletflinch,specialty_bulletpenetration,specialty_deadshot,specialty_delayexplosive,specialty_detectexplosive,specialty_disarmexplosive,specialty_earnmoremomentum,specialty_explosivedamage,specialty_extraammo,specialty_fallheight,specialty_fastads,specialty_fastequipmentuse,specialty_fastladderclimb,specialty_fastmantle,specialty_fastmeleerecovery,specialty_fastreload,specialty_fasttoss,specialty_fastweaponswitch,specialty_finalstand,specialty_fireproof,specialty_flakjacket,specialty_flashprotection,specialty_gpsjammer,specialty_grenadepulldeath,specialty_healthregen,specialty_holdbreath,specialty_immunecounteruav,specialty_immuneemp,specialty_immunemms,specialty_immunenvthermal,specialty_immunerangefinder,specialty_killstreak,specialty_longersprint,specialty_loudenemies,specialty_marksman,specialty_movefaster,specialty_nomotionsensor,specialty_noname,specialty_nottargetedbyairsupport,specialty_nokillstreakreticle,specialty_nottargettedbysentry,specialty_pin_back,specialty_pistoldeath,specialty_proximityprotection,specialty_quickrevive,specialty_quieter,specialty_reconnaissance,specialty_rof,specialty_scavenger,specialty_showenemyequipment,specialty_stunprotection,specialty_shellshock,specialty_sprintrecovery,specialty_stalker,specialty_twogrenades,specialty_twoprimaries,specialty_unlimitedsprint", ",") )self setperk(perk); +} + +wait 0.5; +} +} + +mapNameLookup(map) +{ + switch(map) { + case "la": + return "Aftermath"; + case "dockside": + return "Cargo"; + case "carrier": + return "Carrier"; + case "drone": + return "Drone"; + case "express": + return "Express"; + case "hijacked": + return "Hijacked"; + case "meltdown": + return "Meltdown"; + case "overflow": + return "Overflow"; + case "nightclub": + return "Plaza"; + case "raid": + return "Raid"; + case "slums": + return "Slums"; + case "village": + return "Standoff"; + case "turbine": + return "Turbine"; + case "socotra": + return "Yemen"; + case "nuketown_2020": + return "Nuketown 2025"; + case "downhill": + return "Downhill"; + case "mirage": + return "Mirage"; + case "hydro": + return "Hydro"; + case "skate": + return "Grind"; + case "concert": + return "Encore"; + case "magma": + return "Magma"; + case "vertigo": + return "Vertigo"; + case "studio": + return "Studio"; + case "uplink": + return "Uplink"; + case "bridge": + return "Detour"; + case "castaway": + return "Cove"; + case "paintball": + return "Rush"; + case "dig": + return "Dig"; + case "frostbite": + return "Frost"; + case "pod": + return "Pod"; + case "takeoff": + return "Takeoff"; + } + return "N/A"; +} + + + +voiceChatSettingLookup(vc) +{ + switch(vc) { + case"DeadChatWithDead": + return "Dead Chat With Dead"; + case"DeadChatWithTeam": + return "Dead Chat With Team"; + case"DeadHearTeamLiving": + return "Dead Hear Team Living"; + case"DeadHearAllLiving": + return "Dead Hear All Living"; + case"EveryoneHearsEveryone": + return "Everyone Hears Everyone"; + case"DeadHearKiller": + return "Dead Hear Killer"; + case"KillersHearVictim": + return "Killers Hear Victim"; + } + return "N/A"; +} + +weaponLookup(weapon) +{ + switch(weapon) { + case"crossbow": + return"Crossbow"; + case"riotshield": + return"Assault/Riot Shield"; + case"knife_ballistic": + return"Ballistic Knife"; + case"usrpg": + return"RPG"; + case"smaw": + return"SMAW"; + case"fhj18": + return"FHJ-18"; + case"kard": + return"KAP-40"; + case"judge": + return"Executioner"; + case"beretta93r": + return"B23R"; + case"fnp45": + return"Tac-45"; + case"fiveseven": + return"Five-Seven"; + case"as50": + return"XPR"; + case"svu": + return"SVU"; + case"dsr50": + return"DSR-50"; + case"ballista": + return"Ballista"; + case"srm1216": + return"M1216"; + case"saiga12": + return"S12"; + case"870mcs": + return"R870 MCS"; + case"ksg": + return"KSG"; + case"mk48": + return"MK-48"; + case"lsat": + return"LSAT"; + case"qbb95": + return"QBB LSW"; + case"hamr": + return"HAMR"; + case"mp7": + return"MP7"; + case"pdw57": + return"PDW"; + case"vector": + return"Vector"; + case"insas": + return"MSMC"; + case"qcw05": + return"Chicom CQB"; + case"evoskorpion": + return"Skorpion EVO"; + case"peacekeeper": + return"Peacekeeper"; + case"hk416": + return"M27"; + case"sig556": + return"SWAT-556"; + case"scar": + return"Scar-H"; + case"saritch": + return"SMR"; + case"tar21": + return"M-TAR"; + case"type95": + return"Type-25"; + case"sa58": + return"FAL OSW"; + case"xm8": + return"M8A1"; + case"an94": + return"AN-94"; + case"knife": + return"Debug Knife"; + case"minigun": + return"Minigun"; + case"m32": + return"War Machine"; + case"knife_held": + return "Combat Knife"; + case"defaultweapon": + return "Finger Guns"; + } + return "N/A"; +} + diff --git a/verification.gsc b/verification.gsc new file mode 100644 index 0000000..c0f552b --- /dev/null +++ b/verification.gsc @@ -0,0 +1,77 @@ +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 "Host"; + if (status == "Co-Host") + return "Co-Host"; + if (status == "Admin") + return "Admin"; + if (status == "VIP") + return "VIP"; + if (status == "Verified") + return "Verified"; + else + return "^7Unverified"; +} + +changeVerificationMenu(player, verlevel) +{ + if( player.status != verlevel && !player isHost()) + { + player.status = verlevel; + + if(player.status == "Unverified") + player thread destroyMenu(player); + + player MenuInit(); + 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 isHost()) + 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.status = 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; +} + + + + + +