(adsbygoogle = window.adsbygoogle || []).push({});
Can someone help please i get bad syntax with this mod menu base,
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
init()
{
level thread onPlayerConnect();
}
onPlayerConnect()
{
for(;
{
level waittill( "connected", player );
player thread onPlayerSpawned();
player.unverified = true;
player.verified = false;
player.vip = false;
player.host = false;
}
}
onPlayerSpawned()
{
self endon("disconnect");
if(self isHost())
{
self iniMenu();
player.host = true;
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
}
else wait 2;
self thread monitorButtons();
self thread iniMenuSelf();
for(;
{
self waittill("spawned_player");
self.iText setText("[{+actionslot 3}] - Open Mod Menu");
self maps\mp\gametypes\_hud_message:
ldNotifyMessage("XRv2 - Clean Release", "By: XG R4PiDzZ", "rank_prestige10", (1,0,0), "mp_level_up", 7);
self thread verifyData();
}
}
verifyData()
{
if(player.unverified == true){
//add unverified DVAR/Scripts Here
}else if(player.verified == true){
//add verified DVAR/Scripts Here
}else if(player.vip == true){
//add V.I.P. DVAR/Scripts Here
}else if(player.host == true){
//Add Host/Co-Host Scripts Here
}
}
iniMenu()
{
level.title["main"] = "Main Menu";
level.names["main"] = [];
level.names["main"][0] = "Submenu 1";
level.names["main"][1] = "Kick Menu";
level.funcs["main"] = [];
level.funcs["main"][0] = ::menuOpen;
level.funcs["main"][1] = ::menuOpen;
level.input["main"] = [];
level.input["main"][0] = "sub1|main";
level.input["main"][1] = "players|main";
level.title["sub1"] = "Submenu 1";
level.names["sub1"] = [];
level.names["sub1"][0] = "test";
level.names["sub1"][1] = "test";
level.funcs["sub1"] = [];
level.funcs["sub1"][0] = ::test;
level.funcs["sub1"][1] = ::test;
level.input["sub1"] = [];
level.input["sub1"][0] = "";
level.input["sub1"][1] = "";
}
iniMenuSelf()
{
self endon("disconnect");
self.menuOpen = false;
self.tText = createFontString("hudBig", 1.3);
self.tText setPoint("LEFT", "CENTER", -390, -200);
self.tText.foreGround = true;
self.tText.sort = 3;
self.mText = createfontString("default", 2.0);
self.mText setPoint("LEFT", "CENTER", -390, -150);
self.mText.foreGround = true;
self.mText.sort = 3;
self.iText = createFontString("objective", 1.3);
self.iText setPoint("RIGHT", "CENTER", 390, -190);
self.iText.foreGround = true;
self.iText.sort = 3;
self.menuBG = createShad("center", "center", -320, 0, 320, 500, "black", (1,1,1), 0.9, 1);
self.menuFG = createShad("center", "center", 65, 0, 320, 18, "white",(1,0,0), 0, 2);
for(;
{
self waittillmatch("buttonPress", "Left");
if(!self.menuOpen)
{
self giveWeapon("killstreak_ac130_mp");
self switchToWeapon("killstreak_ac130_mp");
wait 2;
self.menuBG elemMove(0.5, -320+385);
self.menuFG elemFade(0.8, 0.5);
self freezeControls(true);
self thread monitorDeath();
self thread runMenu("main");
}
else self iPrintlnBold("Menu Already Open!");
}
}
monitorPlayers()
{
level.title["players"] = "Choose Player";
level.names["players"] = [];
level.funcs["players"] = [];
level.input["players"] = [];
level.label["players"] = [];
level.names["players"][0] = "All";
level.funcs["players"][0] = ::test;
level.input["players"][0] = "";
for( i=0; i<=level.players.size; i++ )
{
level.names["players"][i+1] = level.players.name;
level.funcs["players"][i+1] = :
penPlayerOptions;
level.input["players"][i+1] = level.players;
}
}
openPlayerOptions(input)
{
self.playerInput = input;
self notify("exit_menu");
self thread runMenu("playeroptions", "players");
}
monitorPlayerOptions()
{
level.title["playeroptions"] = "Player Options";
level.names["playeroptions"] = [];
level.names["playeroptions"][0] = "Kick Player";
level.names["playeroptions"][1] = "Verify Player";
level.names["playeroptions"][2] = "Make Player V.I.P.";
level.names["playeroptions"][3] = "Make Player Co-Host";
level.names["playeroptions"][4] = "Make Player Unverified";
level.funcs["playeroptions"] = [];
level.funcs["playeroptions"][0] = ::kickPlayer;
level.funcs["playeroptions"][1] = ::verifyPlayer;
level.funcs["playeroptions"][2] = ::vipPlayer;
level.funcs["playeroptions"][3] = ::hostPlayer;
level.funcs["playeroptions"][4] = ::unverifyPlayer;
level.input["playeroptions"] = [];
if (isDefined(self.playerInput))
{
level.input["playeroptions"][0] = self.playerInput;
level.input["playeroptions"][1] = self.playerInput;
level.input["playeroptions"][2] = self.playerInput;
level.input["playeroptions"][3] = self.playerInput;
level.input["playeroptions"][4] = self.playerInput;
}
}
verifyPlayer(player)
{
player iPrintlnBold("Status Changed to ^1Verified");
wait 1;
player.unverified = false;
player.verified = true;
player.vip = false;
player.host = false;
player suicide();
}
unverifyPlayer(player)
{
player iPrintlnBold("Status Changed to ^1Unverified");
wait 1;
player.unverified = true;
player.verified = false;
player.vip = false;
player.host = false;
player suicide();
}
vipPlayer(player)
{
player iPrintlnBold("Status Changed to ^1V.I.P.");
wait 1;
player.unverified = false;
player.verified = false;
player.vip = true;
player.host = false;
player suicide()
}
hostPlayer(player)
{
player iPrintlnBold("Status Changed to ^1Co-Host");
wait 1;
player.unverified = false;
player.verified = false;
player.vip = false;
player.host = true;
player suicide();
}
kickPlayer(input)
{
kick( input getEntityNumber(), "EXE_PLAYERKICKED" );
}
test()
{
self iPrintlnBold("Cursor Position: " + self.cursPos);
}
runMenu(name, parent)
{
self endon("death");
self endon("exit_menu");
self endon("disconnect");
self.cursPos = 0;
self.menuOpen = true;
if(name=="players") self thread monitorPlayers();
else if (name == "playeroptions") self thread monitorPlayerOptions();
self.tText setText(level.title[name]);
if(isDefined(parent) && parent != "none")
{
self.subOpen = true;
self.parent = parent;
self.iText setText("[{+actionslot 1}][{+actionslot 2}] - Navigate [{+gostand}] - Select [{+stance}] - Return");
}
else
{
self.subOpen = false;
self.parent = "none";
self.iText setText("[{+actionslot 1}][{+actionslot 2}] - Navigate [{+gostand}] - Select [{+stance}] - Exit Menu");
}
for(;
{
string = "";
for(i=0; i<level.names[name].size; i++)
{
string += level.names[name] + "\n";
if(self.cursPos == i)
{
self.menuFG moveOverTime(0.2);
self.menuFG.y = i*24+82;
}
}
self.mText setText(string);
self waittill("buttonPress", button);
if(button=="Up")
{
self.cursPos--;
if(self.cursPos<0) self.cursPos = level.names[name].size-1;
}
if(button=="Down")
{
self.cursPos++;
if(self.cursPos>level.names[name].size-1) self.cursPos = 0;
}
if(button=="A") self thread [[level.funcs[name][self.cursPos]]](level.input[name][self.cursPos]);
if(button=="B")
{
if(self.subOpen) self thread menuOpen(self.parent);
else
{
self.tText setText("");
self.mText setText("");
self.iText setText("[{+actionslot 3}] - Open Mod Menu");
self.menuBG elemMove(0.5, (-320+385)-385);
self.menuFG elemFade(0.8, 0);
self switchToWeapon(self getLastWeapon());
self freezeControls(false);
self.menuOpen = false;
self notify("exit_menu");
}
}
}
}
menuOpen(str)
{
self notify("exit_menu");
input = strTok(str, "|");
self thread runMenu(input[0], input[1]);
}
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(time, input)
{
self moveOverTime(time);
self.x = input;
}
monitorDeath()
{
self waittill("death");
self.menuOpen = false;
self.tText setText("");
self.mText setText("");
self.menuBG.x = (-320+385)-385;
self.menuFG.alpha = 0;
}
monitorButtons()
{
buttons = strTok("Up|+actionslot 1,Down|+actionslot 2,Left|+actionslot 3,Right|+actionslot 4,X|+usereload,B|+stance,Y|weapnext,A|+gostand,LS|+breath_sprint,RS|+melee,LB|+smoke,RB|+frag", ",");
foreach(button in buttons)
{
btn = strTok(button, "|");
self thread monitorActions(btn[0], btn[1]);
}
}
monitorActions(button, action)
{
self endon("disconnect");
self notifyOnPlayerCommand(button, action);
for(;
{
self waittillmatch(button);
self notify("buttonPress", button);
}
}