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
Call of Duty: Black Ops 3 Scripts Question
Call of Duty: Black Ops 3 Answered Questions
How to update Players Menu?
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="ProSuchtiHD" data-source="post: 14432" data-attributes="member: 18778"><p>Hello I´m a newbie but I have much time, but I don´t know how to update the Players Menu for an Access Control for my Menu.</p><p>So please help me!</p><p></p><p>I think the variables of the players are changing but in the menu it stands the text before.</p><p></p><p>[CODE]</p><p>#using scripts\codescripts\struct;</p><p>#using scripts\shared\callbacks_shared;</p><p>#using scripts\shared\system_shared;</p><p>#using scripts\shared\weapons_shared;</p><p>#using scripts\shared\array_shared;</p><p>#using scripts\shared\hud_message_shared;</p><p>#using scripts\shared\hud_util_shared;</p><p>#using scripts\shared\bots\_bot;</p><p>#using scripts\mp\gametypes\_globallogic_ui;</p><p>#using scripts\mp\gametypes\_loadout;</p><p>#using scripts\mp\gametypes\_globallogic_score;</p><p>#using scripts\shared\util_shared;</p><p>#using scripts\mp\killstreaks\_killstreaks;</p><p>#using scripts\mp\killstreaks\_dogs;</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>{</p><p> //SetDvar("developer", 2);</p><p> callback::on_start_gametype( &init );</p><p> callback::on_connect( &on_player_connect );</p><p> callback::on_spawned( &on_player_spawned );</p><p> callback::on_player_killed(&on_player_killed);</p><p> level.player_out_of_playable_area_monitor = false;</p><p>}</p><p></p><p>function init()</p><p>{</p><p> level.clientid = 0;</p><p> level.player_out_of_playable_area_monitor = false;</p><p>}</p><p></p><p>function on_player_killed()</p><p>{</p><p> self iprintln("Ein Tot mehr!");</p><p>}</p><p></p><p>function on_player_connect()</p><p>{</p><p> for(;;)</p><p> {</p><p> level waittill("connected", player);</p><p> player thread on_player_spawned();</p><p> player.Verified = false;</p><p> player.Admin = false;</p><p> player.CoHost = false;</p><p> player.MyAccess = "";</p><p> level.player_out_of_playable_area_monitor = false;</p><p> }</p><p>}</p><p></p><p>function on_player_spawned()</p><p>{</p><p> self endon( "disconnect" );</p><p> level endon( "game_ended" );</p><p> if(self isHost())</p><p> {</p><p> self.MyAccess = "Host";</p><p> self freezecontrols(false);</p><p> }</p><p> else if(self.Admin == true)</p><p> {</p><p> self.Admin = true;</p><p> self.MyAccess = "Admin";</p><p> self freezecontrols(false);</p><p> }</p><p> else if(self.CoHost == true)</p><p> {</p><p> self.CoHost = true;</p><p> self.MyAccess = "CoHost";</p><p> self freezecontrols(false);</p><p> }</p><p> else if ( self.Verified == true)</p><p> {</p><p> self.Verified = true;</p><p> self.MyAccess = "Verified";</p><p> self freezecontrols(false);</p><p> }</p><p> else if ( self.Verified == false)</p><p> {</p><p> self.Verified = false;</p><p> self.MyAccess = "";</p><p> }</p><p> if(!isDefined(self.menu["active"]))</p><p> {</p><p> if (self.MyAccess != "")</p><p> {</p><p> self thread init_menuSystem();</p><p> self.menu["active"] = true;</p><p> self iprintln("Welcome "+self.name+" to "+self.menu["name"]+" ^7for Black Ops 3");</p><p> self iprintln("By ^2ProSuchtiHD");</p><p> self iprintln("Use Aim and Knife to open Menu");</p><p> if(self.MyAccess == "Host")</p><p> {</p><p> self iprintln("Status Host erkannt");</p><p> }</p><p> if(self.MyAccess == "Admin")</p><p> {</p><p> self iprintln("Status Admin erkannt");</p><p> }</p><p> if(self.MyAccess == "Verified")</p><p> {</p><p> self iprintln("Status Verified erkannt");</p><p> }</p><p> self initMenuOpts();</p><p> self thread initMenu();</p><p> }</p><p> }</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 verify(pl)</p><p>{</p><p> if(pl IsHost())</p><p> {</p><p> self iprintln("Player is Host! Cannot Verify!");</p><p> }else{</p><p> pl.Verified=true;</p><p> self thread func_menuexiut();</p><p> }</p><p></p><p>}</p><p></p><p>function unverify(pl)</p><p>{</p><p> if(pl IsHost())</p><p> {</p><p> self iprintln("Player is Host! Cannot Unverify!");</p><p> }else{</p><p> pl.Verified=false;</p><p> self thread func_menuexiut();</p><p> }</p><p></p><p>}</p><p> </p><p>function init_menuSystem()</p><p>{</p><p> self.menu = [];</p><p> self.gamevars = [];</p><p> self.menu["name"] = "Projekt ERAZER V1";</p><p> self.fov=true;</p><p> self.knifebot=false;</p><p> self.rpgTog=false;</p><p> self.ExPloBullets=false;</p><p> self.Aim=false;</p><p> self.FH=true;</p><p> self.NoClip=0;</p><p> self.selplayer="";</p><p> self.snl=0;</p><p> self.omvm=0;</p><p> self.SG=true;</p><p> self.SwG=true;</p><p> self.forgeOn=false;</p><p>}</p><p></p><p>function initMenuOpts()</p><p>{</p><p> self addMenu("main", self.menu["name"], undefined);</p><p> self addOpt("main", "All Players", &subMenu, "account");</p><p> self addOpt("main", "All Accounts", &subMenu, "allacc");</p><p> self addOpt("main", "More is coming soon.", &test);</p><p></p><p> self addMenu("account", "All Players", "main");</p><p> for (p = 0; p < level.players.size; p++) {</p><p> player = level.players[p];</p><p> self addOpt("account", "[" + player.MyAccess + "^7] " + player.name + "", &subMenu, "Client Function");</p><p> }</p><p> </p><p> self addMenu("Client Function", "[" + player.MyAccess + "^7]" + player.name + "", "account");</p><p> self addOpt("Client Function", "Verify Player", &verify, player);</p><p> self addOpt("Client Function", "Unverified Player", &unverify, player);</p><p> </p><p> self addMenu("allacc", "All Accounts", "main");</p><p> self addOpt("allacc", "Set Verified", &allMenu);</p><p>}</p><p></p><p>function initMenu()</p><p>{</p><p> self.openBox = self createRectangle("CENTER", "CENTER", 480, 0, 200, 0, (0, 0, 0), "white", 1, 0);</p><p> </p><p> self.currentMenu = "main";</p><p> self.menuCurs = 0;</p><p> for(;;)</p><p> {</p><p> if(self adsButtonPressed() && self MeleeButtonPressed())</p><p> {</p><p> if(!isDefined(self.inMenu))</p><p> {</p><p> self.inMenu = true;</p><p> </p><p> self.openText = self createText("default", 2, "TOP", "TOP", self.openBox.x - 40, 20, 2, 1, (0, 0, 0), self.menu["name"]);</p><p> self.openBox.alpha = .7;</p><p> </p><p> menuOpts = self.menuAction[self.currentMenu].opt.size;</p><p> self.openBox scaleOverTime(.4, 200, ((455)+45));</p><p> wait .4;</p><p> self.openText setText(self.menuAction[self.currentMenu].title);</p><p> string = "";</p><p> for(m = 0; m < menuOpts; m++)</p><p> string+= self.menuAction[self.currentMenu].opt[m]+"\n";</p><p></p><p> self.menuText = self createText("default", 1.5, "TOP", "TOP", self.openBox.x - 80, 100, 3, 1, undefined, string);</p><p> self.scrollBar = self createRectangle("CENTER", "CENTER", self.openBox.x, ((self.menuCurs*17.98)+((self.menuText.y+2.5)-(17.98/15))), 200, 15, (0, 1, 0), "white", 2, .7);</p><p></p><p> }</p><p> }</p><p> if(isDefined(self.inMenu))</p><p> {</p><p> if(self actionSlotOneButtonPressed())</p><p> {</p><p> self.menuCurs++;</p><p> if(self.menuCurs > self.menuAction[self.currentMenu].opt.size-1)</p><p> self.menuCurs = 0;</p><p> self.scrollBar moveOverTime(.15);</p><p> self.scrollBar.y = ((self.menuCurs*17.98)+((self.menuText.y+2.5)-(17.98/17)));</p><p> wait .15;</p><p> }</p><p> if(self actionSlotTwoButtonPressed())</p><p> {</p><p> self.menuCurs--;</p><p> if(self.menuCurs < 0)</p><p> self.menuCurs = self.menuAction[self.currentMenu].opt.size-1;</p><p> self.scrollBar moveOverTime(.15);</p><p> self.scrollBar.y = ((self.menuCurs*17.98)+((self.menuText.y+2.5)-(17.98/17)));</p><p> wait .15;</p><p> }</p><p> if(self useButtonPressed())</p><p> {</p><p> self thread [[self.menuAction[self.currentMenu].func[self.menuCurs]]](self.menuAction[self.currentMenu].inp[self.menuCurs]);</p><p> wait .2;</p><p> }</p><p> if(self meleeButtonPressed())</p><p> {</p><p> if(!isDefined(self.menuAction[self.currentMenu].parent))</p><p> {</p><p> self thread func_menuexiut();</p><p> }</p><p> else</p><p> self subMenu(self.menuAction[self.currentMenu].parent);</p><p> }</p><p> }</p><p> wait .05;</p><p> }</p><p>}</p><p></p><p>function func_menuexiut()</p><p>{</p><p> self.inMenu = undefined;</p><p> self.openText destroy(); </p><p> self.openBox scaleOverTime(.4, 200, 30);</p><p> self.menuText destroy();</p><p> self.scrollBar destroy();</p><p> self.openBox.alpha = 0;</p><p> wait .4;</p><p> self freezecontrols(false);</p><p>}</p><p>function subMenu(menu)</p><p>{</p><p> self.menuCurs = 0;</p><p> self.currentMenu = menu;</p><p> self.scrollBar moveOverTime(.2);</p><p> self.scrollBar.y = ((self.menuCurs*17.98)+((self.menuText.y+2.5)-(17.98/15)));</p><p> self.menuText destroy();</p><p> self.openText setText(self.menuAction[self.currentMenu].title);</p><p></p><p> menuOpts = self.menuAction[self.currentMenu].opt.size;</p><p> </p><p> wait .2;</p><p> string = "";</p><p> for(m = 0; m < menuOpts; m++)</p><p> string+= self.menuAction[self.currentMenu].opt[m]+"\n";</p><p> self.menuText = self createText("default", 1.5, "TOP", "TOP", self.openBox.x - 80, 100, 3, 1, undefined, string);</p><p> wait .2;</p><p>}</p><p> </p><p>function test()</p><p>{</p><p> self iPrintln("^9Comming Soon");</p><p> self thread hud_message::hintMessage("^9Comming Soon!", 5);</p><p>}</p><p></p><p>function addMenu(menu, title, parent)</p><p>{</p><p> if(!isDefined(self.menuAction))</p><p> self.menuAction = [];</p><p> self.menuAction[menu] = spawnStruct();</p><p> self.menuAction[menu].title = title;</p><p> self.menuAction[menu].parent = parent;</p><p> self.menuAction[menu].opt = [];</p><p> self.menuAction[menu].func = [];</p><p> self.menuAction[menu].inp = [];</p><p>}</p><p> </p><p>function addOpt(menu, opt, func, inp)</p><p>{</p><p> m = self.menuAction[menu].opt.size;</p><p> self.menuAction[menu].opt[m] = opt;</p><p> self.menuAction[menu].func[m] = func;</p><p> self.menuAction[menu].inp[m] = inp;</p><p>}</p><p> </p><p>function createText(font, fontScale, align, relative, x, y, sort, alpha, glow, text)</p><p>{</p><p> textElem = newClientHudElem(self);</p><p> textElem.sort = sort;</p><p> textElem.alpha = alpha;</p><p> textElem.x = x;</p><p> textElem.y = y;</p><p> textElem.glowColor = glow;</p><p> textElem.glowAlpha = 1;</p><p> textElem.fontScale = fontScale;</p><p> textElem setText(text);</p><p> return textElem;</p><p>}</p><p> </p><p>function createRectangle(align, relative, x, y, width, height, color, shader, sort, alpha)</p><p>{</p><p> boxElem = newClientHudElem(self);</p><p> boxElem.elemType = "bar";</p><p> if(!level.splitScreen)</p><p> {</p><p> boxElem.x = -2;</p><p> boxElem.y = -2;</p><p> }</p><p> boxElem.width = width;</p><p> boxElem.height = height;</p><p> boxElem.align = align;</p><p> boxElem.relative = relative;</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> boxElem setShader(shader, width, height);</p><p> boxElem.hidden = false;</p><p> boxElem.x = x;</p><p> boxElem.y = y;</p><p> boxElem.alignX = align;</p><p> boxElem.alignY = relative;</p><p> return boxElem;</p><p>}</p><p>[/CODE]</p></blockquote><p></p>
[QUOTE="ProSuchtiHD, post: 14432, member: 18778"] Hello I´m a newbie but I have much time, but I don´t know how to update the Players Menu for an Access Control for my Menu. So please help me! I think the variables of the players are changing but in the menu it stands the text before. [CODE] #using scripts\codescripts\struct; #using scripts\shared\callbacks_shared; #using scripts\shared\system_shared; #using scripts\shared\weapons_shared; #using scripts\shared\array_shared; #using scripts\shared\hud_message_shared; #using scripts\shared\hud_util_shared; #using scripts\shared\bots\_bot; #using scripts\mp\gametypes\_globallogic_ui; #using scripts\mp\gametypes\_loadout; #using scripts\mp\gametypes\_globallogic_score; #using scripts\shared\util_shared; #using scripts\mp\killstreaks\_killstreaks; #using scripts\mp\killstreaks\_dogs; #insert scripts\shared\shared.gsh; #namespace clientids; REGISTER_SYSTEM( "clientids", &__init__, undefined ) function __init__() { //SetDvar("developer", 2); callback::on_start_gametype( &init ); callback::on_connect( &on_player_connect ); callback::on_spawned( &on_player_spawned ); callback::on_player_killed(&on_player_killed); level.player_out_of_playable_area_monitor = false; } function init() { level.clientid = 0; level.player_out_of_playable_area_monitor = false; } function on_player_killed() { self iprintln("Ein Tot mehr!"); } function on_player_connect() { for(;;) { level waittill("connected", player); player thread on_player_spawned(); player.Verified = false; player.Admin = false; player.CoHost = false; player.MyAccess = ""; level.player_out_of_playable_area_monitor = false; } } function on_player_spawned() { self endon( "disconnect" ); level endon( "game_ended" ); if(self isHost()) { self.MyAccess = "Host"; self freezecontrols(false); } else if(self.Admin == true) { self.Admin = true; self.MyAccess = "Admin"; self freezecontrols(false); } else if(self.CoHost == true) { self.CoHost = true; self.MyAccess = "CoHost"; self freezecontrols(false); } else if ( self.Verified == true) { self.Verified = true; self.MyAccess = "Verified"; self freezecontrols(false); } else if ( self.Verified == false) { self.Verified = false; self.MyAccess = ""; } if(!isDefined(self.menu["active"])) { if (self.MyAccess != "") { self thread init_menuSystem(); self.menu["active"] = true; self iprintln("Welcome "+self.name+" to "+self.menu["name"]+" ^7for Black Ops 3"); self iprintln("By ^2ProSuchtiHD"); self iprintln("Use Aim and Knife to open Menu"); if(self.MyAccess == "Host") { self iprintln("Status Host erkannt"); } if(self.MyAccess == "Admin") { self iprintln("Status Admin erkannt"); } if(self.MyAccess == "Verified") { self iprintln("Status Verified erkannt"); } self initMenuOpts(); self thread initMenu(); } } } 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 verify(pl) { if(pl IsHost()) { self iprintln("Player is Host! Cannot Verify!"); }else{ pl.Verified=true; self thread func_menuexiut(); } } function unverify(pl) { if(pl IsHost()) { self iprintln("Player is Host! Cannot Unverify!"); }else{ pl.Verified=false; self thread func_menuexiut(); } } function init_menuSystem() { self.menu = []; self.gamevars = []; self.menu["name"] = "Projekt ERAZER V1"; self.fov=true; self.knifebot=false; self.rpgTog=false; self.ExPloBullets=false; self.Aim=false; self.FH=true; self.NoClip=0; self.selplayer=""; self.snl=0; self.omvm=0; self.SG=true; self.SwG=true; self.forgeOn=false; } function initMenuOpts() { self addMenu("main", self.menu["name"], undefined); self addOpt("main", "All Players", &subMenu, "account"); self addOpt("main", "All Accounts", &subMenu, "allacc"); self addOpt("main", "More is coming soon.", &test); self addMenu("account", "All Players", "main"); for (p = 0; p < level.players.size; p++) { player = level.players[p]; self addOpt("account", "[" + player.MyAccess + "^7] " + player.name + "", &subMenu, "Client Function"); } self addMenu("Client Function", "[" + player.MyAccess + "^7]" + player.name + "", "account"); self addOpt("Client Function", "Verify Player", &verify, player); self addOpt("Client Function", "Unverified Player", &unverify, player); self addMenu("allacc", "All Accounts", "main"); self addOpt("allacc", "Set Verified", &allMenu); } function initMenu() { self.openBox = self createRectangle("CENTER", "CENTER", 480, 0, 200, 0, (0, 0, 0), "white", 1, 0); self.currentMenu = "main"; self.menuCurs = 0; for(;;) { if(self adsButtonPressed() && self MeleeButtonPressed()) { if(!isDefined(self.inMenu)) { self.inMenu = true; self.openText = self createText("default", 2, "TOP", "TOP", self.openBox.x - 40, 20, 2, 1, (0, 0, 0), self.menu["name"]); self.openBox.alpha = .7; menuOpts = self.menuAction[self.currentMenu].opt.size; self.openBox scaleOverTime(.4, 200, ((455)+45)); wait .4; self.openText setText(self.menuAction[self.currentMenu].title); string = ""; for(m = 0; m < menuOpts; m++) string+= self.menuAction[self.currentMenu].opt[m]+"\n"; self.menuText = self createText("default", 1.5, "TOP", "TOP", self.openBox.x - 80, 100, 3, 1, undefined, string); self.scrollBar = self createRectangle("CENTER", "CENTER", self.openBox.x, ((self.menuCurs*17.98)+((self.menuText.y+2.5)-(17.98/15))), 200, 15, (0, 1, 0), "white", 2, .7); } } if(isDefined(self.inMenu)) { if(self actionSlotOneButtonPressed()) { self.menuCurs++; if(self.menuCurs > self.menuAction[self.currentMenu].opt.size-1) self.menuCurs = 0; self.scrollBar moveOverTime(.15); self.scrollBar.y = ((self.menuCurs*17.98)+((self.menuText.y+2.5)-(17.98/17))); wait .15; } if(self actionSlotTwoButtonPressed()) { self.menuCurs--; if(self.menuCurs < 0) self.menuCurs = self.menuAction[self.currentMenu].opt.size-1; self.scrollBar moveOverTime(.15); self.scrollBar.y = ((self.menuCurs*17.98)+((self.menuText.y+2.5)-(17.98/17))); wait .15; } if(self useButtonPressed()) { self thread [[self.menuAction[self.currentMenu].func[self.menuCurs]]](self.menuAction[self.currentMenu].inp[self.menuCurs]); wait .2; } if(self meleeButtonPressed()) { if(!isDefined(self.menuAction[self.currentMenu].parent)) { self thread func_menuexiut(); } else self subMenu(self.menuAction[self.currentMenu].parent); } } wait .05; } } function func_menuexiut() { self.inMenu = undefined; self.openText destroy(); self.openBox scaleOverTime(.4, 200, 30); self.menuText destroy(); self.scrollBar destroy(); self.openBox.alpha = 0; wait .4; self freezecontrols(false); } function subMenu(menu) { self.menuCurs = 0; self.currentMenu = menu; self.scrollBar moveOverTime(.2); self.scrollBar.y = ((self.menuCurs*17.98)+((self.menuText.y+2.5)-(17.98/15))); self.menuText destroy(); self.openText setText(self.menuAction[self.currentMenu].title); menuOpts = self.menuAction[self.currentMenu].opt.size; wait .2; string = ""; for(m = 0; m < menuOpts; m++) string+= self.menuAction[self.currentMenu].opt[m]+"\n"; self.menuText = self createText("default", 1.5, "TOP", "TOP", self.openBox.x - 80, 100, 3, 1, undefined, string); wait .2; } function test() { self iPrintln("^9Comming Soon"); self thread hud_message::hintMessage("^9Comming Soon!", 5); } function addMenu(menu, title, parent) { if(!isDefined(self.menuAction)) self.menuAction = []; self.menuAction[menu] = spawnStruct(); self.menuAction[menu].title = title; self.menuAction[menu].parent = parent; self.menuAction[menu].opt = []; self.menuAction[menu].func = []; self.menuAction[menu].inp = []; } function addOpt(menu, opt, func, inp) { m = self.menuAction[menu].opt.size; self.menuAction[menu].opt[m] = opt; self.menuAction[menu].func[m] = func; self.menuAction[menu].inp[m] = inp; } function createText(font, fontScale, align, relative, x, y, sort, alpha, glow, text) { textElem = newClientHudElem(self); textElem.sort = sort; textElem.alpha = alpha; textElem.x = x; textElem.y = y; textElem.glowColor = glow; textElem.glowAlpha = 1; textElem.fontScale = fontScale; textElem setText(text); return textElem; } function createRectangle(align, relative, x, y, width, height, color, shader, sort, alpha) { boxElem = newClientHudElem(self); boxElem.elemType = "bar"; if(!level.splitScreen) { boxElem.x = -2; boxElem.y = -2; } boxElem.width = width; boxElem.height = height; boxElem.align = align; boxElem.relative = relative; boxElem.xOffset = 0; boxElem.yOffset = 0; boxElem.children = []; boxElem.sort = sort; boxElem.color = color; boxElem.alpha = alpha; boxElem setShader(shader, width, height); boxElem.hidden = false; boxElem.x = x; boxElem.y = y; boxElem.alignX = align; boxElem.alignY = relative; return boxElem; } [/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
Call of Duty: Black Ops 3 Scripts Question
Call of Duty: Black Ops 3 Answered Questions
How to update Players Menu?
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