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
DConnors' 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: 23564" data-attributes="member: 31216"><p style="text-align: center">[MEDIA=youtube]wH7cBdtJ464[/MEDIA]</p> <p style="text-align: center"></p> <p style="text-align: center">[code]</p> <p style="text-align: center">#using scripts\codescripts\struct;</p> <p style="text-align: center"></p> <p style="text-align: center">#using scripts\shared\callbacks_shared;</p> <p style="text-align: center">#using scripts\shared\system_shared;</p> <p style="text-align: center">#using scripts\shared\array_shared;</p> <p style="text-align: center">#using scripts\shared\hud_util_shared;</p> <p style="text-align: center">#using scripts\shared\hud_message_shared;</p> <p style="text-align: center">#using scripts\shared\util_shared;</p> <p style="text-align: center"></p> <p style="text-align: center"></p> <p style="text-align: center">#insert scripts\shared\shared.gsh;</p> <p style="text-align: center"></p> <p style="text-align: center">#namespace clientids;</p> <p style="text-align: center"></p> <p style="text-align: center">REGISTER_SYSTEM("clientids", & __init__, undefined)</p> <p style="text-align: center"></p> <p style="text-align: center">function __init__() {</p> <p style="text-align: center"> callback::on_start_gametype( & init);</p> <p style="text-align: center"> callback::on_connect( & on_player_connect);</p> <p style="text-align: center"> callback::on_spawned( & on_player_spawned);</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function init() {</p> <p style="text-align: center"> level.clientid = 0;</p> <p style="text-align: center"></p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function on_player_connect() {</p> <p style="text-align: center"> self.clientid = matchRecordNewPlayer(self);</p> <p style="text-align: center"></p> <p style="text-align: center"> if (!isdefined(self.clientid) || self.clientid == -1) {</p> <p style="text-align: center"> self.clientid = level.clientid;</p> <p style="text-align: center"> level.clientid++;</p> <p style="text-align: center"> }</p> <p style="text-align: center"></p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function on_player_spawned() {</p> <p style="text-align: center"> self thread menu();</p> <p style="text-align: center"> self thread hud_message::hintMessage( "Press [{+smoke}] for Menu" );</p> <p style="text-align: center"> self.MenuIsOpen = false;</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function menu()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon( "disconnect" );</p> <p style="text-align: center"> self endon( "death" );</p> <p style="text-align: center"> self.cycle = 0;</p> <p style="text-align: center"> self.scroll = 1;</p> <p style="text-align: center"> self.getMenu = &getMenu;</p> <p style="text-align: center"> self thread MonitorButtons();</p> <p style="text-align: center"> self thread listen(&iniMenu, "Pressed_L2" );</p> <p style="text-align: center">}</p> <p style="text-align: center">function MonitorButtons()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon("disconnect");</p> <p style="text-align: center"> for(;;)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(self UseButtonPressed())</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self notify("Pressed_Square");</p> <p style="text-align: center"> wait .1;</p> <p style="text-align: center"> }</p> <p style="text-align: center"> if(self AttackButtonPressed())</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self notify("Pressed_R1");</p> <p style="text-align: center"> wait .1;</p> <p style="text-align: center"> }</p> <p style="text-align: center"> if(self AdsButtonPressed())</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self notify("Pressed_L1");</p> <p style="text-align: center"> wait .1;</p> <p style="text-align: center"> }</p> <p style="text-align: center"> if(self SecondaryOffhandButtonPressed())</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self notify("Pressed_L2");</p> <p style="text-align: center"> wait .3;</p> <p style="text-align: center"> }</p> <p style="text-align: center"> if(self FragButtonPressed())</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self notify("Pressed_R2");</p> <p style="text-align: center"> wait .3;</p> <p style="text-align: center"> }</p> <p style="text-align: center"> if(self MeleeButtonPressed())</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self notify("Pressed_Melee");</p> <p style="text-align: center"> wait .2;</p> <p style="text-align: center"> }</p> <p style="text-align: center"> wait .05;</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center">function iniMenu()</p> <p style="text-align: center">{</p> <p style="text-align: center"> if( self.MenuIsOpen == false )</p> <p style="text-align: center"> {</p> <p style="text-align: center"> _openMenu();</p> <p style="text-align: center"> self thread drawMenu( self.cycle, self.scroll);</p> <p style="text-align: center"> self thread listenMenuEvent( &cycleRight, "Pressed_R2" );</p> <p style="text-align: center"> self thread listenMenuEvent( &cycleLeft, "Pressed_L2" );</p> <p style="text-align: center"> self thread listenMenuEvent( &scrollUp, "Pressed_L1" );</p> <p style="text-align: center"> self thread listenMenuEvent( &scrollDown, "Pressed_R1" );</p> <p style="text-align: center"> self thread listenMenuEvent( &select, "Pressed_Square" );</p> <p style="text-align: center"> self thread runOnEvent( &exitMenu, "Pressed_Melee" );</p> <p style="text-align: center"> level thread listenMenuEvent( &updateMenu, "connected" );</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center">function select()</p> <p style="text-align: center">{</p> <p style="text-align: center"> menu = [[self.getMenu]]();</p> <p style="text-align: center"> self thread [[ menu[self.cycle].func[self.scroll] ]]( menu[self.cycle].input[self.scroll] );</p> <p style="text-align: center">}</p> <p style="text-align: center">function cycleRight()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self.cycle++;</p> <p style="text-align: center"> self.scroll = 1;</p> <p style="text-align: center"> checkCycle();</p> <p style="text-align: center"> drawMenu( self.cycle, self.scroll);</p> <p style="text-align: center">}</p> <p style="text-align: center">function cycleLeft()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self.cycle--;</p> <p style="text-align: center"> self.scroll = 1;</p> <p style="text-align: center"> checkCycle();</p> <p style="text-align: center"> drawMenu( self.cycle, self.scroll);</p> <p style="text-align: center">}</p> <p style="text-align: center">function scrollUp()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self.scroll--;</p> <p style="text-align: center"> checkScroll();</p> <p style="text-align: center"> drawMenu( self.cycle, self.scroll);</p> <p style="text-align: center">}</p> <p style="text-align: center">function scrollDown()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self.scroll++;</p> <p style="text-align: center"> checkScroll();</p> <p style="text-align: center"> drawMenu( self.cycle, self.scroll);</p> <p style="text-align: center">}</p> <p style="text-align: center">function exitMenu()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self.MenuIsOpen = false;</p> <p style="text-align: center"> self freezeControls(false);</p> <p style="text-align: center">}</p> <p style="text-align: center">function updateMenu()</p> <p style="text-align: center">{</p> <p style="text-align: center"> drawMenu( self.cycle, self.scroll );</p> <p style="text-align: center">}</p> <p style="text-align: center">function _openMenu()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self.MenuIsOpen = true;</p> <p style="text-align: center"> self freezeControls(true);</p> <p style="text-align: center"> menu = [[self.getMenu]]();</p> <p style="text-align: center"> self.numMenus = menu.size;</p> <p style="text-align: center"> self.menuSize = [];</p> <p style="text-align: center"> for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size;</p> <p style="text-align: center">}</p> <p style="text-align: center">function checkCycle()</p> <p style="text-align: center">{</p> <p style="text-align: center"> if(self.cycle > self.numMenus - 1)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self.cycle = self.cycle - self.numMenus;</p> <p style="text-align: center"> }</p> <p style="text-align: center"> else if(self.cycle < 0)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self.cycle = self.cycle + self.numMenus;</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center">function checkScroll()</p> <p style="text-align: center">{</p> <p style="text-align: center"> if(self.scroll < 1)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self.scroll = 1;</p> <p style="text-align: center"> }</p> <p style="text-align: center"> else if(self.scroll > self.menuSize[self.cycle] - 1)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self.scroll = self.menuSize[self.cycle] - 1;</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center">function drawMenu( cycle, scroll )</p> <p style="text-align: center">{</p> <p style="text-align: center"> menu = [[self.getMenu]]();</p> <p style="text-align: center"> display = [];</p> <p style="text-align: center"> if( menu.size > 2 )</p> <p style="text-align: center"> {</p> <p style="text-align: center"> leftTitle = hud::createFontString( "objective", 2.0 );</p> <p style="text-align: center"> leftTitle hud::setPoint( "CENTER", "TOP", -100, 10 );</p> <p style="text-align: center"> if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] );</p> <p style="text-align: center"> else leftTitle setText( menu[cycle - 1].name[0] );</p> <p style="text-align: center"> self thread destroyOnAny( leftTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );</p> <p style="text-align: center"> level thread destroyOn( leftTitle, "connected" );</p> <p style="text-align: center"> rightTitle = hud::createFontString( "objective", 2.0 );</p> <p style="text-align: center"> rightTitle hud::setPoint( "CENTER", "TOP", 100, 10 );</p> <p style="text-align: center"> if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] );</p> <p style="text-align: center"> else rightTitle setText( menu[cycle + 1].name[0] );</p> <p style="text-align: center"> self thread destroyOnAny( rightTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );</p> <p style="text-align: center"> level thread destroyOn( rightTitle, "connected" );</p> <p style="text-align: center"> }</p> <p style="text-align: center"> for( i = 0;i < menu[cycle].name.size;i++ )</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(i < 1) display[i] = hud::createFontString( "objective", 2.0 );</p> <p style="text-align: center"> else display[i] = hud::createFontString( "objective", 1.3 );</p> <p style="text-align: center"> display[i] hud::setPoint( "CENTER", "TOP", 0, i*30 );</p> <p style="text-align: center"> if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] );</p> <p style="text-align: center"> else display[i] setText( menu[cycle].name[i] );</p> <p style="text-align: center"> self thread destroyOnAny( display[i], "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" );</p> <p style="text-align: center"> level thread destroyOn( display[i], "connected" );</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center">function listen( func, event )</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon ( "disconnect" );</p> <p style="text-align: center"> self endon ( "death" );</p> <p style="text-align: center"> for(;;)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self waittill( event );</p> <p style="text-align: center"> self thread [[func]]();</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center">function listenMenuEvent( func, event )</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon ( "disconnect" );</p> <p style="text-align: center"> self endon ( "death" );</p> <p style="text-align: center"> self endon ( "Pressed_Melee" );</p> <p style="text-align: center"> for(;;)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self waittill( event );</p> <p style="text-align: center"> self thread [[func]]();</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center">function runOnEvent( func, event )</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon ( "disconnect" );</p> <p style="text-align: center"> self endon ( "death" );</p> <p style="text-align: center"> self waittill( event );</p> <p style="text-align: center"> self thread [[func]]();</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function destroyOn( element, event )</p> <p style="text-align: center">{</p> <p style="text-align: center"> self waittill( event );</p> <p style="text-align: center"> element destroy();</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 )</p> <p style="text-align: center">{</p> <p style="text-align: center"> self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );</p> <p style="text-align: center"> element destroy();</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function openSubMenu()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self notify( "Pressed_Melee" );</p> <p style="text-align: center"> wait .01;</p> <p style="text-align: center"> oldMenu = [[self.getMenu]]();</p> <p style="text-align: center"> self.input = oldMenu[self.cycle].input[self.scroll];</p> <p style="text-align: center"> self.oldCycle = self.cycle;</p> <p style="text-align: center"> self.oldScroll = self.scroll;</p> <p style="text-align: center"> self.cycle = 0;</p> <p style="text-align: center"> self.scroll = 1;</p> <p style="text-align: center"> self.getMenu = &getSubMenu_Menu;</p> <p style="text-align: center"> _openMenu();</p> <p style="text-align: center"> self thread drawMenu( self.cycle, self.scroll );</p> <p style="text-align: center"> self thread listenMenuEvent( &cycleRight, "Pressed_R2" );</p> <p style="text-align: center"> self thread listenMenuEvent( &cycleLeft, "Pressed_L2" );</p> <p style="text-align: center"> self thread listenMenuEvent( &scrollUp, "Pressed_L1" );</p> <p style="text-align: center"> self thread listenMenuEvent( &scrollDown, "Pressed_R1" );</p> <p style="text-align: center"> self thread listenMenuEvent( &select, "Pressed_Square" );</p> <p style="text-align: center"> self thread runOnEvent( &exitSubMenu, "Pressed_Melee" );</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function exitSubMenu()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self.getMenu = &getMenu;</p> <p style="text-align: center"> self.cycle = self.oldCycle;</p> <p style="text-align: center"> self.scroll = self.oldScroll;</p> <p style="text-align: center"> self.menuIsOpen = false;</p> <p style="text-align: center"> wait .01;</p> <p style="text-align: center"> self notify( "Pressed_R1" );</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function getSubMenu_Menu()</p> <p style="text-align: center">{</p> <p style="text-align: center"> menu = [];</p> <p style="text-align: center"> menu[0] = getSubMenu_SubMenu1();</p> <p style="text-align: center"> return menu;</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function getSubMenu_SubMenu1()</p> <p style="text-align: center">{</p> <p style="text-align: center"> menu = spawnStruct();</p> <p style="text-align: center"> menu.name = [];</p> <p style="text-align: center"> menu.func = [];</p> <p style="text-align: center"> menu.input = [];</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.name[0] = "SubMenu Options";</p> <p style="text-align: center"> menu.name[1] = "2nd level menu option";</p> <p style="text-align: center"> menu.name[2] = "2nd level menu option";</p> <p style="text-align: center"> menu.name[3] = "2nd level menu option";</p> <p style="text-align: center"> menu.name[4] = "2nd level menu option";</p> <p style="text-align: center"> menu.name[5] = "2nd level menu option";</p> <p style="text-align: center"> </p> <p style="text-align: center"> //menu.function[1] = ;</p> <p style="text-align: center"> //menu.function[2] = ;</p> <p style="text-align: center"> //menu.function[3] = ;</p> <p style="text-align: center"> //menu.function[4] = ;</p> <p style="text-align: center"> //menu.function[5] = ;</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.input[1] = "";</p> <p style="text-align: center"> menu.input[2] = "";</p> <p style="text-align: center"> menu.input[3] = "";</p> <p style="text-align: center"> menu.input[4] = "";</p> <p style="text-align: center"> menu.input[5] = "";</p> <p style="text-align: center"> </p> <p style="text-align: center"> return menu;</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function getMenu()</p> <p style="text-align: center">{</p> <p style="text-align: center"> menu = [];</p> <p style="text-align: center"> menu[0] = getSubMenu1();</p> <p style="text-align: center"> menu[1] = getSubMenu2();</p> <p style="text-align: center"> menu[2] = getSubMenu3();</p> <p style="text-align: center"> menu[3] = getSubMenu4();</p> <p style="text-align: center"> menu[4] = getSubMenu5();</p> <p style="text-align: center"> </p> <p style="text-align: center"> if(self GetEntityNumber() == 0)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> menu[menu.size] = getPlayerMenu();</p> <p style="text-align: center"> menu[menu.size] = getAdminMenu();</p> <p style="text-align: center"> }</p> <p style="text-align: center"> return menu;</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function getPlayerMenu()</p> <p style="text-align: center">{</p> <p style="text-align: center"> players = spawnStruct();</p> <p style="text-align: center"> players.name = [];</p> <p style="text-align: center"> players.func = [];</p> <p style="text-align: center"> players.input = [];</p> <p style="text-align: center"> </p> <p style="text-align: center"> players.name[0] = "Players";</p> <p style="text-align: center"> for( i = 0; i < level.players.size; i++ )</p> <p style="text-align: center"> {</p> <p style="text-align: center"> players.name[i+1] = level.players[i].name;</p> <p style="text-align: center"> players.func[i+1] = & openSubMenu;</p> <p style="text-align: center"> players.input[i+1] = level.players[i];</p> <p style="text-align: center"> }</p> <p style="text-align: center"> return players;</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function getAdminMenu()</p> <p style="text-align: center">{</p> <p style="text-align: center"> menu = spawnStruct();</p> <p style="text-align: center"> menu.name = [];</p> <p style="text-align: center"> menu.func = [];</p> <p style="text-align: center"> menu.input = [];</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.name[0] = "Admin";</p> <p style="text-align: center"> menu.name[1] = "admin option";</p> <p style="text-align: center"> menu.name[2] = "admin option";</p> <p style="text-align: center"> menu.name[3] = "admin option";</p> <p style="text-align: center"> menu.name[4] = "admin option";</p> <p style="text-align: center"> menu.name[5] = "admin option";</p> <p style="text-align: center"> </p> <p style="text-align: center"> //menu.function[1] = ::;</p> <p style="text-align: center"> //menu.function[2] = ::;</p> <p style="text-align: center"> //menu.function[3] = ::;</p> <p style="text-align: center"> //menu.function[4] = ::;</p> <p style="text-align: center"> //menu.function[5] = ::;</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.input[1] = "";</p> <p style="text-align: center"> menu.input[2] = "";</p> <p style="text-align: center"> menu.input[3] = "";</p> <p style="text-align: center"> menu.input[4] = "";</p> <p style="text-align: center"> menu.input[5] = "";</p> <p style="text-align: center"> </p> <p style="text-align: center"> return menu;</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function getSubMenu1()</p> <p style="text-align: center">{</p> <p style="text-align: center"> menu = spawnStruct();</p> <p style="text-align: center"> menu.name = [];</p> <p style="text-align: center"> menu.func = [];</p> <p style="text-align: center"> menu.input = [];</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.name[0] = "Title 1";</p> <p style="text-align: center"> menu.name[1] = "option";</p> <p style="text-align: center"> menu.name[2] = "option";</p> <p style="text-align: center"> menu.name[3] = "option";</p> <p style="text-align: center"> menu.name[4] = "option";</p> <p style="text-align: center"> menu.name[5] = "option";</p> <p style="text-align: center"> </p> <p style="text-align: center"> //menu.function[1] = ::;</p> <p style="text-align: center"> //menu.function[2] = ::;</p> <p style="text-align: center"> //menu.function[3] = ::;</p> <p style="text-align: center"> //menu.function[4] = ::;</p> <p style="text-align: center"> //menu.function[5] = ::;</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.input[1] = "";</p> <p style="text-align: center"> menu.input[2] = "";</p> <p style="text-align: center"> menu.input[3] = "";</p> <p style="text-align: center"> menu.input[4] = "";</p> <p style="text-align: center"> menu.input[5] = "";</p> <p style="text-align: center"> </p> <p style="text-align: center"> return menu;</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function getSubMenu2()</p> <p style="text-align: center">{</p> <p style="text-align: center"> menu = spawnStruct();</p> <p style="text-align: center"> menu.name = [];</p> <p style="text-align: center"> menu.func = [];</p> <p style="text-align: center"> menu.input = [];</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.name[0] = "Title 2";</p> <p style="text-align: center"> menu.name[1] = "option";</p> <p style="text-align: center"> menu.name[2] = "option";</p> <p style="text-align: center"> menu.name[3] = "option";</p> <p style="text-align: center"> menu.name[4] = "option";</p> <p style="text-align: center"> menu.name[5] = "option";</p> <p style="text-align: center"> </p> <p style="text-align: center"> //menu.function[1] = ::;</p> <p style="text-align: center"> //menu.function[2] = ::;</p> <p style="text-align: center"> //menu.function[3] = ::;</p> <p style="text-align: center"> //menu.function[4] = ::;</p> <p style="text-align: center"> //menu.function[5] = ::;</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.input[1] = "";</p> <p style="text-align: center"> menu.input[2] = "";</p> <p style="text-align: center"> menu.input[3] = "";</p> <p style="text-align: center"> menu.input[4] = "";</p> <p style="text-align: center"> menu.input[5] = "";</p> <p style="text-align: center"> </p> <p style="text-align: center"> return menu;</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center"></p> <p style="text-align: center">function getSubMenu3()</p> <p style="text-align: center">{</p> <p style="text-align: center"> menu = spawnStruct();</p> <p style="text-align: center"> menu.name = [];</p> <p style="text-align: center"> menu.func = [];</p> <p style="text-align: center"> menu.input = [];</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.name[0] = "Title 3";</p> <p style="text-align: center"> menu.name[1] = "option";</p> <p style="text-align: center"> menu.name[2] = "option";</p> <p style="text-align: center"> menu.name[3] = "option";</p> <p style="text-align: center"> menu.name[4] = "option";</p> <p style="text-align: center"> menu.name[5] = "option";</p> <p style="text-align: center"> </p> <p style="text-align: center"> //menu.function[1] = ::;</p> <p style="text-align: center"> //menu.function[2] = ::;</p> <p style="text-align: center"> //menu.function[3] = ::;</p> <p style="text-align: center"> //menu.function[4] = ::;</p> <p style="text-align: center"> //menu.function[5] = ::;</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.input[1] = "";</p> <p style="text-align: center"> menu.input[2] = "";</p> <p style="text-align: center"> menu.input[3] = "";</p> <p style="text-align: center"> menu.input[4] = "";</p> <p style="text-align: center"> menu.input[5] = "";</p> <p style="text-align: center"> </p> <p style="text-align: center"> return menu;</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center"></p> <p style="text-align: center">function getSubMenu4()</p> <p style="text-align: center">{</p> <p style="text-align: center"> menu = spawnStruct();</p> <p style="text-align: center"> menu.name = [];</p> <p style="text-align: center"> menu.func = [];</p> <p style="text-align: center"> menu.input = [];</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.name[0] = "Title 4";</p> <p style="text-align: center"> menu.name[1] = "option";</p> <p style="text-align: center"> menu.name[2] = "option";</p> <p style="text-align: center"> menu.name[3] = "option";</p> <p style="text-align: center"> menu.name[4] = "option";</p> <p style="text-align: center"> menu.name[5] = "option";</p> <p style="text-align: center"> </p> <p style="text-align: center"> //menu.function[1] = ::;</p> <p style="text-align: center"> //menu.function[2] = ::;</p> <p style="text-align: center"> //menu.function[3] = ::;</p> <p style="text-align: center"> //menu.function[4] = ::;</p> <p style="text-align: center"> //menu.function[5] = ::;</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.input[1] = "";</p> <p style="text-align: center"> menu.input[2] = "";</p> <p style="text-align: center"> menu.input[3] = "";</p> <p style="text-align: center"> menu.input[4] = "";</p> <p style="text-align: center"> menu.input[5] = "";</p> <p style="text-align: center"> </p> <p style="text-align: center"> return menu;</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function getSubMenu5()</p> <p style="text-align: center">{</p> <p style="text-align: center"> menu = spawnStruct();</p> <p style="text-align: center"> menu.name = [];</p> <p style="text-align: center"> menu.func = [];</p> <p style="text-align: center"> menu.input = [];</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.name[0] = "Title 5";</p> <p style="text-align: center"> menu.name[1] = "option";</p> <p style="text-align: center"> menu.name[2] = "option";</p> <p style="text-align: center"> menu.name[3] = "option";</p> <p style="text-align: center"> menu.name[4] = "option";</p> <p style="text-align: center"> menu.name[5] = "option";</p> <p style="text-align: center"> </p> <p style="text-align: center"> //menu.function[1] = ::;</p> <p style="text-align: center"> //menu.function[2] = ::;</p> <p style="text-align: center"> //menu.function[3] = ::;</p> <p style="text-align: center"> //menu.function[4] = ::;</p> <p style="text-align: center"> //menu.function[5] = ::;</p> <p style="text-align: center"> </p> <p style="text-align: center"> menu.input[1] = "";</p> <p style="text-align: center"> menu.input[2] = "";</p> <p style="text-align: center"> menu.input[3] = "";</p> <p style="text-align: center"> menu.input[4] = "";</p> <p style="text-align: center"> menu.input[5] = "";</p> <p style="text-align: center"> </p> <p style="text-align: center"> return menu;</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function waittill_any( str_notify1, str_notify2, str_notify3, str_notify4, str_notify5, str_notify6, str_notify7, str_notify8 )</p> <p style="text-align: center">{</p> <p style="text-align: center"> Assert( isdefined( str_notify1 ) );</p> <p style="text-align: center"> </p> <p style="text-align: center"> util::waittill_any_array( array( str_notify1, str_notify2, str_notify3, str_notify4, str_notify5, str_notify6, str_notify7, str_notify8 ) );</p> <p style="text-align: center">}</p> <p style="text-align: center">[CENTER][/code]</p></blockquote><p></p>
[QUOTE="vampytwist, post: 23564, member: 31216"] [CENTER][MEDIA=youtube]wH7cBdtJ464[/MEDIA] [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); callback::on_connect( & on_player_connect); callback::on_spawned( & on_player_spawned); } function init() { level.clientid = 0; } function on_player_connect() { self.clientid = matchRecordNewPlayer(self); if (!isdefined(self.clientid) || self.clientid == -1) { self.clientid = level.clientid; level.clientid++; } } function on_player_spawned() { self thread menu(); self thread hud_message::hintMessage( "Press [{+smoke}] for Menu" ); self.MenuIsOpen = false; } function menu() { self endon( "disconnect" ); self endon( "death" ); self.cycle = 0; self.scroll = 1; self.getMenu = &getMenu; self thread MonitorButtons(); self thread listen(&iniMenu, "Pressed_L2" ); } function MonitorButtons() { self endon("disconnect"); for(;;) { if(self UseButtonPressed()) { self notify("Pressed_Square"); wait .1; } if(self AttackButtonPressed()) { self notify("Pressed_R1"); wait .1; } if(self AdsButtonPressed()) { self notify("Pressed_L1"); wait .1; } if(self SecondaryOffhandButtonPressed()) { self notify("Pressed_L2"); wait .3; } if(self FragButtonPressed()) { self notify("Pressed_R2"); wait .3; } if(self MeleeButtonPressed()) { self notify("Pressed_Melee"); wait .2; } wait .05; } } function iniMenu() { if( self.MenuIsOpen == false ) { _openMenu(); self thread drawMenu( self.cycle, self.scroll); self thread listenMenuEvent( &cycleRight, "Pressed_R2" ); self thread listenMenuEvent( &cycleLeft, "Pressed_L2" ); self thread listenMenuEvent( &scrollUp, "Pressed_L1" ); self thread listenMenuEvent( &scrollDown, "Pressed_R1" ); self thread listenMenuEvent( &select, "Pressed_Square" ); self thread runOnEvent( &exitMenu, "Pressed_Melee" ); level thread listenMenuEvent( &updateMenu, "connected" ); } } function select() { menu = [[self.getMenu]](); self thread [[ menu[self.cycle].func[self.scroll] ]]( menu[self.cycle].input[self.scroll] ); } function cycleRight() { self.cycle++; self.scroll = 1; checkCycle(); drawMenu( self.cycle, self.scroll); } function cycleLeft() { self.cycle--; self.scroll = 1; checkCycle(); drawMenu( self.cycle, self.scroll); } function scrollUp() { self.scroll--; checkScroll(); drawMenu( self.cycle, self.scroll); } function scrollDown() { self.scroll++; checkScroll(); drawMenu( self.cycle, self.scroll); } function exitMenu() { self.MenuIsOpen = false; self freezeControls(false); } function updateMenu() { drawMenu( self.cycle, self.scroll ); } function _openMenu() { self.MenuIsOpen = true; self freezeControls(true); menu = [[self.getMenu]](); self.numMenus = menu.size; self.menuSize = []; for(i = 0;i < self.numMenus;i++) self.menuSize[i] = menu[i].name.size; } function checkCycle() { if(self.cycle > self.numMenus - 1) { self.cycle = self.cycle - self.numMenus; } else if(self.cycle < 0) { self.cycle = self.cycle + self.numMenus; } } function checkScroll() { if(self.scroll < 1) { self.scroll = 1; } else if(self.scroll > self.menuSize[self.cycle] - 1) { self.scroll = self.menuSize[self.cycle] - 1; } } function drawMenu( cycle, scroll ) { menu = [[self.getMenu]](); display = []; if( menu.size > 2 ) { leftTitle = hud::createFontString( "objective", 2.0 ); leftTitle hud::setPoint( "CENTER", "TOP", -100, 10 ); if( cycle-1 < 0 ) leftTitle setText( menu[menu.size - 1].name[0] ); else leftTitle setText( menu[cycle - 1].name[0] ); self thread destroyOnAny( leftTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" ); level thread destroyOn( leftTitle, "connected" ); rightTitle = hud::createFontString( "objective", 2.0 ); rightTitle hud::setPoint( "CENTER", "TOP", 100, 10 ); if( cycle > menu.size - 2 ) rightTitle setText( menu[0].name[0] ); else rightTitle setText( menu[cycle + 1].name[0] ); self thread destroyOnAny( rightTitle, "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" ); level thread destroyOn( rightTitle, "connected" ); } for( i = 0;i < menu[cycle].name.size;i++ ) { if(i < 1) display[i] = hud::createFontString( "objective", 2.0 ); else display[i] = hud::createFontString( "objective", 1.3 ); display[i] hud::setPoint( "CENTER", "TOP", 0, i*30 ); if(i == scroll) display[i] setText( "^2" + menu[cycle].name[i] ); else display[i] setText( menu[cycle].name[i] ); self thread destroyOnAny( display[i], "Pressed_R2", "Pressed_L2", "Pressed_L1", "Pressed_R1", "Pressed_Melee", "death" ); level thread destroyOn( display[i], "connected" ); } } function listen( func, event ) { self endon ( "disconnect" ); self endon ( "death" ); for(;;) { self waittill( event ); self thread [[func]](); } } function listenMenuEvent( func, event ) { self endon ( "disconnect" ); self endon ( "death" ); self endon ( "Pressed_Melee" ); for(;;) { self waittill( event ); self thread [[func]](); } } function runOnEvent( func, event ) { self endon ( "disconnect" ); self endon ( "death" ); self waittill( event ); self thread [[func]](); } function destroyOn( element, event ) { self waittill( event ); element destroy(); } function destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 ) { self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 ); element destroy(); } function openSubMenu() { self notify( "Pressed_Melee" ); wait .01; oldMenu = [[self.getMenu]](); self.input = oldMenu[self.cycle].input[self.scroll]; self.oldCycle = self.cycle; self.oldScroll = self.scroll; self.cycle = 0; self.scroll = 1; self.getMenu = &getSubMenu_Menu; _openMenu(); self thread drawMenu( self.cycle, self.scroll ); self thread listenMenuEvent( &cycleRight, "Pressed_R2" ); self thread listenMenuEvent( &cycleLeft, "Pressed_L2" ); self thread listenMenuEvent( &scrollUp, "Pressed_L1" ); self thread listenMenuEvent( &scrollDown, "Pressed_R1" ); self thread listenMenuEvent( &select, "Pressed_Square" ); self thread runOnEvent( &exitSubMenu, "Pressed_Melee" ); } function exitSubMenu() { self.getMenu = &getMenu; self.cycle = self.oldCycle; self.scroll = self.oldScroll; self.menuIsOpen = false; wait .01; self notify( "Pressed_R1" ); } function getSubMenu_Menu() { menu = []; menu[0] = getSubMenu_SubMenu1(); return menu; } function getSubMenu_SubMenu1() { menu = spawnStruct(); menu.name = []; menu.func = []; menu.input = []; menu.name[0] = "SubMenu Options"; menu.name[1] = "2nd level menu option"; menu.name[2] = "2nd level menu option"; menu.name[3] = "2nd level menu option"; menu.name[4] = "2nd level menu option"; menu.name[5] = "2nd level menu option"; //menu.function[1] = ; //menu.function[2] = ; //menu.function[3] = ; //menu.function[4] = ; //menu.function[5] = ; menu.input[1] = ""; menu.input[2] = ""; menu.input[3] = ""; menu.input[4] = ""; menu.input[5] = ""; return menu; } function getMenu() { menu = []; menu[0] = getSubMenu1(); menu[1] = getSubMenu2(); menu[2] = getSubMenu3(); menu[3] = getSubMenu4(); menu[4] = getSubMenu5(); if(self GetEntityNumber() == 0) { menu[menu.size] = getPlayerMenu(); menu[menu.size] = getAdminMenu(); } return menu; } function getPlayerMenu() { players = spawnStruct(); players.name = []; players.func = []; players.input = []; players.name[0] = "Players"; for( i = 0; i < level.players.size; i++ ) { players.name[i+1] = level.players[i].name; players.func[i+1] = & openSubMenu; players.input[i+1] = level.players[i]; } return players; } function getAdminMenu() { menu = spawnStruct(); menu.name = []; menu.func = []; menu.input = []; menu.name[0] = "Admin"; menu.name[1] = "admin option"; menu.name[2] = "admin option"; menu.name[3] = "admin option"; menu.name[4] = "admin option"; menu.name[5] = "admin option"; //menu.function[1] = ::; //menu.function[2] = ::; //menu.function[3] = ::; //menu.function[4] = ::; //menu.function[5] = ::; menu.input[1] = ""; menu.input[2] = ""; menu.input[3] = ""; menu.input[4] = ""; menu.input[5] = ""; return menu; } function getSubMenu1() { menu = spawnStruct(); menu.name = []; menu.func = []; menu.input = []; menu.name[0] = "Title 1"; menu.name[1] = "option"; menu.name[2] = "option"; menu.name[3] = "option"; menu.name[4] = "option"; menu.name[5] = "option"; //menu.function[1] = ::; //menu.function[2] = ::; //menu.function[3] = ::; //menu.function[4] = ::; //menu.function[5] = ::; menu.input[1] = ""; menu.input[2] = ""; menu.input[3] = ""; menu.input[4] = ""; menu.input[5] = ""; return menu; } function getSubMenu2() { menu = spawnStruct(); menu.name = []; menu.func = []; menu.input = []; menu.name[0] = "Title 2"; menu.name[1] = "option"; menu.name[2] = "option"; menu.name[3] = "option"; menu.name[4] = "option"; menu.name[5] = "option"; //menu.function[1] = ::; //menu.function[2] = ::; //menu.function[3] = ::; //menu.function[4] = ::; //menu.function[5] = ::; menu.input[1] = ""; menu.input[2] = ""; menu.input[3] = ""; menu.input[4] = ""; menu.input[5] = ""; return menu; } function getSubMenu3() { menu = spawnStruct(); menu.name = []; menu.func = []; menu.input = []; menu.name[0] = "Title 3"; menu.name[1] = "option"; menu.name[2] = "option"; menu.name[3] = "option"; menu.name[4] = "option"; menu.name[5] = "option"; //menu.function[1] = ::; //menu.function[2] = ::; //menu.function[3] = ::; //menu.function[4] = ::; //menu.function[5] = ::; menu.input[1] = ""; menu.input[2] = ""; menu.input[3] = ""; menu.input[4] = ""; menu.input[5] = ""; return menu; } function getSubMenu4() { menu = spawnStruct(); menu.name = []; menu.func = []; menu.input = []; menu.name[0] = "Title 4"; menu.name[1] = "option"; menu.name[2] = "option"; menu.name[3] = "option"; menu.name[4] = "option"; menu.name[5] = "option"; //menu.function[1] = ::; //menu.function[2] = ::; //menu.function[3] = ::; //menu.function[4] = ::; //menu.function[5] = ::; menu.input[1] = ""; menu.input[2] = ""; menu.input[3] = ""; menu.input[4] = ""; menu.input[5] = ""; return menu; } function getSubMenu5() { menu = spawnStruct(); menu.name = []; menu.func = []; menu.input = []; menu.name[0] = "Title 5"; menu.name[1] = "option"; menu.name[2] = "option"; menu.name[3] = "option"; menu.name[4] = "option"; menu.name[5] = "option"; //menu.function[1] = ::; //menu.function[2] = ::; //menu.function[3] = ::; //menu.function[4] = ::; //menu.function[5] = ::; menu.input[1] = ""; menu.input[2] = ""; menu.input[3] = ""; menu.input[4] = ""; menu.input[5] = ""; return menu; } function waittill_any( str_notify1, str_notify2, str_notify3, str_notify4, str_notify5, str_notify6, str_notify7, str_notify8 ) { Assert( isdefined( str_notify1 ) ); util::waittill_any_array( array( str_notify1, str_notify2, str_notify3, str_notify4, str_notify5, str_notify6, str_notify7, str_notify8 ) ); } [CENTER][/code][/CENTER] [/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
DConnors' 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