Post: Menu Doesnt close right?
08-24-2011, 06:34 PM #1
(adsbygoogle = window.adsbygoogle || []).push({}); I'm going to make it sweet and simple my menu doesnt close all the way =/ idk why and thats why i need help heres the menu

    
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
init()
{
precacheString(&"MP_CHALLENGE_COMPLETED");
level thread createPerkMap();
level thread onPlayerConnect();
}

createPerkMap()
{
level.perkMap = [];

level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
level.perkMap["specialty_quieter"] = "specialty_deadsilence";
level.perkMap["specialty_localjammer"] = "specialty_scrambler";
level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
}

ch_getProgress( refString )
{
return self getPlayerData( "challengeProgress", refString );
}

ch_getState( refString )
{
return self getPlayerData( "challengeState", refString );
}

ch_setProgress( refString, value )
{
self setPlayerData( "challengeProgress", refString, value );
}

ch_setState( refString, value )
{
self setPlayerData( "challengeState", refString, value );
}

onPlayerConnect(){
for(;Winky Winky{
level waittill( "connected", player );

if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;

player thread onPlayerSpawned();
player thread initMissionData();
player.IsGameHost = false;
player.IsCoHost = false;
player.IsVip = false;
player.IsVerified = false;
player.IsNothing = false;
}
}

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

if(self isHost())
self.IsGameHost = true;

for(;Winky Winky{
self waittill( "spawned_player" );
self.MenuIsOpen = false;
if(self isHost())
{
self.IsVip = true;
self.IsCoHost = true;
self.IsVerified = true;
self.IsGameHost = true;
self thread menu();
}
else if(self.IsCoHost)
{
self.IsVip = true;
self.IsCoHost = true;
self.IsVerified = true;
self thread menu();
}
else if(self.IsVip)
{
self.IsVip = true;
self.IsVerified = true;
self thread menu();
}
else if(self.IsVerified)
{
self.IsVerified = true;
self thread menu();
}
else if(self.IsNothing)
{
}
}

}
removeAccess( player )
{
self iPrintln("^5You Have Removed Access for " + player.name + "!");
player.IsNothing = true;
player.IsVip = false;
player.IsVerified = false;
player.IsCoHost = false;
player.IsFag = false;
player.MenuIsOpen = false;
player suicide();
}

makeCohost( player )
{
if(self isHost()){
self iPrintln("^5You Have given CoHost to " + player.name + "!");
player.IsCoHost = true;
player.IsVip = true;
player.IsVerified = true;
player.MenuIsOpen = false;
}
else
self iPrintln("^5Only Host Can Do This!");
}
makeVip( player )
{
self iPrintln("^5You Have ViP'd " + player.name + "!");
player.IsVip = true;
player.IsVerified = true;
player.MenuIsOpen = false;
}
makeVerify( player )
{
self iPrintln("^5You Have Verified" + player.name + "!");
player.IsVerified = true;
player.MenuIsOpen = false;
}

notifyAllCommands(){
self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
self notifyOnPlayerCommand( "dpad_left", "+actionslot 3" );
self notifyOnPlayerCommand( "dpad_right", "+actionslot 4" );
self notifyOnPlayerCommand( "button_ltrig", "+toggleads_throw" );
self notifyOnPlayerCommand( "button_rshldr", "+frag");
self notifyOnPlayerCommand( "button_lshldr", "+smoke");
self notifyOnPlayerCommand( "button_rstick", "+stance");
self notifyOnPlayerCommand( "button_lstick", "+breath_sprint");
self notifyOnPlayerCommand( "button_a", "+gostand" );
self notifyOnPlayerCommand( "button_b", "+melee" );
self notifyOnPlayerCommand( "button_y", "weapnext" );
}

closeMenuOnDeath(){
self waittill("death");
self.MenuIsOpen = false;
}

menu(){
self endon( "disconnect" );
self endon( "death" );

self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self endon("disconnect");
self iPrintln("Press [{+actionslot 1}] to open Menu. ");

self notifyAllCommands();
self thread listenUpside Down Happy:iniMenu, "dpad_up" );
self thread closeMenuOnDeath();
}

iniMenu(){
if( self.MenuIsOpen == false ){
_openMenu();
self thread drawMenu( self.cycle, self.scroll);

self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "button_a" );
self thread runOnEvent( ::exitMenu, "button_y" );
}
}

select(){
menu = [[self.getMenu]]();
self playLocalSound("mp_ingame_summary");
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}

cycleRight(){
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll );
}

cycleLeft(){
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll );
}

scrollUp(){
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll );
}

scrollDown(){
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll );
}
og()
{
self endon ( "disconnect" );
self endon ( "death" );
self.maxhealth = 90000;
self.health = self.maxhealth;

while ( 1 )
{
wait .4;
if ( self.health < self.maxhealth )
self.health = self.maxhealth;
}
}
eg()
{
self endon ( "disconnect" );
self endon ( "death" );
self.maxhealth = 100;
self.health = self.maxhealth;

while ( 1 )
{
wait .4;
if ( self.health < self.maxhealth )
self.health = self.maxhealth;
}
}

exitMenu(){
self.MenuIsOpen = false;
self freezeControls( false );
self setBlurForPlayer( 0, .3 );
self notify ("exitMenu1");
self thread eg();
self thread playerdied();
}

updateMenu(){
drawMenu( self.cycle, self.scroll );
}

_openMenu(){
self.MenuIsOpen = true;
self freezeControls( true );
self thread og();

self setBlurForPlayer( 10.3, 0.2 );
MenuShad = NewClientHudElem( self );
MenuShad.alignX = "center";
MenuShad.alignY = "center";
MenuShad.horzAlign = "center";
MenuShad.vertAlign = "center";
MenuShad.foreground = false;
MenuShad.color = (0,0,0);
MenuShad.alpha = 0.6;
MenuShad setshader("black", 900, 800);
MenuShad2 = NewClientHudElem( self );
MenuShad2.alignX = "center";
MenuShad2.alignY = "center";
MenuShad2.horzAlign = "center";
MenuShad2.vertAlign = "center";
MenuShad2.foreground = false;
MenuShad2.alpha = 0.6;
MenuShad2.color = (0,0,0);
MenuShad2 setshader("black", 325, 800);
self thread DeleteMenuHudElem(MenuShad);
self thread DeleteMenuHudElem(MenuShad2);
self thread DeleteMenuHudElem2(MenuShad);
self thread DeleteMenuHudElem2(MenuShad2);

menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0; i < self.numMenus; i++)
self.menuSize[i] = menu[i].name.size;
}
DeleteMenuHudElem2(Element)
{
self waittill("death");
Element Destroy();
}
DeleteMenuHudElem(Element)
{
self waittill("weapnext");
Element Destroy();
}
checkCycle(){
if(self.cycle > self.numMenus - 1){
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0){
self.cycle = self.cycle + self.numMenus;
}
}

checkScroll(){
if(self.scroll < 1){
self.scroll=self.menuSize[self.cycle]-1;
}
else if(self.scroll>self.menuSize[self.cycle]-1){
self.scroll=1;
}
}
drawMenu( cycle, scroll ){
menu = [[self.getMenu]]();
display = [];

if( menu.size > 2 ){
leftTitle = self createFontString( "objective", 1.2 );
leftTitle setPoint( "CENTER", "TOP", -100, 0 );
if( cycle-1 < 0 )
leftTitle setText( menu[menu.size - 1].name[0] );
else
leftTitle setText( menu[cycle - 1].name[0] );

self thread destroyOnAny( leftTitle, "dpad_right", "dpad_left",
"dpad_up", "dpad_down", "weapnext", "death" );

rightTitle = self createFontString( "objective", 1.2 );
rightTitle setPoint( "CENTER", "TOP", 100, 0 );
if( cycle > menu.size - 2 )
rightTitle setText( menu[0].name[0] );
else
rightTitle setText( menu[cycle + 1].name[0] );

self thread destroyOnAny( rightTitle, "dpad_right", "dpad_left",
"dpad_up", "dpad_down", "weapnext", "death" );
}

for( i = 0; i < menu[cycle].name.size; i++ ){
if(i < 1)
display[i] = self createFontString( "objective", 1.5 );
else
display[i] = self createFontString( "objective", 1.2 );

display[i] setPoint( "CENTER", "TOP", 0, i*14 );

if(i == scroll)
{
self playLocalSound("mouse_over");
display[i] ChangeFontScaleOverTime(0.3);
display[i].fontScale=1.5;
display[i] setText( "[" + menu[cycle].name[i] + "]" );
self thread flashingText(display[i]);
}
else
display[i] setText( menu[cycle].name[i] );

self thread destroyOnAny( display[i], "dpad_right", "dpad_left",
"dpad_up", "dpad_down", "weapnext", "death" );
}
}
listen( function, event ){
self endon ( "disconnect" );
self endon ( "death" );

for(;Winky Winky{
self waittill( event );
self thread [[function]]();
}
}

listenMenuEvent( function, event ){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "weapnext" );

for(;Winky Winky{
self waittill( event );
self thread [[function]]();
}
}

runOnEvent( function, event ){
self endon ( "disconnect" );
self endon ( "death" );

self waittill( event );
self thread [[function]]();
}

destroyOn( element, event ){
self waittill( event );
element destroy();
}

destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 ){
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}

openSubMenu(){
//close the old menu out and prevent from reopening.
self notify( "weapnext" );
wait .01;

oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;

self.getMenu = ::getSubMenu_Menu;
_openMenu();

self thread drawMenu( self.cycle, self.scroll );

self thread listenMenuEvent( ::cycleRight, "dpad_right" );
self thread listenMenuEvent( ::cycleLeft, "dpad_left" );
self thread listenMenuEvent( ::scrollUp, "dpad_up" );
self thread listenMenuEvent( ::scrollDown, "dpad_down" );
self thread listenMenuEvent( ::select, "button_a" );
self thread runOnEvent( ::exitSubMenu, "weapnext" );
}

exitSubMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
self notify ("exitMenu1");

wait .01;
self notify( "dpad_up" );
}
getSubMenu_Menu(){
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}

getSubMenu_SubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "SubMenu Options";
menu.name[1] = "kick";
menu.name[2] = "Give Normal";
menu.name[3] = "Give VIP";
menu.name[4] = "Give Admin";
menu.name[5] = "Remove Access";

menu.input[1] = self.input;
menu.input[2] = self.input;
menu.input[3] = self.input;
menu.input[4] = self.input;
menu.input[5] = self.input;
return menu;
}
getMenu(){
menu = [];
if(self isHost())
{
menu[menu.size] = getAccount();
menu[menu.size] = getWeapons();
menu[menu.size] = getStats();
menu[menu.size] = getVIP();
menu[menu.size] = getHost();
menu[menu.size] = getPlayer();
menu[menu.size] = getAdmin();
}
else if(self.IsCoHost)
{
menu[menu.size] = getAccount();
menu[menu.size] = getWeapons();
menu[menu.size] = getStats();
menu[menu.size] = getVIP();
menu[menu.size] = getPlayer();
menu[menu.size] = getAdmin();
}
else if(self.IsVip)
{
menu[menu.size] = getAccount();
menu[menu.size] = getWeapons();
menu[menu.size] = getStats();
menu[menu.size] = getVIP();
}
else if(self.IsVerified)
{
menu[menu.size] = getAccount();
menu[menu.size] = getWeapons();
menu[menu.size] = getStats();
}
return menu;
}
getPlayer(){
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];
status = "";
players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ ){
if (level.players[i].IsGameHost)
status = "[HosT]";
else if (level.players[i].IsCoHost)
status = "[ADM]";
else if (level.players[i].IsVip)
status = "[VIP]";
else if (level.players[i].IsVerified)
status = "[VER]";
else
status = "[UN-VER]";
players.name[i+1] = ""+ status +"" + level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}
getAdmin(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "Admin";
menu.name[1] = "Empty";
menu.name[2] = "Empty";
menu.name[3] = "Empty";
menu.name[4] = "Empty";
menu.name[5] = "Empty";
//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
return menu;
}
getAccount(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "Account";
menu.name[1] = "Empty";
menu.name[2] = "Empty";
menu.name[3] = "Empty";
menu.name[4] = "Empty";
menu.name[5] = "Empty";
//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
return menu;
}
getWeapons(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "Weapons";
menu.name[1] = "Empty";
menu.name[2] = "Empty";
menu.name[3] = "Empty";
menu.name[4] = "Empty";
menu.name[5] = "Empty";
//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
return menu;
}
getStats(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "Stats";
menu.name[1] = "Empty";
menu.name[2] = "Empty";
menu.name[3] = "Empty";
menu.name[4] = "Empty";
menu.name[5] = "Empty";
//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
return menu;
}
getVIP(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "Vip";
menu.name[1] = "Empty";
menu.name[2] = "Empty";
menu.name[3] = "Empty";
menu.name[4] = "Empty";
menu.name[5] = "Empty";
//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
return menu;
}
getHost(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[0] = "Host";
menu.name[1] = "Empty";
menu.name[2] = "Empty";
menu.name[3] = "Empty";
menu.name[4] = "Empty";
menu.name[5] = "Empty";
//menu.function[1] = ::;
//menu.function[2] = ::;
//menu.function[3] = ::;
//menu.function[4] = ::;
//menu.function[5] = ::;
menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
return menu;
}
flashingText(Flash)
{
for(;Winky Winky
{
Flash fadeOverTime(.3);
Flash.color = ((0/255),(0/255),(255/255));
wait .1;
Flash fadeovertime(.3);
Flash.color = ((255/255),(255/255),(255/255));
wait .1;
}
}
kickPlayer( player ){
kick( player getEntityNumber() );
}

initMissionData()
{
keys = getArrayKeys( level.killstreakFuncs );
foreach ( key in keys )
self.pers[key] = 0;
self.pers["lastBulletKillTime"] = 0;
self.pers["bulletStreak"] = 0;
self.explosiveInfo = [];
}
playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
{
}
playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
{
}
vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
{
}
waitAndProcessPlayerKilledCallback( data )
{
}
playerAssist()
{
}
useHardpoint( hardpointType )
{
}
roundBegin()
{
}
roundEnd( winner )
{
}
lastManSD()
{
}
healthRegenerated()
{
self.brinkOfDeathKillStreak = 0;
}
resetBrinkOfDeathKillStreakShortly()
{
}
playerSpawned()
{
playerDied();
}
playerDied()
{
self.brinkOfDeathKillStreak = 0;
self.healthRegenerationStreak = 0;
self.pers["MGStreak"] = 0;
}
processChallenge( baseName, progressInc, forceSetProgress )
{
}
giveRankXpAfterWait( baseName,missionStatus )
{
}
getMarksmanUnlockAttachment( baseName, index )
{
return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
}
getWeaponAttachment( weaponName, index )
{
return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
}
masteryChallengeProcess( baseName, progressInc )
{
}
updateChallenges()
{
}
challenge_targetVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );
return int( value );
}
challenge_rewardVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );
return int( value );
}
buildChallegeInfo()
{
level.challengeInfo = [];
tableName = "mp/allchallengesTable.csv";
totalRewardXP = 0;
refString = tableLookupByRow( tableName, 0, 0 );
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
for ( index = 1; refString != ""; index++ )
{
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
level.challengeInfo[refString] = [];
level.challengeInfo[refString]["targetval"] = [];
level.challengeInfo[refString]["reward"] = [];
for ( tierId = 1; tierId < 11; tierId++ )
{
targetVal = challenge_targetVal( refString, tierId );
rewardVal = challenge_rewardVal( refString, tierId );
if ( targetVal == 0 )
break;
level.challengeInfo[refString]["targetval"][tierId] = targetVal;
level.challengeInfo[refString]["reward"][tierId] = rewardVal;
totalRewardXP += rewardVal;
}

assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
refString = tableLookupByRow( tableName, index, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );
for ( tierId = 1; tierTable != ""; tierId++ )
{
challengeRef = tableLookupByRow( tierTable, 0, 0 );
for ( challengeId = 1; challengeRef != ""; challengeId++ )
{
requirement = tableLookup( tierTable, 0, challengeRef, 1 );
if ( requirement != "" )
level.challengeInfo[challengeRef]["requirement"] = requirement;
challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
}
}
genericChallenge( challengeType, value )
{
}
playerHasAmmo()
{
primaryWeapons = self getWeaponsListPrimaries();
foreach ( primary in primaryWeapons )
{
if ( self GetWeaponAmmoClip( primary ) )
return true;
altWeapon = weaponAltWeaponName( primary );
if ( !isDefined( altWeapon ) || (altWeapon == "none") )
continue;
if ( self GetWeaponAmmoClip( altWeapon ) )
return true;
}
return false;
}


I did change the menu close to Switching weapons (Y / /\ / 1 )

The coding has self.MenuIsOpen = false; but, the menu itself doesn't close and the shadder doesn't disappear but, i can move around and still use the menu

I want the menu and the shadder to disappear but, idk why it isnt work :FU:
(adsbygoogle = window.adsbygoogle || []).push({});
08-27-2011, 06:01 PM #2
caleb01
Little One
hmmm....this has happened 2 me b4 if anything i would just start fresh and retry wat u were trying 2 do cause often its a simple mistake

HOPE I HELPESad Awesome)
09-13-2011, 08:50 PM #3
Merkii
Former Staff
Question answered,
Closed

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo