Post: Help me
07-02-2015, 01:21 AM #1
(adsbygoogle = window.adsbygoogle || []).push({}); my menu freezes my ps3 when i start the map, help

MENU
    
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_hud;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_globallogic;
#include maps\mp\gametypes\_hud_message;
#include maps\mp\gametypes\_weapons;
#include maps\mp\gametypes\_rank;



/*onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");

self.MenuInit = false;


for(;Winky Winky
{
self waittill("spawned_player");
if( self.status == "Host" || self.status == "Co-Host" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
{
if (!self.MenuInit)
{
self freezecontrols(false);
self iprintln("^5Welcome to ^2Vitruvius v1 ^5by MoDzTrolls");
self iprintln("^1[{+speed_throw}] + [{+attack}]^6 to Open");
self.MenuInit = true;
self thread MenuInit();
self thread closeMenuOnDeath();
self.menu.backgroundinfo1 = self drawShader(level.icontest, -400, -100, 1000, 1000, (0.04, 0.66, 0.89), 1, 0);
self.menu.backgroundinfo = self drawShader(level.icontest, 400, -100, 1000, 1000, (0.04, 0.66, 0.89), 1, 0);
self.menu.backgroundinfo.alpha = 0;
self.infos = self createFontString( "objective", 2);
self.infos setPoint( "LEFT", "LEFT", 180, -150 );
self.infos setText("");
self.infos.alpha = 0;
self.infos.foreground = true;
self.infos.archived = false;
}
}
else{ }
}
}*/

init()
{
level thread onplayerconnect();
}

onplayerconnect()
{
for(;Winky Winky
{
level waittill( "connecting", player );
if(player isHost())
player.status = "Host";
else
player.status = "Unverified";

player thread onplayerspawned();
}
}

onplayerspawned()
{
self endon( "disconnect" );
level endon( "game_ended" );

self.MenuInit = false;

for(;Winky Winky
{
self waittill( "spawned_player" );
if( self.status == "Host" || self.status == "CoHost" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
{
if (!self.MenuInit)
{
self.MenuInit = true;
self thread MenuInit();
self thread closeMenuOnDeath();
self iprintln("^5Welcome to ^2Vitruvius v1 ^5by MoDzTrolls");
self iprintln("^1[{+speed_throw}] + [{+melee}]^6 to Open");
}
}
}
}

drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort)
{
hud = self createFontString(font, fontScale);
hud setText(text);
hud.x = x;
hud.y = y;
hud.color = color;
hud.alpha = alpha;
hud.glowColor = glowColor;
hud.glowAlpha = glowAlpha;
hud.sort = sort;
hud.alpha = alpha;
return hud;
}

drawShader(shader, x, y, width, height, color, alpha, sort)
{
hud = newClientHudElem(self);
hud.elemtype = "icon";
hud.color = color;
hud.alpha = alpha;
hud.sort = sort;
hud.children = [];
hud setParent(level.uiParent);
hud setShader(shader, width, height);
hud.x = x;
hud.y = y;
return hud;
}

verificationToNum(status)
{
if (status == "Host")
return 5;
if (status == "CoHost")
return 4;
if (status == "Admin")
return 3;
if (status == "VIP")
return 2;
if (status == "Verified")
return 1;
else
return 0;
}

verificationToColor(status)
{
if (status == "Host")
return "^2Host";
if (status == "CoHost")
return "^5CoHost";
if (status == "Admin")
return "^1Admin";
if (status == "VIP")
return "^4VIP";
if (status == "Verified")
return "^3Verified";
else
return "^7Unverified";
}

changeVerificationMenu(player, verlevel)
{
if( player.status != verlevel)
{
player.status = verlevel;

self.menu.title destroy();
self.menu.title = drawText("[" + verificationToColor(player.status) + "^7] " + player.name, "objective", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;

if(player.status == "Unverified")
self thread destroyMenu(player);

player suicide();
self iPrintln("Set Access Level For " + player.name + " To " + verificationToColor(verlevel));
player iPrintln("Your Access Level Has Been Set To " + verificationToColor(verlevel));
}
else
{
self iPrintln("Access Level For " + player.name + " Is Already Set To " + verificationToColor(verlevel));
}
}

changeVerification(player, verlevel)
{
player.status = verlevel;
}

Iif(bool, rTrue, rFalse)
{
if(bool)
return rTrue;
else
return rFalse;
}

CreateMenu()
{
self add_menu("Main Menu", undefined, "Unverified");
self add_option("Main Menu", "Self Menu", ::submenu, "SubMenu1", "Self Mods");
self add_option("Main Menu", "Say Menu", ::submenu, "SubMenu2", "Say Mods");
self add_option("Main Menu", "Sub Menu 3", ::submenu, "SubMenu3", "Sub Menu 3");
self add_option("Main Menu", "Players", ::submenu, "PlayersMenu", "Players");

self add_menu("SubMenu1", "Main Menu", "Admin");
self add_option("SubMenu1", "God Mode", ::Toggle_God);
self add_option("SubMenu1", "Unlimited Ammo", ::Toggle_unlimitedammo);
self add_option("SubMenu1", "Multi Jump", ::Toggle_Multijump);
self add_option("SubMenu1", "Speed x2", ::Toggle_SpeedX2);
self add_option("SubMenu1", "Give Scorestreaks", ::GiveScorestreaks);
self add_option("SubMenu1", "Give Adv UAV", ::ToggleUAV2);
self add_option("SubMenu1", "All Perks", ::doPerks);
self add_option("SubMenu1", "Pro Mod", ::ToggleFOV);
self add_option("SubMenu1", "Change Class", ::ChangeClass);
self add_option("SubMenu1", "Invisible", ::Toggle_Hideeeeee);
self add_option("SubMenu1", "Teleport", ::doTeleport);

self add_menu("SubMenu2", "Main Menu", "VIP");
self add_option("SubMenu2", "Option 1");
self add_option("SubMenu2", "Option 2");
self add_option("SubMenu2", "Option 3");

self add_menu("SubMenu3", "Main Menu", "Verified");
self add_option("SubMenu3", "Option 1");
self add_option("SubMenu3", "Option 2");
self add_option("SubMenu3", "Option 3");

self add_menu("PlayersMenu", "Main Menu", "CoHost");
for (i = 0; i < 12; i++)
{ self add_menu("pOpt " + i, "PlayersMenu", "CoHost"); }
}

updatePlayersMenu()
{
self.menu.menucount["PlayersMenu"] = 0;
for (i = 0; i < 12; i++)
{
player = level.players[i];
name = player.name;

playersizefixed = level.players.size - 1;
if(self.menu.curs["PlayersMenu"] > playersizefixed)
{
self.menu.scrollerpos["PlayersMenu"] = playersizefixed;
self.menu.curs["PlayersMenu"] = playersizefixed;
}

self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + player.name, ::submenu, "pOpt " + i, "[" + verificationToColor(player.status) + "^7] " + player.name);

self add_menu_alt("pOpt " + i, "PlayersMenu");
self add_option("pOpt " + i, "Give CoHost", ::changeVerificationMenu, player, "CoHost");
self add_option("pOpt " + i, "Give Admin", ::changeVerificationMenu, player, "Admin");
self add_option("pOpt " + i, "Give VIP", ::changeVerificationMenu, player, "VIP");
self add_option("pOpt " + i, "Verify", ::changeVerificationMenu, player, "Verified");
self add_option("pOpt " + i, "Unverify", ::changeVerificationMenu, player, "Unverified");
}
}

add_menu_alt(Menu, prevmenu)
{
self.menu.getmenu[Menu] = Menu;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}

add_menu(Menu, prevmenu, status)
{
self.menu.status[Menu] = status;
self.menu.getmenu[Menu] = Menu;
self.menu.scrollerpos[Menu] = 0;
self.menu.curs[Menu] = 0;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}

add_option(Menu, Text, Func, arg1, arg2)
{
Menu = self.menu.getmenu[Menu];
Num = self.menu.menucount[Menu];
self.menu.menuopt[Menu][Num] = Text;
self.menu.menufunc[Menu][Num] = Func;
self.menu.menuinput[Menu][Num] = arg1;
self.menu.menuinput1[Menu][Num] = arg2;
self.menu.menucount[Menu] += 1;
}

openMenu()
{
self freezeControls( false );
self StoreText("Main Menu", "Main Menu");

self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0.65;

self.menu.line MoveOverTime(0.15);
self.menu.line.y = -50;

self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;
self.menu.open = true;
}

closeMenu()
{
for(i = 0; i < self.menu.opt.size; i++)
{
self.menu.opt[i] FadeOverTime(0.3);
self.menu.opt[i].alpha = 0;
}

self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0;

self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 0;

self.menu.line MoveOverTime(0.15);
self.menu.line.y = -550;

self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = -500;
self.menu.open = false;
}

destroyMenu(player)
{
player.MenuInit = false;
closeMenu();

wait 0.3;

for(i=0; i < self.menu.menuopt[player.menu.currentmenu].size; i++)
{ player.menu.opt[i] destroy(); }

player.menu.background destroy();
player.menu.scroller destroy();
player.menu.line destroy();
player.menu.title destroy();
player notify( "destroyMenu" );
}

closeMenuOnDeath()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
for (;Winky Winky
{
self waittill("death");
self.menu.closeondeath = true;
self submenu("Main Menu", "Main Menu");
closeMenu();
self.menu.closeondeath = false;
}
}

StoreShaders()
{
self.menu.background = self drawShader("white", 320, -50, 300, 500, (0.047, 0.968, 0.847), 0, 0);
self.menu.scroller = self drawShader("white", 320, -500, 300, 17, (0.047, 0.968, 0.172), 255, 1);
self.menu.line = self drawShader("white", 170, -550, 2, 500, (0.968, 0.047, 0.047), 255, 2);
}

StoreText(menu, title)
{
self.menu.currentmenu = menu;
self.menu.title destroy();
self.menu.title = drawText(title, "objective", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;

for(i=0; i < self.menu.menuopt[menu].size; i++)
{
self.menu.opt[i] destroy();
self.menu.opt[i] = drawText(self.menu.menuopt[menu][i], "objective", 1.6, 280, 68 + (i*20), (1, 1, 1), 0, (0, 0, 0), 0, 4);
self.menu.opt[i] FadeOverTime(0.3);
self.menu.opt[i].alpha = 1;
}
}

MenuInit()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");

self.menu = spawnstruct();
self.toggles = spawnstruct();

self.menu.open = false;

self StoreShaders();
self CreateMenu();

for(;Winky Winky
{
if(self MeleeButtonPressed() && self adsbuttonpressed() && !self.menu.open)
{
openMenu();
}
if(self.menu.open)
{
if(self usebuttonpressed())
{
if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
{
self submenu(self.menu.previousmenu[self.menu.currentmenu]);
}
else
{
closeMenu();
}
wait 0.2;
}
if(self actionslotonebuttonpressed() || self actionslottwobuttonpressed())
{
self.menu.curs[self.menu.currentmenu] += (Iif(self actionslottwobuttonpressed(), 1, -1));
self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));

self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;
}
if(self jumpbuttonpressed())
{
self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
wait 0.2;
}
}
wait 0.05;
}
}

submenu(input, title)
{
if (verificationToNum(self.status) >= verificationToNum(self.menu.status[input]))
{
for(i=0; i < self.menu.opt.size; i++)
{ self.menu.opt[i] destroy(); }

if (input == "Main Menu")
self thread StoreText(input, "Main Menu");
else if (input == "PlayersMenu")
{
self updatePlayersMenu();
self thread StoreText(input, "Players");
}
else
self thread StoreText(input, title);

self.CurMenu = input;

self.menu.scrollerpos[self.CurMenu] = self.menu.curs[self.CurMenu];
self.menu.curs[input] = self.menu.scrollerpos[input];

if (!self.menu.closeondeath)
{
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.CurMenu]].y+1;
}
}
else
{
self iPrintln("Only Players With ^1" + verificationToColor(self.menu.status[input]) + " ^7Can Access This Menu!");
}
}

/*
* Black Ops 2 - GSC Studio by iMCSx
*
* Name : Functions
* Description : Functions to the menu
* Date : 2015-07-02 - 02:47:09
*
*/

// Put your functions here

Toggle_God()
{
if(self.God==false)
{
self iPrintln("GodMod : ^2ON");
self enableInvulnerability();
self.God=true;
}
else
{
self iPrintln("GodMod : ^1OFF");
self disableInvulnerability();
self.God=false;
}
}

unlimited_ammo( )
{
self endon("stop_unlimitedammo");
for(;Winky Winky
{
wait 0.1;

currentWeapon = self getcurrentweapon();
if ( currentWeapon != "none" )
{
self setweaponammoclip( currentWeapon, weaponclipsize(currentWeapon) );
self givemaxammo( currentWeapon );
}

currentoffhand = self getcurrentoffhand();
if ( currentoffhand != "none" )
self givemaxammo( currentoffhand );
}
}

Toggle_unlimitedammo()
{
if(self.unlimitedammo==0)
{
self.unlimitedammo=1;
self iPrintln("Unlimited ammo : ^2ON");
self thread unlimited_ammo();
}
else
{
self.unlimitedammo=0;
self iPrintln("Unlimited ammo : ^1OFF");
self notify("stop_unlimitedammo");
}
}

typewritter(messagelel)
{
foreach(player in level.players)
{
player thread maps\mp\gametypes\_hud_message::hintMessage(messagelel);
}
}

Toggle_Multijump()
{
if(self.MultiJump==0)
{
self thread onPlayerMultijump();
self.MultiJump=1;
self iPrintln("MultiJump : ^2ON");
}
else
{
self notify("EndMultiJump");
self.MultiJump=0;
self iPrintln("MultiJump : ^1OFF");
}
}

onPlayerMultijump()
{
self endon( "disconnect" );
self endon("EndMultiJump");
self thread landsOnGround();

if(!isDefined(self.numOfMultijumps))
self.numOfMultijumps = 999;

for(;Winky Winky
{
currentNum = 0;

while(!self jumpbuttonpressed()) wait 0.05;
while(self jumpbuttonpressed()) wait 0.05;

if(getDvarFloat("jump_height") > 250)
continue;

if ( !isAlive( self ) )
{
self waittill("spawned_player");
continue;
}

if ( !self isOnGround() )
{
while( !self isOnGround() && isAlive( self ) && currentNum < self.numOfMultijumps)
{
waittillResult = self waittill_any_timeout( 0.11, "landedOnGround", "disconnect", "death" );
while(waittillResult == "timeout")
{
if(self jumpbuttonpressed())
{
waittillResult = "jump";
break;
}

waittillResult = self waittill_any_timeout( 0.05, "landedOnGround", "disconnect", "death" );
}

if(waittillResult == "jump" && !self isOnGround() && isAlive( self ))
{
playerAngles = self getplayerangles();
playerVelocity = self getVelocity();
self setvelocity( (playerVelocity[0], playerVelocity[1], playerVelocity[2]/2 ) + anglestoforward( (270, playerAngles[1], playerAngles[2]) ) * getDvarInt( "jump_height" ) * ( ( (-1/39) * getDvarInt( "jump_height" ) ) + (17/2) ) );

currentNum++;
while(self jumpbuttonpressed()) wait 0.05;
}
else
break;
}

while(!self isOnGround())
wait 0.05;
}
}
}

landsOnGround()
{
self endon( "disconnect" );
self endon("EndMultiJump");
loopResult = true;
for(;Winky Winky
{
wait 0.05;
newResult = self isOnGround();
if(newResult != loopResult)
{
if(!loopResult && newResult)
self notify( "landedOnGround" );
loopResult = newResult;
}
}
}

Toggle_SpeedX2()
{
if(self.SpeedX2==0)
{
self.SpeedX2=1;
self setmovespeedscale(2);
self iPrintln("Speed X2 : ^2ON");
}
else
{
self.SpeedX2=0;
self setmovespeedscale(1);
self iPrintln("Speed X2 : ^1OFF");
}
}

ChangeClass()
{
self endon("disconnect");

self iPrintln("^2Have Fun Changing class!");
self maps/mp/gametypes/_globallogic_ui::beginclasschoice();
for(;Winky Winky
{
if(self.pers[ "changed_class" ])
self maps/mp/gametypes/_class::giveloadout( self.team, self.class );
wait 0.05;
}
}

GiveScorestreaks()
{
self iPrintln("^2Scorestreaks Given");
maps/mp/gametypes/_globallogic_score::_setplayermomentum(self, 9999);
}

ToggleUAV2()
{
self iPrintln("ADVANCED UAV : ^2SET");
self maps\mp\killstreaks\_spyplane::callsatellite("radardirection_mp");
}

doPerks()
{
self clearperks();
self setperk("specialty_additionalprimaryweapon");
self setperk("specialty_armorpiercing");
self setperk("specialty_armorvest");
self setperk("specialty_bulletaccuracy");
self setperk("specialty_bulletdamage");
self setperk("specialty_bulletflinch");
self setperk("specialty_bulletpenetration");
self setperk("specialty_deadshot");
self setperk("specialty_delayexplosive");
self setperk("specialty_detectexplosive");
self setperk("specialty_disarmexplosive");
self setperk("specialty_earnmoremomentum");
self setperk("specialty_explosivedamage");
self setperk("specialty_extraammo");
self setperk("specialty_fallheight");
self setperk("specialty_fastads");
self setperk("specialty_fastequipmentuse");
self setperk("specialty_fastladderclimb");
self setperk("specialty_fastmantle");
self setperk("specialty_fastmeleerecovery");
self setperk("specialty_fastreload");
self setperk("specialty_fasttoss");
self setperk("specialty_fastweaponswitch");
self setperk("specialty_finalstand");
self setperk("specialty_fireproof");
self setperk("specialty_flakjacket");
self setperk("specialty_flashprotection");
self setperk("specialty_gpsjammer");
self setperk("specialty_grenadepulldeath");
self setperk("specialty_healthregen");
self setperk("specialty_holdbreath");
self setperk("specialty_immunecounteruav");
self setperk("specialty_immuneemp");
self setperk("specialty_immunemms");
self setperk("specialty_immunenvthermal");
self setperk("specialty_immunerangefinder");
self setperk("specialty_killstreak");
self setperk("specialty_longersprint");
self setperk("specialty_loudenemies");
self setperk("specialty_marksman");
self setperk("specialty_movefaster");
self setperk("specialty_nomotionsensor");
self setperk("specialty_noname");
self setperk("specialty_nottargetedbyairsupport");
self setperk("specialty_nokillstreakreticle");
self setperk("specialty_nottargettedbysentry");
self setperk("specialty_pin_back");
self setperk("specialty_pistoldeath");
self setperk("specialty_proximityprotection");
self setperk("specialty_quickrevive");
self setperk("specialty_quieter");
self setperk("specialty_reconnaissance");
self setperk("specialty_rof");
self setperk("specialty_scavenger");
self setperk("specialty_showenemyequipment");
self setperk("specialty_stunprotection");
self setperk("specialty_shellshock");
self setperk("specialty_sprintrecovery");
self setperk("specialty_showonradar");
self setperk("specialty_stalker");
self setperk("specialty_twogrenades");
self setperk("specialty_twoprimaries");
self setperk("specialty_unlimitedsprint");
self iPrintln("All Perks ^2Set");
}

ToggleFOV()
{
if (self isHost())
{
if(self.fov == true)
{
self iPrintln("FOV : ^2ON");
setDvar("cg_fov", "110");
self.fov = false;
}
else
{
self iPrintln("FOV : ^1OFF");
setDvar("cg_fov", "65");
self.fov = true;
}
}
else
{
self iPrintln("Sorry this mod is host only!");
}
}

Toggle_Hideeeeee()
{
if(self.Hideeeeee==0)
{
self.Hideeeeee=1;
self iPrintln("HIDE : ^2ON");
self hide();
}
else
{
self.Hideeeeee=0;
self iPrintln("HIDE : ^1OFF");
self show();
}
}

doTeleport()
{
self iPrintln("^2TELEPOOOOOORT MADAFAKAAAAAA!");
self beginLocationSelection( "map_mortar_selector" );
self.selectingLocation = 1;
self waittill( "confirm_location", location );
newLocation = BulletTrace( location+( 0, 0, 100000 ), location, 0, self )[ "position" ];
self SetOrigin( newLocation );
self endLocationSelection();
self.selectingLocation = undefined;
self iPrintLn("Teleported!");
}

forceHost()
{
if (self isHost())
{
if(self.fhost == false)
{
self.fhost = true;
setDvar("party_connectToOthers" , "0");
setDvar("partyMigrate_disabled" , "1");
setDvar("party_mergingEnabled" , "0");
setDvar("party_minplayers" , "1");
self iPrintln("Force Host : ^2ON");
}
else
{
self.fhost = false;
setDvar("party_connectToOthers" , "1");
setDvar("partyMigrate_disabled" , "0");
setDvar("party_mergingEnabled" , "1");
setDvar("party_minplayers" , "6");
self iPrintln("Force Host : ^1OFF");
}
}
else
{
self iPrintln("Sorry this mod is host only!");
}
}
(adsbygoogle = window.adsbygoogle || []).push({});
07-02-2015, 01:22 AM #2
i know this is the wrong section but someone please just help me! i cant finde whats wrong
07-02-2015, 01:34 AM #3
Devilemi
Can’t trickshot me!
well what i can do lol Badass
07-02-2015, 02:09 AM #4
Originally posted by devilemi View Post
well what i can do lol Badass


well i thought that someone thats good on making gsc menus that might could help
07-02-2015, 02:11 AM #5
Kam
Investor - Future Millionaire
Well, I don't know anything about coding but is this /*onPlayerSpawned() supposed to be there? Just the part that says /*? Because the rest of them say onPlayerSpawned(). I have no clue, I just gave it a shot.
07-02-2015, 02:27 AM #6
Originally posted by Kilam View Post
Well, I don't know anything about coding but is this /*onPlayerSpawned() supposed to be there? Just the part that says /*? Because the rest of them say onPlayerSpawned(). I have no clue, I just gave it a shot.


don't care about that, thats not the problem
07-02-2015, 02:28 AM #7
Kam
Investor - Future Millionaire
Originally posted by VadRe View Post
don't care about that, thats not the problem


Lol. I don't know anything about coding. I gave it a shot :(
07-02-2015, 04:23 PM #8
Vondy Supreme
< ^ > < ^ >
Originally posted by VadRe View Post
my menu freezes my ps3 when i start the map, help

MENU
    
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_hud;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_globallogic;
#include maps\mp\gametypes\_hud_message;
#include maps\mp\gametypes\_weapons;
#include maps\mp\gametypes\_rank;



/*onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");

self.MenuInit = false;


for(;Winky Winky
{
self waittill("spawned_player");
if( self.status == "Host" || self.status == "Co-Host" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
{
if (!self.MenuInit)
{
self freezecontrols(false);
self iprintln("^5Welcome to ^2Vitruvius v1 ^5by MoDzTrolls");
self iprintln("^1[{+speed_throw}] + [{+attack}]^6 to Open");
self.MenuInit = true;
self thread MenuInit();
self thread closeMenuOnDeath();
self.menu.backgroundinfo1 = self drawShader(level.icontest, -400, -100, 1000, 1000, (0.04, 0.66, 0.89), 1, 0);
self.menu.backgroundinfo = self drawShader(level.icontest, 400, -100, 1000, 1000, (0.04, 0.66, 0.89), 1, 0);
self.menu.backgroundinfo.alpha = 0;
self.infos = self createFontString( "objective", 2);
self.infos setPoint( "LEFT", "LEFT", 180, -150 );
self.infos setText("");
self.infos.alpha = 0;
self.infos.foreground = true;
self.infos.archived = false;
}
}
else{ }
}
}*/

init()
{
level thread onplayerconnect();
}

onplayerconnect()
{
for(;Winky Winky
{
level waittill( "connecting", player );
if(player isHost())
player.status = "Host";
else
player.status = "Unverified";

player thread onplayerspawned();
}
}

onplayerspawned()
{
self endon( "disconnect" );
level endon( "game_ended" );

self.MenuInit = false;

for(;Winky Winky
{
self waittill( "spawned_player" );
if( self.status == "Host" || self.status == "CoHost" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
{
if (!self.MenuInit)
{
self.MenuInit = true;
self thread MenuInit();
self thread closeMenuOnDeath();
self iprintln("^5Welcome to ^2Vitruvius v1 ^5by MoDzTrolls");
self iprintln("^1[{+speed_throw}] + [{+melee}]^6 to Open");
}
}
}
}

drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort)
{
hud = self createFontString(font, fontScale);
hud setText(text);
hud.x = x;
hud.y = y;
hud.color = color;
hud.alpha = alpha;
hud.glowColor = glowColor;
hud.glowAlpha = glowAlpha;
hud.sort = sort;
hud.alpha = alpha;
return hud;
}

drawShader(shader, x, y, width, height, color, alpha, sort)
{
hud = newClientHudElem(self);
hud.elemtype = "icon";
hud.color = color;
hud.alpha = alpha;
hud.sort = sort;
hud.children = [];
hud setParent(level.uiParent);
hud setShader(shader, width, height);
hud.x = x;
hud.y = y;
return hud;
}

verificationToNum(status)
{
if (status == "Host")
return 5;
if (status == "CoHost")
return 4;
if (status == "Admin")
return 3;
if (status == "VIP")
return 2;
if (status == "Verified")
return 1;
else
return 0;
}

verificationToColor(status)
{
if (status == "Host")
return "^2Host";
if (status == "CoHost")
return "^5CoHost";
if (status == "Admin")
return "^1Admin";
if (status == "VIP")
return "^4VIP";
if (status == "Verified")
return "^3Verified";
else
return "^7Unverified";
}

changeVerificationMenu(player, verlevel)
{
if( player.status != verlevel)
{
player.status = verlevel;

self.menu.title destroy();
self.menu.title = drawText("[" + verificationToColor(player.status) + "^7] " + player.name, "objective", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;

if(player.status == "Unverified")
self thread destroyMenu(player);

player suicide();
self iPrintln("Set Access Level For " + player.name + " To " + verificationToColor(verlevel));
player iPrintln("Your Access Level Has Been Set To " + verificationToColor(verlevel));
}
else
{
self iPrintln("Access Level For " + player.name + " Is Already Set To " + verificationToColor(verlevel));
}
}

changeVerification(player, verlevel)
{
player.status = verlevel;
}

Iif(bool, rTrue, rFalse)
{
if(bool)
return rTrue;
else
return rFalse;
}

CreateMenu()
{
self add_menu("Main Menu", undefined, "Unverified");
self add_option("Main Menu", "Self Menu", ::submenu, "SubMenu1", "Self Mods");
self add_option("Main Menu", "Say Menu", ::submenu, "SubMenu2", "Say Mods");
self add_option("Main Menu", "Sub Menu 3", ::submenu, "SubMenu3", "Sub Menu 3");
self add_option("Main Menu", "Players", ::submenu, "PlayersMenu", "Players");

self add_menu("SubMenu1", "Main Menu", "Admin");
self add_option("SubMenu1", "God Mode", ::Toggle_God);
self add_option("SubMenu1", "Unlimited Ammo", ::Toggle_unlimitedammo);
self add_option("SubMenu1", "Multi Jump", ::Toggle_Multijump);
self add_option("SubMenu1", "Speed x2", ::Toggle_SpeedX2);
self add_option("SubMenu1", "Give Scorestreaks", ::GiveScorestreaks);
self add_option("SubMenu1", "Give Adv UAV", ::ToggleUAV2);
self add_option("SubMenu1", "All Perks", ::doPerks);
self add_option("SubMenu1", "Pro Mod", ::ToggleFOV);
self add_option("SubMenu1", "Change Class", ::ChangeClass);
self add_option("SubMenu1", "Invisible", ::Toggle_Hideeeeee);
self add_option("SubMenu1", "Teleport", ::doTeleport);

self add_menu("SubMenu2", "Main Menu", "VIP");
self add_option("SubMenu2", "Option 1");
self add_option("SubMenu2", "Option 2");
self add_option("SubMenu2", "Option 3");

self add_menu("SubMenu3", "Main Menu", "Verified");
self add_option("SubMenu3", "Option 1");
self add_option("SubMenu3", "Option 2");
self add_option("SubMenu3", "Option 3");

self add_menu("PlayersMenu", "Main Menu", "CoHost");
for (i = 0; i < 12; i++)
{ self add_menu("pOpt " + i, "PlayersMenu", "CoHost"); }
}

updatePlayersMenu()
{
self.menu.menucount["PlayersMenu"] = 0;
for (i = 0; i < 12; i++)
{
player = level.players[i];
name = player.name;

playersizefixed = level.players.size - 1;
if(self.menu.curs["PlayersMenu"] > playersizefixed)
{
self.menu.scrollerpos["PlayersMenu"] = playersizefixed;
self.menu.curs["PlayersMenu"] = playersizefixed;
}

self add_option("PlayersMenu", "[" + verificationToColor(player.status) + "^7] " + player.name, ::submenu, "pOpt " + i, "[" + verificationToColor(player.status) + "^7] " + player.name);

self add_menu_alt("pOpt " + i, "PlayersMenu");
self add_option("pOpt " + i, "Give CoHost", ::changeVerificationMenu, player, "CoHost");
self add_option("pOpt " + i, "Give Admin", ::changeVerificationMenu, player, "Admin");
self add_option("pOpt " + i, "Give VIP", ::changeVerificationMenu, player, "VIP");
self add_option("pOpt " + i, "Verify", ::changeVerificationMenu, player, "Verified");
self add_option("pOpt " + i, "Unverify", ::changeVerificationMenu, player, "Unverified");
}
}

add_menu_alt(Menu, prevmenu)
{
self.menu.getmenu[Menu] = Menu;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}

add_menu(Menu, prevmenu, status)
{
self.menu.status[Menu] = status;
self.menu.getmenu[Menu] = Menu;
self.menu.scrollerpos[Menu] = 0;
self.menu.curs[Menu] = 0;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}

add_option(Menu, Text, Func, arg1, arg2)
{
Menu = self.menu.getmenu[Menu];
Num = self.menu.menucount[Menu];
self.menu.menuopt[Menu][Num] = Text;
self.menu.menufunc[Menu][Num] = Func;
self.menu.menuinput[Menu][Num] = arg1;
self.menu.menuinput1[Menu][Num] = arg2;
self.menu.menucount[Menu] += 1;
}

openMenu()
{
self freezeControls( false );
self StoreText("Main Menu", "Main Menu");

self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0.65;

self.menu.line MoveOverTime(0.15);
self.menu.line.y = -50;

self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;
self.menu.open = true;
}

closeMenu()
{
for(i = 0; i < self.menu.opt.size; i++)
{
self.menu.opt[i] FadeOverTime(0.3);
self.menu.opt[i].alpha = 0;
}

self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0;

self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 0;

self.menu.line MoveOverTime(0.15);
self.menu.line.y = -550;

self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = -500;
self.menu.open = false;
}

destroyMenu(player)
{
player.MenuInit = false;
closeMenu();

wait 0.3;

for(i=0; i < self.menu.menuopt[player.menu.currentmenu].size; i++)
{ player.menu.opt[i] destroy(); }

player.menu.background destroy();
player.menu.scroller destroy();
player.menu.line destroy();
player.menu.title destroy();
player notify( "destroyMenu" );
}

closeMenuOnDeath()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
for (;Winky Winky
{
self waittill("death");
self.menu.closeondeath = true;
self submenu("Main Menu", "Main Menu");
closeMenu();
self.menu.closeondeath = false;
}
}

StoreShaders()
{
self.menu.background = self drawShader("white", 320, -50, 300, 500, (0.047, 0.968, 0.847), 0, 0);
self.menu.scroller = self drawShader("white", 320, -500, 300, 17, (0.047, 0.968, 0.172), 255, 1);
self.menu.line = self drawShader("white", 170, -550, 2, 500, (0.968, 0.047, 0.047), 255, 2);
}

StoreText(menu, title)
{
self.menu.currentmenu = menu;
self.menu.title destroy();
self.menu.title = drawText(title, "objective", 2, 280, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;

for(i=0; i < self.menu.menuopt[menu].size; i++)
{
self.menu.opt[i] destroy();
self.menu.opt[i] = drawText(self.menu.menuopt[menu][i], "objective", 1.6, 280, 68 + (i*20), (1, 1, 1), 0, (0, 0, 0), 0, 4);
self.menu.opt[i] FadeOverTime(0.3);
self.menu.opt[i].alpha = 1;
}
}

MenuInit()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");

self.menu = spawnstruct();
self.toggles = spawnstruct();

self.menu.open = false;

self StoreShaders();
self CreateMenu();

for(;Winky Winky
{
if(self MeleeButtonPressed() && self adsbuttonpressed() && !self.menu.open)
{
openMenu();
}
if(self.menu.open)
{
if(self usebuttonpressed())
{
if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
{
self submenu(self.menu.previousmenu[self.menu.currentmenu]);
}
else
{
closeMenu();
}
wait 0.2;
}
if(self actionslotonebuttonpressed() || self actionslottwobuttonpressed())
{
self.menu.curs[self.menu.currentmenu] += (Iif(self actionslottwobuttonpressed(), 1, -1));
self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));

self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.menu.currentmenu]].y+1;
}
if(self jumpbuttonpressed())
{
self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
wait 0.2;
}
}
wait 0.05;
}
}

submenu(input, title)
{
if (verificationToNum(self.status) >= verificationToNum(self.menu.status[input]))
{
for(i=0; i < self.menu.opt.size; i++)
{ self.menu.opt[i] destroy(); }

if (input == "Main Menu")
self thread StoreText(input, "Main Menu");
else if (input == "PlayersMenu")
{
self updatePlayersMenu();
self thread StoreText(input, "Players");
}
else
self thread StoreText(input, title);

self.CurMenu = input;

self.menu.scrollerpos[self.CurMenu] = self.menu.curs[self.CurMenu];
self.menu.curs[input] = self.menu.scrollerpos[input];

if (!self.menu.closeondeath)
{
self.menu.scroller MoveOverTime(0.15);
self.menu.scroller.y = self.menu.opt[self.menu.curs[self.CurMenu]].y+1;
}
}
else
{
self iPrintln("Only Players With ^1" + verificationToColor(self.menu.status[input]) + " ^7Can Access This Menu!");
}
}

/*
* Black Ops 2 - GSC Studio by iMCSx
*
* Name : Functions
* Description : Functions to the menu
* Date : 2015-07-02 - 02:47:09
*
*/

// Put your functions here

Toggle_God()
{
if(self.God==false)
{
self iPrintln("GodMod : ^2ON");
self enableInvulnerability();
self.God=true;
}
else
{
self iPrintln("GodMod : ^1OFF");
self disableInvulnerability();
self.God=false;
}
}

unlimited_ammo( )
{
self endon("stop_unlimitedammo");
for(;Winky Winky
{
wait 0.1;

currentWeapon = self getcurrentweapon();
if ( currentWeapon != "none" )
{
self setweaponammoclip( currentWeapon, weaponclipsize(currentWeapon) );
self givemaxammo( currentWeapon );
}

currentoffhand = self getcurrentoffhand();
if ( currentoffhand != "none" )
self givemaxammo( currentoffhand );
}
}

Toggle_unlimitedammo()
{
if(self.unlimitedammo==0)
{
self.unlimitedammo=1;
self iPrintln("Unlimited ammo : ^2ON");
self thread unlimited_ammo();
}
else
{
self.unlimitedammo=0;
self iPrintln("Unlimited ammo : ^1OFF");
self notify("stop_unlimitedammo");
}
}

typewritter(messagelel)
{
foreach(player in level.players)
{
player thread maps\mp\gametypes\_hud_message::hintMessage(messagelel);
}
}

Toggle_Multijump()
{
if(self.MultiJump==0)
{
self thread onPlayerMultijump();
self.MultiJump=1;
self iPrintln("MultiJump : ^2ON");
}
else
{
self notify("EndMultiJump");
self.MultiJump=0;
self iPrintln("MultiJump : ^1OFF");
}
}

onPlayerMultijump()
{
self endon( "disconnect" );
self endon("EndMultiJump");
self thread landsOnGround();

if(!isDefined(self.numOfMultijumps))
self.numOfMultijumps = 999;

for(;Winky Winky
{
currentNum = 0;

while(!self jumpbuttonpressed()) wait 0.05;
while(self jumpbuttonpressed()) wait 0.05;

if(getDvarFloat("jump_height") > 250)
continue;

if ( !isAlive( self ) )
{
self waittill("spawned_player");
continue;
}

if ( !self isOnGround() )
{
while( !self isOnGround() && isAlive( self ) && currentNum < self.numOfMultijumps)
{
waittillResult = self waittill_any_timeout( 0.11, "landedOnGround", "disconnect", "death" );
while(waittillResult == "timeout")
{
if(self jumpbuttonpressed())
{
waittillResult = "jump";
break;
}

waittillResult = self waittill_any_timeout( 0.05, "landedOnGround", "disconnect", "death" );
}

if(waittillResult == "jump" && !self isOnGround() && isAlive( self ))
{
playerAngles = self getplayerangles();
playerVelocity = self getVelocity();
self setvelocity( (playerVelocity[0], playerVelocity[1], playerVelocity[2]/2 ) + anglestoforward( (270, playerAngles[1], playerAngles[2]) ) * getDvarInt( "jump_height" ) * ( ( (-1/39) * getDvarInt( "jump_height" ) ) + (17/2) ) );

currentNum++;
while(self jumpbuttonpressed()) wait 0.05;
}
else
break;
}

while(!self isOnGround())
wait 0.05;
}
}
}

landsOnGround()
{
self endon( "disconnect" );
self endon("EndMultiJump");
loopResult = true;
for(;Winky Winky
{
wait 0.05;
newResult = self isOnGround();
if(newResult != loopResult)
{
if(!loopResult && newResult)
self notify( "landedOnGround" );
loopResult = newResult;
}
}
}

Toggle_SpeedX2()
{
if(self.SpeedX2==0)
{
self.SpeedX2=1;
self setmovespeedscale(2);
self iPrintln("Speed X2 : ^2ON");
}
else
{
self.SpeedX2=0;
self setmovespeedscale(1);
self iPrintln("Speed X2 : ^1OFF");
}
}

ChangeClass()
{
self endon("disconnect");

self iPrintln("^2Have Fun Changing class!");
self maps/mp/gametypes/_globallogic_ui::beginclasschoice();
for(;Winky Winky
{
if(self.pers[ "changed_class" ])
self maps/mp/gametypes/_class::giveloadout( self.team, self.class );
wait 0.05;
}
}

GiveScorestreaks()
{
self iPrintln("^2Scorestreaks Given");
maps/mp/gametypes/_globallogic_score::_setplayermomentum(self, 9999);
}

ToggleUAV2()
{
self iPrintln("ADVANCED UAV : ^2SET");
self maps\mp\killstreaks\_spyplane::callsatellite("radardirection_mp");
}

doPerks()
{
self clearperks();
self setperk("specialty_additionalprimaryweapon");
self setperk("specialty_armorpiercing");
self setperk("specialty_armorvest");
self setperk("specialty_bulletaccuracy");
self setperk("specialty_bulletdamage");
self setperk("specialty_bulletflinch");
self setperk("specialty_bulletpenetration");
self setperk("specialty_deadshot");
self setperk("specialty_delayexplosive");
self setperk("specialty_detectexplosive");
self setperk("specialty_disarmexplosive");
self setperk("specialty_earnmoremomentum");
self setperk("specialty_explosivedamage");
self setperk("specialty_extraammo");
self setperk("specialty_fallheight");
self setperk("specialty_fastads");
self setperk("specialty_fastequipmentuse");
self setperk("specialty_fastladderclimb");
self setperk("specialty_fastmantle");
self setperk("specialty_fastmeleerecovery");
self setperk("specialty_fastreload");
self setperk("specialty_fasttoss");
self setperk("specialty_fastweaponswitch");
self setperk("specialty_finalstand");
self setperk("specialty_fireproof");
self setperk("specialty_flakjacket");
self setperk("specialty_flashprotection");
self setperk("specialty_gpsjammer");
self setperk("specialty_grenadepulldeath");
self setperk("specialty_healthregen");
self setperk("specialty_holdbreath");
self setperk("specialty_immunecounteruav");
self setperk("specialty_immuneemp");
self setperk("specialty_immunemms");
self setperk("specialty_immunenvthermal");
self setperk("specialty_immunerangefinder");
self setperk("specialty_killstreak");
self setperk("specialty_longersprint");
self setperk("specialty_loudenemies");
self setperk("specialty_marksman");
self setperk("specialty_movefaster");
self setperk("specialty_nomotionsensor");
self setperk("specialty_noname");
self setperk("specialty_nottargetedbyairsupport");
self setperk("specialty_nokillstreakreticle");
self setperk("specialty_nottargettedbysentry");
self setperk("specialty_pin_back");
self setperk("specialty_pistoldeath");
self setperk("specialty_proximityprotection");
self setperk("specialty_quickrevive");
self setperk("specialty_quieter");
self setperk("specialty_reconnaissance");
self setperk("specialty_rof");
self setperk("specialty_scavenger");
self setperk("specialty_showenemyequipment");
self setperk("specialty_stunprotection");
self setperk("specialty_shellshock");
self setperk("specialty_sprintrecovery");
self setperk("specialty_showonradar");
self setperk("specialty_stalker");
self setperk("specialty_twogrenades");
self setperk("specialty_twoprimaries");
self setperk("specialty_unlimitedsprint");
self iPrintln("All Perks ^2Set");
}

ToggleFOV()
{
if (self isHost())
{
if(self.fov == true)
{
self iPrintln("FOV : ^2ON");
setDvar("cg_fov", "110");
self.fov = false;
}
else
{
self iPrintln("FOV : ^1OFF");
setDvar("cg_fov", "65");
self.fov = true;
}
}
else
{
self iPrintln("Sorry this mod is host only!");
}
}

Toggle_Hideeeeee()
{
if(self.Hideeeeee==0)
{
self.Hideeeeee=1;
self iPrintln("HIDE : ^2ON");
self hide();
}
else
{
self.Hideeeeee=0;
self iPrintln("HIDE : ^1OFF");
self show();
}
}

doTeleport()
{
self iPrintln("^2TELEPOOOOOORT MADAFAKAAAAAA!");
self beginLocationSelection( "map_mortar_selector" );
self.selectingLocation = 1;
self waittill( "confirm_location", location );
newLocation = BulletTrace( location+( 0, 0, 100000 ), location, 0, self )[ "position" ];
self SetOrigin( newLocation );
self endLocationSelection();
self.selectingLocation = undefined;
self iPrintLn("Teleported!");
}

forceHost()
{
if (self isHost())
{
if(self.fhost == false)
{
self.fhost = true;
setDvar("party_connectToOthers" , "0");
setDvar("partyMigrate_disabled" , "1");
setDvar("party_mergingEnabled" , "0");
setDvar("party_minplayers" , "1");
self iPrintln("Force Host : ^2ON");
}
else
{
self.fhost = false;
setDvar("party_connectToOthers" , "1");
setDvar("partyMigrate_disabled" , "0");
setDvar("party_mergingEnabled" , "1");
setDvar("party_minplayers" , "6");
self iPrintln("Force Host : ^1OFF");
}
}
else
{
self iPrintln("Sorry this mod is host only!");
}
}



All of those "Option 1" and "Option 2" 's don't have a function...
Make them like this:
self add_option("< submenu >", "Option 1", ::test);



Then add this function into your menu:

test()
{
self iprintln("Working");
}

The following user thanked Vondy Supreme for this useful post:

racecarxx

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo