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
Aspire's BO3 GSC 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="TwinightCow" data-source="post: 17784" data-attributes="member: 5496"><p>[CODE]#using scripts\mp\_util;</p><p>#using scripts\codescripts\struct;</p><p>#using scripts\shared\util_shared;</p><p>#using scripts\shared\system_shared;</p><p>#using scripts\shared\callbacks_shared;</p><p>#using scripts\shared\_hud_util_shared;</p><p>#using scripts\shared\_hud_message_shared;</p><p>#insert scripts\shared\shared.gsh;</p><p>#namespace clientids;</p><p></p><p>REGISTER_SYSTEM( "clientids", &__init__, undefined )</p><p> </p><p>function __init__()</p><p>{</p><p> callback::on_start_gametype( &init );</p><p> callback::on_connect( &on_player_connect );</p><p>}</p><p></p><p>//Based on shark's base</p><p></p><p>function init()</p><p>{</p><p> enableDebugMode(true);</p><p> if(!isDefined(level.players))</p><p> {</p><p> level thread initPerms();</p><p> }</p><p></p><p> level.clientid = 0; //dont know if I have to leave it in</p><p> level thread removeSkyBarrier();</p><p>}</p><p></p><p>function on_player_connect()</p><p>{</p><p> //dont know if I should leave it in</p><p> self.clientid = matchRecordNewPlayer( self );</p><p> if(!isdefined( self.clientid ) || self.clientid == -1)</p><p> {</p><p> self.clientid = level.clientid;</p><p> level.clientid++;</p><p> }</p><p></p><p> if(self IsHost() || self IsLocalToHost())</p><p> self.menuControls = true; //should be here as long as homefront is diabled</p><p> //self thread homefront(); //disabled for now</p><p></p><p> self thread onSpawn();</p><p>}</p><p></p><p>function onSpawn()</p><p>{</p><p> self endon("disconnect");</p><p> level endon("game_ended");</p><p></p><p> self.MenuOpen = false;</p><p> self.MenuInit = false;</p><p> for(;;)</p><p> {</p><p> self waittill("spawned_player");</p><p> if(isAllowed(1))</p><p> {</p><p> self IPrintLn("Menu is loading...");</p><p> self thread welcome();</p><p> if(!self.MenuInit)</p><p> {</p><p> self.vars = [];</p><p> self.MenuInit = true;</p><p> self thread initVars();</p><p> self thread MenuInit();</p><p> self thread closeOnDeath();</p><p> }</p><p> }</p><p> }</p><p>}</p><p></p><p>function enableDebugMode(toggle)</p><p>{</p><p> level.debug = toggle;</p><p>}</p><p></p><p>function initPerms()</p><p>{</p><p> level.AccessLevel = [];</p><p> level.AccessLevel[0] = "No Access";</p><p> level.AccessLevel[1] = "Access Level 1";</p><p> level.AccessLevel[2] = "Access Level 2";</p><p> level.AccessLevel[3] = "Access Level 3";</p><p> level.AccessLevel[4] = "Access Level 4";</p><p></p><p> foreach(player in level.players)</p><p> {</p><p> if(player ishost())</p><p> player.AccessLevel = level.AccessLevel[4];</p><p> else</p><p> player.AccessLevel = level.AccessLevel[0];</p><p> }</p><p>}</p><p></p><p>function verToNum(n)</p><p>{</p><p> switch(n)</p><p> {</p><p> case level.AccessLevel[4]:</p><p> return 4;</p><p> break;</p><p></p><p> case level.AccessLevel[3]:</p><p> return 3;</p><p> break;</p><p></p><p> case level.AccessLevel[2]:</p><p> return 2;</p><p> break;</p><p></p><p> case level.AccessLevel[1]:</p><p> return 1;</p><p> break;</p><p></p><p> default:</p><p> return 0;</p><p> }</p><p>}</p><p></p><p>function verToCol(n)</p><p>{</p><p> switch(n)</p><p> {</p><p> case level.AccessLevel[4]:</p><p> return "^1Access Level 4^7";</p><p> break;</p><p></p><p> case level.AccessLevel[3]:</p><p> return "^1Access Level 3^7";</p><p> break;</p><p></p><p> case level.AccessLevel[2]:</p><p> return "^1Access Level 2^7";</p><p> break;</p><p></p><p> case level.AccessLevel[1]:</p><p> return "^1Access Level 1^7";</p><p> break;</p><p></p><p> default:</p><p> return "^7No Access";</p><p>}</p><p></p><p>function isAllowed(n)</p><p>{</p><p> return (verToNum(player.AccessLevel) >= n);</p><p>}</p><p></p><p>function verify(player, n)</p><p>{</p><p> if(verToNum(self.AccessLevel) >= verToNum(player.AccessLevel))</p><p> {</p><p> if(player.AccessLevel != n)</p><p> {</p><p> if(!player IsHost())</p><p> {</p><p> player.AccessLevel = n;</p><p> </p><p> self.menu.title destroy();</p><p> self.menu.title = drawText(getName(player) + " [" + verToCol(player.AccessLevel) + "^7]", "default", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);</p><p> self.menu.title FadeOverTime(0.3);</p><p> self.menu.title.alpha = 1;</p><p> </p><p> if(player.AccessLevel == "No Access")</p><p> self thread destroyMenu(player);</p><p> </p><p> self iPrintln("Set " + verToCol(n) + " For " + getName(player));</p><p> player iPrintln("Set " + verToCol(n) + " For " + self.name);</p><p> }</p><p> else</p><p> self iPrintln("You Cannot Change The Host's Access Level");</p><p> }</p><p> else</p><p> {</p><p> if (player IsHost())</p><p> self iPrintln("You Cannot Change The Host's Access Level");</p><p> else</p><p> self iPrintln(player.name + " Has Already " + verToCol(n));</p><p> }</p><p> }</p><p> else</p><p> self IPrintLn("He Has " + verToCol(player.AccessLevel) + ". You Cannot Change His Access Level!");</p><p>}</p><p></p><p>function destroyMenu(player)</p><p>{</p><p> player.MenuInit = false;</p><p> closeMenu();</p><p> </p><p> wait 0.3;</p><p> </p><p> for(i=0; i < self.menu.menuopt[player.menu.currentmenu].size; i++)</p><p> { player.menu.opt[i] destroy(); }</p><p> </p><p> player.menu.background destroy();</p><p> player.menu.scroller destroy();</p><p> player.menu.line destroy();</p><p> player.menu.title destroy();</p><p> player notify("destroyMenu");</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.toggles = SpawnStruct();</p><p> </p><p> self.MenuOpen = false;</p><p> </p><p> self StoreShaders();</p><p> self CreateMenu();</p><p> </p><p> for(;;)</p><p> {</p><p> if(!self.MenuOpen && self.menuControls)</p><p> {</p><p> if(self MeleeButtonPressed() && self AdsButtonPressed())</p><p> {</p><p> openMenu();</p><p> updateClients();</p><p> }</p><p> }</p><p> if(self.menu.open)</p><p> {</p><p> if(self UseButtonPressed())</p><p> {</p><p> if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))</p><p> {</p><p> self submenu(self.menu.previousmenu[self.menu.currentmenu]);</p><p> }</p><p> else</p><p> {</p><p> closeMenu();</p><p> }</p><p> self PlayLocalSound("");</p><p> wait 0.2;</p><p> }</p><p> if(self ActionSlotOneButtonPressed() || self ActionSlotTwoButtonPressed())</p><p> {</p><p> self.menu.curs[self.menu.currentmenu] += (Iif(self ActionSlotTwoButtonPressed(), 1, -1));</p><p> self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));</p><p> </p><p> self.menu.scroller MoveOverTime(0.15);</p><p> self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;</p><p> //self.menu.scroller elemMove(0.15, "y", self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1);</p><p> self PlayLocalSound("");</p><p> }</p><p> if(self JumpButtonPressed())</p><p> {</p><p> self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);</p><p> self PlayLocalSound("");</p><p> wait 0.2;</p><p> }</p><p> }</p><p> wait 0.05;</p><p> }</p><p>}</p><p></p><p>function CreateMenu()</p><p>{</p><p> self addMenu(undefined, "Main Menu", level.AccessLevel[0]);</p><p> self addOption("Main Menu", "SubMenu 1", &submenu, "SubMenu 1", "SubMenu 1");</p><p> self addOption("Main Menu", "SubMenu 2", &submenu, "SubMenu 2", "SubMenu 2");</p><p> self addOption("Main Menu", "SubMenu 3", &submenu, "SubMenu 3", "SubMenu 3");</p><p></p><p> self addMenu("Main Menu", "SubMenu 1", level.AccessLevel[1]);</p><p> self addOption("SubMenu 1", "Option 1", &test);</p><p> self addOption("SubMenu 1", "Option 2", &test);</p><p> self addOption("SubMenu 1", "Option 3", &test);</p><p></p><p> self addMenu("Main Menu", "SubMenu 2", level.AccessLevel[1]);</p><p> self addOption("SubMenu 2", "Option 1", &test);</p><p> self addOption("SubMenu 2", "Option 2", &test);</p><p> self addOption("SubMenu 2", "Option 3", &test);</p><p></p><p> self addMenu("Main Menu", "SubMenu 3", level.AccessLevel[1]);</p><p> self addOption("SubMenu 3", "Option 1", &test);</p><p> self addOption("SubMenu 3", "Option 2", &test);</p><p> self addOption("SubMenu 3", "Option 3", &test);</p><p></p><p></p><p> self addMenu("Main Menu", "PlayersMenu", level.AccessLevel[4]);</p><p> for (i = 0; i < 12; i++)</p><p> { self addMenu("PlayersMenu", name, level.AccessLevel[4]); }</p><p>}</p><p></p><p>function updatePlayersMenu()</p><p>{</p><p> self.menu.menucount["PlayersMenu"] = 0;</p><p> //r = level.players.size;</p><p> for (i = 0; i < 12; i++)</p><p> {</p><p> player = level.players[i];</p><p> name = player.name;</p><p> n = player.name + " ^1[^7 " + player.AccessLevel + " ^1]^7";</p><p> </p><p> playersizefixed = level.players.size - 1;</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> self add_option("PlayersMenu", n, ::submenu, name, name);</p><p> </p><p> self addMenuAlt("PlayersMenu", name);</p><p> self addOption(name, "Give Access Level 4", &verify, player, level.AccessLevel[4]);</p><p> self addOption(name, "Give Access Level 3", &verify, player, level.AccessLevel[3]);</p><p> self addOption(name, "Give Access Level 2", &verify, player, level.AccessLevel[2]);</p><p> self addOption(name, "Give Access Level 1", &verify, player, level.AccessLevel[1]);</p><p> self addOption(name, "Take Access", &verify, player, level.AccessLevel[0]);</p><p> }</p><p>}</p><p></p><p>function updateClients()</p><p>{</p><p> self endon("menu_exit");</p><p> for(;;)</p><p> {</p><p> level waittill("connected", player);</p><p></p><p> foreach(player in level.players)</p><p> {</p><p> if(player isAllowed(1))</p><p> {</p><p> if(player getCurrentMenu() == "PlayersMenu" )</p><p> player submenu("PlayersMenu");</p><p> }</p><p> }</p><p> }</p><p>}</p><p></p><p>function addMenuAlt(prevmenu, Menu)</p><p>{</p><p> self.menu.getmenu[Menu] = Menu;</p><p> self.menu.menucount[Menu] = 0;</p><p> self.menu.previousmenu[Menu] = prevmenu;</p><p>}</p><p></p><p>function addMenu(prevmenu, Menu, status)</p><p>{</p><p> self.menu.status[Menu] = status;</p><p> self.menu.getmenu[Menu] = Menu;</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.previousmenu[Menu] = prevmenu;</p><p>}</p><p></p><p>function addOption(Menu, Text, Func, arg1, arg2)</p><p>{</p><p> Menu = self.menu.getmenu[Menu];</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> self.menu.menucount[Menu] += 1;</p><p>}</p><p></p><p>function getCurrentMenu()</p><p>{</p><p> return self.menu.currentmenu;</p><p>}</p><p></p><p>function openMenu()</p><p>{</p><p> self EnableInvulnerability();</p><p> self freezeControls(false);</p><p> self StoreText("Main Menu", "Main Menu");</p><p> </p><p> self.menu.background FadeOverTime(0.3);</p><p> self.menu.background.alpha = 0.65;</p><p></p><p> self.menu.line MoveOverTime(0.15);</p><p> self.menu.line.y = -50;</p><p> </p><p> self.menu.scroller MoveOverTime(0.15);</p><p> self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;</p><p> self.MenuOpen = true;</p><p>}</p><p></p><p>function closeMenu()</p><p>{</p><p> if(!isDefined(self.vars["god"]) || !self.vars["god"])</p><p> DisableInvulnerability();</p><p></p><p></p><p> for(i = 0; i < self.menu.opt.size; i++)</p><p> {</p><p> self.menu.opt[i] FadeOverTime(0.3);</p><p> self.menu.opt[i].alpha = 0;</p><p> }</p><p></p><p> self.menu.background FadeOverTime(0.3);</p><p> self.menu.background.alpha = 0;</p><p></p><p> self.menu.title FadeOverTime(0.3);</p><p> self.menu.title.alpha = 0;</p><p></p><p> self.menu.line MoveOverTime(0.15);</p><p> self.menu.line.y = -550;</p><p></p><p> self.menu.scroller MoveOverTime(0.15);</p><p> self.menu.scroller.y = -500;</p><p> self.MenuOpen = false;</p><p> self notify("menu_exit");</p><p>}</p><p></p><p>function closeOnDeath()</p><p>{</p><p> self endon( "destroyMenu" );</p><p> self endon("disconnect");</p><p> level endon("game_ended");</p><p></p><p> for(;;)</p><p> {</p><p> self waittill("death");</p><p> self.menu.closeondeath = true;</p><p> submenu("Main Menu", "Main Menu");</p><p> self closeMenu();</p><p> self.menu.closeondeath = false;</p><p> }</p><p>}</p><p></p><p>function submenu(input, title)</p><p>{</p><p> if(verToNum(self.status) >= verToNum(self.menu.status[input]))</p><p> {</p><p> for(i = 0; i < self.menu.opt.size; i++)</p><p> { self.menu.opt[i] destroy(); }</p><p> </p><p> if (input == "Main Menu")</p><p> self thread StoreText(input, "Main Menu");</p><p> else if (input == "PlayersMenu")</p><p> {</p><p> self updatePlayersMenu();</p><p> self thread StoreText(input, "Players");</p><p> }</p><p> else</p><p> self thread StoreText(input, title);</p><p> </p><p> self.CurMenu = input;</p><p> </p><p> self.menu.scrollerpos[self.CurMenu] = self.menu.curs[self.CurMenu];</p><p> self.menu.curs[input] = self.menu.scrollerpos[input];</p><p> </p><p> if (!self.menu.closeondeath)</p><p> {</p><p> self.menu.scroller MoveOverTime(0.15);</p><p> self.menu.scroller.y = self.menu.opt[self.menu.curs[self.CurMenu]].y+1;</p><p> }</p><p> }</p><p> else</p><p> {</p><p> self iPrintln("Only Players With ^1" + verToCol(self.menu.status[input]) + " ^7Can Access This Menu!");</p><p> }</p><p>}</p><p></p><p>function StoreShaders()</p><p>{</p><p> self.menu.background = self drawShader("white", 320, -50, 300, 500, (0, 0, 0), 0, 0);</p><p> self.menu.scroller = self drawShader("white", 320, -500, 300, 17, (0, 0, 0), 255, 1);</p><p> self.menu.line = self drawShader("white", 170, -550, 2, 500, (0, 0, 0), 255, 2);</p><p> self.menu.line = self drawShader("white", 170, -550, 2, 500, (0, 0, 0), 255, 2);</p><p>}</p><p></p><p>function StoreText(menu, title)</p><p>{</p><p> self.menu.currentmenu = menu;</p><p> self.menu.title destroy();</p><p> self.menu.title = drawText(title, "default", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);</p><p> self.menu.title FadeOverTime(0.3);</p><p> self.menu.title.alpha = 1;</p><p> </p><p> for(i=0; i < self.menu.menuopt[menu].size; i++)</p><p> {</p><p> self.menu.opt[i] destroy();</p><p> self.menu.opt[i] = drawText(self.menu.menuopt[menu][i], "default", 1.6, 280, 68 + (i*20), (1, 1, 1), 0, (0, 0, 0), 0, 4);</p><p> self.menu.opt[i] FadeOverTime(0.3);</p><p> self.menu.opt[i].alpha = 1;</p><p> }</p><p>}</p><p></p><p>function welcome()</p><p>{</p><p> self endon("death");</p><p> notifyData = SpawnStruct();</p><p> notifyData.titleText = "Welcome " + self.name + " To Aspire's Menu Base";</p><p> notifyData.notifyText = "You Have " + self.AccessLevel;</p><p> notifyData.glowColor = (.2, 0, 0);</p><p> notifyData.duration = 7;</p><p> notifyData.font = "default";</p><p> notifyData.hideWhenInMenu = true;</p><p> self thread hud_message::notifyMessage(notifyData);</p><p>}</p><p></p><p>function drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort)</p><p>{</p><p> hud = hud::createFontString(font, fontScale);</p><p> hud setText(text);</p><p> hud.x = x;</p><p> hud.y = y;</p><p> hud.color = color;</p><p> hud.alpha = alpha;</p><p> hud.glowColor = glowColor;</p><p> hud.glowAlpha = glowAlpha;</p><p> hud.sort = sort;</p><p> hud.alpha = alpha;</p><p> hud.hidewheninmenu = true;</p><p> return hud;</p><p>}</p><p></p><p>function drawShader(shader, x, y, width, height, color, alpha, sort)</p><p>{</p><p> hud = newClientHudElem(self);</p><p> hud.elemtype = "icon";</p><p> hud.color = color;</p><p> hud.alpha = alpha;</p><p> hud.sort = sort;</p><p> hud.children = [];</p><p> hud hud::setParent(level.uiParent);</p><p> hud setShader(shader, width, height);</p><p> hud.x = x;</p><p> hud.y = y;</p><p> hud.hidewheninmenu = true;</p><p> return hud;</p><p>}</p><p></p><p>function drawValue(fontSize, sort, value, align, relative, x, y, alpha, color)</p><p>{</p><p> hud = hud::createFontString("default", fontSize);</p><p> hud hud::setPoint(align, relative, x, y);</p><p> hud setvalue(value);</p><p> hud.sort = sort;</p><p> hud.hidewheninmenu = true;</p><p> hud.alpha = alpha;</p><p> hud.color = color;</p><p> return hud;</p><p>}</p><p></p><p>function elemMoveX(time, x)</p><p>{</p><p> self MoveOverTime(time);</p><p> self.x = x;</p><p>}</p><p></p><p>function elemMoveY(time, y)</p><p>{</p><p> self MoveOverTime(time);</p><p> self.y = y;</p><p>}</p><p></p><p>function elemFade(time, alpha)</p><p>{</p><p> self FadeOverTime(time);</p><p> self.alpha = alpha;</p><p>}</p><p></p><p>function elemFontScale(time, fontscale)</p><p>{</p><p> self changefontscaleovertime(time);</p><p> self.fontscale = fontscale;</p><p>}</p><p></p><p>function elemMoveYWait(time, y)</p><p>{</p><p> self MoveOverTime(time);</p><p> self.y = y;</p><p> wait time;</p><p>}</p><p></p><p>function elemMoveXWait(time, x)</p><p>{</p><p> self MoveOverTime(time);</p><p> self.x = x;</p><p> wait time;</p><p>}</p><p></p><p>function elemFadeWait(time, alpha)</p><p>{</p><p> self FadeOverTime(time);</p><p> self.alpha = alpha;</p><p> wait time;</p><p>}</p><p></p><p>function elemScaleWait(time, width, height)</p><p>{</p><p> self scaleOverTime(time, width, height);</p><p> wait time;</p><p>}</p><p></p><p>function elemFontScaleWait(time, fontscale)</p><p>{</p><p> self changefontscaleovertime(time);</p><p> self.fontscale = fontscale;</p><p> wait time;</p><p>}</p><p></p><p>function initVars()</p><p>{</p><p> self addVar("god", false);</p><p> //self addVar("ammo", false); //just an example</p><p>}</p><p></p><p>function isEmpty(var)</p><p>{</p><p> if(var == "" || !isDefined(var))</p><p> return true;</p><p> else</p><p> return false;</p><p>}</p><p></p><p>function addVar(name, value)</p><p>{</p><p> self.vars[name] = value;</p><p>}</p><p></p><p>function setVar(name, value)</p><p>{</p><p> self.vars[name] = value;</p><p>}</p><p></p><p>function getVar(name, value)</p><p>{</p><p> return self.vars[name];</p><p>}</p><p></p><p>function toggle(var, state)</p><p>{</p><p> if(isEmpty(state))</p><p> setVar(var, !getVar(var));</p><p> else</p><p> setVar(var, state);</p><p> </p><p> if(getVar(var) == true)</p><p> status = "^2Enabled";</p><p> else</p><p> status = "^1Disabled";</p><p> </p><p> // god mode</p><p> if(var == "god")</p><p> {</p><p> self iprintln("God Mode: " + status);</p><p> </p><p> if(getVar(var) == true)</p><p> self EnableInvulnerability();</p><p> else</p><p> {</p><p> // Only disable if not in menu; else will be disabled upon menu exit</p><p> if(!self.MenuOpen)</p><p> self DisableInvulnerability();</p><p> }</p><p> }</p><p>}</p><p></p><p>function vector_scale(vec, scale)</p><p>{</p><p> vec = (vec[0]*scale, vec[1]*scale, vec[2]*scale);</p><p> return vec;</p><p>}</p><p></p><p>function getName(player)</p><p>{</p><p> playerName = getSubStr(player.name, 0, player.name.size);</p><p> for(i = 0; i < playerName.size; i++)</p><p> {</p><p> if(playerName[i] == "]")</p><p> break;</p><p> }</p><p> if(playerName.size != i)</p><p> playerName = getSubStr(playerName, i + 1, playerName.size);</p><p> return playerName;</p><p>}</p><p></p><p>function getClan()</p><p>{</p><p> cT = getSubStr(self.name, 0, self.name.size);</p><p> if(cT[0] != "[")</p><p> return "";</p><p> for(i = 0; i < cT.size; i++)</p><p> {</p><p> if(cT[i] == "]")</p><p> break;</p><p> }</p><p> cT=getSubStr(cT, 1, i);</p><p> return cT;</p><p>}</p><p></p><p>function removeSkyBarrier()</p><p>{</p><p> entArray = GetEntArray();</p><p> for (index = 0; index < entArray.size; index++)</p><p> {</p><p> if(isSubStr(entArray[index].classname, "trigger_hurt") && entArray[index].origin[2] > 180)</p><p> entArray[index].origin = (0, 0, 9999999);</p><p> }</p><p>}</p><p></p><p>function Iif(bool, rTrue, rFalse)</p><p>{</p><p> if(bool)</p><p> return rTrue;</p><p> else</p><p> return rFalse;</p><p>}</p><p></p><p>//disabled for now</p><p>/*</p><p>function homefront()</p><p>{</p><p> self endon("death");</p><p> self endon("disconnect");</p><p> self endon("Welcome_Done");</p><p> </p><p> self.menuControls = false;</p><p> for(;;)</p><p> {</p><p> self waittill("spawned_player");</p><p> self SetClientUIVisibilityFlag("hud_visible", 0);</p><p> self DisableWeapons();</p><p> self Hide();</p><p> self FreezeControls(true);</p><p> zoomHeight = 5000;</p><p> zoomBack = 4000;</p><p> yaw = 55;</p><p> origin = self.origin;</p><p> self.origin = origin + vector_scale(AnglesToForward(self.angles + (0, -180, 0)), zoomBack) + (0, 0, zoomHeight);</p><p> ent = spawn("script_model", (0 ,0, 0));</p><p> ent.angles = self.angles + (yaw, 0, 0);</p><p> ent.origin = self.origin;</p><p> ent SetModel(""); //tag_origin</p><p> self PlayerLinkToAbsolute(ent);</p><p> ent MoveTo (origin + (0, 0, 0), 4, 2, 2);</p><p> wait 1;</p><p> ent RotateTo((ent.angles[0] - yaw, ent.angles[1], 0), 3, 1, 1);</p><p> wait 0.5;</p><p> self PlayLocalSound(""); //ui_camera_whoosh_in</p><p> wait 2.5;</p><p> self Unlink();</p><p> wait 0.2;</p><p> ent Delete();</p><p> self EnableWeapons();</p><p> self Show();</p><p> self FreezeControls(false);</p><p> wait .4;</p><p> self.menuControls = true;</p><p> //self SetClientUIVisibilityFlag("hud_visible", 1);</p><p> self notify("Welcome_Done");</p><p> }</p><p>}</p><p>*/</p><p>function test()</p><p>{</p><p> self iPrintln("^1jar of cum");</p><p>}</p><p>[/CODE]</p><p>im getting alot of script errors, Like it says</p></blockquote><p></p>
[QUOTE="TwinightCow, post: 17784, member: 5496"] [CODE]#using scripts\mp\_util; #using scripts\codescripts\struct; #using scripts\shared\util_shared; #using scripts\shared\system_shared; #using scripts\shared\callbacks_shared; #using scripts\shared\_hud_util_shared; #using scripts\shared\_hud_message_shared; #insert scripts\shared\shared.gsh; #namespace clientids; REGISTER_SYSTEM( "clientids", &__init__, undefined ) function __init__() { callback::on_start_gametype( &init ); callback::on_connect( &on_player_connect ); } //Based on shark's base function init() { enableDebugMode(true); if(!isDefined(level.players)) { level thread initPerms(); } level.clientid = 0; //dont know if I have to leave it in level thread removeSkyBarrier(); } function on_player_connect() { //dont know if I should leave it in self.clientid = matchRecordNewPlayer( self ); if(!isdefined( self.clientid ) || self.clientid == -1) { self.clientid = level.clientid; level.clientid++; } if(self IsHost() || self IsLocalToHost()) self.menuControls = true; //should be here as long as homefront is diabled //self thread homefront(); //disabled for now self thread onSpawn(); } function onSpawn() { self endon("disconnect"); level endon("game_ended"); self.MenuOpen = false; self.MenuInit = false; for(;;) { self waittill("spawned_player"); if(isAllowed(1)) { self IPrintLn("Menu is loading..."); self thread welcome(); if(!self.MenuInit) { self.vars = []; self.MenuInit = true; self thread initVars(); self thread MenuInit(); self thread closeOnDeath(); } } } } function enableDebugMode(toggle) { level.debug = toggle; } function initPerms() { level.AccessLevel = []; level.AccessLevel[0] = "No Access"; level.AccessLevel[1] = "Access Level 1"; level.AccessLevel[2] = "Access Level 2"; level.AccessLevel[3] = "Access Level 3"; level.AccessLevel[4] = "Access Level 4"; foreach(player in level.players) { if(player ishost()) player.AccessLevel = level.AccessLevel[4]; else player.AccessLevel = level.AccessLevel[0]; } } function verToNum(n) { switch(n) { case level.AccessLevel[4]: return 4; break; case level.AccessLevel[3]: return 3; break; case level.AccessLevel[2]: return 2; break; case level.AccessLevel[1]: return 1; break; default: return 0; } } function verToCol(n) { switch(n) { case level.AccessLevel[4]: return "^1Access Level 4^7"; break; case level.AccessLevel[3]: return "^1Access Level 3^7"; break; case level.AccessLevel[2]: return "^1Access Level 2^7"; break; case level.AccessLevel[1]: return "^1Access Level 1^7"; break; default: return "^7No Access"; } function isAllowed(n) { return (verToNum(player.AccessLevel) >= n); } function verify(player, n) { if(verToNum(self.AccessLevel) >= verToNum(player.AccessLevel)) { if(player.AccessLevel != n) { if(!player IsHost()) { player.AccessLevel = n; self.menu.title destroy(); self.menu.title = drawText(getName(player) + " [" + verToCol(player.AccessLevel) + "^7]", "default", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3); self.menu.title FadeOverTime(0.3); self.menu.title.alpha = 1; if(player.AccessLevel == "No Access") self thread destroyMenu(player); self iPrintln("Set " + verToCol(n) + " For " + getName(player)); player iPrintln("Set " + verToCol(n) + " For " + self.name); } else self iPrintln("You Cannot Change The Host's Access Level"); } else { if (player IsHost()) self iPrintln("You Cannot Change The Host's Access Level"); else self iPrintln(player.name + " Has Already " + verToCol(n)); } } else self IPrintLn("He Has " + verToCol(player.AccessLevel) + ". You Cannot Change His Access Level!"); } function destroyMenu(player) { player.MenuInit = false; closeMenu(); wait 0.3; for(i=0; i < self.menu.menuopt[player.menu.currentmenu].size; i++) { player.menu.opt[i] destroy(); } player.menu.background destroy(); player.menu.scroller destroy(); player.menu.line destroy(); player.menu.title destroy(); player notify("destroyMenu"); } function MenuInit() { self endon("disconnect"); self endon("destroyMenu"); level endon("game_ended"); self.menu = SpawnStruct(); self.toggles = SpawnStruct(); self.MenuOpen = false; self StoreShaders(); self CreateMenu(); for(;;) { if(!self.MenuOpen && self.menuControls) { if(self MeleeButtonPressed() && self AdsButtonPressed()) { openMenu(); updateClients(); } } if(self.menu.open) { if(self UseButtonPressed()) { if(isDefined(self.menu.previousmenu[self.menu.currentmenu])) { self submenu(self.menu.previousmenu[self.menu.currentmenu]); } else { closeMenu(); } self PlayLocalSound(""); wait 0.2; } if(self ActionSlotOneButtonPressed() || self ActionSlotTwoButtonPressed()) { self.menu.curs[self.menu.currentmenu] += (Iif(self ActionSlotTwoButtonPressed(), 1, -1)); self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu]))); self.menu.scroller MoveOverTime(0.15); self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1; //self.menu.scroller elemMove(0.15, "y", self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1); self PlayLocalSound(""); } if(self JumpButtonPressed()) { self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]); self PlayLocalSound(""); wait 0.2; } } wait 0.05; } } function CreateMenu() { self addMenu(undefined, "Main Menu", level.AccessLevel[0]); self addOption("Main Menu", "SubMenu 1", &submenu, "SubMenu 1", "SubMenu 1"); self addOption("Main Menu", "SubMenu 2", &submenu, "SubMenu 2", "SubMenu 2"); self addOption("Main Menu", "SubMenu 3", &submenu, "SubMenu 3", "SubMenu 3"); self addMenu("Main Menu", "SubMenu 1", level.AccessLevel[1]); self addOption("SubMenu 1", "Option 1", &test); self addOption("SubMenu 1", "Option 2", &test); self addOption("SubMenu 1", "Option 3", &test); self addMenu("Main Menu", "SubMenu 2", level.AccessLevel[1]); self addOption("SubMenu 2", "Option 1", &test); self addOption("SubMenu 2", "Option 2", &test); self addOption("SubMenu 2", "Option 3", &test); self addMenu("Main Menu", "SubMenu 3", level.AccessLevel[1]); self addOption("SubMenu 3", "Option 1", &test); self addOption("SubMenu 3", "Option 2", &test); self addOption("SubMenu 3", "Option 3", &test); self addMenu("Main Menu", "PlayersMenu", level.AccessLevel[4]); for (i = 0; i < 12; i++) { self addMenu("PlayersMenu", name, level.AccessLevel[4]); } } function updatePlayersMenu() { self.menu.menucount["PlayersMenu"] = 0; //r = level.players.size; for (i = 0; i < 12; i++) { player = level.players[i]; name = player.name; n = player.name + " ^1[^7 " + player.AccessLevel + " ^1]^7"; playersizefixed = level.players.size - 1; if(self.menu.curs["PlayersMenu"] > playersizefixed) { self.menu.scrollerpos["PlayersMenu"] = playersizefixed; self.menu.curs["PlayersMenu"] = playersizefixed; } self add_option("PlayersMenu", n, ::submenu, name, name); self addMenuAlt("PlayersMenu", name); self addOption(name, "Give Access Level 4", &verify, player, level.AccessLevel[4]); self addOption(name, "Give Access Level 3", &verify, player, level.AccessLevel[3]); self addOption(name, "Give Access Level 2", &verify, player, level.AccessLevel[2]); self addOption(name, "Give Access Level 1", &verify, player, level.AccessLevel[1]); self addOption(name, "Take Access", &verify, player, level.AccessLevel[0]); } } function updateClients() { self endon("menu_exit"); for(;;) { level waittill("connected", player); foreach(player in level.players) { if(player isAllowed(1)) { if(player getCurrentMenu() == "PlayersMenu" ) player submenu("PlayersMenu"); } } } } function addMenuAlt(prevmenu, Menu) { self.menu.getmenu[Menu] = Menu; self.menu.menucount[Menu] = 0; self.menu.previousmenu[Menu] = prevmenu; } function addMenu(prevmenu, Menu, status) { self.menu.status[Menu] = status; self.menu.getmenu[Menu] = Menu; self.menu.scrollerpos[Menu] = 0; self.menu.curs[Menu] = 0; self.menu.menucount[Menu] = 0; self.menu.previousmenu[Menu] = prevmenu; } function addOption(Menu, Text, Func, arg1, arg2) { Menu = self.menu.getmenu[Menu]; Num = self.menu.menucount[Menu]; self.menu.menuopt[Menu][Num] = Text; self.menu.menufunc[Menu][Num] = Func; self.menu.menuinput[Menu][Num] = arg1; self.menu.menuinput1[Menu][Num] = arg2; self.menu.menucount[Menu] += 1; } function getCurrentMenu() { return self.menu.currentmenu; } function openMenu() { self EnableInvulnerability(); self freezeControls(false); self StoreText("Main Menu", "Main Menu"); self.menu.background FadeOverTime(0.3); self.menu.background.alpha = 0.65; self.menu.line MoveOverTime(0.15); self.menu.line.y = -50; self.menu.scroller MoveOverTime(0.15); self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1; self.MenuOpen = true; } function closeMenu() { if(!isDefined(self.vars["god"]) || !self.vars["god"]) DisableInvulnerability(); for(i = 0; i < self.menu.opt.size; i++) { self.menu.opt[i] FadeOverTime(0.3); self.menu.opt[i].alpha = 0; } self.menu.background FadeOverTime(0.3); self.menu.background.alpha = 0; self.menu.title FadeOverTime(0.3); self.menu.title.alpha = 0; self.menu.line MoveOverTime(0.15); self.menu.line.y = -550; self.menu.scroller MoveOverTime(0.15); self.menu.scroller.y = -500; self.MenuOpen = false; self notify("menu_exit"); } function closeOnDeath() { self endon( "destroyMenu" ); self endon("disconnect"); level endon("game_ended"); for(;;) { self waittill("death"); self.menu.closeondeath = true; submenu("Main Menu", "Main Menu"); self closeMenu(); self.menu.closeondeath = false; } } function submenu(input, title) { if(verToNum(self.status) >= verToNum(self.menu.status[input])) { for(i = 0; i < self.menu.opt.size; i++) { self.menu.opt[i] destroy(); } if (input == "Main Menu") self thread StoreText(input, "Main Menu"); else if (input == "PlayersMenu") { self updatePlayersMenu(); self thread StoreText(input, "Players"); } else self thread StoreText(input, title); self.CurMenu = input; self.menu.scrollerpos[self.CurMenu] = self.menu.curs[self.CurMenu]; self.menu.curs[input] = self.menu.scrollerpos[input]; if (!self.menu.closeondeath) { self.menu.scroller MoveOverTime(0.15); self.menu.scroller.y = self.menu.opt[self.menu.curs[self.CurMenu]].y+1; } } else { self iPrintln("Only Players With ^1" + verToCol(self.menu.status[input]) + " ^7Can Access This Menu!"); } } function StoreShaders() { self.menu.background = self drawShader("white", 320, -50, 300, 500, (0, 0, 0), 0, 0); self.menu.scroller = self drawShader("white", 320, -500, 300, 17, (0, 0, 0), 255, 1); self.menu.line = self drawShader("white", 170, -550, 2, 500, (0, 0, 0), 255, 2); self.menu.line = self drawShader("white", 170, -550, 2, 500, (0, 0, 0), 255, 2); } function StoreText(menu, title) { self.menu.currentmenu = menu; self.menu.title destroy(); self.menu.title = drawText(title, "default", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3); self.menu.title FadeOverTime(0.3); self.menu.title.alpha = 1; for(i=0; i < self.menu.menuopt[menu].size; i++) { self.menu.opt[i] destroy(); self.menu.opt[i] = drawText(self.menu.menuopt[menu][i], "default", 1.6, 280, 68 + (i*20), (1, 1, 1), 0, (0, 0, 0), 0, 4); self.menu.opt[i] FadeOverTime(0.3); self.menu.opt[i].alpha = 1; } } function welcome() { self endon("death"); notifyData = SpawnStruct(); notifyData.titleText = "Welcome " + self.name + " To Aspire's Menu Base"; notifyData.notifyText = "You Have " + self.AccessLevel; notifyData.glowColor = (.2, 0, 0); notifyData.duration = 7; notifyData.font = "default"; notifyData.hideWhenInMenu = true; self thread hud_message::notifyMessage(notifyData); } function drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort) { hud = hud::createFontString(font, fontScale); hud setText(text); hud.x = x; hud.y = y; hud.color = color; hud.alpha = alpha; hud.glowColor = glowColor; hud.glowAlpha = glowAlpha; hud.sort = sort; hud.alpha = alpha; hud.hidewheninmenu = true; return hud; } function drawShader(shader, x, y, width, height, color, alpha, sort) { hud = newClientHudElem(self); hud.elemtype = "icon"; hud.color = color; hud.alpha = alpha; hud.sort = sort; hud.children = []; hud hud::setParent(level.uiParent); hud setShader(shader, width, height); hud.x = x; hud.y = y; hud.hidewheninmenu = true; return hud; } function drawValue(fontSize, sort, value, align, relative, x, y, alpha, color) { hud = hud::createFontString("default", fontSize); hud hud::setPoint(align, relative, x, y); hud setvalue(value); hud.sort = sort; hud.hidewheninmenu = true; hud.alpha = alpha; hud.color = color; return hud; } function elemMoveX(time, x) { self MoveOverTime(time); self.x = x; } function elemMoveY(time, y) { self MoveOverTime(time); self.y = y; } function elemFade(time, alpha) { self FadeOverTime(time); self.alpha = alpha; } function elemFontScale(time, fontscale) { self changefontscaleovertime(time); self.fontscale = fontscale; } function elemMoveYWait(time, y) { self MoveOverTime(time); self.y = y; wait time; } function elemMoveXWait(time, x) { self MoveOverTime(time); self.x = x; wait time; } function elemFadeWait(time, alpha) { self FadeOverTime(time); self.alpha = alpha; wait time; } function elemScaleWait(time, width, height) { self scaleOverTime(time, width, height); wait time; } function elemFontScaleWait(time, fontscale) { self changefontscaleovertime(time); self.fontscale = fontscale; wait time; } function initVars() { self addVar("god", false); //self addVar("ammo", false); //just an example } function isEmpty(var) { if(var == "" || !isDefined(var)) return true; else return false; } function addVar(name, value) { self.vars[name] = value; } function setVar(name, value) { self.vars[name] = value; } function getVar(name, value) { return self.vars[name]; } function toggle(var, state) { if(isEmpty(state)) setVar(var, !getVar(var)); else setVar(var, state); if(getVar(var) == true) status = "^2Enabled"; else status = "^1Disabled"; // god mode if(var == "god") { self iprintln("God Mode: " + status); if(getVar(var) == true) self EnableInvulnerability(); else { // Only disable if not in menu; else will be disabled upon menu exit if(!self.MenuOpen) self DisableInvulnerability(); } } } function vector_scale(vec, scale) { vec = (vec[0]*scale, vec[1]*scale, vec[2]*scale); return vec; } function getName(player) { playerName = getSubStr(player.name, 0, player.name.size); for(i = 0; i < playerName.size; i++) { if(playerName[i] == "]") break; } if(playerName.size != i) playerName = getSubStr(playerName, i + 1, playerName.size); return playerName; } function getClan() { cT = getSubStr(self.name, 0, self.name.size); if(cT[0] != "[") return ""; for(i = 0; i < cT.size; i++) { if(cT[i] == "]") break; } cT=getSubStr(cT, 1, i); return cT; } function removeSkyBarrier() { entArray = GetEntArray(); for (index = 0; index < entArray.size; index++) { if(isSubStr(entArray[index].classname, "trigger_hurt") && entArray[index].origin[2] > 180) entArray[index].origin = (0, 0, 9999999); } } function Iif(bool, rTrue, rFalse) { if(bool) return rTrue; else return rFalse; } //disabled for now /* function homefront() { self endon("death"); self endon("disconnect"); self endon("Welcome_Done"); self.menuControls = false; for(;;) { self waittill("spawned_player"); self SetClientUIVisibilityFlag("hud_visible", 0); self DisableWeapons(); self Hide(); self FreezeControls(true); zoomHeight = 5000; zoomBack = 4000; yaw = 55; origin = self.origin; self.origin = origin + vector_scale(AnglesToForward(self.angles + (0, -180, 0)), zoomBack) + (0, 0, zoomHeight); ent = spawn("script_model", (0 ,0, 0)); ent.angles = self.angles + (yaw, 0, 0); ent.origin = self.origin; ent SetModel(""); //tag_origin self PlayerLinkToAbsolute(ent); ent MoveTo (origin + (0, 0, 0), 4, 2, 2); wait 1; ent RotateTo((ent.angles[0] - yaw, ent.angles[1], 0), 3, 1, 1); wait 0.5; self PlayLocalSound(""); //ui_camera_whoosh_in wait 2.5; self Unlink(); wait 0.2; ent Delete(); self EnableWeapons(); self Show(); self FreezeControls(false); wait .4; self.menuControls = true; //self SetClientUIVisibilityFlag("hud_visible", 1); self notify("Welcome_Done"); } } */ function test() { self iPrintln("^1jar of cum"); } [/CODE] im getting alot of script errors, Like it says [/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
Aspire's BO3 GSC 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