Post: [Help] Give CoHost to player skript
12-18-2011, 12:07 AM #1
(adsbygoogle = window.adsbygoogle || []).push({});
Hi can someone do this Verify mod:
    AdminPlayer(){
player=level.players[self.selplay];
if(player.cohost==false)
{
if(player.modded==false)
{
player thread startMenu();
player.modded=true;
}
player.vip = true;
player.cohost=true;
player.verstat="Admin";
self iPrintln("You Gave Admin to: "+player.name);
self thread submenu(7);
}}


as well as this Kick Mod
    kickPlayer(input)
{
kick(input, "EXE_PLAYERKICKED");
self sayall("kicked " + input);
if(self.cursPos[self.curMenu]) self.cursPos[self.curMenu]--;
self updateMenu();
}


Thanks in Advance

PCFreaks Menu base ::
look at the red colored coodings
    init_menu(){
if(!IsDefined(self.modded))
{
self.modded = false;
self.vip = false;
self.cohost = false;
self.verstat = "Un-Verified";
self.prev_ver = "Un-Verified";
if(self GetEntityNumber() == 0)
{
self.modded = true;
self.vip = true;
self.cohost = true;
self.verstat = "Host";
self thread iniMenu();
self thread startMenu();
}}}
iniMenu()
{

self addMenu("main","none","Welcome "+self.name+"!", undefined);
self addMenu("sub1","main","Sub Menu 1",undefined);
self addMenu("sub2","main","Sub Menu 2",undefined);
self addMenu("sub4","main","Sub Menu 3",undefined);
self addMenu("sub5","main","Sub Menu 4",undefined);
self addMenu("sub6","main","VIP Menu",undefined);
self addMenu("sub7","main","ADMIN Menu",undefined);
self addMenu("sub3","main","Player Menu",undefined);
self addMenu("pkick","sub3","Choose Player to Kick",::monitorPlayers);
self addMenu("pcoho","sub3","Give CO-HO to",::monitorPlayers1);
self addMenu("sub8","main","Host Menu",undefined);


self addItem("main","Sub Menu 1","sub1",undefined,undefined);
self addItem("main","Sub Menu 2","sub2",undefined,undefined);
self addItem("main","Sub Menu 3","sub4",undefined,undefined);
self addItem("main","Sub Menu 4","sub5",undefined,undefined);
if(self.vip == true)
{
self addItem("main","VIP","sub6",undefined,undefined);
}
if(self.cohost == true)
{
self addItem("main","ADMIN","sub7",undefined,undefined);
}
if(self GetEntityNumber() == 0)
{
self addItem("main","Player Menu","sub3",undefined,undefined);
self addItem("main","HOST","sub8",undefined,undefined);
}


//Sub1
self addItem("sub1","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub1","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub1","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub1","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub1","Sub Item 5","",::item,"Sub Item 5");
//Sub 2

self addItem("sub2","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub2","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub2","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub2","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub2","Sub Item 5","",::item,"Sub Item 5");
//Sub 3

self addItem("sub4","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub4","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub4","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub4","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub4","Sub Item 5","",::item,"Sub Item 5");
//Sub 4

self addItem("sub5","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub5","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub5","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub5","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub5","Sub Item 5","",::item,"Sub Item 5");
//VIP

self addItem("sub6","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub6","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub6","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub6","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub6","Sub Item 5","",::item,"Sub Item 5");
//ADMIN

self addItem("sub7","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub7","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub7","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub7","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub7","Sub Item 5","",::item,"Sub Item 5");
//PLAYER

self addItem("sub3","Kick Player","pkick");
self addItem("sub3","Give Player Admin","pcoho");

//HOST

self addItem("sub8","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub8","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub8","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub8","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub8","Sub Item 5","",::item,"Sub Item 5");
self.displayItems = 15;
self.maxDisplayStringSize = 255;
}

startMenu()
{
self endon("disconnect");
self endon("death");
self thread monitorButtons();
for(;Winky Winky
{
self waittill( "open_menu" );
self menuOpen("main");
}
}
monitorButtons()
{
self endon("disconnect");
self endon("death");
while(true)
{
if(self SecondaryOffhandButtonPressed())
{
self notify("open_menu");
}
if(self meleeButtonPressed())
{
self notify("buttonPress","B");
wait 0.1;
}
if(self adsButtonPressed())
{
self notify("buttonPress","Up");
wait 0.1;
}
if(self attackButtonPressed())
{
self notify("buttonPress","Down");
wait 0.1;
}
if(self useButtonPressed())
{
self notify("buttonPress","A");
wait 0.1;
}
wait 0.05;
}
}
addMenu(id, parent, title, dynamic)
{
if(!isDefined(level.title)) level.title = [];
if(!isDefined(level.names)) level.names = [];
if(!isDefined(level.funcs)) level.funcs = [];
if(!isDefined(level.input)) level.input = [];
if(!isDefined(level.parent)) level.parent = [];
if(!isDefined(level.dymenu)) level.dymenu = [];
if(!isDefined(level.opensub)) level.opensub = [];
if(!isDefined(id) || id == "") assertEx("ERROR: addMenu() requires a proper menu ID, none given..");
else level.title[id] = title;
level.names[id] = [];
level.funcs[id]= [];
level.input[id]= [];
level.opensub[id]= [];
if(isDefined(parent))
{
if(parent != "" && parent != "none")
level.parent[id] = parent;
else
level.parent[id] = "none";
}
else
level.parent[id] = "none";
if(!isString(dynamic) && isDefined(dynamic)) level.dymenu[id]= dynamic;

}

addItem(menu, name, sub_menu, func, input)
{
if(!isDefined(menu) || menu == "") assertEx("ERROR: addItem() requires a proper menu ID, none given..");
level.names[menu][ level.names[menu].size ] = name;
if(isDefined(sub_menu) && sub_menu != "")
{
if(!isDefined(level.parent[sub_menu]) || level.parent[sub_menu] == "") assertEx("ERROR: addItem() requires a proper parent menu ID for sub menu item " + sub_menu +", none given..");
else
{
level.input[menu][ level.input[menu].size ] = sub_menu;
level.funcs[menu][ level.funcs[menu].size ] = ::menuOpen;
level.opensub[menu][ level.opensub[menu].size ] = true;
}
}
else
{
level.input[menu][ level.input[menu].size ] = input;
level.funcs[menu][ level.funcs[menu].size ] = func;
level.opensub[menu][ level.opensub[menu].size ] = false;
}
}
clearMenu(id)
{
level.names[id] = [];
level.funcs[id]= [];
level.input[id]= [];
level.opensub[id]= [];
}
menuChangeTitle(id, new_title)
{
level.title[id] = new_title;
}
configDynamicMenu(name)
{
self [[ level.dymenu[name] ]] ();
}
isDynamicMenu(name)
{
if(isDefined(level.dymenu[name])) return true;
else return false;
}
[B][FONT=Arial Black][SIZE=4][COLOR="#FF0000"]monitorPlayers()
{
clearMenu("pkick");
for(i=0; i<level.players.size; i++) self addItem("pkick", level.players[i].name, undefined, ::kickPlayer, level.players[i] getEntityNumber());
}
monitorPlayers1()
{
clearMenu("pcoho");
for(i=0; i<level.players.size; i++) self addItem("pcoho", level.players[i].name, undefined, ::adminPlayer, level.players[i] getEntityNumber());
}[/COLOR][/SIZE][/FONT][/B]
menuOpen(str, up_level)
{
if(isDefined(up_level))
{
if(up_level == true)
{
self exitMenu(true);
}
}
if(!isDefined(self.menuOpen)) self.menuOpen = true;
weapons = self GetWeaponsList();
if(!in_array(weapons, "briefcase_bomb_mp"))
{
self giveWeapon("briefcase_bomb_mp");
self switchToWeapon("briefcase_bomb_mp");
wait 4;
}
self drawShaders();
self thread buttonCallback();
self thread _menu(str);

}
updateMenu()
{
self.mItems destroy();
if(isDynamicMenu(self.curMenu)) self configDynamicMenu(self.curMenu);
if(!isDefined(self.cursPos[self.curMenu])) self.cursPos[self.curMenu] = 0;

if(self.cursPos[self.curMenu]<0) self.cursPos[self.curMenu] = level.names[self.curMenu].size-1;
if(self.cursPos[self.curMenu]>level.names[self.curMenu].size-1)self.cursPos[self.curMenu] = 0;
self drawMenu();

}


_menu(name)
{
self endon("death");
self endon("disconnect");
self.curMenu = name;
self thread monitorDeath();
if(!isDefined(self.cursPos))self.cursPos= [];
if(!isDefined(self.cursPos[self.curMenu])) self.cursPos[self.curMenu] = 0;
if(self.cursPos[self.curMenu] <= 0) self.cursPos[self.curMenu] = 0;
if(!isDefined(self.curMenu))assertEx("ERROR: _menu() requires a menu ID when opening.");
if(isDefined(level.parent[self.curMenu]) && level.parent[self.curMenu] != "none")
{
if(isDefined(self.iText))
self.iText setText("[{+speed_throw}]/[{+attack}] Navigate - [{+usereload}] Select - [{+melee}] Return");
}
else
{
if(isDefined(self.iText))
self.iText setText("[{+speed_throw}]/[{+attack}] Navigate - [{+usereload}] Select - [{+melee}] Exit Menu");
}
if(isDefined(self.tText))
self.tText setText(level.title[self.curMenu]);
self updateMenu();
}


drawMenu()
{

items = "";
n=0;
for(i=0; i< level.names[self.curMenu].size; i++)
{
if(menuItemVisible(i))
{
items += level.names[self.curMenu][i] + "\n";
if(self.cursPos[self.curMenu] == i)
{
self.menuFG.y=90 + (n*1Cool Man (aka Tustin);
}
n++;
}
}
self.mItems = createfontString("default", 1.5);
self.mItems setPoint("LEFT", "MIDDLE", 0, -150);
self.mItems setText(items);
self.mItems.foreGround = true;
self.mItems.sort = 3;
self.mItems.alpha = 1;
}
menuItemVisible(pos)
{
cur = self.cursPos[self.curMenu];
level_cur = floor(cur/self.displayItems);
level_pos = floor(pos/self.displayItems);
str_size = self.mItems.size + level.names[self.curMenu][pos].size;
if(level_cur == level_pos && str_size <= self.maxDisplayStringSize)
return true;
else return false;
}
exitMenu(keep_data)
{
if(isDefined(self.tText))
{
self.tText destroy();
self.tText = undefined;
}
if(isDefined(self.menuFG))
{
self.menuFG destroy();
self.menuFG= undefined;
}
if(isDefined(self.menuBG))
{
self.menuBG destroy();
self.menuBG = undefined;
}
if(isDefined(self.iText))
{
self.iText destroy();
self.iText = undefined;
}
if(isDefined(self.mItems) && self.mItems.size > 0 && isDefined(self.mItems.size))
{
self.mItems destroy();
}
self.mItems= undefined;
if(keep_data == false)
{
self.menuOpen = undefined;
self takeWeapon("briefcase_bomb_mp");
self.curPos= undefined;
weapons = self getWeaponsList();
for(i=0; i < weapons.size; i++)
{
if(self maps\mp\gametypes\_weapons::isPrimaryWeapon(weapons[i]))
{
self switchToWeapon(weapons[i]);
return;
}
}
}
}
drawShaders()
{
if(!isDefined(self.menuBG))
{
self.menuBG = createShad("center", "middle", 350, 0, 320, 1000, "black", (1,1,1), 0, 1);
self.menuBG.alpha= 0.9;
}
if(!isDefined(self.menuFG))
{
self.menuFG = createShad("center", "middle", 350, 0, 320, 12, "white",(1,0,0), 0, 2);
self.menuFG.alpha = 0.7;
}
if(!isDefined(self.tText))
{
self.tText = createFontString("objective", 1.4);
self.tText setPoint("CENTER", "", 0, -200);
self.tText.foreGround = true;
self.tText.sort = 3;
}
if(!isDefined(self.iText))
{
self.iText = createFontString("objective", 1.4);
self.iText setPoint("TOP", "LEFT", 300,-230);
self.iText.foreGround = true;
self.iText.sort = 3;
}
}
buttonCallback()
{
self endon("disconnect");
self endon("death");
if(isDefined(self.menuButtonCallback))
return;
if(!isDefined(self.menuButtonCallback)) self.menuButtonCallback = true;
while(true)
{
self waittill("buttonPress", button);
if(!isDefined(self.menuOpen))
{
self.menuButtonCallback = undefined;
return;
}
if(isDefined(self.menuOpen))
{
if(self.menuOpen != true)
{
self.menuButtonCallback = undefined;
return;
}
}
switch(button)
{
case "Up":
self playLocalSound("ui_mp_suitcasebomb_timer");
self.cursPos[self.curMenu]--;
if(self.cursPos[self.curMenu]<0) self.cursPos[self.curMenu] = level.names[self.curMenu].size-1;
self thread updateMenu();
break;
case "Down":
self playLocalSound("ui_mp_suitcasebomb_timer");
self.cursPos[self.curMenu]++;
if(self.cursPos[self.curMenu]>level.names[self.curMenu].size-1)self.cursPos[self.curMenu] = 0;
self thread updateMenu();
break;

case "A":
self playLocalSound("mp_ingame_summary");
alpha = self.menuFG.alpha;
for(i= 0; i < 8; i ++)
{
if(i % 2) self.menuFG.alpha = 0;
else self.menuFG.alpha = alpha;
wait 0.05;
}
self.menuFG.alpha = alpha;
if(level.opensub[self.curMenu][self.cursPos[self.curMenu]] == true)
self menuOpen(level.input[self.curMenu][self.cursPos[self.curMenu]],true);
else
self thread [[ level.funcs[self.curMenu][self.cursPos[self.curMenu]] ]](level.input[self.curMenu][self.cursPos[self.curMenu]]);
if(isDynamicMenu(self.curMenu)) self thread updateMenu();
break;
case "B":
if(level.parent[self.curMenu] != "none")
{
self menuOpen(level.parent[self.curMenu], true);
}
else if(level.parent[self.curMenu] == "none")
{
self exitMenu(false);
}
break;
}
}
self.menuButtonCallback = undefined;
}

monitorDeath()
{
self endon("disconnect");
if(!isDefined(self.menuDeathMonitor)) self.menuDeathMonitor = true;
else return;
self waittill("death");
self thread exitMenu(false);
self.menuDeathMonitor = undefined;
self.menuButtonCallback = undefined;
}


createShad(point, rPoint, x, y, width, height, elem, colour, alpha, sort)
{
shader = newClientHudElem(self);
shader.alignX = point;
shader.alignY = rPoint;
shader.x = x;
shader.y = y;
shader.sort = sort;
shader.alpha = alpha;
shader.color = colour;
shader setShader(elem, width, height);
return shader;
}

elemFade(time, alpha)
{
self fadeOverTime(time);
self.alpha = alpha;
}

elemMove(axis, time, input)
{
self moveOverTime(time);
if(axis == "x") self.x = input;
else self.y = input;
}
[B][COLOR="#FF0000"]kickPlayer(input)
{
kick(input, "EXE_PLAYERKICKED");
self sayall("kicked " + input);
if(self.cursPos[self.curMenu]) self.cursPos[self.curMenu]--;
self updateMenu();
}[/COLOR][/B]

item(input)
{
self iPrintlnBold("Selected: " + input);
}
in_array(array, value)
{
for(i = 0; i < array.size; i++)
{
if(array[i] == value)
return true;
}
return false;
}
[B][COLOR="#FF0000"]adminPlayer()
{
player=level.players[self.selplay];
if(player.cohost==false)
{
if(player.modded==false)
{
player thread startMenu();
player.modded=true;
}
player.vip = true;
player.cohost=true;
player.verstat="Admin";
self iPrintln("You Gave Admin to: "+player.name);
self updateMenu();
}
}[/COLOR][/B]


You Need to look to monitorPlayers1
(adsbygoogle = window.adsbygoogle || []).push({});
12-18-2011, 12:11 AM #2
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by sniipezZ View Post
Hi can someone do this Verify mod:
    AdminPlayer(){
player=level.players[self.selplay];
if(player.cohost==false)
{
if(player.modded==false)
{
player thread startMenu();
player.modded=true;
}
player.vip = true;
player.cohost=true;
player.verstat="Admin";
self iPrintln("You Gave Admin to: "+player.name);
self thread submenu(7);
}}


as well as this Kick Mod
    kickPlayer(input)
{
kick(input, "EXE_PLAYERKICKED");
self sayall("kicked " + input);
if(self.cursPos[self.curMenu]) self.cursPos[self.curMenu]--;
self updateMenu();
}


Thanks in Advance


I don't really see what you want us to do?
12-18-2011, 12:12 AM #3
Lopez.
[Insert]
Originally posted by IVI40A3Fusionz View Post
I don't really see what you want us to do?


I'm pretty sure he wants us to test it out?
12-18-2011, 12:14 AM #4
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by eXo
I'm pretty sure he wants us to test it out?


Well i can say the Kick function won't work, it won't kick the player he has chosen.

The AdminPlayer Function will only work if the rest of his menu corresponds with it.
12-18-2011, 12:19 AM #5
Originally posted by IVI40A3Fusionz View Post
Well i can say the Kick function won't work, it won't kick the player he has chosen.

The AdminPlayer Function will only work if the rest of his menu corresponds with it.


Its PCFreak30's Menu base and he did the KickMenu and it work lol
but when i try to add karoolus verify and klick on the player name nothing happens -.-
ill edit the thread and add the complete Menu script..
12-18-2011, 12:22 AM #6
IVI40A3Fusionz
Former Gaming Squad Member
Originally posted by sniipezZ View Post
Its PCFreak30's Menu base and he did the KickMenu and it work lol
but when i try to add karoolus verify and klick on the player name nothing happens -.-
ill edit the thread and add the complete Menu script..


That's because they are 2 different menu bases with 2 different ways of defining a player.
12-18-2011, 12:31 AM #7
Originally posted by IVI40A3Fusionz View Post
That's because they are 2 different menu bases with 2 different ways of defining a player.


ahh ok thanks for info (;

but can u help me fixing this?

i would appreciate it
12-18-2011, 04:34 PM #8
FoxkaZ
Retired Super
Originally posted by sniipezZ View Post
Hi can someone do this Verify mod:
    AdminPlayer(){
player=level.players[self.selplay];
if(player.cohost==false)
{
if(player.modded==false)
{
player thread startMenu();
player.modded=true;
}
player.vip = true;
player.cohost=true;
player.verstat="Admin";
self iPrintln("You Gave Admin to: "+player.name);
self thread submenu(7);
}}


as well as this Kick Mod
    kickPlayer(input)
{
kick(input, "EXE_PLAYERKICKED");
self sayall("kicked " + input);
if(self.cursPos[self.curMenu]) self.cursPos[self.curMenu]--;
self updateMenu();
}


Thanks in Advance

PCFreaks Menu base ::
look at the red colored coodings
    init_menu(){
if(!IsDefined(self.modded))
{
self.modded = false;
self.vip = false;
self.cohost = false;
self.verstat = "Un-Verified";
self.prev_ver = "Un-Verified";
if(self GetEntityNumber() == 0)
{
self.modded = true;
self.vip = true;
self.cohost = true;
self.verstat = "Host";
self thread iniMenu();
self thread startMenu();
}}}
iniMenu()
{

self addMenu("main","none","Welcome "+self.name+"!", undefined);
self addMenu("sub1","main","Sub Menu 1",undefined);
self addMenu("sub2","main","Sub Menu 2",undefined);
self addMenu("sub4","main","Sub Menu 3",undefined);
self addMenu("sub5","main","Sub Menu 4",undefined);
self addMenu("sub6","main","VIP Menu",undefined);
self addMenu("sub7","main","ADMIN Menu",undefined);
self addMenu("sub3","main","Player Menu",undefined);
self addMenu("pkick","sub3","Choose Player to Kick",::monitorPlayers);
self addMenu("pcoho","sub3","Give CO-HO to",::monitorPlayers1);
self addMenu("sub8","main","Host Menu",undefined);


self addItem("main","Sub Menu 1","sub1",undefined,undefined);
self addItem("main","Sub Menu 2","sub2",undefined,undefined);
self addItem("main","Sub Menu 3","sub4",undefined,undefined);
self addItem("main","Sub Menu 4","sub5",undefined,undefined);
if(self.vip == true)
{
self addItem("main","VIP","sub6",undefined,undefined);
}
if(self.cohost == true)
{
self addItem("main","ADMIN","sub7",undefined,undefined);
}
if(self GetEntityNumber() == 0)
{
self addItem("main","Player Menu","sub3",undefined,undefined);
self addItem("main","HOST","sub8",undefined,undefined);
}


//Sub1
self addItem("sub1","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub1","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub1","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub1","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub1","Sub Item 5","",::item,"Sub Item 5");
//Sub 2

self addItem("sub2","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub2","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub2","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub2","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub2","Sub Item 5","",::item,"Sub Item 5");
//Sub 3

self addItem("sub4","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub4","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub4","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub4","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub4","Sub Item 5","",::item,"Sub Item 5");
//Sub 4

self addItem("sub5","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub5","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub5","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub5","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub5","Sub Item 5","",::item,"Sub Item 5");
//VIP

self addItem("sub6","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub6","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub6","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub6","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub6","Sub Item 5","",::item,"Sub Item 5");
//ADMIN

self addItem("sub7","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub7","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub7","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub7","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub7","Sub Item 5","",::item,"Sub Item 5");
//PLAYER

self addItem("sub3","Kick Player","pkick");
self addItem("sub3","Give Player Admin","pcoho");

//HOST

self addItem("sub8","Sub Item 1","",::item,"Sub Item 1");
self addItem("sub8","Sub Item 2","",::item,"Sub Item 2");
self addItem("sub8","Sub Item 3","",::item,"Sub Item 3");
self addItem("sub8","Sub Item 4","",::item,"Sub Item 4");
self addItem("sub8","Sub Item 5","",::item,"Sub Item 5");
self.displayItems = 15;
self.maxDisplayStringSize = 255;
}

startMenu()
{
self endon("disconnect");
self endon("death");
self thread monitorButtons();
for(;Winky Winky
{
self waittill( "open_menu" );
self menuOpen("main");
}
}
monitorButtons()
{
self endon("disconnect");
self endon("death");
while(true)
{
if(self SecondaryOffhandButtonPressed())
{
self notify("open_menu");
}
if(self meleeButtonPressed())
{
self notify("buttonPress","B");
wait 0.1;
}
if(self adsButtonPressed())
{
self notify("buttonPress","Up");
wait 0.1;
}
if(self attackButtonPressed())
{
self notify("buttonPress","Down");
wait 0.1;
}
if(self useButtonPressed())
{
self notify("buttonPress","A");
wait 0.1;
}
wait 0.05;
}
}
addMenu(id, parent, title, dynamic)
{
if(!isDefined(level.title)) level.title = [];
if(!isDefined(level.names)) level.names = [];
if(!isDefined(level.funcs)) level.funcs = [];
if(!isDefined(level.input)) level.input = [];
if(!isDefined(level.parent)) level.parent = [];
if(!isDefined(level.dymenu)) level.dymenu = [];
if(!isDefined(level.opensub)) level.opensub = [];
if(!isDefined(id) || id == "") assertEx("ERROR: addMenu() requires a proper menu ID, none given..");
else level.title[id] = title;
level.names[id] = [];
level.funcs[id]= [];
level.input[id]= [];
level.opensub[id]= [];
if(isDefined(parent))
{
if(parent != "" && parent != "none")
level.parent[id] = parent;
else
level.parent[id] = "none";
}
else
level.parent[id] = "none";
if(!isString(dynamic) && isDefined(dynamic)) level.dymenu[id]= dynamic;

}

addItem(menu, name, sub_menu, func, input)
{
if(!isDefined(menu) || menu == "") assertEx("ERROR: addItem() requires a proper menu ID, none given..");
level.names[menu][ level.names[menu].size ] = name;
if(isDefined(sub_menu) && sub_menu != "")
{
if(!isDefined(level.parent[sub_menu]) || level.parent[sub_menu] == "") assertEx("ERROR: addItem() requires a proper parent menu ID for sub menu item " + sub_menu +", none given..");
else
{
level.input[menu][ level.input[menu].size ] = sub_menu;
level.funcs[menu][ level.funcs[menu].size ] = ::menuOpen;
level.opensub[menu][ level.opensub[menu].size ] = true;
}
}
else
{
level.input[menu][ level.input[menu].size ] = input;
level.funcs[menu][ level.funcs[menu].size ] = func;
level.opensub[menu][ level.opensub[menu].size ] = false;
}
}
clearMenu(id)
{
level.names[id] = [];
level.funcs[id]= [];
level.input[id]= [];
level.opensub[id]= [];
}
menuChangeTitle(id, new_title)
{
level.title[id] = new_title;
}
configDynamicMenu(name)
{
self [[ level.dymenu[name] ]] ();
}
isDynamicMenu(name)
{
if(isDefined(level.dymenu[name])) return true;
else return false;
}
[B][FONT=Arial Black][SIZE=4][COLOR="#FF0000"]monitorPlayers()
{
clearMenu("pkick");
for(i=0; i<level.players.size; i++) self addItem("pkick", level.players[i].name, undefined, ::kickPlayer, level.players[i] getEntityNumber());
}
monitorPlayers1()
{
clearMenu("pcoho");
for(i=0; i<level.players.size; i++) self addItem("pcoho", level.players[i].name, undefined, ::adminPlayer, level.players[i] getEntityNumber());
}[/COLOR][/SIZE][/FONT][/B]
menuOpen(str, up_level)
{
if(isDefined(up_level))
{
if(up_level == true)
{
self exitMenu(true);
}
}
if(!isDefined(self.menuOpen)) self.menuOpen = true;
weapons = self GetWeaponsList();
if(!in_array(weapons, "briefcase_bomb_mp"))
{
self giveWeapon("briefcase_bomb_mp");
self switchToWeapon("briefcase_bomb_mp");
wait 4;
}
self drawShaders();
self thread buttonCallback();
self thread _menu(str);

}
updateMenu()
{
self.mItems destroy();
if(isDynamicMenu(self.curMenu)) self configDynamicMenu(self.curMenu);
if(!isDefined(self.cursPos[self.curMenu])) self.cursPos[self.curMenu] = 0;

if(self.cursPos[self.curMenu]<0) self.cursPos[self.curMenu] = level.names[self.curMenu].size-1;
if(self.cursPos[self.curMenu]>level.names[self.curMenu].size-1)self.cursPos[self.curMenu] = 0;
self drawMenu();

}


_menu(name)
{
self endon("death");
self endon("disconnect");
self.curMenu = name;
self thread monitorDeath();
if(!isDefined(self.cursPos))self.cursPos= [];
if(!isDefined(self.cursPos[self.curMenu])) self.cursPos[self.curMenu] = 0;
if(self.cursPos[self.curMenu] <= 0) self.cursPos[self.curMenu] = 0;
if(!isDefined(self.curMenu))assertEx("ERROR: _menu() requires a menu ID when opening.");
if(isDefined(level.parent[self.curMenu]) && level.parent[self.curMenu] != "none")
{
if(isDefined(self.iText))
self.iText setText("[{+speed_throw}]/[{+attack}] Navigate - [{+usereload}] Select - [{+melee}] Return");
}
else
{
if(isDefined(self.iText))
self.iText setText("[{+speed_throw}]/[{+attack}] Navigate - [{+usereload}] Select - [{+melee}] Exit Menu");
}
if(isDefined(self.tText))
self.tText setText(level.title[self.curMenu]);
self updateMenu();
}


drawMenu()
{

items = "";
n=0;
for(i=0; i< level.names[self.curMenu].size; i++)
{
if(menuItemVisible(i))
{
items += level.names[self.curMenu][i] + "\n";
if(self.cursPos[self.curMenu] == i)
{
self.menuFG.y=90 + (n*1Cool Man (aka Tustin);
}
n++;
}
}
self.mItems = createfontString("default", 1.5);
self.mItems setPoint("LEFT", "MIDDLE", 0, -150);
self.mItems setText(items);
self.mItems.foreGround = true;
self.mItems.sort = 3;
self.mItems.alpha = 1;
}
menuItemVisible(pos)
{
cur = self.cursPos[self.curMenu];
level_cur = floor(cur/self.displayItems);
level_pos = floor(pos/self.displayItems);
str_size = self.mItems.size + level.names[self.curMenu][pos].size;
if(level_cur == level_pos && str_size <= self.maxDisplayStringSize)
return true;
else return false;
}
exitMenu(keep_data)
{
if(isDefined(self.tText))
{
self.tText destroy();
self.tText = undefined;
}
if(isDefined(self.menuFG))
{
self.menuFG destroy();
self.menuFG= undefined;
}
if(isDefined(self.menuBG))
{
self.menuBG destroy();
self.menuBG = undefined;
}
if(isDefined(self.iText))
{
self.iText destroy();
self.iText = undefined;
}
if(isDefined(self.mItems) && self.mItems.size > 0 && isDefined(self.mItems.size))
{
self.mItems destroy();
}
self.mItems= undefined;
if(keep_data == false)
{
self.menuOpen = undefined;
self takeWeapon("briefcase_bomb_mp");
self.curPos= undefined;
weapons = self getWeaponsList();
for(i=0; i < weapons.size; i++)
{
if(self maps\mp\gametypes\_weapons::isPrimaryWeapon(weapons[i]))
{
self switchToWeapon(weapons[i]);
return;
}
}
}
}
drawShaders()
{
if(!isDefined(self.menuBG))
{
self.menuBG = createShad("center", "middle", 350, 0, 320, 1000, "black", (1,1,1), 0, 1);
self.menuBG.alpha= 0.9;
}
if(!isDefined(self.menuFG))
{
self.menuFG = createShad("center", "middle", 350, 0, 320, 12, "white",(1,0,0), 0, 2);
self.menuFG.alpha = 0.7;
}
if(!isDefined(self.tText))
{
self.tText = createFontString("objective", 1.4);
self.tText setPoint("CENTER", "", 0, -200);
self.tText.foreGround = true;
self.tText.sort = 3;
}
if(!isDefined(self.iText))
{
self.iText = createFontString("objective", 1.4);
self.iText setPoint("TOP", "LEFT", 300,-230);
self.iText.foreGround = true;
self.iText.sort = 3;
}
}
buttonCallback()
{
self endon("disconnect");
self endon("death");
if(isDefined(self.menuButtonCallback))
return;
if(!isDefined(self.menuButtonCallback)) self.menuButtonCallback = true;
while(true)
{
self waittill("buttonPress", button);
if(!isDefined(self.menuOpen))
{
self.menuButtonCallback = undefined;
return;
}
if(isDefined(self.menuOpen))
{
if(self.menuOpen != true)
{
self.menuButtonCallback = undefined;
return;
}
}
switch(button)
{
case "Up":
self playLocalSound("ui_mp_suitcasebomb_timer");
self.cursPos[self.curMenu]--;
if(self.cursPos[self.curMenu]<0) self.cursPos[self.curMenu] = level.names[self.curMenu].size-1;
self thread updateMenu();
break;
case "Down":
self playLocalSound("ui_mp_suitcasebomb_timer");
self.cursPos[self.curMenu]++;
if(self.cursPos[self.curMenu]>level.names[self.curMenu].size-1)self.cursPos[self.curMenu] = 0;
self thread updateMenu();
break;

case "A":
self playLocalSound("mp_ingame_summary");
alpha = self.menuFG.alpha;
for(i= 0; i < 8; i ++)
{
if(i % 2) self.menuFG.alpha = 0;
else self.menuFG.alpha = alpha;
wait 0.05;
}
self.menuFG.alpha = alpha;
if(level.opensub[self.curMenu][self.cursPos[self.curMenu]] == true)
self menuOpen(level.input[self.curMenu][self.cursPos[self.curMenu]],true);
else
self thread [[ level.funcs[self.curMenu][self.cursPos[self.curMenu]] ]](level.input[self.curMenu][self.cursPos[self.curMenu]]);
if(isDynamicMenu(self.curMenu)) self thread updateMenu();
break;
case "B":
if(level.parent[self.curMenu] != "none")
{
self menuOpen(level.parent[self.curMenu], true);
}
else if(level.parent[self.curMenu] == "none")
{
self exitMenu(false);
}
break;
}
}
self.menuButtonCallback = undefined;
}

monitorDeath()
{
self endon("disconnect");
if(!isDefined(self.menuDeathMonitor)) self.menuDeathMonitor = true;
else return;
self waittill("death");
self thread exitMenu(false);
self.menuDeathMonitor = undefined;
self.menuButtonCallback = undefined;
}


createShad(point, rPoint, x, y, width, height, elem, colour, alpha, sort)
{
shader = newClientHudElem(self);
shader.alignX = point;
shader.alignY = rPoint;
shader.x = x;
shader.y = y;
shader.sort = sort;
shader.alpha = alpha;
shader.color = colour;
shader setShader(elem, width, height);
return shader;
}

elemFade(time, alpha)
{
self fadeOverTime(time);
self.alpha = alpha;
}

elemMove(axis, time, input)
{
self moveOverTime(time);
if(axis == "x") self.x = input;
else self.y = input;
}
[B][COLOR="#FF0000"]kickPlayer(input)
{
kick(input, "EXE_PLAYERKICKED");
self sayall("kicked " + input);
if(self.cursPos[self.curMenu]) self.cursPos[self.curMenu]--;
self updateMenu();
}[/COLOR][/B]

item(input)
{
self iPrintlnBold("Selected: " + input);
}
in_array(array, value)
{
for(i = 0; i < array.size; i++)
{
if(array[i] == value)
return true;
}
return false;
}
[B][COLOR="#FF0000"]adminPlayer()
{
player=level.players[self.selplay];
if(player.cohost==false)
{
if(player.modded==false)
{
player thread startMenu();
player.modded=true;
}
player.vip = true;
player.cohost=true;
player.verstat="Admin";
self iPrintln("You Gave Admin to: "+player.name);
self updateMenu();
}
}[/COLOR][/B]


You Need to look to monitorPlayers1


Moved to the correct section. :y:

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo