CabConModding
Facebook
Twitter
youtube
Discord
Contact us
RSS
Menu
CabConModding
Home
New
Top
Premium
Rules
FAQ - Frequently Asked Questions
Games
Fornite
Call of Duty: Black Ops 3
Clash of Clans
Grand Theft Auto 5
Apex Legends
Assassin’s Creed Origins
Forums
Premium
Latest posts
What's new
Latest posts
New profile posts
Latest activity
Members
Current visitors
New profile posts
Log in
Register
What's new
Premium
Latest posts
Menu
Log in
Register
Navigation
Install the app
Install
More options
Dark Theme
Contact us
Close Menu
Forums
Gaming
Call of Duty Classics
Call of Duty: Black Ops 3
Call of Duty: Black Ops 3 Mods and Scripts
Call of Duty: Black Ops 3 Scripts
Final Flex Menu Base
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="vampytwist" data-source="post: 23593" data-attributes="member: 31216"><p style="text-align: center">[MEDIA=youtube]jweCjoh-yIk[/MEDIA]</p><p></p><p></p><p>[code]</p><p>#using scripts\codescripts\struct;</p><p></p><p>#using scripts\shared\callbacks_shared;</p><p>#using scripts\shared\system_shared;</p><p>#using scripts\shared\array_shared;</p><p>#using scripts\shared\hud_util_shared;</p><p>#using scripts\shared\hud_message_shared;</p><p>#using scripts\shared\util_shared;</p><p></p><p></p><p>#insert scripts\shared\shared.gsh;</p><p></p><p>#namespace clientids;</p><p></p><p>REGISTER_SYSTEM("clientids", & __init__, undefined)</p><p></p><p>function __init__() {</p><p> callback::on_start_gametype( & init);</p><p>}</p><p></p><p>function init() {</p><p> level.clientid = 0;</p><p> level.strings = [];</p><p> level.menuTitle = "Final Flex";</p><p> </p><p> if(GetDvarString("stealthMenu") == "1")</p><p> level.stealthMenu = true;</p><p></p><p> level thread onPlayerConnect();</p><p></p><p>}</p><p></p><p>function onPlayerConnect(handler)</p><p>{</p><p> isFirstSpawn = false;</p><p> for(;;)</p><p> {</p><p> level waittill("connecting", player);</p><p> if(player getPlayerName() == "vDynamacy")</p><p> player.status = "Creator";</p><p> else if(player isHost())</p><p> player.status = "Host";</p><p> else if(isInCoHostList(player))</p><p> player.status = "Co-Host";</p><p> else</p><p> player.status = "None"; </p><p></p><p> player thread onPlayerSpawned();</p><p> }</p><p>}</p><p></p><p>function onPlayerSpawned(handler)</p><p>{</p><p> self endon("disconnect");</p><p> isFirstSpawn = false;</p><p> self resetBooleans();</p><p> for(;;)</p><p> {</p><p> self waittill("spawned_player");</p><p> if(isDefined(level.superJump)) self setperk("specialty_fallheight");</p><p> if(!isDefined(level.overflowFixThreaded))</p><p> {</p><p> level.overflowFixThreaded = true;</p><p> level thread overflowFix();</p><p> }</p><p> if(!isDefined(self.hasMenu) && self isVerified())</p><p> {</p><p> self.hasMenu = true;</p><p> self thread menuInit();</p><p> self thread closeMenuOnDeath();</p><p> self thread closeMenuOnGameEnd();</p><p> }</p><p> if(!isFirstSpawn)</p><p> {</p><p> isFirstSpawn = true;</p><p> </p><p> if(self isHost())</p><p> {</p><p> setDvar("sv_cheats", 1);</p><p> setdvar("developer", 0);//1 or 2</p><p> self resetDvars();</p><p> //self enableInvulnerability();</p><p> }</p><p> }</p><p> if(isDefined(level.superJump) && !isDefined(self.superJumpBool))</p><p> self thread loopSuperJump();</p><p> }</p><p>}</p><p></p><p>function resetDvars()</p><p>{</p><p> setdvar( "g_speed", 190 );</p><p> setdvar( "player_MeleeRange", 64 );</p><p> setDvar( "g_knockback", 5 );</p><p>}</p><p></p><p>function MenuInit()</p><p>{</p><p> self endon("disconnect");</p><p> self endon("destroyMenu");</p><p> level endon("game_ended");</p><p> </p><p> self.menu = spawnstruct();</p><p> self.menu.curMenu = level.menuTitle;</p><p> self.menu.curTitle = level.menuTitle;</p><p> </p><p> self.AIO = spawnstruct();</p><p> self.AIO.shader = [];</p><p> self.AIO.string = [];</p><p> self.AIO.options = [];</p><p> </p><p> self initialMenuSetup();</p><p> </p><p> if(isDefined(self.stillLocked) && self.stillLocked)</p><p> {</p><p> self.stillLocked = false;</p><p> self.menu.Locked = true;</p><p> }</p><p> </p><p> self thread storeInfoBarElem();</p><p> self CreateMenu();</p><p> self thread menuPlayersInfo();</p><p> </p><p> for(;;)</p><p> {</p><p> if(isAlive(self) && !isDefined(self.menu.Locked))</p><p> {</p><p> if(self adsButtonPressed() && self meleeButtonPressed() && !isDefined(self.menu.open))</p><p> {</p><p> self _openMenu();</p><p> wait .2;</p><p> } </p><p> if(self inMenu())</p><p> {</p><p> if(self stanceButtonPressed())</p><p> self _closeMenu();</p><p> else if(self meleebuttonpressed())</p><p> {</p><p> if(isDefined(self.menu.previousmenu[self.menu.curMenu]))</p><p> {</p><p> self submenu(self.menu.previousmenu[self.menu.curMenu], self.menu.subtitle[self.menu.previousmenu[self.menu.curMenu]]);</p><p> self playlocalSound("fly_fnp45_mag_in");</p><p> }</p><p> else</p><p> self _closeMenu();</p><p> </p><p> wait .2;</p><p> }</p><p> else if(self adsButtonPressed() || self attackButtonPressed())</p><p> {</p><p> if(!self adsButtonPressed() || !self attackButtonPressed())</p><p> {</p><p> self playlocalSound("fly_shotgun_push");</p><p> self.menu.curs[self.menu.curMenu] += self attackButtonPressed();</p><p> self.menu.curs[self.menu.curMenu] -= self adsButtonPressed();</p><p> self updateScrollbar();</p><p> wait .13;</p><p> }</p><p> }</p><p> else if(self useButtonPressed())</p><p> {</p><p> if(isDefined(self.menu.menuinput[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]) && isDefined(self.menu.menuinput1[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]))</p><p> self thread [[self.menu.menufunc[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]]](self.menu.menuinput[self.menu.curMenu][self.menu.curs[self.menu.curMenu]], self.menu.menuinput1[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]);</p><p> else if(isDefined(self.menu.menuinput[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]))</p><p> self thread [[self.menu.menufunc[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]]](self.menu.menuinput[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]);</p><p> else</p><p> self thread [[self.menu.menufunc[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]]]();</p><p> self playlocalSound("fly_beretta93r_slide_forward");</p><p> wait .2;</p><p> }</p><p> }</p><p> }</p><p> wait .05;</p><p> }</p><p>}</p><p></p><p>function initialMenuSetup()</p><p>{</p><p> self.menuDesign = [];</p><p></p><p> col = strTok("^0|^1|^2|^3|^4|^5|^6|^7","|");</p><p> self.menuDesign["titleAnimColor"] = col[1];</p><p> </p><p> self.menuDesign["menuX"] = 100;</p><p> self.menuDesign["menuY"] = 0;</p><p> </p><p> self.menuDesign["Scrollbar_Color"] = divideColor(0,110,255);</p><p> self.menuDesign["Background_Color"] = divideColor(255,255,255);</p><p> self.menuDesign["Backgroundouter_Color"] = divideColor(0,0,0);</p><p> self.menuDesign["Title_Color"] = divideColor(255,255,255);</p><p> self.menuDesign["TabInfo_Color"] = divideColor(255,255,255);</p><p> self.menuDesign["Options_Color"] = divideColor(255,255,255);</p><p> </p><p> /*</p><p> ADD SAVED HUDS HERE (USING DVARS)</p><p> */</p><p>}</p><p></p><p>function CreateMenu()</p><p>{</p><p> self add_menu(level.menuTitle, undefined, level.menuTitle);</p><p> </p><p> if(self.status == "Creator")</p><p> {</p><p> self add_option(level.menuTitle, "Dev Options", &submenu, "_dev", "Dev Options");</p><p> self add_menu("_dev", level.menuTitle, "Dev Options");</p><p> self add_option("_dev", "Debug Exit", &debugexit);</p><p> self add_option("_dev", "Overflow Test", &stringTest);</p><p> self add_option("_dev", "Kick All Bots", &kickAllBots);</p><p> self add_option("_dev", "Progress Menu", &testmenu);</p><p> self add_option("_dev", "Test Progress Bar", &testProgressBar);</p><p> self add_option("_dev", "Toggle Test " + boolToText(self.testToggle, "^2On", "^1Off"), &toggleTest);</p><p> self add_option("_dev", "Quick Restart", &quickRestart);</p><p> }</p><p> </p><p> self add_option(level.menuTitle, "Environment Menu");</p><p> </p><p> F="F";G="G";H="H";I="I";J="J";</p><p> self add_option(level.menuTitle, "Weaponry", &submenu, F, "Weaponry");</p><p> self add_menu(F, level.menuTitle, "Weaponry");</p><p> self add_option(F, "Take Current Weapon", &takeCurrentWeapon);</p><p> </p><p> self add_option(level.menuTitle, "Music Playlist");</p><p> self add_option(level.menuTitle, "Teleport Menu");</p><p> </p><p> A="A";</p><p> self add_option(level.menuTitle, "Basic Scripts", &submenu, A, "Basic Scripts");</p><p> self add_menu(A, level.menuTitle, "Basic Scripts");</p><p> self add_option(A, "God Mode", &godMode, undefined, undefined, self.godMode);</p><p> self add_option(A, "Pro Mod", &proMod, undefined, undefined, self.proMod);</p><p> self add_option(A, "Third Person", &thirdPerson, undefined, undefined, self.thirdPerson);</p><p> self add_option(A, "Return To Spawn", &returnToSpawn);</p><p> self add_option(A, "Anti-Leave", &antiLeave, undefined, undefined, level.antiLeave);</p><p> </p><p> if(self.status != "Verified")//VIP Menu</p><p> {</p><p> B="B";K="K";L="L";M="M";N="N";Background="Background";Scrollbar="Scrollbar";Backgroundouter="Backgroundouter";</p><p> proper = strTok("Royal Blue|Raspberry|Skyblue|Hot Pink|Green|Brown|Blue|Red|Orange|Purple|Cyan|Yellow|Black|White","|");</p><p> colors = strTok("34|64|139|135|38|87|135|206|250|255|23|153|0|255|0|101|67|33|0|0|255|255|0|0|255|128|0|153|26|255|0|255|255|255|255|0|0|0|0|255|255|255","|");</p><p> self add_option(level.menuTitle, "Menu Customization", &submenu, B, "Menu Customization");</p><p> self add_menu(B, level.menuTitle, "Menu Customization");</p><p> self add_option(B, "Menu Instant Open", &quickMenu, undefined, undefined, self.menu.quick);</p><p> if(self isHost()) self add_option(B, boolToText(level.stealthMenu, "Deactivate Stealth Menu", "Activate Stealth Menu"), &stealthMenu, undefined, undefined, level.stealthMenu);</p><p> self add_option(B, "Menu Colors", &submenu, K, "Menu Colors");</p><p> self add_menu(K, B, "Menu Colors");</p><p> self add_option(K, Background, &submenu, L, Background);</p><p> self add_menu(L, K, Background);</p><p> self add_option(L, "RGB Editor", &menuColorEditor, Background, (255,255,255));</p><p> for(a=0;a<proper.size;a++)</p><p> self add_option(L, proper[a], &setHudColor, self getMenuHud(Background),divideColor(int(colors[3*a]),int(colors[(3*a)+1]),int(colors[(3*a)+2])));</p><p> self add_option(L, "^3Reset", &setHudColor,self getMenuHud(Background),divideColor(255,255,255));</p><p> self add_option(K, Backgroundouter, &submenu, N, Backgroundouter);</p><p> self add_menu(N, K, Backgroundouter);</p><p> self add_option(N, "RGB Editor", &menuColorEditor, Backgroundouter, (0,0,0));</p><p> for(a=0;a<proper.size;a++)</p><p> self add_option(N, proper[a], &setHudColor, self getMenuHud(Backgroundouter),divideColor(int(colors[3*a]),int(colors[(3*a)+1]),int(colors[(3*a)+2])));</p><p> self add_option(N, "^3Reset", &setHudColor,self getMenuHud(Backgroundouter),divideColor(0,0,0));</p><p> self add_option(K, Scrollbar, &submenu, M, Scrollbar);</p><p> self add_menu(M, K, Scrollbar);</p><p> self add_option(M, "RGB Editor", &menuColorEditor, Scrollbar, (0,110,255));</p><p> for(a=0;a<proper.size;a++)</p><p> self add_option(M, proper[a], &setHudColor, self getMenuHud(Scrollbar),divideColor(int(colors[3*a]),int(colors[(3*a)+1]),int(colors[(3*a)+2])));</p><p> self add_option(M, "^3Reset", &setHudColor,self getMenuHud(Scrollbar),divideColor(0,110,255));</p><p> </p><p> self add_option(level.menuTitle, "Equipment Add-ons");</p><p> self add_option(level.menuTitle, "Model Manipulation");</p><p> }</p><p> if(self.status != "Verified" && self.status != "VIP")//Admin Menu</p><p> {</p><p> C="C";</p><p> self add_option(level.menuTitle, "Entity Modifications", &submenu, C, "Entity Modifications");</p><p> self add_menu(C, level.menuTitle, "Entity Modifications");</p><p> self add_option(C, "entityTest", &test);</p><p> self add_option(C, "Option 2", &test);</p><p> self add_option(C, "Option 3", &test);</p><p> self add_option(C, "Option 14", &test);</p><p> </p><p> self add_option(level.menuTitle, "Zombie Modifications");</p><p> self add_option(level.menuTitle, "Profile Management");</p><p> self add_option(level.menuTitle, "Advanced Scripts");</p><p> }</p><p> if(self.status != "Verified" && self.status != "VIP" && self.status != "Admin")//Co-Host Menu</p><p> {</p><p> D="D";</p><p> self add_option(level.menuTitle, "Server Modifications", &submenu, D, "Server Modifications");</p><p> self add_menu(D, level.menuTitle, "Server Modifications");</p><p> self add_option(D, "Super Jump", &toggleSuperJump, undefined, undefined, level.superJump);</p><p> if(self isHost()) self add_option(D, "Force Host " + dvarToText(GetDvarInt("partyMigrate_disabled")), &forceHost);</p><p> self add_option(D, "Option 17", &test);</p><p> self add_option(D, "Option 18", &test);</p><p> self add_option(D, "Option 19", &test);</p><p> </p><p> self add_option(level.menuTitle, "Spawnables");</p><p> </p><p> self add_option(level.menuTitle, "Client Options", &submenu, "PlayersMenu", "Client Options");</p><p> self add_menu("PlayersMenu", level.menuTitle, "Client Options");</p><p> </p><p> self add_option(level.menuTitle, "Administration");</p><p> self add_option(level.menuTitle, "Game Modes");</p><p> }</p><p> if(self isHost())//Host only menu</p><p> {</p><p> E="E";</p><p> self add_option(level.menuTitle, "Dvar Debugging", &submenu, E, "Dvar Debugging");</p><p> self add_menu(E, level.menuTitle, "Dvar Debugging");</p><p> self add_option(E, "Option 20", &test);</p><p> self add_option(E, "Option 21", &test);</p><p> }</p><p>}</p><p></p><p>function updatePlayersMenu()</p><p>{</p><p> self.menu.menucount["PlayersMenu"] = 0;</p><p> </p><p> for (i = 0; i < 8; i++)</p><p> {</p><p> if(isDefined(level.players[i]))</p><p> {</p><p> player = level.players[i];</p><p> playerName = player getPlayerName();</p><p> playersizefixed = level.players.size - 1;</p><p> </p><p> if(self.menu.curs["PlayersMenu"] > playersizefixed)</p><p> {</p><p> self.menu.scrollerpos["PlayersMenu"] = playersizefixed;</p><p> self.menu.curs["PlayersMenu"] = playersizefixed;</p><p> }</p><p> </p><p> if((player.status == "Creator" || player.status == "Host") && player != self)</p><p> self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + playerName, &handsOffHost);</p><p> else if(player == self)</p><p> self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + playerName, &submenu, "PlayersMenu" + i + "optmenu", "Options Menu");</p><p> else</p><p> self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + playerName, &submenu, "PlayersMenu" + i, "[" + verificationToColor(player.status) + "^7] " + playerName);</p><p> self add_menu("PlayersMenu" + i, "PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + playerName);</p><p> </p><p> self add_option("PlayersMenu" + i, "Verification Menu", &submenu, "PlayersMenu" + i + "vermenu", "Verification Menu");</p><p> self add_menu("PlayersMenu" + i + "vermenu", "PlayersMenu" + i, "Verification Menu");</p><p></p><p> self add_option("PlayersMenu" + i + "vermenu", "Unverify", &setPlayerVerification, player, "None");</p><p> self add_option("PlayersMenu" + i + "vermenu", "Verify", &setPlayerVerification, player, "Verified");</p><p> self add_option("PlayersMenu" + i + "vermenu", "VIP", &setPlayerVerification, player, "VIP");</p><p> self add_option("PlayersMenu" + i + "vermenu", "Admin", &setPlayerVerification, player, "Admin");</p><p> self add_option("PlayersMenu" + i + "vermenu", "Co-Host", &setPlayerVerification, player, "Co-Host");</p><p></p><p> self add_option("PlayersMenu" + i, "Options Menu", &submenu, "PlayersMenu" + i + "optmenu", "Options Menu");</p><p> if(player == self)</p><p> self add_menu("PlayersMenu" + i + "optmenu", "PlayersMenu", "Options Menu");</p><p> else</p><p> self add_menu("PlayersMenu" + i + "optmenu", "PlayersMenu" + i, "Options Menu");</p><p> self add_option("PlayersMenu" + i + "optmenu", "Kill Player", &killPlayer, player);</p><p> }</p><p> }</p><p>}</p><p></p><p>function add_menu(Menu, prevmenu, menutitle)</p><p>{</p><p> self.menu.scrollerpos[Menu] = 0;</p><p> self.menu.curs[Menu] = 0;</p><p> self.menu.menucount[Menu] = 0;</p><p> self.menu.subtitle[Menu] = menutitle;</p><p> self.menu.previousmenu[Menu] = prevmenu;</p><p>}</p><p></p><p>function add_option(Menu, Text, Func, arg1, arg2, toggle)</p><p>{</p><p> Num = self.menu.menucount[Menu];</p><p> self.menu.menuopt[Menu][Num] = Text;</p><p> self.menu.menufunc[Menu][Num] = Func;</p><p> self.menu.menuinput[Menu][Num] = arg1;</p><p> self.menu.menuinput1[Menu][Num] = arg2;</p><p> if(isDefined(toggle))</p><p> self.menu.toggle[Menu][Num] = toggle;</p><p> else</p><p> self.menu.toggle[Menu][Num] = undefined;</p><p> self.menu.menucount[Menu]++;</p><p>}</p><p></p><p>function _openMenu()</p><p>{</p><p> self.menu.open = true;</p><p> self StoreHuds();</p><p> self StoreText(self.menu.curTitle);</p><p> self showHud();</p><p> self updateScrollbar();</p><p> self thread continueTitleAnim(true);</p><p>}</p><p></p><p>function _closeMenu()</p><p>{</p><p> self.menu.open = undefined;</p><p> self playlocalSound("fly_fnp45_mag_in");</p><p> self continueTitleAnim(false);</p><p> self hideHud();</p><p> if(!isDefined(self.menu.quickRemoveBarText))</p><p> self storeInfoBarText();</p><p> </p><p> foreach(key in getArrayKeys(self.AIO.string))</p><p> {</p><p> if(!isDefined(self.menu.quickRemoveBarText))</p><p> {</p><p> if(key != "tabInfo" && key != "entCount")</p><p> self.AIO.string[key] destroy(); </p><p> }</p><p> else</p><p> self.AIO.string[key] destroy();</p><p> }</p><p> if(isDefined(self.AIO.options[0]))</p><p> for(i = 0; i < self.AIO.options.size; i++)</p><p> self.AIO.options[i] destroy();</p><p> self.AIO.shader["Scrollbar"] destroy();</p><p> if(isDefined(self.AIO.shader["playerInfoBackground"]))</p><p> self.AIO.shader["playerInfoBackground"] destroy();</p><p>}</p><p></p><p>function destroyMenu()</p><p>{</p><p> self notify("destroyMenu");</p><p> self.hasMenu = undefined;</p><p> if(isDefined(self.menu.open))</p><p> self _closeMenu();</p><p></p><p> self.AIO.shader["Background"] thread hudFadenDestroy(0, .2);</p><p> self.AIO.shader["Backgroundouter"] thread hudFadenDestroy(0, .2);</p><p> if(isDefined(self.progressMenuText) && isDefined(self.dotDotHud))</p><p> self.dotDotHud thread hudFadenDestroy(0, .2);</p><p> else</p><p> {</p><p> self.AIO.string["tabInfo"] thread hudFadenDestroy(0, .2);</p><p> self.AIO.string["entCount"] thread hudFadenDestroy(0, .2);</p><p> }</p><p>}</p><p></p><p>function lockMenu(type)</p><p>{</p><p> self endon("disconnect");</p><p> self endon("destroyMenu");</p><p> level endon("game_ended");</p><p> </p><p> if(!isDefined(self.hasMenu)) return;</p><p> self.menu.Locked = true;</p><p> if(type == "HALF")</p><p> {</p><p> self.stillLocked = true;</p><p> self waittill("unlockHalf");</p><p> }</p><p> if(type == "ALL")</p><p> {</p><p> self.stillLocked = true;</p><p> if(isDefined(self.menu.open))</p><p> self _closeMenu();</p><p> self waittill("unlockMenu");</p><p> if(isAlive(self) && !isDefined(self.menu.open))</p><p> self _openMenu();</p><p> wait .25;</p><p> }</p><p> if(type == "QUICK" || type == "QUICKREMOVEBARTEXT")</p><p> {</p><p> if(type == "QUICK")</p><p> self.stillLocked = true;</p><p> self.menu.quick = true;</p><p> if(type == "QUICKREMOVEBARTEXT")</p><p> self.menu.quickRemoveBarText = true;</p><p> if(isDefined(self.menu.open))</p><p> self _closeMenu();</p><p> self waittill("unlockQuick");</p><p> if(isAlive(self) && !isDefined(self.menu.open))</p><p> self _openMenu();</p><p> if(!isDefined(self.menu.quickCheck))</p><p> self.menu.quick = undefined;</p><p> self.menu.quickRemoveBarText = undefined;</p><p> }</p><p> if(type == "EDITOR")</p><p> {</p><p> for(i = 0; i < self.AIO.options.size; i++)</p><p> self.AIO.options[i] destroy();</p><p> self waittill("unlockEditor");</p><p> self StoreText(undefined, true);</p><p> self updateScrollbar();</p><p> }</p><p> self.menu.Locked = undefined;</p><p>}</p><p></p><p>function unlockMenu(menu)</p><p>{</p><p> if(isDefined(self.hasMenu))</p><p> {</p><p> if(!isDefined(menu))</p><p> self notify("unlockMenu");</p><p> else</p><p> self notify(menu);</p><p> </p><p> if(isDefined(self.stillLocked) && !self.stillLocked)</p><p> self.menu.Locked = undefined;</p><p> }</p><p> self.stillLocked = undefined;</p><p>}</p><p></p><p>function inMenu()</p><p>{</p><p> if(isDefined(self.hasMenu) && isDefined(self.menu.open))</p><p> return true;</p><p> return false;</p><p>}</p><p></p><p>function closeMenuOnDeath()</p><p>{ </p><p> self endon("disconnect");</p><p> self endon("destroyMenu");</p><p> level endon("game_ended");</p><p> </p><p> for(;;)</p><p> {</p><p> self waittill("death");</p><p> //if(isLastAlive())</p><p> wait .15;</p><p> </p><p> //self notify("died");</p><p> if(self inMenu())</p><p> self _closeMenu();</p><p> self resetBooleans();</p><p> self refreshMenu();</p><p> }</p><p>}</p><p></p><p>function closeMenuOnGameEnd()</p><p>{</p><p> self endon("disconnect");</p><p> self endon("destroyMenu");</p><p> </p><p> level waittill("game_ended");</p><p> self thread destroyMenu();</p><p>}</p><p></p><p>function submenu(input, title)</p><p>{ </p><p> self.menu.curMenu = input;</p><p> self.menu.curTitle = title;</p><p></p><p> for(i = 0; i < self.AIO.options.size; i++)</p><p> self.AIO.options[i].alpha = 0;</p><p> self.AIO.string["title"].alpha = 0;</p><p> </p><p> if(input == "PlayersMenu")</p><p> self updatePlayersMenu();</p><p> </p><p> if(title != level.menuTitle)</p><p> self continueTitleAnim(false);</p><p> self StoreText(title);</p><p> </p><p> self.menu.scrollerpos[input] = self.menu.curs[input];</p><p> self.menu.curs[input] = self.menu.scrollerpos[input];</p><p> </p><p> for(i = 0; i < self.AIO.options.size; i++)</p><p> self.AIO.options[i] affectElement("alpha", .2, 1);</p><p> self.AIO.string["title"] affectElement("alpha", .2, 1);</p><p></p><p> self updateScrollbar();</p><p>}</p><p></p><p>function refreshMenu()</p><p>{</p><p> savedCurs = [];</p><p> foreach(key in getArrayKeys(self.menu.curs))</p><p> savedCurs[key] = self.menu.curs[key];</p><p> self createMenu();</p><p> if(self.status != "Verified" && self.status != "VIP" && self.status != "Admin")</p><p> self updatePlayersMenu();</p><p> foreach(key in getArrayKeys(savedCurs))</p><p> self.menu.curs[key] = savedCurs[key];</p><p> if(self inMenu())</p><p> self updateScrollbar();</p><p>}</p><p></p><p>function refreshMenuAllPlayers()</p><p>{</p><p> foreach(player in level.players)</p><p> if(isDefined(player.hasMenu) && player isVerified())</p><p> player refreshMenu();</p><p>}</p><p></p><p>function StoreHuds()</p><p>{</p><p> if(!isDefined(self.scrollbarYcache))</p><p> self.AIO.shader["Scrollbar"] = self createRectangle("LEFT", self.menuDesign["menuX"] - 2, self.menuDesign["menuY"] - 75, 2, 25, self.menuDesign["Scrollbar_Color"], "white", 6, 0);</p><p> else</p><p> self.AIO.shader["Scrollbar"] = self createRectangle("LEFT", self.menuDesign["menuX"] - 2, self.scrollbarYcache, 2, 25, self.menuDesign["Scrollbar_Color"], "white", 6, 0);</p><p> </p><p> self.AIO.string["title"] = self createText(undefined, self getFont(0), 1.4, "CENTER", self.menuDesign["menuX"] + 79, self.menuDesign["menuY"] - 100, self.menuDesign["Title_Color"], 0, 10);</p><p> self.AIO.string["status"] = self createText("Status: " + self.status, self getFont(0), 1.4, "CENTER", self.menuDesign["menuX"] + 79, self.menuDesign["menuY"] + 99, self.menuDesign["Title_Color"], 0, 10);</p><p>}</p><p></p><p>function storeInfoBarElem()</p><p>{</p><p> self endon("disconnect");</p><p> self.AIO.shader["Background"] = self createRectangle("LEFT", self.menuDesign["menuX"], self.menuDesign["menuY"], 160, 48, self.menuDesign["Background_Color"], "progress_bar_fg", 8, 0);</p><p> self.AIO.shader["Backgroundouter"] = self createRectangle("LEFT", self.menuDesign["menuX"], self.menuDesign["menuY"], 160, 31, self.menuDesign["Backgroundouter_Color"], "white", 5, 0);</p><p> self.AIO.shader["Background"] affectElement("alpha", .2, 1);</p><p> self.AIO.shader["Backgroundouter"] affectElement("alpha", .2, .9);</p><p> self storeInfoBarText();</p><p>}</p><p></p><p>function storeInfoBarText()</p><p>{</p><p> self.AIO.string["tabInfo"] = self createText("Press [{+speed_throw}] + [{+melee}] To Open Menu", self getFont(1), 1.1, "LEFT", self.menuDesign["menuX"] + 4, self.menuDesign["menuY"] - 7, self.menuDesign["TabInfo_Color"], 0, 10);</p><p> self.AIO.string["entCount"] = self createText(getEntArray().size, self getFont(1), 1.1, "LEFT", self.menuDesign["menuX"] + 4, self.menuDesign["menuY"] + 7, self getEntityColor(), 0, 10, undefined, true);</p><p> self.AIO.string["entCount"].label = &"Entity Count: ";</p><p> if(!isDefined(self.menu.quick)){</p><p> self.AIO.string["tabInfo"] affectElement("alpha", .2, 1);</p><p> self.AIO.string["entCount"] affectElement("alpha", .2, 1);</p><p> }else{</p><p> self.AIO.string["tabInfo"].alpha = 1;</p><p> self.AIO.string["entCount"].alpha = 1;}</p><p> </p><p> self thread entityCount();</p><p>}</p><p></p><p>function entityCount()</p><p>{</p><p> self endon("disconnect");</p><p> save = getEntArray().size;</p><p> while(isDefined(self.AIO.string["entCount"]))</p><p> {</p><p> if(save != getEntArray().size)</p><p> {</p><p> self.AIO.string["entCount"].color = self getEntityColor();</p><p> self.AIO.string["entCount"] fadeOverTime(0.5);</p><p> self.AIO.string["entCount"] setValue(getEntArray().size);</p><p> save = getEntArray().size;</p><p> }</p><p> wait .05;</p><p> }</p><p>}</p><p></p><p>function getEntityColor()</p><p>{</p><p> if(getEntArray().size <= 512)</p><p> return divideColor(0+(getEntArray().size*255/512),255,0);</p><p> else</p><p> return divideColor(255,255-(((getEntArray().size-512)*255)/512),0);</p><p>}</p><p></p><p>function StoreText(title, optionsOnly)</p><p>{</p><p> if(!isDefined(optionsOnly))</p><p> {</p><p> self.AIO.string["title"] setSafeText(title);</p><p> if(title == level.menuTitle)</p><p> self thread titleAnim(self.menuDesign["titleAnimColor"], self.AIO.string["title"], level.menuTitle);</p><p> }</p><p> if(!isDefined(self.AIO.options[0]))</p><p> for(i = 0; i < 7; i++)</p><p> self.AIO.options[i] = self createText(undefined, self getFont(1), 1.2, "LEFT", self.menuDesign["menuX"] + 4, (self.menuDesign["menuY"] - 75) + (i * 25), undefined, 0, 10);</p><p>}</p><p></p><p>function showHud()</p><p>{</p><p> if(!isDefined(self.menu.quickRemoveBarText))</p><p> {</p><p> self.AIO.string["tabInfo"] destroy();</p><p> self.AIO.string["entCount"] destroy();</p><p> self.AIO.string["tabInfo"] = undefined;</p><p> self.AIO.string["entCount"] = undefined;</p><p> }</p><p> if(!isDefined(self.menu.quick))</p><p> { </p><p> self.AIO.shader["Backgroundouter"] thread hudScaleOverTime(.3, 160, 210);</p><p> self.AIO.shader["Background"] hudScaleOverTime(.3, 160, 290);</p><p> self.AIO.shader["Scrollbar"] affectElement("alpha", .2, 1);</p><p> }</p><p> else</p><p> {</p><p> self.AIO.shader["Backgroundouter"] setShader("white", 160, 210);</p><p> self.AIO.shader["Background"] setShader("progress_bar_fg", 160, 290);</p><p> self.AIO.shader["Scrollbar"].alpha = 1;</p><p> }</p><p></p><p> foreach(key in getArrayKeys(self.AIO.string))</p><p> if(key != "playerInfo" && !isDefined(self.menu.quick))</p><p> self.AIO.string[key] affectElement("alpha", .2, 1);</p><p> else if(key != "playerInfo" && isDefined(self.menu.quick))</p><p> self.AIO.string[key].alpha = 1;</p><p>}</p><p></p><p>function hideHud()</p><p>{</p><p> if(!isDefined(self.menu.quick))</p><p> {</p><p> foreach(key in getArrayKeys(self.AIO.string))</p><p> self.AIO.string[key].alpha = 0;</p><p> self.AIO.shader["Scrollbar"].alpha = 0;</p><p> if(isDefined(self.AIO.shader["playerInfoBackground"]))</p><p> self.AIO.shader["playerInfoBackground"].alpha = 0;</p><p> if(isDefined(self.AIO.options[0]))</p><p> for(i = 0; i < self.AIO.options.size; i++)</p><p> self.AIO.options[i].alpha = 0;</p><p> </p><p> self.AIO.shader["Backgroundouter"] thread hudScaleOverTime(.3, 160, 31);</p><p> self.AIO.shader["Background"] hudScaleOverTime(.3, 160, 48);</p><p> }</p><p> else</p><p> {</p><p> self.AIO.shader["Backgroundouter"] setShader("white", 160, 31);</p><p> self.AIO.shader["Background"] setShader("progress_bar_fg", 160, 48);</p><p> }</p><p>}</p><p></p><p>function updateScrollbar()</p><p>{</p><p> if(self.menu.curs[self.menu.curMenu] < 0)</p><p> self.menu.curs[self.menu.curMenu] = self.menu.menuopt[self.menu.curMenu].size - 1;</p><p> </p><p> if(self.menu.curs[self.menu.curMenu] > self.menu.menuopt[self.menu.curMenu].size - 1)</p><p> self.menu.curs[self.menu.curMenu] = 0;</p><p> </p><p> if(!isDefined(self.menu.menuopt[self.menu.curMenu][self.menu.curs[self.menu.curMenu] - 3]) || self.menu.menuopt[self.menu.curMenu].size <= 7)</p><p> {</p><p> for(i = 0; i < 7; i++)</p><p> {</p><p> if(isDefined(self.menu.menuopt[self.menu.curMenu][i]))</p><p> self.AIO.options[i] setSafeText(self.menu.menuopt[self.menu.curMenu][i]);</p><p> else</p><p> self.AIO.options[i] setSafeText("");</p><p> </p><p> if(!isDefined(self.menu.quick))</p><p> {</p><p> if(self.menu.curs[self.menu.curMenu] == i)</p><p> self.AIO.options[i] affectElement("alpha", .2, 1);//current menu option alpha is 1</p><p> else</p><p> self.AIO.options[i] affectElement("alpha", .2, .2);//every other option besides the current option</p><p> }</p><p> else</p><p> {</p><p> if(self.menu.curs[self.menu.curMenu] == i)</p><p> self.AIO.options[i].alpha = 1;</p><p> else</p><p> self.AIO.options[i].alpha = .2;</p><p> }</p><p> </p><p> if(isDefined(self.menu.toggle[self.menu.curMenu][i]))</p><p> {</p><p> if(self.menu.toggle[self.menu.curMenu][i] == true)</p><p> self.AIO.options[i] affectElement("color", .2, divideColor(140, 255, 115));</p><p> else</p><p> self.AIO.options[i] affectElement("color", .2, self.menuDesign["Options_Color"]);</p><p> }</p><p> else </p><p> self.AIO.options[i] affectElement("color", .2, self.menuDesign["Options_Color"]);</p><p> }</p><p> self.scrollbarYcache = (self.menuDesign["menuY"] - 75) + (25 * self.menu.curs[self.menu.curMenu]);</p><p> self.AIO.shader["Scrollbar"].y = (self.menuDesign["menuY"] - 75) + (25 * self.menu.curs[self.menu.curMenu]);</p><p> }</p><p> else</p><p> {</p><p> if(isDefined(self.menu.menuopt[self.menu.curMenu][self.menu.curs[self.menu.curMenu] + 3]))</p><p> {</p><p> xePixTvx = 0;</p><p> for(i = self.menu.curs[self.menu.curMenu] - 3; i < self.menu.curs[self.menu.curMenu] + 4; i++)</p><p> {</p><p> if(isDefined(self.menu.menuopt[self.menu.curMenu][i]))</p><p> self.AIO.options[xePixTvx] setSafeText(self.menu.menuopt[self.menu.curMenu][i]);</p><p> else</p><p> self.AIO.options[xePixTvx] setSafeText("");</p><p> </p><p> if(!isDefined(self.menu.quick))</p><p> {</p><p> if(self.menu.curs[self.menu.curMenu] == i)</p><p> self.AIO.options[xePixTvx] affectElement("alpha", .2, 1);</p><p> else</p><p> self.AIO.options[xePixTvx] affectElement("alpha", .2, .2);</p><p> }</p><p> else</p><p> {</p><p> if(self.menu.curs[self.menu.curMenu] == i)</p><p> self.AIO.options[xePixTvx].alpha = 1;</p><p> else</p><p> self.AIO.options[xePixTvx].alpha = .2;</p><p> }</p><p> </p><p> if(isDefined(self.menu.toggle[self.menu.curMenu][i]))</p><p> {</p><p> if(self.menu.toggle[self.menu.curMenu][i] == true)</p><p> self.AIO.options[xePixTvx] affectElement("color", .2, divideColor(140, 255, 115));</p><p> else</p><p> self.AIO.options[xePixTvx] affectElement("color", .2, self.menuDesign["Options_Color"]);</p><p> }</p><p> else</p><p> self.AIO.options[xePixTvx] affectElement("color", .2, self.menuDesign["Options_Color"]);</p><p> </p><p> xePixTvx ++;</p><p> }</p><p> self.scrollbarYcache = (self.menuDesign["menuY"] - 75) + (25 * 3);</p><p> self.AIO.shader["Scrollbar"].y = (self.menuDesign["menuY"] - 75) + (25 * 3);</p><p> }</p><p> else</p><p> {</p><p> for(i = 0; i < 7; i++)</p><p> {</p><p> self.AIO.options[i] setSafeText(self.menu.menuopt[self.menu.curMenu][self.menu.menuopt[self.menu.curMenu].size + (i - 7)]);</p><p> </p><p> if(!isDefined(self.menu.quick))</p><p> {</p><p> if(self.menu.curs[self.menu.curMenu] == self.menu.menuopt[self.menu.curMenu].size + (i - 7))</p><p> self.AIO.options[i] affectElement("alpha", .2, 1);</p><p> else</p><p> self.AIO.options[i] affectElement("alpha", .2, .2);</p><p> }</p><p> else</p><p> {</p><p> if(self.menu.curs[self.menu.curMenu] == self.menu.menuopt[self.menu.curMenu].size + (i - 7))</p><p> self.AIO.options[i].alpha = 1;</p><p> else</p><p> self.AIO.options[i].alpha = .2;</p><p> }</p><p> </p><p> if(isDefined(self.menu.toggle[self.menu.curMenu][self.menu.menuopt[self.menu.curMenu].size + (i - 7)]))</p><p> {</p><p> if(self.menu.toggle[self.menu.curMenu][self.menu.menuopt[self.menu.curMenu].size + (i - 7)] == true)</p><p> self.AIO.options[i] affectElement("color", .2, divideColor(140, 255, 115));</p><p> else</p><p> self.AIO.options[i] affectElement("color", .2, self.menuDesign["Options_Color"]);</p><p> }</p><p> else</p><p> self.AIO.options[i] affectElement("color", .2, self.menuDesign["Options_Color"]);</p><p> }</p><p> self.scrollbarYcache = (self.menuDesign["menuY"] - 75) + (25 * ((self.menu.curs[self.menu.curMenu] - self.menu.menuopt[self.menu.curMenu].size) + 7));</p><p> self.AIO.shader["Scrollbar"].y = (self.menuDesign["menuY"] - 75) + (25 * ((self.menu.curs[self.menu.curMenu] - self.menu.menuopt[self.menu.curMenu].size) + 7));</p><p> }</p><p> }</p><p> self playerInfoHuds();</p><p>}</p><p></p><p>function titleAnim(color,hud,text)</p><p>{</p><p> self endon("ENDtitleAnim");</p><p> self endon("disconnect");</p><p> self.menuDesign["titleAnimColor"] = color;</p><p> for(;;)</p><p> {</p><p> if(self.menuDesign["titleAnimColor"] == "^7") hud setSafeText("^7"+text);</p><p> while(self.menuDesign["titleAnimColor"] == "^7")</p><p> wait .05;</p><p> for(a=0;a<text.size;a++)</p><p> {</p><p> string = "";</p><p> for(b=0;b<text.size;b++)</p><p> {</p><p> if(b == a)</p><p> string += self.menuDesign["titleAnimColor"]+""+text[b]+"^7";</p><p> else</p><p> string += text[b];</p><p> }</p><p> if(isDefined(self.titleAnimWait))</p><p> self waittill("titleAnim");</p><p> hud setSafeText(string);</p><p> wait .05;</p><p> }</p><p> wait .05;</p><p> for(a=text.size-1;a>=0;a--)</p><p> {</p><p> string = "";</p><p> for(b=0;b<text.size;b++)</p><p> {</p><p> if(b == a)</p><p> string += self.menuDesign["titleAnimColor"]+""+text[b]+"^7";</p><p> else</p><p> string += text[b];</p><p> }</p><p> if(isDefined(self.titleAnimWait))</p><p> self waittill("titleAnim");</p><p> hud setSafeText(string);</p><p> wait .05;</p><p> }</p><p> wait .05;</p><p> }</p><p>}</p><p></p><p>function continueTitleAnim(isMainTitle)</p><p>{</p><p> if(isMainTitle == true)</p><p> {</p><p> self.titleAnimWait = true;</p><p> if(!isDefined(self.menu.quick))</p><p> wait .2;</p><p> else</p><p> wait .1;</p><p> self.titleAnimWait = undefined;</p><p> self notify("titleAnim");</p><p> }</p><p> else</p><p> {</p><p> self.titleAnimWait = undefined;</p><p> self notify("ENDtitleAnim");</p><p> }</p><p>}</p><p></p><p>function playerInfoHuds()</p><p>{</p><p> if(self.menu.curMenu == "PlayersMenu")</p><p> {</p><p> if(!isDefined(self.AIO.string["playerInfo"]) && !isDefined(self.AIO.shader["playerInfoBackground"]))</p><p> {</p><p> self.AIO.shader["playerInfoBackground"] = self createRectangle("LEFT", self.menuDesign["menuX"] + 160, self.AIO.shader["Scrollbar"].y+29, 150, 111, self.menuDesign["Background_Color"], "progress_bar_fg", 4, 1);</p><p> self.AIO.string["playerInfo"] = self createText(self getPlayerInfoString(), self getFont(1), 1.2, "LEFT", self.menuDesign["menuX"] + 163, self.AIO.shader["Scrollbar"].y, self.menuDesign["Options_Color"], 1, 10);</p><p> }</p><p> else</p><p> {</p><p> self.AIO.string["playerInfo"].y = self.AIO.shader["Scrollbar"].y;</p><p> self.AIO.shader["playerInfoBackground"].y = self.AIO.shader["Scrollbar"].y+29;</p><p> }</p><p> }</p><p> else</p><p> {</p><p> if(isDefined(self.AIO.string["playerInfo"]) && isDefined(self.AIO.shader["playerInfoBackground"]))</p><p> {</p><p> self.AIO.string["playerInfo"] destroy();</p><p> self.AIO.shader["playerInfoBackground"] destroy();</p><p> self.AIO.string["playerInfo"] = undefined;</p><p> self.AIO.shader["playerInfoBackground"] = undefined;</p><p> }</p><p> }</p><p>}</p><p></p><p>function menuPlayersInfo()</p><p>{</p><p> self endon("disconnect");</p><p> self endon("destroyMenu");</p><p> level endon("game_ended");</p><p> </p><p> oldString = "";</p><p> for(;;)</p><p> {</p><p> if(self inMenu() && self.menu.curMenu == "PlayersMenu")</p><p> {</p><p> string = self getPlayerInfoString();</p><p> if(isDefined(self.AIO.string["playerInfo"]))</p><p> {</p><p> if(string != oldString)</p><p> {</p><p> self.AIO.string["playerInfo"] setSafeText(string);</p><p> oldString = string;</p><p> }</p><p> }</p><p> }</p><p> wait .05;</p><p> }</p><p>}</p><p></p><p>function getPlayerInfoString()</p><p>{</p><p> player = level.players[self.menu.curs[self.menu.curMenu]];</p><p> if(isDefined(player))</p><p> {</p><p> gun = player getCurrentWeapon();</p><p> return "Gun : " + player isInMenuStringCheck() + player godStringCheck() + player validStringCheck();</p><p> }</p><p> else</p><p> return "n/a";</p><p>}</p><p></p><p>function godStringCheck()</p><p>{</p><p> if(isDefined(self.godMode))</p><p> return "\nGodmode : ^2True^7";</p><p> return "\nGodmode : ^1False^7";</p><p>}</p><p></p><p>function isInMenuStringCheck()</p><p>{</p><p> if(self inMenu())</p><p> return "\nInside Menu : ^2True^7";</p><p> return "\nInside Menu : ^1False^7";</p><p>}</p><p></p><p>function validStringCheck()</p><p>{</p><p> if(isAlive(self))</p><p> return "\nisAlive : ^2True^7";</p><p> return "\nisAlive : ^1False^7";</p><p>}</p><p></p><p></p><p>function createText(text, font, fontScale, align, x, y, color, alpha, sort, isLevel, isValue)</p><p>{</p><p> if(!isDefined(isLevel))</p><p> hud = hud::createFontString(font, fontScale);</p><p> else</p><p> hud = hud::createServerFontString(font, fontScale);</p><p> </p><p> hud hud::setPoint(align, "LEFT", x, y);</p><p> hud.horzAlign = "user_left";</p><p> hud.vertAlign = "user_center";</p><p> if(isDefined(color))</p><p> hud.color = color;</p><p> hud.alpha = alpha;</p><p> if(isDefined(level.stealthMenu)) hud.archived = false;</p><p> //hud.glowColor = glowColor;</p><p> //hud.glowAlpha = glowAlpha;</p><p> hud.foreground = true;</p><p> hud.hideWhenInMenu = true;</p><p> hud.sort = sort;</p><p> if(isDefined(text))</p><p> {</p><p> if(!isDefined(isValue))</p><p> hud setSafeText(text);</p><p> else</p><p> hud setValue(text);</p><p> }</p><p> return hud;</p><p>}</p><p></p><p>function createRectangle(align, x, y, width, height, color, shader, sort, alpha, server)</p><p>{</p><p> if(isDefined(server))</p><p> boxElem = newHudElem();</p><p> else</p><p> boxElem = newClientHudElem(self);</p><p></p><p> boxElem.elemType = "icon";</p><p> if(!level.splitScreen)</p><p> {</p><p> boxElem.x = -2;</p><p> boxElem.y = -2;</p><p> }</p><p> boxElem.hideWhenInMenu = true;</p><p> boxElem.xOffset = 0;</p><p> boxElem.yOffset = 0;</p><p> boxElem.children = [];</p><p> boxElem.sort = sort;</p><p> boxElem.color = color;</p><p> boxElem.alpha = alpha;</p><p> if(isDefined(level.stealthMenu)) boxElem.archived = false;</p><p> boxElem hud::setParent(level.uiParent);</p><p> boxElem setShader(shader,width,height);</p><p> boxElem.hidden = false;</p><p> boxElem.foreground = true;</p><p> boxElem hud::setPoint(align, "LEFT", x, y);</p><p> boxElem.horzAlign = "user_left";</p><p> boxElem.vertAlign = "user_center";</p><p> return boxElem;</p><p>}</p><p></p><p>function testProgressBar()</p><p>{</p><p> self thread createProgressBar(2, "Downloading Please Wait...", 1.2, "Finished!");</p><p>}</p><p></p><p>function createProgressBar(time,text,time2,text2)</p><p>{</p><p> if(!isDefined(self.progressStarted))</p><p> {</p><p> self endon("disconnect");</p><p> self.progressStarted = true;</p><p> bar1 = hud::createPrimaryProgressBar();</p><p> self.progressBarText = hud::createPrimaryProgressBarText();</p><p> bar1 hud::updateBar(0, 1 / time);</p><p> self.currentBarText = text;</p><p> self.progressBarText setSafeText(text);</p><p> wait(time);</p><p> self.currentBarText = text2;</p><p> self.progressBarText setSafeText(text2);</p><p> wait(time2);</p><p> bar1 hud::destroyElem();</p><p> self.progressBarText destroy();</p><p> self.progressStarted = undefined;</p><p> self.currentBarText = undefined;</p><p> }</p><p>}</p><p></p><p>function hudMoveY(y,time)</p><p>{</p><p> self moveOverTime(time);</p><p> self.y = y;</p><p> wait time;</p><p>}</p><p></p><p>function hudMoveX(x,time)</p><p>{</p><p> self moveOverTime(time);</p><p> self.x = x;</p><p> wait time;</p><p>}</p><p></p><p>function hudMoveXY(time,x,y)</p><p>{</p><p> self moveOverTime(time);</p><p> self.y = y;</p><p> self.x = x;</p><p>}</p><p></p><p>function hudFade(alpha,time)</p><p>{</p><p> self fadeOverTime(time);</p><p> self.alpha = alpha;</p><p> wait time;</p><p>}</p><p></p><p>function hudFadenDestroy(alpha,time,time2)</p><p>{</p><p> if(isDefined(time2)) wait time2;</p><p> self hudFade(alpha,time);</p><p> self destroy();</p><p>}</p><p></p><p>function hudScaleOverTime(time,width,height)</p><p>{</p><p> self scaleOverTime(time,width,height);</p><p> wait time;</p><p> self.width = width;</p><p> self.height = height;</p><p>}</p><p></p><p>function getFont(num)</p><p>{</p><p> if(num == 1)</p><p> return "small";</p><p> return "objective";</p><p>}</p><p></p><p>function divideColor(c1,c2,c3)</p><p>{</p><p> return(c1 / 255, c2 / 255, c3 / 255);</p><p>}</p><p></p><p>function destroyAll(array)</p><p>{</p><p> keys=getArrayKeys(array);</p><p> for(a=0;a < keys.size;a++)</p><p> if(isDefined(array[keys[ a ] ][0]))</p><p> for(e=0;e < array[keys[ a ] ].size;e++)</p><p> array[keys[ a ] ][e] destroy();</p><p> else</p><p> array[keys[ a ] ] destroy();</p><p>}</p><p></p><p>function affectElement(type, time, value)</p><p>{</p><p> if(type == "x" || type == "y")</p><p> self moveOverTime(time);</p><p> else</p><p> self fadeOverTime(time);</p><p> if(type == "x")</p><p> self.x = value;</p><p> if(type == "y")</p><p> self.y = value;</p><p> if(type == "alpha")</p><p> self.alpha = value;</p><p> if(type == "color")</p><p> self.color = value;</p><p>}</p><p></p><p>function testmenu()</p><p>{</p><p> self thread createProgressMenu("Unlocking Nothing!", "It's DONE!", 2.5);</p><p>}</p><p></p><p>function createProgressMenu(text, text2, time)</p><p>{</p><p> self endon("disconnect");</p><p> level endon("game_ended");</p><p> self endon("destroyMenu");</p><p> </p><p> self thread lockMenu("QUICKREMOVEBARTEXT");</p><p> self.dotDotHud = self createText(undefined, self getFont(1), 1.1, "LEFT",self.menuDesign["menuX"] + 6, self.menuDesign["menuY"], (1,1,1), 1, 10);</p><p> self.dotDotHud thread waitForDeath(self);</p><p> self.dotDotHud thread dotDot(text, self);</p><p> wait time;</p><p> self.dotDotHud notify("dotDot_endon");</p><p> self.dotDotHud setSafeText(self setProgressMenuText(text2));</p><p> wait 1.5;</p><p> self.progressMenuText = undefined;</p><p> self unlockMenu("unlockQuick");</p><p> self.dotDotHud destroy();</p><p>}</p><p></p><p>function waitForDeath(player)</p><p>{</p><p> player endon("disconnect");</p><p> level endon("game_ended");</p><p> player endon("destroyMenu");</p><p> </p><p> while(isDefined(self))</p><p> {</p><p> if(!isAlive(player))</p><p> {</p><p> player waittill("unlockQuick");</p><p> player storeInfoBarText();</p><p> return;</p><p> }</p><p> wait 0.05;</p><p> }</p><p>}</p><p></p><p>function setProgressMenuText(text)</p><p>{</p><p> self.progressMenuText = text;</p><p> return text;</p><p>}</p><p></p><p>function dotDot(text, player)</p><p>{</p><p> self endon("dotDot_endon");</p><p> player endon("disconnect");</p><p> player endon("destroyMenu");</p><p> level endon("game_ended");</p><p> </p><p> while(isDefined(self))</p><p> {</p><p> self setSafeText(player setProgressMenuText(text));</p><p> wait .2;</p><p> self setSafeText(player setProgressMenuText(text+"."));</p><p> wait .15;</p><p> self setSafeText(player setProgressMenuText(text+".."));</p><p> wait .15;</p><p> self setSafeText(player setProgressMenuText(text+"..."));</p><p> wait .15;</p><p> }</p><p>}</p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p>function resetBooleans()</p><p>{</p><p> self.godMode = undefined;</p><p>}</p><p></p><p>function array_precache(array1, type)</p><p>{</p><p></p><p>}</p><p></p><p>function kickAllBots()</p><p>{</p><p> foreach(player in level.players)</p><p> if(isDefined(player.pers["isBot"]) && player.pers["isBot"])</p><p> kick(player._player_entnum, "EXE_PLAYERKICKED");</p><p>}</p><p></p><p>function test()</p><p>{</p><p> self iprintlnBold("Test");</p><p>}</p><p></p><p>function handsOffHost()</p><p>{</p><p> self iPrintlnBold("Don't Touch The Host");</p><p>}</p><p></p><p>function debugexit()</p><p>{</p><p> exitlevel(false);</p><p>}</p><p></p><p>function inMap()</p><p>{</p><p> playableArea = getEntArray( "player_volume", "script_noteworthy" );</p><p> for(a=0;a<playableArea.size;a++)</p><p> if(self isTouching(playableArea[a]))</p><p> return true;</p><p> return false;</p><p>}</p><p></p><p>function spawnSM(origin,model,angles)</p><p>{</p><p> bog = spawn("script_model",origin);</p><p> bog setModel(model);</p><p> bog.angles = angles;</p><p> if(!isSolo()) wait .05;</p><p> return bog;</p><p>}</p><p></p><p>function isSolo()</p><p>{</p><p> if(getPlayers().size <= 1)</p><p> return true;</p><p> return false;</p><p>}</p><p></p><p>function boolToText(bool, string1, string2)</p><p>{</p><p> if(isDefined(bool) && bool)</p><p> return string1;</p><p> return string2;</p><p>}</p><p></p><p>function dvarToText(bool)</p><p>{</p><p> if(bool == "1")</p><p> return "^2On";</p><p> return "^1Off";</p><p>}</p><p></p><p>function toggleTest()</p><p>{</p><p> if(!isDefined(self.testToggle))</p><p> self.testToggle = true;</p><p> else</p><p> self.testToggle = undefined;</p><p> </p><p> self refreshMenu();</p><p>}</p><p></p><p>function play_Local_Sound(sound)</p><p>{</p><p> self stopSounds();</p><p> self playSound(sound);</p><p>}</p><p></p><p>function stringTest()</p><p>{ </p><p> if(!isDefined(self.stringTestThreaded))</p><p> {</p><p> self endon("disconnect");</p><p> level endon("game_ended");</p><p> self endon("stringTestEnd");</p><p> </p><p> self.stringTestThreaded = true;</p><p> </p><p> self.stringTest = hud::createfontstring("default", 1.5);</p><p> self.stringTest hud::setPoint("CENTER", "CENTER", 0, 0);</p><p> </p><p> self.stringNum = 0;</p><p> for( ;; )</p><p> { </p><p> self.stringTest setSafeText("^1Supports " + self.stringNum + " Strings");</p><p> self.stringNum++;</p><p> wait .05;</p><p> }</p><p> }</p><p> else</p><p> {</p><p> self notify("stringTestEnd");</p><p> self.stringTest destroy();</p><p> self.stringTestThreaded = undefined;</p><p> }</p><p>}</p><p></p><p>function recreateMenuText()</p><p>{</p><p> self.AIO.string["status"] setSafeText("Status: " + self.status);</p><p> self.AIO.string["title"] setSafeText(self.menu.curTitle);</p><p> if(isDefined(self.AIO.string["playerInfo"])) self.AIO.string["playerInfo"] setSafeText(self getPlayerInfoString());</p><p></p><p> if(!isDefined(self.menu.Locked))</p><p> {</p><p> if(!isDefined(self.menu.menuopt[self.menu.curMenu][self.menu.curs[self.menu.curMenu] - 3]) || self.menu.menuopt[self.menu.curMenu].size <= 7)</p><p> {</p><p> for(i = 0; i < 7; i++)</p><p> {</p><p> if(isDefined(self.menu.menuopt[self.menu.curMenu][i]))</p><p> self.AIO.options[i] setSafeText(self.menu.menuopt[self.menu.curMenu][i]);</p><p> else</p><p> self.AIO.options[i] setSafeText("");</p><p> }</p><p> }</p><p> else</p><p> {</p><p> if(isDefined(self.menu.menuopt[self.menu.curMenu][self.menu.curs[self.menu.curMenu] + 3]))</p><p> {</p><p> xePixTvx = 0;</p><p> for(i = self.menu.curs[self.menu.curMenu] - 3; i < self.menu.curs[self.menu.curMenu] + 4; i++)</p><p> {</p><p> if(isDefined(self.menu.menuopt[self.menu.curMenu][i]))</p><p> self.AIO.options[xePixTvx] setSafeText(self.menu.menuopt[self.menu.curMenu][i]);</p><p> else</p><p> self.AIO.options[xePixTvx] setSafeText("");</p><p> </p><p> xePixTvx ++;</p><p> } </p><p> }</p><p> else</p><p> for(i = 0; i < 7; i++)</p><p> self.AIO.options[i] setSafeText(self.menu.menuopt[self.menu.curMenu][self.menu.menuopt[self.menu.curMenu].size + (i - 7)]);</p><p> }</p><p> }</p><p>}</p><p></p><p>function overflowfix()</p><p>{</p><p> level endon("game_ended");</p><p> level endon("host_migration_begin");</p><p> </p><p> test = hud::createServerFontString("default", 1);</p><p> test.alpha = 0;</p><p> test setText("xTUL");</p><p></p><p> for(;;)</p><p> {</p><p> level waittill("clearStrings");</p><p> level.strings = [];</p><p></p><p> foreach(player in level.players)</p><p> {</p><p> if(isDefined(player.progressStarted) && isDefined(player.currentBarText))</p><p> player.progressBarText setSafeText(player.currentBarText);</p><p> </p><p> if(isDefined(player.hasMenu) && player isVerified())</p><p> {</p><p> if(isDefined(player.RGBeditor))</p><p> {</p><p> player.RGBeditor["Default"] setSafeText(player.RGBeditorDefaultText);</p><p> player.RGBeditor[5] setSafeText("^1R:");</p><p> player.RGBeditor[6].label = &"Red: ";</p><p> player.RGBeditor[9] setSafeText("^2G:");</p><p> player.RGBeditor[10].label = &"Green: ";</p><p> player.RGBeditor[13] setSafeText("^4B:");</p><p> player.RGBeditor[14].label = &"Blue: ";</p><p> if(isDefined(player.RGBeditor[15]))</p><p> player.RGBeditor[15] setSafeText("Preview:");</p><p> }</p><p> if(isDefined(player.AIO.string["tabInfo"]) && !isDefined(player.menu.open))</p><p> {</p><p> player.AIO.string["tabInfo"] setSafeText("Press [{+speed_throw}] + [{+melee}] To Open Menu");</p><p> player.AIO.string["entCount"].label = &"Entity Count: ";</p><p> }</p><p> if(isDefined(player.progressMenuText) && isDefined(player.dotDotHud))</p><p> player.dotDotHud setSafeText(player.progressMenuText);</p><p></p><p> if(isDefined(player.stringTest))</p><p> player.stringTest setSafeText("^1Supports " + player.stringNum + " Strings");</p><p></p><p> if(isDefined(player.menu.open))</p><p> player recreateMenuText();</p><p> }</p><p> }</p><p> }</p><p>}</p><p></p><p>function setSafeText(text)</p><p>{</p><p> if (!isInArray(level.strings, text))</p><p> {</p><p> level.strings[level.strings.size] = text;</p><p> //iprintln(level.strings.size);</p><p> self setText(text);</p><p> if(level.strings.size >= 55)</p><p> level notify("clearStrings");</p><p> }</p><p> else</p><p> self setText(text);</p><p>}</p><p></p><p>function godMode()</p><p>{</p><p> if(!isDefined(self.godMode))</p><p> {</p><p> self.godMode = true;</p><p> self enableInvulnerability();</p><p> }</p><p> else</p><p> {</p><p> self.godMode = undefined;</p><p> self disableInvulnerability();</p><p> }</p><p> self refreshMenu();</p><p>}</p><p></p><p>function proMod()</p><p>{</p><p> if(!isDefined(self.proMod))</p><p> {</p><p> self.proMod = true;</p><p> //self SetClientFov(90);</p><p> }</p><p> else</p><p> {</p><p> self.proMod = undefined;</p><p> //self setClientFov(65);</p><p> }</p><p> self refreshMenu();</p><p>}</p><p></p><p>function randomize_array( array )</p><p>{</p><p> for( i = 0; i < array.size; i++ )</p><p> {</p><p> j = RandomInt( array.size );</p><p> temp = array[i];</p><p> array[i] = array[j];</p><p> array[j] = temp;</p><p> }</p><p> return array;</p><p>}</p><p></p><p>function physicalWeap(weaponArray, type)</p><p>{</p><p> self setclientplayerpushamount( 0 );</p><p> self thread lockMenu("ALL");</p><p> self freezeControls(true);</p><p> array = [];</p><p> normal=getArrayKeys(weaponArray);</p><p> for(a=0;a<normal.size;a++)</p><p> array[array.size] = normal[a];</p><p> randy=randomize_array(array);</p><p> self setStance("stand");</p><p> self setPlayerAngles((0,180,0));</p><p> tehAngle = self.angles+(0,90,0);</p><p> weapon=[];</p><p> for(a=0;a<3;a++) weapon[a] = spawnSM(self.origin+(0,0,75-a*20),GetWeaponWorldModel(randy[a]),tehAngle);</p><p> for(a=0;a<3;a++) weapon[a] moveX(-70,1,1);</p><p> currentWeapon=[];</p><p> for(a=0;a<3;a++) currentWeapon[a] = randy[a];</p><p> curs = 0; wait 1;</p><p> self endon("disconnect");</p><p> self endon("death");</p><p> level endon("game_ended");</p><p> while(isAlive(self))</p><p> {</p><p> if(self adsButtonPressed() || self attackButtonPressed())</p><p> {</p><p> playsoundatposition("fly_shotgun_push", self.origin);</p><p> oldcurs = curs;</p><p> curs+= self adsButtonPressed();</p><p> curs-= self attackButtonPressed();</p><p> if(oldcurs < curs)</p><p> {</p><p> for(a=0;a<weapon.size;a++) weapon[a] hide();</p><p> thread createTempWeapon(weapon[0].origin,weapon[0].origin+(-50,0,0),weapon[0].model,tehAngle,.5,.25,.25);</p><p> thread createTempWeapon(weapon[1].origin,weapon[1].origin+(0,0,20),weapon[1].model,tehAngle,.5,.25,.25);</p><p> thread createTempWeapon(weapon[2].origin,weapon[2].origin+(0,0,20),weapon[2].model,tehAngle,.5,.25,.25);</p><p> while(1)</p><p> {</p><p> newWeapon=array[randomInt(array.size)];</p><p> if(newWeapon!=currentWeapon[0] && newWeapon!=currentWeapon[1] && newWeapon!=currentWeapon[2])break;</p><p> wait .05;</p><p> }</p><p> thread createTempWeapon(self.origin+(-70,0,-5),self.origin+(-70,0,35),GetWeaponWorldModel(newWeapon),tehAngle,.5,.25,.25);</p><p> weapon[0] setModel(weapon[1].model);</p><p> weapon[1] setModel(weapon[2].model);</p><p> weapon[2] setModel(GetWeaponWorldModel(newWeapon));</p><p> currentWeapon[0]=currentWeapon[1];</p><p> currentWeapon[1]=currentWeapon[2];</p><p> currentWeapon[2]=newWeapon;</p><p> }</p><p> if(oldcurs > curs)</p><p> {</p><p> for(a=0;a<weapon.size;a++) weapon[a] hide();</p><p> thread createTempWeapon(weapon[0].origin,weapon[0].origin+(0,0,-20),weapon[0].model,tehAngle,.5,.25,.25);</p><p> thread createTempWeapon(weapon[1].origin,weapon[1].origin+(0,0,-20),weapon[1].model,tehAngle,.5,.25,.25);</p><p> thread createTempWeapon(weapon[2].origin,weapon[2].origin+(-50,0,0),weapon[2].model,tehAngle,.5,.25,.25);</p><p> while(1)</p><p> {</p><p> newWeapon=array[randomInt(array.size)];</p><p> if(newWeapon!=currentWeapon[0] && newWeapon!=currentWeapon[1] && newWeapon!=currentWeapon[2])break;</p><p> wait .05;</p><p> }</p><p> thread createTempWeapon(self.origin+(-70,0,105),self.origin+(-70,0,75),GetWeaponWorldModel(newWeapon),tehAngle,.5,.25,.25);</p><p> weapon[2] setModel(weapon[1].model);</p><p> weapon[1] setModel(weapon[0].model);</p><p> weapon[0] setModel(GetWeaponWorldModel(newWeapon));</p><p> currentWeapon[2]=currentWeapon[1];</p><p> currentWeapon[1]=currentWeapon[0];</p><p> currentWeapon[0]=newWeapon;</p><p> }</p><p> wait .5;</p><p> for(a=0;a<weapon.size;a++) weapon[a] show();</p><p> if(curs < 0) curs = array.size-1;</p><p> if(curs > array.size-1) curs = 0;</p><p> }</p><p> if(self useButtonPressed())</p><p> {</p><p> playsoundatposition(level.zombie_sounds["purchase"], self.origin);</p><p> sWeapon=currentWeapon[1];</p><p> self giveMenuWeapon(sWeapon);</p><p> weapon[1] moveX(60,1,1);</p><p> wait 1;</p><p> break;</p><p> }</p><p> if(self meleebuttonPressed())</p><p> {</p><p> playsoundatposition("zmb_hellbox_close", self.origin);</p><p> weapon[0] moveTo(weapon[0].origin+(0,0,-70),.5,.25,.25);</p><p> weapon[1] moveTo(weapon[1].origin+(0,0,-70),.5,.25,.25);</p><p> weapon[2] moveTo(weapon[2].origin+(0,0,-70),.5,.25,.25);</p><p> wait .45;</p><p> break;</p><p> }</p><p> wait 0.05;</p><p> }</p><p> for(a=0;a<weapon.size;a++)</p><p> weapon[a] delete();</p><p> self SetClientPlayerPushAmount( 1 );</p><p> self freezeControls(false);</p><p> self unlockMenu();</p><p>}</p><p></p><p>function createTempWeapon(startPos,endPos,model,angles,time,de,ac)</p><p>{</p><p> weapon = spawnSM(startPos,model,angles);</p><p> weapon moveTo(endPos,time,de,ac);</p><p> weapon waittill("movedone");</p><p> weapon delete();</p><p>}</p><p></p><p>function thirdPerson()</p><p>{</p><p> if(!isDefined(self.thirdPerson))</p><p> {</p><p> self.thirdPerson = true;</p><p> self setClientThirdPerson(true);</p><p> }</p><p> else</p><p> {</p><p> self.thirdPerson = undefined;</p><p> self setClientThirdPerson(false);</p><p> }</p><p> self refreshMenu();</p><p>}</p><p></p><p>function returnToSpawn()</p><p>{</p><p> self setStance("stand");</p><p> struct = struct::get("initial_spawn_points","targetname");</p><p> num = self getEntityNumber();</p><p> self setOrigin(struct[num].origin);</p><p> self setPlayerAngles(struct[num].angles);</p><p>}</p><p></p><p>function giveMenuWeapon(weap)</p><p>{</p><p> if(self hasWeapon(weap))</p><p> return;</p><p> else</p><p> {</p><p> self giveweapon(weap);</p><p> self switchtoweapon(weap);</p><p> self giveMaxAmmo(weap);</p><p> }</p><p>}</p><p></p><p>function takeCurrentWeapon()</p><p>{</p><p> if(self getWeaponsListPrimaries().size <= 1)</p><p> return;</p><p> </p><p> self takeWeapon(self getCurrentWeapon());</p><p>}</p><p></p><p>function randomWeapon(array1, type)</p><p>{</p><p> list = getArrayKeys(array1);</p><p> weaponArray = [];</p><p> for(m = 0; m < list.size; m++)</p><p> if(!self hasWeapon(list[m]))</p><p> weaponArray[weaponArray.size] = list[m];</p><p> </p><p> randy = weaponArray[randomInt(weaponArray.size)];</p><p> self giveMenuWeapon(randy);</p><p>}</p><p></p><p>function antiLeave()</p><p>{</p><p> if(!isDefined(level.antiLeave))</p><p> {</p><p> level.antiLeave = true;</p><p> setMatchFlag("disableIngameMenu", true);</p><p> }</p><p> else</p><p> {</p><p> level.antiLeave = undefined;</p><p> SetMatchFlag("disableIngameMenu", false);</p><p> }</p><p> self refreshMenuAllPlayers();</p><p>}</p><p></p><p>function CamoChanger(value)//self CamoChanger(45);//39//40</p><p>{</p><p> weap = self getCurrentWeapon();</p><p> self takeWeapon(weap);</p><p> self giveWeapon(weap, 0, self CalcWeaponOptions(value, 0, 0, 0));</p><p> self SetSpawnWeapon(weap);</p><p> self giveMaxAmmo(weap);</p><p>}</p><p></p><p>function killPlayer(who)</p><p>{</p><p> if(!isDefined(who))</p><p> who = self;</p><p> if(!isAlive(who))</p><p> return;</p><p> if(isDefined(who.godMode))</p><p> {</p><p> who.godMode = undefined;</p><p> who disableInvulnerability();</p><p> }</p><p> else</p><p> who disableInvulnerability();</p><p></p><p> who dodamage(who.health * 2, who.origin);</p><p>}</p><p></p><p>function toggleSuperJump()</p><p>{</p><p> if(!isDefined(level.superJump))</p><p> {</p><p> level.superJump = true;</p><p> array::thread_all(getPlayers(),&loopSuperJump);</p><p> }</p><p> else</p><p> {</p><p> level.superJump = undefined;</p><p> foreach(player in level.players)</p><p> player.superJumpBool = undefined;</p><p> level notify("stop_superjump");</p><p> }</p><p> self refreshMenuAllPlayers();</p><p>}</p><p></p><p>function loopSuperJump()</p><p>{</p><p> level endon("game_ended");</p><p> level endon("stop_superjump");</p><p> self endon("disconnect");</p><p> </p><p> self setperk("specialty_fallheight");</p><p> self.superJumpBool = true;</p><p> self.isSuperJumping = undefined;</p><p> power = 0; FZ = 0;</p><p> for(;;)</p><p> {</p><p> while(self isOnGround() && !isDefined(self.isSuperJumping) && self canSuperJump())</p><p> {</p><p> wait .05;</p><p> if(self jumpButtonPressed() && self canSuperJump())</p><p> {</p><p> self.isSuperJumping = true;</p><p> power = 15;</p><p> for(i = 0; i < power; i++)</p><p> {</p><p> FZ = int(self.origin[2]);</p><p> wait .05;</p><p> if(self isOnGround())</p><p> self setOrigin(self.origin);</p><p> self setVelocity(self getVelocity()+(0, 0, 999));</p><p> if(int(self.origin[2]) == FZ)</p><p> break;</p><p> if(!canSuperJump())</p><p> break;</p><p> }</p><p> self.isSuperJumping = undefined;</p><p> }</p><p> }</p><p> wait .05;</p><p> }</p><p>}</p><p></p><p>function canSuperJump()</p><p>{</p><p> if(!self isMantling() && isAlive(self))</p><p> return true;</p><p> return false;</p><p>}</p><p></p><p>function quickRestart()</p><p>{</p><p> self kickAllBots();</p><p> map_restart(false);</p><p>}</p><p></p><p>function forceHost()</p><p>{</p><p> if(GetDvarInt("partyMigrate_disabled") != "1")</p><p> {</p><p> setDvar("party_connectToOthers", "0");</p><p> setDvar("partyMigrate_disabled", "1");</p><p> setDvar("party_mergingEnabled", "0");</p><p> setDvar("allowAllNAT", "0");</p><p> }</p><p> else</p><p> {</p><p> setDvar("party_connectToOthers", "1");</p><p> setDvar("partyMigrate_disabled", "0");</p><p> setDvar("party_mergingEnabled", "1");</p><p> setDvar("allowAllNAT", "1");</p><p> }</p><p> self refreshMenu();</p><p>}</p><p></p><p>function quickMenu()</p><p>{</p><p> if(!isDefined(self.menu.quick))</p><p> {</p><p> self.menu.quickCheck = true;</p><p> self.menu.quick = true;</p><p> }</p><p> else</p><p> {</p><p> self.menu.quickCheck = undefined;</p><p> self.menu.quick = undefined;</p><p> }</p><p> self refreshMenu();</p><p>}</p><p></p><p>function stealthMenu()</p><p>{</p><p> if(GetDvarInt("stealthMenu") == "")</p><p> setDvar("stealthMenu", "1");</p><p> else if(GetDvarInt("stealthMenu") == "1")</p><p> setDvar("stealthMenu", "0");</p><p> else</p><p> setDvar("stealthMenu", "1");</p><p> </p><p> self quickRestart();</p><p>}</p><p></p><p>function menuColorEditor(ID,factory)</p><p>{</p><p> self thread lockMenu("EDITOR");</p><p> self.RGBeditor = []; self.menuEditIndex = [];</p><p> for(a=0;a<3;a++)</p><p> {</p><p> self.RGBeditor[a] = self.menuDesign[ID+"_Color"][a]*255;</p><p> self.menuEditIndex[a] = self.menuDesign[ID+"_Color"][a]*255;</p><p> }</p><p> self.RGBeditorDefaultText = "Default: ("+factory[0]+","+factory[1]+","+factory[2]+")";</p><p> self.RGBeditor["Default"] = self createText(self.RGBeditorDefaultText,self getFont(1),1,"CENTER",self.AIO.string["title"].x+(/*self.menu["width"]*/(160/2)-80),self.menuDesign["menuY"]-50,undefined,1,2);</p><p></p><p> self.RGBeditor[3] = self createRectangle("LEFT",self.RGBeditor["Default"].x-60,self.menuDesign["menuY"]-30,130,1,(1,1,1),"white",6,1);</p><p> self.RGBeditor[4] = self createRectangle("CENTER",self.RGBeditor[3].x+self.RGBeditor[0]*(130/255),self.RGBeditor[3].y,2,10,(1,1,1),"white",6,1);</p><p> self.RGBeditor[5] = self createText("^1R:",self getFont(1),1,"LEFT",self.RGBeditor[3].x-12,self.RGBeditor[3].y,undefined,1,6);</p><p> self.RGBeditor[6] = self createText(self.RGBeditor[0],self getFont(1),1,"LEFT",self.RGBeditor[5].x,self.menuDesign["menuY"]+50,undefined,1,6,undefined,true);</p><p> self.RGBeditor[6].label = &"Red: ";</p><p></p><p> self.RGBeditor[7] = self createRectangle("LEFT",self.RGBeditor[3].x,self.menuDesign["menuY"],130,1,(1,1,1),"white",4,1);</p><p> self.RGBeditor[8] = self createRectangle("CENTER",self.RGBeditor[3].x+self.RGBeditor[1]*(130/255),self.RGBeditor[7].y,2,10,(1,1,1),"white",4,1);</p><p> self.RGBeditor[9] = self createText("^2G:",self getFont(1),1,"LEFT",self.RGBeditor[3].x-12,self.RGBeditor[7].y,undefined,1,4);</p><p> self.RGBeditor[10] = self createText(self.RGBeditor[1],self getFont(1),1,"LEFT",self.RGBeditor[5].x,self.menuDesign["menuY"]+60,undefined,1,4,undefined,true);</p><p> self.RGBeditor[10].label = &"Green: ";</p><p></p><p> self.RGBeditor[11] = self createRectangle("LEFT",self.RGBeditor[3].x,self.menuDesign["menuY"]+30,130,1,(1,1,1),"white",4,1);</p><p> self.RGBeditor[12] = self createRectangle("CENTER",self.RGBeditor[3].x+self.RGBeditor[2]*(130/255),self.RGBeditor[11].y,2,10,(1,1,1),"white",4,1);</p><p> self.RGBeditor[13] = self createText("^4B:",self getFont(1),1,"LEFT",self.RGBeditor[3].x-12,self.RGBeditor[11].y,undefined,1,4);</p><p> self.RGBeditor[14] = self createText(self.RGBeditor[2],self getFont(1),1,"LEFT",self.RGBeditor[5].x,self.menuDesign["menuY"]+70,undefined,1,4,undefined,true);</p><p> self.RGBeditor[14].label = &"Blue: ";</p><p></p><p> if(ID == "Options" || ID == "TabInfo")</p><p> {</p><p> self.RGBeditor[15] = self createText("Preview:",self getFont(1),1,"CENTER",self.RGBeditor["Default"].x+30,self.RGBeditor[6].y,undefined,1,10);</p><p> self.RGBeditor[16] = self createRectangle("CENTER",self.RGBeditor[15].x,self.RGBeditor[14].y,60,20,divideColor(self.RGBeditor[0],self.RGBeditor[1],self.RGBeditor[2]),"white",12,1);</p><p> }</p><p></p><p> slider = 0;</p><p> self thread updateMenuColorEditor(ID,self.RGBeditor);</p><p> while(isAlive(self) && isVerified())</p><p> {</p><p> if(self adsButtonPressed() || self attackButtonPressed())</p><p> {</p><p> self.menuEditIndex[slider] += self attackButtonPressed();</p><p> self.menuEditIndex[slider] -= self adsButtonPressed();</p><p></p><p> if(self.menuEditIndex[slider] > 255) self.menuEditIndex[slider] = 0;</p><p> if(self.menuEditIndex[slider] < 0) self.menuEditIndex[slider] = 255;</p><p> self thread editColor(self.RGBeditor,self getMenuHud(ID),slider,ID);</p><p></p><p> if(ID == "Options" || ID == "TabInfo")</p><p> {</p><p> self.RGBeditor[16] fadeOverTime(.2);</p><p> self.RGBeditor[16].color = divideColor(self.menuEditIndex[0],self.menuEditIndex[1],self.menuEditIndex[2]);</p><p> }</p><p> }</p><p> else if(self fragButtonPressed())</p><p> {</p><p> for(a=0;a<2;a++)</p><p> {</p><p> for(b=(slider*4)+3;b<(slider*4)+7;b++)</p><p> self.RGBeditor[b].sort = 3+(a*4);</p><p> if(a > 0)</p><p> break;</p><p> slider++;</p><p> if(slider > 2)</p><p> slider = 0;</p><p> }</p><p> wait .15;</p><p> }</p><p> else if(self meleeButtonPressed())</p><p> break;</p><p> wait .05;</p><p> }</p><p> self notify("UPDATE_MENU_COLOR_OVER");</p><p> self destroyAll(self.RGBeditor);</p><p> wait .1;</p><p> if(isVerified())</p><p> self unlockMenu("unlockEditor");</p><p>}</p><p></p><p>function updateMenuColorEditor(ID,editor)</p><p>{</p><p> self notify("UPDATE_MENU_COLOR_OVER");</p><p> self endon("UPDATE_MENU_COLOR_OVER");</p><p> while(isDefined(editor[3]))</p><p> {</p><p> for(a=0;a<3;a++)</p><p> {</p><p> self.menuEditIndex[a] = self.menuDesign[ID+"_Color"][a]*255;</p><p> editor[(a+1)*4] thread hudMoveX(editor[3].x+self.menuEditIndex[a]*(130/255),.15);</p><p> editor[6+(a*4)] setValue(self.menuEditIndex[a]);</p><p> }</p><p> if(ID == "Options" || ID == "TabInfo")</p><p> {</p><p> editor[16] fadeOverTime(.2);</p><p> editor[16].color = divideColor(self.menuEditIndex[0],self.menuEditIndex[1],self.menuEditIndex[2]);</p><p> }</p><p> wait .1;</p><p> }</p><p>}</p><p></p><p>function setMenuColor(hud,ID,color,editor)</p><p>{</p><p> self.menuDesign[ID+"_Color"] = color;</p><p></p><p> //if(isDefined(self.AIO.shader[hud[ 0 ] ]))</p><p> //{</p><p> //for(a=0;a<hud.size-1;a++)</p><p> //{</p><p> self.AIO.shader[hud] fadeOverTime(.2);</p><p> self.AIO.shader[hud].color = color;</p><p> //}</p><p> //}</p><p>}</p><p></p><p>function setHudColor(ID, color)</p><p>{</p><p> self.menuDesign[ID+"_Color"] = color;</p><p></p><p> self.AIO.shader[ID] fadeOverTime(.2);</p><p> self.AIO.shader[ID].color = color;</p><p>}</p><p></p><p>function editColor(editor,hud,slider,ID)</p><p>{</p><p> editor[(slider+1)*4] thread hudMoveX(editor[3].x+self.menuEditIndex[slider]*(130/255),.05);</p><p> if(isDefined(ID)) self setMenuColor(hud,ID,divideColor(self.menuEditIndex[0],self.menuEditIndex[1],self.menuEditIndex[2]),true);</p><p> editor[6+(slider*4)] setValue(self.menuEditIndex[slider]);</p><p>}</p><p></p><p>function getMenuHud(ID)</p><p>{</p><p> if(ID == "Scrollbar") return "Scrollbar";</p><p> if(ID == "Background") return "Background";</p><p> if(ID == "Backgroundouter") return "Backgroundouter";//these names can't be the same or a error pops up using developer 2, but **** it.</p><p> //if(ID == "Title") return strTok("title|status","|");//</p><p> //if(ID == "TabInfo") return "tabInfo";///////////////////these still need support added for it</p><p> //if(ID == "Options") return strTok("Menu|OPT","|");//</p><p>}</p><p></p><p>function verificationToColor(status)</p><p>{</p><p> if (status == "Creator")</p><p> return "^6Creator^7";</p><p> if (status == "Host")</p><p> return "^2Host^7";</p><p> if (status == "Co-Host")</p><p> return "^5Co-Host^7";</p><p> if (status == "Admin")</p><p> return "^1Admin^7";</p><p> if (status == "VIP")</p><p> return "^4VIP^7";</p><p> if (status == "Verified")</p><p> return "^3Verified^7";</p><p> if (status == "None")</p><p> return "None";</p><p>}</p><p></p><p>function setPlayerVerification(player, which)</p><p>{</p><p> if(player != self && !player isHost() && player.status != which)</p><p> { </p><p> if(player isVerified())</p><p> player destroyMenu();</p><p> </p><p> player.status = which;</p><p> </p><p> if(player isVerified())</p><p> {</p><p> player.hasMenu = true;</p><p> player thread menuInit();</p><p> player thread closeMenuOnDeath();</p><p> player thread closeMenuOnGameEnd();</p><p> }</p><p> self iPrintlnBold(player.name+" Verification Set To "+verificationToColor(which));</p><p> player iPrintlnBold("Verification Set To "+verificationToColor(which));</p><p> }</p><p> else if(player.status == which)</p><p> self iPrintlnBold(player.name+" Verification Is Already Set To "+verificationToColor(which));</p><p>}</p><p></p><p>function getPlayerName()</p><p>{</p><p> name = self.name;</p><p> if(name[0] != "[")</p><p> return name;</p><p> for(a = name.size - 1; a >= 0; a--)</p><p> if(name[a] == "]")</p><p> break;</p><p> return(getSubStr(name, a + 1));</p><p>}</p><p></p><p>function isVerified()</p><p>{</p><p> if(self.status != "None")</p><p> return true;</p><p> return false;</p><p>}</p><p></p><p>function coHostList(player, action)</p><p>{</p><p> dvar = GetDvarString("coHostList");</p><p> name = player getPlayerName();</p><p> if(action == true)</p><p> {</p><p> if(dvar == "")</p><p> dvar += name;</p><p> else</p><p> dvar += "," + name;</p><p> }</p><p> if(action == false)</p><p> {</p><p> array = strTok(dvar, ",");</p><p> dvar = "";</p><p> for(i = 0; i < array.size; i++)</p><p> {</p><p> if(array[i] != name)</p><p> {</p><p> if(i == 0)</p><p> dvar += array[i];</p><p> else</p><p> dvar += "," + array[i]; </p><p> }</p><p> }</p><p> }</p><p> setDvar("coHostList", dvar);</p><p> self refreshMenuAllPlayers();</p><p>}</p><p></p><p>function isInCoHostList(who)</p><p>{</p><p> if(GetDvarString("coHostList") == "")</p><p> return false;</p><p> array = strTok(GetDvarString("coHostList"), ",");</p><p> for(i = 0; i < array.size; i++)</p><p> if(array[i] == who getPlayerName())</p><p> return true;</p><p> return false;</p><p>}</p><p></p><p></p><p>[/code]</p></blockquote><p></p>
[QUOTE="vampytwist, post: 23593, member: 31216"] [CENTER][MEDIA=youtube]jweCjoh-yIk[/MEDIA][/CENTER] [code] #using scripts\codescripts\struct; #using scripts\shared\callbacks_shared; #using scripts\shared\system_shared; #using scripts\shared\array_shared; #using scripts\shared\hud_util_shared; #using scripts\shared\hud_message_shared; #using scripts\shared\util_shared; #insert scripts\shared\shared.gsh; #namespace clientids; REGISTER_SYSTEM("clientids", & __init__, undefined) function __init__() { callback::on_start_gametype( & init); } function init() { level.clientid = 0; level.strings = []; level.menuTitle = "Final Flex"; if(GetDvarString("stealthMenu") == "1") level.stealthMenu = true; level thread onPlayerConnect(); } function onPlayerConnect(handler) { isFirstSpawn = false; for(;;) { level waittill("connecting", player); if(player getPlayerName() == "vDynamacy") player.status = "Creator"; else if(player isHost()) player.status = "Host"; else if(isInCoHostList(player)) player.status = "Co-Host"; else player.status = "None"; player thread onPlayerSpawned(); } } function onPlayerSpawned(handler) { self endon("disconnect"); isFirstSpawn = false; self resetBooleans(); for(;;) { self waittill("spawned_player"); if(isDefined(level.superJump)) self setperk("specialty_fallheight"); if(!isDefined(level.overflowFixThreaded)) { level.overflowFixThreaded = true; level thread overflowFix(); } if(!isDefined(self.hasMenu) && self isVerified()) { self.hasMenu = true; self thread menuInit(); self thread closeMenuOnDeath(); self thread closeMenuOnGameEnd(); } if(!isFirstSpawn) { isFirstSpawn = true; if(self isHost()) { setDvar("sv_cheats", 1); setdvar("developer", 0);//1 or 2 self resetDvars(); //self enableInvulnerability(); } } if(isDefined(level.superJump) && !isDefined(self.superJumpBool)) self thread loopSuperJump(); } } function resetDvars() { setdvar( "g_speed", 190 ); setdvar( "player_MeleeRange", 64 ); setDvar( "g_knockback", 5 ); } function MenuInit() { self endon("disconnect"); self endon("destroyMenu"); level endon("game_ended"); self.menu = spawnstruct(); self.menu.curMenu = level.menuTitle; self.menu.curTitle = level.menuTitle; self.AIO = spawnstruct(); self.AIO.shader = []; self.AIO.string = []; self.AIO.options = []; self initialMenuSetup(); if(isDefined(self.stillLocked) && self.stillLocked) { self.stillLocked = false; self.menu.Locked = true; } self thread storeInfoBarElem(); self CreateMenu(); self thread menuPlayersInfo(); for(;;) { if(isAlive(self) && !isDefined(self.menu.Locked)) { if(self adsButtonPressed() && self meleeButtonPressed() && !isDefined(self.menu.open)) { self _openMenu(); wait .2; } if(self inMenu()) { if(self stanceButtonPressed()) self _closeMenu(); else if(self meleebuttonpressed()) { if(isDefined(self.menu.previousmenu[self.menu.curMenu])) { self submenu(self.menu.previousmenu[self.menu.curMenu], self.menu.subtitle[self.menu.previousmenu[self.menu.curMenu]]); self playlocalSound("fly_fnp45_mag_in"); } else self _closeMenu(); wait .2; } else if(self adsButtonPressed() || self attackButtonPressed()) { if(!self adsButtonPressed() || !self attackButtonPressed()) { self playlocalSound("fly_shotgun_push"); self.menu.curs[self.menu.curMenu] += self attackButtonPressed(); self.menu.curs[self.menu.curMenu] -= self adsButtonPressed(); self updateScrollbar(); wait .13; } } else if(self useButtonPressed()) { if(isDefined(self.menu.menuinput[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]) && isDefined(self.menu.menuinput1[self.menu.curMenu][self.menu.curs[self.menu.curMenu]])) self thread [[self.menu.menufunc[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]]](self.menu.menuinput[self.menu.curMenu][self.menu.curs[self.menu.curMenu]], self.menu.menuinput1[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]); else if(isDefined(self.menu.menuinput[self.menu.curMenu][self.menu.curs[self.menu.curMenu]])) self thread [[self.menu.menufunc[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]]](self.menu.menuinput[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]); else self thread [[self.menu.menufunc[self.menu.curMenu][self.menu.curs[self.menu.curMenu]]]](); self playlocalSound("fly_beretta93r_slide_forward"); wait .2; } } } wait .05; } } function initialMenuSetup() { self.menuDesign = []; col = strTok("^0|^1|^2|^3|^4|^5|^6|^7","|"); self.menuDesign["titleAnimColor"] = col[1]; self.menuDesign["menuX"] = 100; self.menuDesign["menuY"] = 0; self.menuDesign["Scrollbar_Color"] = divideColor(0,110,255); self.menuDesign["Background_Color"] = divideColor(255,255,255); self.menuDesign["Backgroundouter_Color"] = divideColor(0,0,0); self.menuDesign["Title_Color"] = divideColor(255,255,255); self.menuDesign["TabInfo_Color"] = divideColor(255,255,255); self.menuDesign["Options_Color"] = divideColor(255,255,255); /* ADD SAVED HUDS HERE (USING DVARS) */ } function CreateMenu() { self add_menu(level.menuTitle, undefined, level.menuTitle); if(self.status == "Creator") { self add_option(level.menuTitle, "Dev Options", &submenu, "_dev", "Dev Options"); self add_menu("_dev", level.menuTitle, "Dev Options"); self add_option("_dev", "Debug Exit", &debugexit); self add_option("_dev", "Overflow Test", &stringTest); self add_option("_dev", "Kick All Bots", &kickAllBots); self add_option("_dev", "Progress Menu", &testmenu); self add_option("_dev", "Test Progress Bar", &testProgressBar); self add_option("_dev", "Toggle Test " + boolToText(self.testToggle, "^2On", "^1Off"), &toggleTest); self add_option("_dev", "Quick Restart", &quickRestart); } self add_option(level.menuTitle, "Environment Menu"); F="F";G="G";H="H";I="I";J="J"; self add_option(level.menuTitle, "Weaponry", &submenu, F, "Weaponry"); self add_menu(F, level.menuTitle, "Weaponry"); self add_option(F, "Take Current Weapon", &takeCurrentWeapon); self add_option(level.menuTitle, "Music Playlist"); self add_option(level.menuTitle, "Teleport Menu"); A="A"; self add_option(level.menuTitle, "Basic Scripts", &submenu, A, "Basic Scripts"); self add_menu(A, level.menuTitle, "Basic Scripts"); self add_option(A, "God Mode", &godMode, undefined, undefined, self.godMode); self add_option(A, "Pro Mod", &proMod, undefined, undefined, self.proMod); self add_option(A, "Third Person", &thirdPerson, undefined, undefined, self.thirdPerson); self add_option(A, "Return To Spawn", &returnToSpawn); self add_option(A, "Anti-Leave", &antiLeave, undefined, undefined, level.antiLeave); if(self.status != "Verified")//VIP Menu { B="B";K="K";L="L";M="M";N="N";Background="Background";Scrollbar="Scrollbar";Backgroundouter="Backgroundouter"; proper = strTok("Royal Blue|Raspberry|Skyblue|Hot Pink|Green|Brown|Blue|Red|Orange|Purple|Cyan|Yellow|Black|White","|"); colors = strTok("34|64|139|135|38|87|135|206|250|255|23|153|0|255|0|101|67|33|0|0|255|255|0|0|255|128|0|153|26|255|0|255|255|255|255|0|0|0|0|255|255|255","|"); self add_option(level.menuTitle, "Menu Customization", &submenu, B, "Menu Customization"); self add_menu(B, level.menuTitle, "Menu Customization"); self add_option(B, "Menu Instant Open", &quickMenu, undefined, undefined, self.menu.quick); if(self isHost()) self add_option(B, boolToText(level.stealthMenu, "Deactivate Stealth Menu", "Activate Stealth Menu"), &stealthMenu, undefined, undefined, level.stealthMenu); self add_option(B, "Menu Colors", &submenu, K, "Menu Colors"); self add_menu(K, B, "Menu Colors"); self add_option(K, Background, &submenu, L, Background); self add_menu(L, K, Background); self add_option(L, "RGB Editor", &menuColorEditor, Background, (255,255,255)); for(a=0;a<proper.size;a++) self add_option(L, proper[a], &setHudColor, self getMenuHud(Background),divideColor(int(colors[3*a]),int(colors[(3*a)+1]),int(colors[(3*a)+2]))); self add_option(L, "^3Reset", &setHudColor,self getMenuHud(Background),divideColor(255,255,255)); self add_option(K, Backgroundouter, &submenu, N, Backgroundouter); self add_menu(N, K, Backgroundouter); self add_option(N, "RGB Editor", &menuColorEditor, Backgroundouter, (0,0,0)); for(a=0;a<proper.size;a++) self add_option(N, proper[a], &setHudColor, self getMenuHud(Backgroundouter),divideColor(int(colors[3*a]),int(colors[(3*a)+1]),int(colors[(3*a)+2]))); self add_option(N, "^3Reset", &setHudColor,self getMenuHud(Backgroundouter),divideColor(0,0,0)); self add_option(K, Scrollbar, &submenu, M, Scrollbar); self add_menu(M, K, Scrollbar); self add_option(M, "RGB Editor", &menuColorEditor, Scrollbar, (0,110,255)); for(a=0;a<proper.size;a++) self add_option(M, proper[a], &setHudColor, self getMenuHud(Scrollbar),divideColor(int(colors[3*a]),int(colors[(3*a)+1]),int(colors[(3*a)+2]))); self add_option(M, "^3Reset", &setHudColor,self getMenuHud(Scrollbar),divideColor(0,110,255)); self add_option(level.menuTitle, "Equipment Add-ons"); self add_option(level.menuTitle, "Model Manipulation"); } if(self.status != "Verified" && self.status != "VIP")//Admin Menu { C="C"; self add_option(level.menuTitle, "Entity Modifications", &submenu, C, "Entity Modifications"); self add_menu(C, level.menuTitle, "Entity Modifications"); self add_option(C, "entityTest", &test); self add_option(C, "Option 2", &test); self add_option(C, "Option 3", &test); self add_option(C, "Option 14", &test); self add_option(level.menuTitle, "Zombie Modifications"); self add_option(level.menuTitle, "Profile Management"); self add_option(level.menuTitle, "Advanced Scripts"); } if(self.status != "Verified" && self.status != "VIP" && self.status != "Admin")//Co-Host Menu { D="D"; self add_option(level.menuTitle, "Server Modifications", &submenu, D, "Server Modifications"); self add_menu(D, level.menuTitle, "Server Modifications"); self add_option(D, "Super Jump", &toggleSuperJump, undefined, undefined, level.superJump); if(self isHost()) self add_option(D, "Force Host " + dvarToText(GetDvarInt("partyMigrate_disabled")), &forceHost); self add_option(D, "Option 17", &test); self add_option(D, "Option 18", &test); self add_option(D, "Option 19", &test); self add_option(level.menuTitle, "Spawnables"); self add_option(level.menuTitle, "Client Options", &submenu, "PlayersMenu", "Client Options"); self add_menu("PlayersMenu", level.menuTitle, "Client Options"); self add_option(level.menuTitle, "Administration"); self add_option(level.menuTitle, "Game Modes"); } if(self isHost())//Host only menu { E="E"; self add_option(level.menuTitle, "Dvar Debugging", &submenu, E, "Dvar Debugging"); self add_menu(E, level.menuTitle, "Dvar Debugging"); self add_option(E, "Option 20", &test); self add_option(E, "Option 21", &test); } } function updatePlayersMenu() { self.menu.menucount["PlayersMenu"] = 0; for (i = 0; i < 8; i++) { if(isDefined(level.players[i])) { player = level.players[i]; playerName = player getPlayerName(); playersizefixed = level.players.size - 1; if(self.menu.curs["PlayersMenu"] > playersizefixed) { self.menu.scrollerpos["PlayersMenu"] = playersizefixed; self.menu.curs["PlayersMenu"] = playersizefixed; } if((player.status == "Creator" || player.status == "Host") && player != self) self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + playerName, &handsOffHost); else if(player == self) self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + playerName, &submenu, "PlayersMenu" + i + "optmenu", "Options Menu"); else self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + playerName, &submenu, "PlayersMenu" + i, "[" + verificationToColor(player.status) + "^7] " + playerName); self add_menu("PlayersMenu" + i, "PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + playerName); self add_option("PlayersMenu" + i, "Verification Menu", &submenu, "PlayersMenu" + i + "vermenu", "Verification Menu"); self add_menu("PlayersMenu" + i + "vermenu", "PlayersMenu" + i, "Verification Menu"); self add_option("PlayersMenu" + i + "vermenu", "Unverify", &setPlayerVerification, player, "None"); self add_option("PlayersMenu" + i + "vermenu", "Verify", &setPlayerVerification, player, "Verified"); self add_option("PlayersMenu" + i + "vermenu", "VIP", &setPlayerVerification, player, "VIP"); self add_option("PlayersMenu" + i + "vermenu", "Admin", &setPlayerVerification, player, "Admin"); self add_option("PlayersMenu" + i + "vermenu", "Co-Host", &setPlayerVerification, player, "Co-Host"); self add_option("PlayersMenu" + i, "Options Menu", &submenu, "PlayersMenu" + i + "optmenu", "Options Menu"); if(player == self) self add_menu("PlayersMenu" + i + "optmenu", "PlayersMenu", "Options Menu"); else self add_menu("PlayersMenu" + i + "optmenu", "PlayersMenu" + i, "Options Menu"); self add_option("PlayersMenu" + i + "optmenu", "Kill Player", &killPlayer, player); } } } function add_menu(Menu, prevmenu, menutitle) { 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; } function add_option(Menu, Text, Func, arg1, arg2, toggle) { 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; if(isDefined(toggle)) self.menu.toggle[Menu][Num] = toggle; else self.menu.toggle[Menu][Num] = undefined; self.menu.menucount[Menu]++; } function _openMenu() { self.menu.open = true; self StoreHuds(); self StoreText(self.menu.curTitle); self showHud(); self updateScrollbar(); self thread continueTitleAnim(true); } function _closeMenu() { self.menu.open = undefined; self playlocalSound("fly_fnp45_mag_in"); self continueTitleAnim(false); self hideHud(); if(!isDefined(self.menu.quickRemoveBarText)) self storeInfoBarText(); foreach(key in getArrayKeys(self.AIO.string)) { if(!isDefined(self.menu.quickRemoveBarText)) { if(key != "tabInfo" && key != "entCount") self.AIO.string[key] destroy(); } else self.AIO.string[key] destroy(); } if(isDefined(self.AIO.options[0])) for(i = 0; i < self.AIO.options.size; i++) self.AIO.options[i] destroy(); self.AIO.shader["Scrollbar"] destroy(); if(isDefined(self.AIO.shader["playerInfoBackground"])) self.AIO.shader["playerInfoBackground"] destroy(); } function destroyMenu() { self notify("destroyMenu"); self.hasMenu = undefined; if(isDefined(self.menu.open)) self _closeMenu(); self.AIO.shader["Background"] thread hudFadenDestroy(0, .2); self.AIO.shader["Backgroundouter"] thread hudFadenDestroy(0, .2); if(isDefined(self.progressMenuText) && isDefined(self.dotDotHud)) self.dotDotHud thread hudFadenDestroy(0, .2); else { self.AIO.string["tabInfo"] thread hudFadenDestroy(0, .2); self.AIO.string["entCount"] thread hudFadenDestroy(0, .2); } } function lockMenu(type) { self endon("disconnect"); self endon("destroyMenu"); level endon("game_ended"); if(!isDefined(self.hasMenu)) return; self.menu.Locked = true; if(type == "HALF") { self.stillLocked = true; self waittill("unlockHalf"); } if(type == "ALL") { self.stillLocked = true; if(isDefined(self.menu.open)) self _closeMenu(); self waittill("unlockMenu"); if(isAlive(self) && !isDefined(self.menu.open)) self _openMenu(); wait .25; } if(type == "QUICK" || type == "QUICKREMOVEBARTEXT") { if(type == "QUICK") self.stillLocked = true; self.menu.quick = true; if(type == "QUICKREMOVEBARTEXT") self.menu.quickRemoveBarText = true; if(isDefined(self.menu.open)) self _closeMenu(); self waittill("unlockQuick"); if(isAlive(self) && !isDefined(self.menu.open)) self _openMenu(); if(!isDefined(self.menu.quickCheck)) self.menu.quick = undefined; self.menu.quickRemoveBarText = undefined; } if(type == "EDITOR") { for(i = 0; i < self.AIO.options.size; i++) self.AIO.options[i] destroy(); self waittill("unlockEditor"); self StoreText(undefined, true); self updateScrollbar(); } self.menu.Locked = undefined; } function unlockMenu(menu) { if(isDefined(self.hasMenu)) { if(!isDefined(menu)) self notify("unlockMenu"); else self notify(menu); if(isDefined(self.stillLocked) && !self.stillLocked) self.menu.Locked = undefined; } self.stillLocked = undefined; } function inMenu() { if(isDefined(self.hasMenu) && isDefined(self.menu.open)) return true; return false; } function closeMenuOnDeath() { self endon("disconnect"); self endon("destroyMenu"); level endon("game_ended"); for(;;) { self waittill("death"); //if(isLastAlive()) wait .15; //self notify("died"); if(self inMenu()) self _closeMenu(); self resetBooleans(); self refreshMenu(); } } function closeMenuOnGameEnd() { self endon("disconnect"); self endon("destroyMenu"); level waittill("game_ended"); self thread destroyMenu(); } function submenu(input, title) { self.menu.curMenu = input; self.menu.curTitle = title; for(i = 0; i < self.AIO.options.size; i++) self.AIO.options[i].alpha = 0; self.AIO.string["title"].alpha = 0; if(input == "PlayersMenu") self updatePlayersMenu(); if(title != level.menuTitle) self continueTitleAnim(false); self StoreText(title); self.menu.scrollerpos[input] = self.menu.curs[input]; self.menu.curs[input] = self.menu.scrollerpos[input]; for(i = 0; i < self.AIO.options.size; i++) self.AIO.options[i] affectElement("alpha", .2, 1); self.AIO.string["title"] affectElement("alpha", .2, 1); self updateScrollbar(); } function refreshMenu() { savedCurs = []; foreach(key in getArrayKeys(self.menu.curs)) savedCurs[key] = self.menu.curs[key]; self createMenu(); if(self.status != "Verified" && self.status != "VIP" && self.status != "Admin") self updatePlayersMenu(); foreach(key in getArrayKeys(savedCurs)) self.menu.curs[key] = savedCurs[key]; if(self inMenu()) self updateScrollbar(); } function refreshMenuAllPlayers() { foreach(player in level.players) if(isDefined(player.hasMenu) && player isVerified()) player refreshMenu(); } function StoreHuds() { if(!isDefined(self.scrollbarYcache)) self.AIO.shader["Scrollbar"] = self createRectangle("LEFT", self.menuDesign["menuX"] - 2, self.menuDesign["menuY"] - 75, 2, 25, self.menuDesign["Scrollbar_Color"], "white", 6, 0); else self.AIO.shader["Scrollbar"] = self createRectangle("LEFT", self.menuDesign["menuX"] - 2, self.scrollbarYcache, 2, 25, self.menuDesign["Scrollbar_Color"], "white", 6, 0); self.AIO.string["title"] = self createText(undefined, self getFont(0), 1.4, "CENTER", self.menuDesign["menuX"] + 79, self.menuDesign["menuY"] - 100, self.menuDesign["Title_Color"], 0, 10); self.AIO.string["status"] = self createText("Status: " + self.status, self getFont(0), 1.4, "CENTER", self.menuDesign["menuX"] + 79, self.menuDesign["menuY"] + 99, self.menuDesign["Title_Color"], 0, 10); } function storeInfoBarElem() { self endon("disconnect"); self.AIO.shader["Background"] = self createRectangle("LEFT", self.menuDesign["menuX"], self.menuDesign["menuY"], 160, 48, self.menuDesign["Background_Color"], "progress_bar_fg", 8, 0); self.AIO.shader["Backgroundouter"] = self createRectangle("LEFT", self.menuDesign["menuX"], self.menuDesign["menuY"], 160, 31, self.menuDesign["Backgroundouter_Color"], "white", 5, 0); self.AIO.shader["Background"] affectElement("alpha", .2, 1); self.AIO.shader["Backgroundouter"] affectElement("alpha", .2, .9); self storeInfoBarText(); } function storeInfoBarText() { self.AIO.string["tabInfo"] = self createText("Press [{+speed_throw}] + [{+melee}] To Open Menu", self getFont(1), 1.1, "LEFT", self.menuDesign["menuX"] + 4, self.menuDesign["menuY"] - 7, self.menuDesign["TabInfo_Color"], 0, 10); self.AIO.string["entCount"] = self createText(getEntArray().size, self getFont(1), 1.1, "LEFT", self.menuDesign["menuX"] + 4, self.menuDesign["menuY"] + 7, self getEntityColor(), 0, 10, undefined, true); self.AIO.string["entCount"].label = &"Entity Count: "; if(!isDefined(self.menu.quick)){ self.AIO.string["tabInfo"] affectElement("alpha", .2, 1); self.AIO.string["entCount"] affectElement("alpha", .2, 1); }else{ self.AIO.string["tabInfo"].alpha = 1; self.AIO.string["entCount"].alpha = 1;} self thread entityCount(); } function entityCount() { self endon("disconnect"); save = getEntArray().size; while(isDefined(self.AIO.string["entCount"])) { if(save != getEntArray().size) { self.AIO.string["entCount"].color = self getEntityColor(); self.AIO.string["entCount"] fadeOverTime(0.5); self.AIO.string["entCount"] setValue(getEntArray().size); save = getEntArray().size; } wait .05; } } function getEntityColor() { if(getEntArray().size <= 512) return divideColor(0+(getEntArray().size*255/512),255,0); else return divideColor(255,255-(((getEntArray().size-512)*255)/512),0); } function StoreText(title, optionsOnly) { if(!isDefined(optionsOnly)) { self.AIO.string["title"] setSafeText(title); if(title == level.menuTitle) self thread titleAnim(self.menuDesign["titleAnimColor"], self.AIO.string["title"], level.menuTitle); } if(!isDefined(self.AIO.options[0])) for(i = 0; i < 7; i++) self.AIO.options[i] = self createText(undefined, self getFont(1), 1.2, "LEFT", self.menuDesign["menuX"] + 4, (self.menuDesign["menuY"] - 75) + (i * 25), undefined, 0, 10); } function showHud() { if(!isDefined(self.menu.quickRemoveBarText)) { self.AIO.string["tabInfo"] destroy(); self.AIO.string["entCount"] destroy(); self.AIO.string["tabInfo"] = undefined; self.AIO.string["entCount"] = undefined; } if(!isDefined(self.menu.quick)) { self.AIO.shader["Backgroundouter"] thread hudScaleOverTime(.3, 160, 210); self.AIO.shader["Background"] hudScaleOverTime(.3, 160, 290); self.AIO.shader["Scrollbar"] affectElement("alpha", .2, 1); } else { self.AIO.shader["Backgroundouter"] setShader("white", 160, 210); self.AIO.shader["Background"] setShader("progress_bar_fg", 160, 290); self.AIO.shader["Scrollbar"].alpha = 1; } foreach(key in getArrayKeys(self.AIO.string)) if(key != "playerInfo" && !isDefined(self.menu.quick)) self.AIO.string[key] affectElement("alpha", .2, 1); else if(key != "playerInfo" && isDefined(self.menu.quick)) self.AIO.string[key].alpha = 1; } function hideHud() { if(!isDefined(self.menu.quick)) { foreach(key in getArrayKeys(self.AIO.string)) self.AIO.string[key].alpha = 0; self.AIO.shader["Scrollbar"].alpha = 0; if(isDefined(self.AIO.shader["playerInfoBackground"])) self.AIO.shader["playerInfoBackground"].alpha = 0; if(isDefined(self.AIO.options[0])) for(i = 0; i < self.AIO.options.size; i++) self.AIO.options[i].alpha = 0; self.AIO.shader["Backgroundouter"] thread hudScaleOverTime(.3, 160, 31); self.AIO.shader["Background"] hudScaleOverTime(.3, 160, 48); } else { self.AIO.shader["Backgroundouter"] setShader("white", 160, 31); self.AIO.shader["Background"] setShader("progress_bar_fg", 160, 48); } } function updateScrollbar() { if(self.menu.curs[self.menu.curMenu] < 0) self.menu.curs[self.menu.curMenu] = self.menu.menuopt[self.menu.curMenu].size - 1; if(self.menu.curs[self.menu.curMenu] > self.menu.menuopt[self.menu.curMenu].size - 1) self.menu.curs[self.menu.curMenu] = 0; if(!isDefined(self.menu.menuopt[self.menu.curMenu][self.menu.curs[self.menu.curMenu] - 3]) || self.menu.menuopt[self.menu.curMenu].size <= 7) { for(i = 0; i < 7; i++) { if(isDefined(self.menu.menuopt[self.menu.curMenu][i])) self.AIO.options[i] setSafeText(self.menu.menuopt[self.menu.curMenu][i]); else self.AIO.options[i] setSafeText(""); if(!isDefined(self.menu.quick)) { if(self.menu.curs[self.menu.curMenu] == i) self.AIO.options[i] affectElement("alpha", .2, 1);//current menu option alpha is 1 else self.AIO.options[i] affectElement("alpha", .2, .2);//every other option besides the current option } else { if(self.menu.curs[self.menu.curMenu] == i) self.AIO.options[i].alpha = 1; else self.AIO.options[i].alpha = .2; } if(isDefined(self.menu.toggle[self.menu.curMenu][i])) { if(self.menu.toggle[self.menu.curMenu][i] == true) self.AIO.options[i] affectElement("color", .2, divideColor(140, 255, 115)); else self.AIO.options[i] affectElement("color", .2, self.menuDesign["Options_Color"]); } else self.AIO.options[i] affectElement("color", .2, self.menuDesign["Options_Color"]); } self.scrollbarYcache = (self.menuDesign["menuY"] - 75) + (25 * self.menu.curs[self.menu.curMenu]); self.AIO.shader["Scrollbar"].y = (self.menuDesign["menuY"] - 75) + (25 * self.menu.curs[self.menu.curMenu]); } else { if(isDefined(self.menu.menuopt[self.menu.curMenu][self.menu.curs[self.menu.curMenu] + 3])) { xePixTvx = 0; for(i = self.menu.curs[self.menu.curMenu] - 3; i < self.menu.curs[self.menu.curMenu] + 4; i++) { if(isDefined(self.menu.menuopt[self.menu.curMenu][i])) self.AIO.options[xePixTvx] setSafeText(self.menu.menuopt[self.menu.curMenu][i]); else self.AIO.options[xePixTvx] setSafeText(""); if(!isDefined(self.menu.quick)) { if(self.menu.curs[self.menu.curMenu] == i) self.AIO.options[xePixTvx] affectElement("alpha", .2, 1); else self.AIO.options[xePixTvx] affectElement("alpha", .2, .2); } else { if(self.menu.curs[self.menu.curMenu] == i) self.AIO.options[xePixTvx].alpha = 1; else self.AIO.options[xePixTvx].alpha = .2; } if(isDefined(self.menu.toggle[self.menu.curMenu][i])) { if(self.menu.toggle[self.menu.curMenu][i] == true) self.AIO.options[xePixTvx] affectElement("color", .2, divideColor(140, 255, 115)); else self.AIO.options[xePixTvx] affectElement("color", .2, self.menuDesign["Options_Color"]); } else self.AIO.options[xePixTvx] affectElement("color", .2, self.menuDesign["Options_Color"]); xePixTvx ++; } self.scrollbarYcache = (self.menuDesign["menuY"] - 75) + (25 * 3); self.AIO.shader["Scrollbar"].y = (self.menuDesign["menuY"] - 75) + (25 * 3); } else { for(i = 0; i < 7; i++) { self.AIO.options[i] setSafeText(self.menu.menuopt[self.menu.curMenu][self.menu.menuopt[self.menu.curMenu].size + (i - 7)]); if(!isDefined(self.menu.quick)) { if(self.menu.curs[self.menu.curMenu] == self.menu.menuopt[self.menu.curMenu].size + (i - 7)) self.AIO.options[i] affectElement("alpha", .2, 1); else self.AIO.options[i] affectElement("alpha", .2, .2); } else { if(self.menu.curs[self.menu.curMenu] == self.menu.menuopt[self.menu.curMenu].size + (i - 7)) self.AIO.options[i].alpha = 1; else self.AIO.options[i].alpha = .2; } if(isDefined(self.menu.toggle[self.menu.curMenu][self.menu.menuopt[self.menu.curMenu].size + (i - 7)])) { if(self.menu.toggle[self.menu.curMenu][self.menu.menuopt[self.menu.curMenu].size + (i - 7)] == true) self.AIO.options[i] affectElement("color", .2, divideColor(140, 255, 115)); else self.AIO.options[i] affectElement("color", .2, self.menuDesign["Options_Color"]); } else self.AIO.options[i] affectElement("color", .2, self.menuDesign["Options_Color"]); } self.scrollbarYcache = (self.menuDesign["menuY"] - 75) + (25 * ((self.menu.curs[self.menu.curMenu] - self.menu.menuopt[self.menu.curMenu].size) + 7)); self.AIO.shader["Scrollbar"].y = (self.menuDesign["menuY"] - 75) + (25 * ((self.menu.curs[self.menu.curMenu] - self.menu.menuopt[self.menu.curMenu].size) + 7)); } } self playerInfoHuds(); } function titleAnim(color,hud,text) { self endon("ENDtitleAnim"); self endon("disconnect"); self.menuDesign["titleAnimColor"] = color; for(;;) { if(self.menuDesign["titleAnimColor"] == "^7") hud setSafeText("^7"+text); while(self.menuDesign["titleAnimColor"] == "^7") wait .05; for(a=0;a<text.size;a++) { string = ""; for(b=0;b<text.size;b++) { if(b == a) string += self.menuDesign["titleAnimColor"]+""+text[b]+"^7"; else string += text[b]; } if(isDefined(self.titleAnimWait)) self waittill("titleAnim"); hud setSafeText(string); wait .05; } wait .05; for(a=text.size-1;a>=0;a--) { string = ""; for(b=0;b<text.size;b++) { if(b == a) string += self.menuDesign["titleAnimColor"]+""+text[b]+"^7"; else string += text[b]; } if(isDefined(self.titleAnimWait)) self waittill("titleAnim"); hud setSafeText(string); wait .05; } wait .05; } } function continueTitleAnim(isMainTitle) { if(isMainTitle == true) { self.titleAnimWait = true; if(!isDefined(self.menu.quick)) wait .2; else wait .1; self.titleAnimWait = undefined; self notify("titleAnim"); } else { self.titleAnimWait = undefined; self notify("ENDtitleAnim"); } } function playerInfoHuds() { if(self.menu.curMenu == "PlayersMenu") { if(!isDefined(self.AIO.string["playerInfo"]) && !isDefined(self.AIO.shader["playerInfoBackground"])) { self.AIO.shader["playerInfoBackground"] = self createRectangle("LEFT", self.menuDesign["menuX"] + 160, self.AIO.shader["Scrollbar"].y+29, 150, 111, self.menuDesign["Background_Color"], "progress_bar_fg", 4, 1); self.AIO.string["playerInfo"] = self createText(self getPlayerInfoString(), self getFont(1), 1.2, "LEFT", self.menuDesign["menuX"] + 163, self.AIO.shader["Scrollbar"].y, self.menuDesign["Options_Color"], 1, 10); } else { self.AIO.string["playerInfo"].y = self.AIO.shader["Scrollbar"].y; self.AIO.shader["playerInfoBackground"].y = self.AIO.shader["Scrollbar"].y+29; } } else { if(isDefined(self.AIO.string["playerInfo"]) && isDefined(self.AIO.shader["playerInfoBackground"])) { self.AIO.string["playerInfo"] destroy(); self.AIO.shader["playerInfoBackground"] destroy(); self.AIO.string["playerInfo"] = undefined; self.AIO.shader["playerInfoBackground"] = undefined; } } } function menuPlayersInfo() { self endon("disconnect"); self endon("destroyMenu"); level endon("game_ended"); oldString = ""; for(;;) { if(self inMenu() && self.menu.curMenu == "PlayersMenu") { string = self getPlayerInfoString(); if(isDefined(self.AIO.string["playerInfo"])) { if(string != oldString) { self.AIO.string["playerInfo"] setSafeText(string); oldString = string; } } } wait .05; } } function getPlayerInfoString() { player = level.players[self.menu.curs[self.menu.curMenu]]; if(isDefined(player)) { gun = player getCurrentWeapon(); return "Gun : " + player isInMenuStringCheck() + player godStringCheck() + player validStringCheck(); } else return "n/a"; } function godStringCheck() { if(isDefined(self.godMode)) return "\nGodmode : ^2True^7"; return "\nGodmode : ^1False^7"; } function isInMenuStringCheck() { if(self inMenu()) return "\nInside Menu : ^2True^7"; return "\nInside Menu : ^1False^7"; } function validStringCheck() { if(isAlive(self)) return "\nisAlive : ^2True^7"; return "\nisAlive : ^1False^7"; } function createText(text, font, fontScale, align, x, y, color, alpha, sort, isLevel, isValue) { if(!isDefined(isLevel)) hud = hud::createFontString(font, fontScale); else hud = hud::createServerFontString(font, fontScale); hud hud::setPoint(align, "LEFT", x, y); hud.horzAlign = "user_left"; hud.vertAlign = "user_center"; if(isDefined(color)) hud.color = color; hud.alpha = alpha; if(isDefined(level.stealthMenu)) hud.archived = false; //hud.glowColor = glowColor; //hud.glowAlpha = glowAlpha; hud.foreground = true; hud.hideWhenInMenu = true; hud.sort = sort; if(isDefined(text)) { if(!isDefined(isValue)) hud setSafeText(text); else hud setValue(text); } return hud; } function createRectangle(align, x, y, width, height, color, shader, sort, alpha, server) { if(isDefined(server)) boxElem = newHudElem(); else boxElem = newClientHudElem(self); boxElem.elemType = "icon"; if(!level.splitScreen) { boxElem.x = -2; boxElem.y = -2; } boxElem.hideWhenInMenu = true; boxElem.xOffset = 0; boxElem.yOffset = 0; boxElem.children = []; boxElem.sort = sort; boxElem.color = color; boxElem.alpha = alpha; if(isDefined(level.stealthMenu)) boxElem.archived = false; boxElem hud::setParent(level.uiParent); boxElem setShader(shader,width,height); boxElem.hidden = false; boxElem.foreground = true; boxElem hud::setPoint(align, "LEFT", x, y); boxElem.horzAlign = "user_left"; boxElem.vertAlign = "user_center"; return boxElem; } function testProgressBar() { self thread createProgressBar(2, "Downloading Please Wait...", 1.2, "Finished!"); } function createProgressBar(time,text,time2,text2) { if(!isDefined(self.progressStarted)) { self endon("disconnect"); self.progressStarted = true; bar1 = hud::createPrimaryProgressBar(); self.progressBarText = hud::createPrimaryProgressBarText(); bar1 hud::updateBar(0, 1 / time); self.currentBarText = text; self.progressBarText setSafeText(text); wait(time); self.currentBarText = text2; self.progressBarText setSafeText(text2); wait(time2); bar1 hud::destroyElem(); self.progressBarText destroy(); self.progressStarted = undefined; self.currentBarText = undefined; } } function hudMoveY(y,time) { self moveOverTime(time); self.y = y; wait time; } function hudMoveX(x,time) { self moveOverTime(time); self.x = x; wait time; } function hudMoveXY(time,x,y) { self moveOverTime(time); self.y = y; self.x = x; } function hudFade(alpha,time) { self fadeOverTime(time); self.alpha = alpha; wait time; } function hudFadenDestroy(alpha,time,time2) { if(isDefined(time2)) wait time2; self hudFade(alpha,time); self destroy(); } function hudScaleOverTime(time,width,height) { self scaleOverTime(time,width,height); wait time; self.width = width; self.height = height; } function getFont(num) { if(num == 1) return "small"; return "objective"; } function divideColor(c1,c2,c3) { return(c1 / 255, c2 / 255, c3 / 255); } function destroyAll(array) { keys=getArrayKeys(array); for(a=0;a < keys.size;a++) if(isDefined(array[keys[ a ] ][0])) for(e=0;e < array[keys[ a ] ].size;e++) array[keys[ a ] ][e] destroy(); else array[keys[ a ] ] destroy(); } function affectElement(type, time, value) { if(type == "x" || type == "y") self moveOverTime(time); else self fadeOverTime(time); if(type == "x") self.x = value; if(type == "y") self.y = value; if(type == "alpha") self.alpha = value; if(type == "color") self.color = value; } function testmenu() { self thread createProgressMenu("Unlocking Nothing!", "It's DONE!", 2.5); } function createProgressMenu(text, text2, time) { self endon("disconnect"); level endon("game_ended"); self endon("destroyMenu"); self thread lockMenu("QUICKREMOVEBARTEXT"); self.dotDotHud = self createText(undefined, self getFont(1), 1.1, "LEFT",self.menuDesign["menuX"] + 6, self.menuDesign["menuY"], (1,1,1), 1, 10); self.dotDotHud thread waitForDeath(self); self.dotDotHud thread dotDot(text, self); wait time; self.dotDotHud notify("dotDot_endon"); self.dotDotHud setSafeText(self setProgressMenuText(text2)); wait 1.5; self.progressMenuText = undefined; self unlockMenu("unlockQuick"); self.dotDotHud destroy(); } function waitForDeath(player) { player endon("disconnect"); level endon("game_ended"); player endon("destroyMenu"); while(isDefined(self)) { if(!isAlive(player)) { player waittill("unlockQuick"); player storeInfoBarText(); return; } wait 0.05; } } function setProgressMenuText(text) { self.progressMenuText = text; return text; } function dotDot(text, player) { self endon("dotDot_endon"); player endon("disconnect"); player endon("destroyMenu"); level endon("game_ended"); while(isDefined(self)) { self setSafeText(player setProgressMenuText(text)); wait .2; self setSafeText(player setProgressMenuText(text+".")); wait .15; self setSafeText(player setProgressMenuText(text+"..")); wait .15; self setSafeText(player setProgressMenuText(text+"...")); wait .15; } } function resetBooleans() { self.godMode = undefined; } function array_precache(array1, type) { } function kickAllBots() { foreach(player in level.players) if(isDefined(player.pers["isBot"]) && player.pers["isBot"]) kick(player._player_entnum, "EXE_PLAYERKICKED"); } function test() { self iprintlnBold("Test"); } function handsOffHost() { self iPrintlnBold("Don't Touch The Host"); } function debugexit() { exitlevel(false); } function inMap() { playableArea = getEntArray( "player_volume", "script_noteworthy" ); for(a=0;a<playableArea.size;a++) if(self isTouching(playableArea[a])) return true; return false; } function spawnSM(origin,model,angles) { bog = spawn("script_model",origin); bog setModel(model); bog.angles = angles; if(!isSolo()) wait .05; return bog; } function isSolo() { if(getPlayers().size <= 1) return true; return false; } function boolToText(bool, string1, string2) { if(isDefined(bool) && bool) return string1; return string2; } function dvarToText(bool) { if(bool == "1") return "^2On"; return "^1Off"; } function toggleTest() { if(!isDefined(self.testToggle)) self.testToggle = true; else self.testToggle = undefined; self refreshMenu(); } function play_Local_Sound(sound) { self stopSounds(); self playSound(sound); } function stringTest() { if(!isDefined(self.stringTestThreaded)) { self endon("disconnect"); level endon("game_ended"); self endon("stringTestEnd"); self.stringTestThreaded = true; self.stringTest = hud::createfontstring("default", 1.5); self.stringTest hud::setPoint("CENTER", "CENTER", 0, 0); self.stringNum = 0; for( ;; ) { self.stringTest setSafeText("^1Supports " + self.stringNum + " Strings"); self.stringNum++; wait .05; } } else { self notify("stringTestEnd"); self.stringTest destroy(); self.stringTestThreaded = undefined; } } function recreateMenuText() { self.AIO.string["status"] setSafeText("Status: " + self.status); self.AIO.string["title"] setSafeText(self.menu.curTitle); if(isDefined(self.AIO.string["playerInfo"])) self.AIO.string["playerInfo"] setSafeText(self getPlayerInfoString()); if(!isDefined(self.menu.Locked)) { if(!isDefined(self.menu.menuopt[self.menu.curMenu][self.menu.curs[self.menu.curMenu] - 3]) || self.menu.menuopt[self.menu.curMenu].size <= 7) { for(i = 0; i < 7; i++) { if(isDefined(self.menu.menuopt[self.menu.curMenu][i])) self.AIO.options[i] setSafeText(self.menu.menuopt[self.menu.curMenu][i]); else self.AIO.options[i] setSafeText(""); } } else { if(isDefined(self.menu.menuopt[self.menu.curMenu][self.menu.curs[self.menu.curMenu] + 3])) { xePixTvx = 0; for(i = self.menu.curs[self.menu.curMenu] - 3; i < self.menu.curs[self.menu.curMenu] + 4; i++) { if(isDefined(self.menu.menuopt[self.menu.curMenu][i])) self.AIO.options[xePixTvx] setSafeText(self.menu.menuopt[self.menu.curMenu][i]); else self.AIO.options[xePixTvx] setSafeText(""); xePixTvx ++; } } else for(i = 0; i < 7; i++) self.AIO.options[i] setSafeText(self.menu.menuopt[self.menu.curMenu][self.menu.menuopt[self.menu.curMenu].size + (i - 7)]); } } } function overflowfix() { level endon("game_ended"); level endon("host_migration_begin"); test = hud::createServerFontString("default", 1); test.alpha = 0; test setText("xTUL"); for(;;) { level waittill("clearStrings"); level.strings = []; foreach(player in level.players) { if(isDefined(player.progressStarted) && isDefined(player.currentBarText)) player.progressBarText setSafeText(player.currentBarText); if(isDefined(player.hasMenu) && player isVerified()) { if(isDefined(player.RGBeditor)) { player.RGBeditor["Default"] setSafeText(player.RGBeditorDefaultText); player.RGBeditor[5] setSafeText("^1R:"); player.RGBeditor[6].label = &"Red: "; player.RGBeditor[9] setSafeText("^2G:"); player.RGBeditor[10].label = &"Green: "; player.RGBeditor[13] setSafeText("^4B:"); player.RGBeditor[14].label = &"Blue: "; if(isDefined(player.RGBeditor[15])) player.RGBeditor[15] setSafeText("Preview:"); } if(isDefined(player.AIO.string["tabInfo"]) && !isDefined(player.menu.open)) { player.AIO.string["tabInfo"] setSafeText("Press [{+speed_throw}] + [{+melee}] To Open Menu"); player.AIO.string["entCount"].label = &"Entity Count: "; } if(isDefined(player.progressMenuText) && isDefined(player.dotDotHud)) player.dotDotHud setSafeText(player.progressMenuText); if(isDefined(player.stringTest)) player.stringTest setSafeText("^1Supports " + player.stringNum + " Strings"); if(isDefined(player.menu.open)) player recreateMenuText(); } } } } function setSafeText(text) { if (!isInArray(level.strings, text)) { level.strings[level.strings.size] = text; //iprintln(level.strings.size); self setText(text); if(level.strings.size >= 55) level notify("clearStrings"); } else self setText(text); } function godMode() { if(!isDefined(self.godMode)) { self.godMode = true; self enableInvulnerability(); } else { self.godMode = undefined; self disableInvulnerability(); } self refreshMenu(); } function proMod() { if(!isDefined(self.proMod)) { self.proMod = true; //self SetClientFov(90); } else { self.proMod = undefined; //self setClientFov(65); } self refreshMenu(); } function randomize_array( array ) { for( i = 0; i < array.size; i++ ) { j = RandomInt( array.size ); temp = array[i]; array[i] = array[j]; array[j] = temp; } return array; } function physicalWeap(weaponArray, type) { self setclientplayerpushamount( 0 ); self thread lockMenu("ALL"); self freezeControls(true); array = []; normal=getArrayKeys(weaponArray); for(a=0;a<normal.size;a++) array[array.size] = normal[a]; randy=randomize_array(array); self setStance("stand"); self setPlayerAngles((0,180,0)); tehAngle = self.angles+(0,90,0); weapon=[]; for(a=0;a<3;a++) weapon[a] = spawnSM(self.origin+(0,0,75-a*20),GetWeaponWorldModel(randy[a]),tehAngle); for(a=0;a<3;a++) weapon[a] moveX(-70,1,1); currentWeapon=[]; for(a=0;a<3;a++) currentWeapon[a] = randy[a]; curs = 0; wait 1; self endon("disconnect"); self endon("death"); level endon("game_ended"); while(isAlive(self)) { if(self adsButtonPressed() || self attackButtonPressed()) { playsoundatposition("fly_shotgun_push", self.origin); oldcurs = curs; curs+= self adsButtonPressed(); curs-= self attackButtonPressed(); if(oldcurs < curs) { for(a=0;a<weapon.size;a++) weapon[a] hide(); thread createTempWeapon(weapon[0].origin,weapon[0].origin+(-50,0,0),weapon[0].model,tehAngle,.5,.25,.25); thread createTempWeapon(weapon[1].origin,weapon[1].origin+(0,0,20),weapon[1].model,tehAngle,.5,.25,.25); thread createTempWeapon(weapon[2].origin,weapon[2].origin+(0,0,20),weapon[2].model,tehAngle,.5,.25,.25); while(1) { newWeapon=array[randomInt(array.size)]; if(newWeapon!=currentWeapon[0] && newWeapon!=currentWeapon[1] && newWeapon!=currentWeapon[2])break; wait .05; } thread createTempWeapon(self.origin+(-70,0,-5),self.origin+(-70,0,35),GetWeaponWorldModel(newWeapon),tehAngle,.5,.25,.25); weapon[0] setModel(weapon[1].model); weapon[1] setModel(weapon[2].model); weapon[2] setModel(GetWeaponWorldModel(newWeapon)); currentWeapon[0]=currentWeapon[1]; currentWeapon[1]=currentWeapon[2]; currentWeapon[2]=newWeapon; } if(oldcurs > curs) { for(a=0;a<weapon.size;a++) weapon[a] hide(); thread createTempWeapon(weapon[0].origin,weapon[0].origin+(0,0,-20),weapon[0].model,tehAngle,.5,.25,.25); thread createTempWeapon(weapon[1].origin,weapon[1].origin+(0,0,-20),weapon[1].model,tehAngle,.5,.25,.25); thread createTempWeapon(weapon[2].origin,weapon[2].origin+(-50,0,0),weapon[2].model,tehAngle,.5,.25,.25); while(1) { newWeapon=array[randomInt(array.size)]; if(newWeapon!=currentWeapon[0] && newWeapon!=currentWeapon[1] && newWeapon!=currentWeapon[2])break; wait .05; } thread createTempWeapon(self.origin+(-70,0,105),self.origin+(-70,0,75),GetWeaponWorldModel(newWeapon),tehAngle,.5,.25,.25); weapon[2] setModel(weapon[1].model); weapon[1] setModel(weapon[0].model); weapon[0] setModel(GetWeaponWorldModel(newWeapon)); currentWeapon[2]=currentWeapon[1]; currentWeapon[1]=currentWeapon[0]; currentWeapon[0]=newWeapon; } wait .5; for(a=0;a<weapon.size;a++) weapon[a] show(); if(curs < 0) curs = array.size-1; if(curs > array.size-1) curs = 0; } if(self useButtonPressed()) { playsoundatposition(level.zombie_sounds["purchase"], self.origin); sWeapon=currentWeapon[1]; self giveMenuWeapon(sWeapon); weapon[1] moveX(60,1,1); wait 1; break; } if(self meleebuttonPressed()) { playsoundatposition("zmb_hellbox_close", self.origin); weapon[0] moveTo(weapon[0].origin+(0,0,-70),.5,.25,.25); weapon[1] moveTo(weapon[1].origin+(0,0,-70),.5,.25,.25); weapon[2] moveTo(weapon[2].origin+(0,0,-70),.5,.25,.25); wait .45; break; } wait 0.05; } for(a=0;a<weapon.size;a++) weapon[a] delete(); self SetClientPlayerPushAmount( 1 ); self freezeControls(false); self unlockMenu(); } function createTempWeapon(startPos,endPos,model,angles,time,de,ac) { weapon = spawnSM(startPos,model,angles); weapon moveTo(endPos,time,de,ac); weapon waittill("movedone"); weapon delete(); } function thirdPerson() { if(!isDefined(self.thirdPerson)) { self.thirdPerson = true; self setClientThirdPerson(true); } else { self.thirdPerson = undefined; self setClientThirdPerson(false); } self refreshMenu(); } function returnToSpawn() { self setStance("stand"); struct = struct::get("initial_spawn_points","targetname"); num = self getEntityNumber(); self setOrigin(struct[num].origin); self setPlayerAngles(struct[num].angles); } function giveMenuWeapon(weap) { if(self hasWeapon(weap)) return; else { self giveweapon(weap); self switchtoweapon(weap); self giveMaxAmmo(weap); } } function takeCurrentWeapon() { if(self getWeaponsListPrimaries().size <= 1) return; self takeWeapon(self getCurrentWeapon()); } function randomWeapon(array1, type) { list = getArrayKeys(array1); weaponArray = []; for(m = 0; m < list.size; m++) if(!self hasWeapon(list[m])) weaponArray[weaponArray.size] = list[m]; randy = weaponArray[randomInt(weaponArray.size)]; self giveMenuWeapon(randy); } function antiLeave() { if(!isDefined(level.antiLeave)) { level.antiLeave = true; setMatchFlag("disableIngameMenu", true); } else { level.antiLeave = undefined; SetMatchFlag("disableIngameMenu", false); } self refreshMenuAllPlayers(); } function CamoChanger(value)//self CamoChanger(45);//39//40 { weap = self getCurrentWeapon(); self takeWeapon(weap); self giveWeapon(weap, 0, self CalcWeaponOptions(value, 0, 0, 0)); self SetSpawnWeapon(weap); self giveMaxAmmo(weap); } function killPlayer(who) { if(!isDefined(who)) who = self; if(!isAlive(who)) return; if(isDefined(who.godMode)) { who.godMode = undefined; who disableInvulnerability(); } else who disableInvulnerability(); who dodamage(who.health * 2, who.origin); } function toggleSuperJump() { if(!isDefined(level.superJump)) { level.superJump = true; array::thread_all(getPlayers(),&loopSuperJump); } else { level.superJump = undefined; foreach(player in level.players) player.superJumpBool = undefined; level notify("stop_superjump"); } self refreshMenuAllPlayers(); } function loopSuperJump() { level endon("game_ended"); level endon("stop_superjump"); self endon("disconnect"); self setperk("specialty_fallheight"); self.superJumpBool = true; self.isSuperJumping = undefined; power = 0; FZ = 0; for(;;) { while(self isOnGround() && !isDefined(self.isSuperJumping) && self canSuperJump()) { wait .05; if(self jumpButtonPressed() && self canSuperJump()) { self.isSuperJumping = true; power = 15; for(i = 0; i < power; i++) { FZ = int(self.origin[2]); wait .05; if(self isOnGround()) self setOrigin(self.origin); self setVelocity(self getVelocity()+(0, 0, 999)); if(int(self.origin[2]) == FZ) break; if(!canSuperJump()) break; } self.isSuperJumping = undefined; } } wait .05; } } function canSuperJump() { if(!self isMantling() && isAlive(self)) return true; return false; } function quickRestart() { self kickAllBots(); map_restart(false); } function forceHost() { if(GetDvarInt("partyMigrate_disabled") != "1") { setDvar("party_connectToOthers", "0"); setDvar("partyMigrate_disabled", "1"); setDvar("party_mergingEnabled", "0"); setDvar("allowAllNAT", "0"); } else { setDvar("party_connectToOthers", "1"); setDvar("partyMigrate_disabled", "0"); setDvar("party_mergingEnabled", "1"); setDvar("allowAllNAT", "1"); } self refreshMenu(); } function quickMenu() { if(!isDefined(self.menu.quick)) { self.menu.quickCheck = true; self.menu.quick = true; } else { self.menu.quickCheck = undefined; self.menu.quick = undefined; } self refreshMenu(); } function stealthMenu() { if(GetDvarInt("stealthMenu") == "") setDvar("stealthMenu", "1"); else if(GetDvarInt("stealthMenu") == "1") setDvar("stealthMenu", "0"); else setDvar("stealthMenu", "1"); self quickRestart(); } function menuColorEditor(ID,factory) { self thread lockMenu("EDITOR"); self.RGBeditor = []; self.menuEditIndex = []; for(a=0;a<3;a++) { self.RGBeditor[a] = self.menuDesign[ID+"_Color"][a]*255; self.menuEditIndex[a] = self.menuDesign[ID+"_Color"][a]*255; } self.RGBeditorDefaultText = "Default: ("+factory[0]+","+factory[1]+","+factory[2]+")"; self.RGBeditor["Default"] = self createText(self.RGBeditorDefaultText,self getFont(1),1,"CENTER",self.AIO.string["title"].x+(/*self.menu["width"]*/(160/2)-80),self.menuDesign["menuY"]-50,undefined,1,2); self.RGBeditor[3] = self createRectangle("LEFT",self.RGBeditor["Default"].x-60,self.menuDesign["menuY"]-30,130,1,(1,1,1),"white",6,1); self.RGBeditor[4] = self createRectangle("CENTER",self.RGBeditor[3].x+self.RGBeditor[0]*(130/255),self.RGBeditor[3].y,2,10,(1,1,1),"white",6,1); self.RGBeditor[5] = self createText("^1R:",self getFont(1),1,"LEFT",self.RGBeditor[3].x-12,self.RGBeditor[3].y,undefined,1,6); self.RGBeditor[6] = self createText(self.RGBeditor[0],self getFont(1),1,"LEFT",self.RGBeditor[5].x,self.menuDesign["menuY"]+50,undefined,1,6,undefined,true); self.RGBeditor[6].label = &"Red: "; self.RGBeditor[7] = self createRectangle("LEFT",self.RGBeditor[3].x,self.menuDesign["menuY"],130,1,(1,1,1),"white",4,1); self.RGBeditor[8] = self createRectangle("CENTER",self.RGBeditor[3].x+self.RGBeditor[1]*(130/255),self.RGBeditor[7].y,2,10,(1,1,1),"white",4,1); self.RGBeditor[9] = self createText("^2G:",self getFont(1),1,"LEFT",self.RGBeditor[3].x-12,self.RGBeditor[7].y,undefined,1,4); self.RGBeditor[10] = self createText(self.RGBeditor[1],self getFont(1),1,"LEFT",self.RGBeditor[5].x,self.menuDesign["menuY"]+60,undefined,1,4,undefined,true); self.RGBeditor[10].label = &"Green: "; self.RGBeditor[11] = self createRectangle("LEFT",self.RGBeditor[3].x,self.menuDesign["menuY"]+30,130,1,(1,1,1),"white",4,1); self.RGBeditor[12] = self createRectangle("CENTER",self.RGBeditor[3].x+self.RGBeditor[2]*(130/255),self.RGBeditor[11].y,2,10,(1,1,1),"white",4,1); self.RGBeditor[13] = self createText("^4B:",self getFont(1),1,"LEFT",self.RGBeditor[3].x-12,self.RGBeditor[11].y,undefined,1,4); self.RGBeditor[14] = self createText(self.RGBeditor[2],self getFont(1),1,"LEFT",self.RGBeditor[5].x,self.menuDesign["menuY"]+70,undefined,1,4,undefined,true); self.RGBeditor[14].label = &"Blue: "; if(ID == "Options" || ID == "TabInfo") { self.RGBeditor[15] = self createText("Preview:",self getFont(1),1,"CENTER",self.RGBeditor["Default"].x+30,self.RGBeditor[6].y,undefined,1,10); self.RGBeditor[16] = self createRectangle("CENTER",self.RGBeditor[15].x,self.RGBeditor[14].y,60,20,divideColor(self.RGBeditor[0],self.RGBeditor[1],self.RGBeditor[2]),"white",12,1); } slider = 0; self thread updateMenuColorEditor(ID,self.RGBeditor); while(isAlive(self) && isVerified()) { if(self adsButtonPressed() || self attackButtonPressed()) { self.menuEditIndex[slider] += self attackButtonPressed(); self.menuEditIndex[slider] -= self adsButtonPressed(); if(self.menuEditIndex[slider] > 255) self.menuEditIndex[slider] = 0; if(self.menuEditIndex[slider] < 0) self.menuEditIndex[slider] = 255; self thread editColor(self.RGBeditor,self getMenuHud(ID),slider,ID); if(ID == "Options" || ID == "TabInfo") { self.RGBeditor[16] fadeOverTime(.2); self.RGBeditor[16].color = divideColor(self.menuEditIndex[0],self.menuEditIndex[1],self.menuEditIndex[2]); } } else if(self fragButtonPressed()) { for(a=0;a<2;a++) { for(b=(slider*4)+3;b<(slider*4)+7;b++) self.RGBeditor[b].sort = 3+(a*4); if(a > 0) break; slider++; if(slider > 2) slider = 0; } wait .15; } else if(self meleeButtonPressed()) break; wait .05; } self notify("UPDATE_MENU_COLOR_OVER"); self destroyAll(self.RGBeditor); wait .1; if(isVerified()) self unlockMenu("unlockEditor"); } function updateMenuColorEditor(ID,editor) { self notify("UPDATE_MENU_COLOR_OVER"); self endon("UPDATE_MENU_COLOR_OVER"); while(isDefined(editor[3])) { for(a=0;a<3;a++) { self.menuEditIndex[a] = self.menuDesign[ID+"_Color"][a]*255; editor[(a+1)*4] thread hudMoveX(editor[3].x+self.menuEditIndex[a]*(130/255),.15); editor[6+(a*4)] setValue(self.menuEditIndex[a]); } if(ID == "Options" || ID == "TabInfo") { editor[16] fadeOverTime(.2); editor[16].color = divideColor(self.menuEditIndex[0],self.menuEditIndex[1],self.menuEditIndex[2]); } wait .1; } } function setMenuColor(hud,ID,color,editor) { self.menuDesign[ID+"_Color"] = color; //if(isDefined(self.AIO.shader[hud[ 0 ] ])) //{ //for(a=0;a<hud.size-1;a++) //{ self.AIO.shader[hud] fadeOverTime(.2); self.AIO.shader[hud].color = color; //} //} } function setHudColor(ID, color) { self.menuDesign[ID+"_Color"] = color; self.AIO.shader[ID] fadeOverTime(.2); self.AIO.shader[ID].color = color; } function editColor(editor,hud,slider,ID) { editor[(slider+1)*4] thread hudMoveX(editor[3].x+self.menuEditIndex[slider]*(130/255),.05); if(isDefined(ID)) self setMenuColor(hud,ID,divideColor(self.menuEditIndex[0],self.menuEditIndex[1],self.menuEditIndex[2]),true); editor[6+(slider*4)] setValue(self.menuEditIndex[slider]); } function getMenuHud(ID) { if(ID == "Scrollbar") return "Scrollbar"; if(ID == "Background") return "Background"; if(ID == "Backgroundouter") return "Backgroundouter";//these names can't be the same or a error pops up using developer 2, but **** it. //if(ID == "Title") return strTok("title|status","|");// //if(ID == "TabInfo") return "tabInfo";///////////////////these still need support added for it //if(ID == "Options") return strTok("Menu|OPT","|");// } function verificationToColor(status) { if (status == "Creator") return "^6Creator^7"; if (status == "Host") return "^2Host^7"; if (status == "Co-Host") return "^5Co-Host^7"; if (status == "Admin") return "^1Admin^7"; if (status == "VIP") return "^4VIP^7"; if (status == "Verified") return "^3Verified^7"; if (status == "None") return "None"; } function setPlayerVerification(player, which) { if(player != self && !player isHost() && player.status != which) { if(player isVerified()) player destroyMenu(); player.status = which; if(player isVerified()) { player.hasMenu = true; player thread menuInit(); player thread closeMenuOnDeath(); player thread closeMenuOnGameEnd(); } self iPrintlnBold(player.name+" Verification Set To "+verificationToColor(which)); player iPrintlnBold("Verification Set To "+verificationToColor(which)); } else if(player.status == which) self iPrintlnBold(player.name+" Verification Is Already Set To "+verificationToColor(which)); } function getPlayerName() { name = self.name; if(name[0] != "[") return name; for(a = name.size - 1; a >= 0; a--) if(name[a] == "]") break; return(getSubStr(name, a + 1)); } function isVerified() { if(self.status != "None") return true; return false; } function coHostList(player, action) { dvar = GetDvarString("coHostList"); name = player getPlayerName(); if(action == true) { if(dvar == "") dvar += name; else dvar += "," + name; } if(action == false) { array = strTok(dvar, ","); dvar = ""; for(i = 0; i < array.size; i++) { if(array[i] != name) { if(i == 0) dvar += array[i]; else dvar += "," + array[i]; } } } setDvar("coHostList", dvar); self refreshMenuAllPlayers(); } function isInCoHostList(who) { if(GetDvarString("coHostList") == "") return false; array = strTok(GetDvarString("coHostList"), ","); for(i = 0; i < array.size; i++) if(array[i] == who getPlayerName()) return true; return false; } [/code] [/QUOTE]
Verification
Post reply
Forums
Gaming
Call of Duty Classics
Call of Duty: Black Ops 3
Call of Duty: Black Ops 3 Mods and Scripts
Call of Duty: Black Ops 3 Scripts
Final Flex Menu Base
CabConModding is now on facebook! Check the latest Updates, the Site Status and much more now!
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…
Top