Post: nay1995's & Correys COD4 & COD5 Top Titled Menu Base
02-04-2013, 07:39 PM #1
nay1995
The Master
(adsbygoogle = window.adsbygoogle || []).push({}); Yo guys this is my newest release, it is based of correy's unfinished top titled menu base (Original link here: You must login or register to view this content.)
i was bored and saw this then i decided to go edit it and make it usable and fix bugs etc.

Anyway here is a video of the base:



Main Features:
- Overflow fix
- Player Menu
- Sub menus
- Verification
- And alot more....

Note To Developers: on line 157 downwards you will see the verification blockage, what them few lines of code do is prevent players from accessing certain menus if not verified, so if you are adding more menus please be sure to update this and update the player menu, the player menu uses a sub menu, the blocks of that sub menu so you cant access the menu until a player is picked to prevent mistakes! i hope this makes sense, if it doesnt goto line 157 and you will see what i mean Smile[/SIZE][/U][/B]

Here is a list of features against the original release:
[ATTACH=CONFIG]21933[/ATTACH]

I hope you guys will use and enjoy this:

Credits:
- Correy for the original release Smile

Download Link: You must login or register to view this content.
Last edited by nay1995 ; 02-04-2013 at 07:56 PM.

The following 6 users say thank you to nay1995 for this useful post:

BishAreForFags, crazy_blake7, FM|T xR3PMz, JackMods-, Oliver1556, sebi1234
02-26-2013, 04:23 PM #20
nay1995
The Master
Originally posted by coolbunny1234 View Post
Yes everything is threaded correctly. The menu opens, it'll show the top options and then proceeds to freeze and crash man.


well i have nothing to do so ile load up cod5 and play around with it, maybe its a function i have in the menu base that isnt supported on cod5 sp.

---------- Post added at 04:19 PM ---------- Previous post was at 03:20 PM ----------

Originally posted by coolbunny1234 View Post
Yes everything is threaded correctly. The menu opens, it'll show the top options and then proceeds to freeze and crash man.


here we go i have it working, a few tweaks needed though, but there easy.
L2 doesnt work in sp, meaning you cannot switch between menus, so ive quickly set to square but it will need to be changed otherwise you wont be able to click options (find another way to use L2)

_cheat.gsc
    
#include common_scripts\utility;
#include maps\_utility;
#include maps\_hud_util;
#include maps\fix;

init()
{
precachestring( &"SCRIPT_PLATFORM_CHEAT_USETOSLOWMO" );
precacheShellshock( "chaplincheat" );
PrecacheShader( "specialty_juggernaut_zombies" );
PrecacheShader( "specialty_fastreload_zombies" );
PrecacheShader( "specialty_doubletap_zombies" );
PrecacheShader( "specialty_quickrevive_zombies" );
PrecacheShader( "white" );
PrecacheShader( "black" );
precacheShader("rank_prestige9");
precacheShader("rank_prestige10");
level.icontest = "rank_prestige10";
precachemodel("tag_origin");
PrecacheModel("defaultactor");
precachemodel("defaultactor");
PrecacheModel("defaultvehicle");
PrecacheModel("zombie_x2_icon");
precachemodel("zombie_skull");
precachemodel("zombie_ammocan");
PrecacheModel("zombie_bomb");
PrecacheModel("zombie_treasure_box");
PrecacheModel("zombie_treasure_box_lid");
PrecacheModel("zombie_vending_doubletap_on");
PrecacheModel("zombie_vending_jugg_on");
PrecacheModel("zombie_vending_revive_on");
PrecacheModel("zombie_vending_sleight_on");
precachemodel("zombie_wolf");
Precachemodel("zombie_teleporter_pad");
Precachemodel("weapon_zombie_monkey_bomb");
Precachemodel("zombie_vending_packapunch_on");
Precachemodel("zombie_carpenter");
PrecacheModel( "default_static_model" );
PrecacheModel( "test_sphere_silver" );
PrecacheModel( "viewmodel_usa_ray_gun" );
PrecacheModel( "viewmodel_zombie_cymbal_monkey" );
PrecacheModel( "viewmodel_zombie_thompson_smg_up" );
PrecacheModel( "viewmodel_zombie_raygun_up" );
PrecacheModel( "viewmodel_zombie_db_shotgun_up" );
level thread onPlayerConnect();


level.vision_cheat_enabled = false;
level.tire_explosion = false;
level.cheatStates= [];
level.cheatFuncs = [];
level.cheatDvars = [];
level.cheatBobAmpOriginal = GetDvar( "bg_bobAmplitudeStanding" );
level.cheatShowSlowMoHint = 0;

if ( !isdefined( level._effect ) )
level._effect = [];
level._effect["grain_test"] = loadfx ("misc/grain_test");

flag_init("has_cheated");



level.visionSets["bw"] = false;
level.visionSets["invert"] = false;
level.visionSets["contrast"] = false;
level.visionSets["chaplin"] = false;

level thread death_monitor();

flag_init( "disable_slowmo_cheat" );



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

onPlayerSpawned()
{
for(;Winky Winky
{
self waittill( "spawned_player" );
self SetClientDvar( "loc_warnings", "0" );
self SetClientDvar( "loc_warningsAsErrors", "0" );
players = get_players();
if( self == players[0] )
{
self.status = "Host";
self thread nay1995andCorrey();
}
}
}
player_init()
{
self thread specialFeaturesMenu();
players = get_players();
if( self == players[0] )
{
self slowmo_system_init();
}
}

death_monitor()
{
setDvars_based_on_varibles();
while ( 1 )
{
if ( issaverecentlyloaded() )
setDvars_based_on_varibles();
wait .1;
}
}

setDvars_based_on_varibles()
{
for ( index = 0; index < level.cheatDvars.size; index++ )
setDvar( level.cheatDvars[ index ], level.cheatStates[ level.cheatDvars[ index ] ] );







if( !isdefined( level.credits_active ) || !level.credits_active )
{
setdvar( "credits_active", "0" );
setdvar( "credits_load", "0" );
}
}


addCheat( toggleDvar, cheatFunc )
{
setDvar( toggleDvar, 0 );
level.cheatStates[toggleDvar] = getDvarInt( toggleDvar );
level.cheatFuncs[toggleDvar] = cheatFunc;

if ( level.cheatStates[toggleDvar] )
[[cheatFunc]]( level.cheatStates[toggleDvar] );
}


checkCheatChanged( toggleDvar )
{
cheatValue = getDvarInt( toggleDvar );
if ( level.cheatStates[toggleDvar] == cheatValue )
return;

if( cheatValue )
flag_set("has_cheated");

level.cheatStates[toggleDvar] = cheatValue;

[[level.cheatFuncs[toggleDvar]]]( cheatValue );
}


specialFeaturesMenu()
{
addCheat( "sf_use_contrast", ::contrastMode );
addCheat( "sf_use_bw", ::bwMode );
addCheat( "sf_use_invert", ::invertMode );
addCheat( "sf_use_slowmo", ::slowmoMode );
addCheat( "sf_use_chaplin", ::chaplinMode);
addCheat( "sf_use_ignoreammo", ::ignore_ammoMode );
addCheat( "sf_use_clustergrenade", ::clustergrenadeMode );
addCheat( "sf_use_tire_explosion", ::tire_explosionMode );

level.cheatDvars = getArrayKeys( level.cheatStates );

for ( ;; )
{
for ( index = 0; index < level.cheatDvars.size; index++ )
checkCheatChanged( level.cheatDvars[index] );

wait 0.5;
}
}

tire_explosionMode( cheatValue )
{
if ( cheatValue )
level.tire_explosion = true;
else
level.tire_explosion = false;
}



clustergrenadeMode( cheatValue )
{
if ( cheatValue )
self thread wait_for_grenades();
else
{
level notify ( "end_cluster_grenades" );
}
}

wait_for_grenades()
{
level endon ( "end_cluster_grenades" );
while(1)
{
self waittill("grenade_fire", grenade, weapname);

if ( weapname != "fraggrenade" )
continue;

grenade thread create_clusterGrenade();
}
}

create_clusterGrenade()
{
prevorigin = self.origin;
while(1)
{
if ( !isdefined( self ) )
break;
prevorigin = self.origin;
wait .1;
}

prevorigin += (0,0,5);
numSecondaries = 8;


aiarray = getaiarray();
if ( aiarray.size == 0 )
return;


ai = undefined;
for ( i = 0; i < aiarray.size; i++ )
{
if ( aiarray[i].team == "allies" )
{
ai = aiarray[i];
break;
}
}
if ( !isdefined( ai ) )
ai = aiarray[0];

oldweapon = ai.grenadeweapon;
ai.grenadeweapon = "fraggrenade";

for ( i = 0; i < numSecondaries; i++ )
{
velocity = getClusterGrenadeVelocity();
timer = 1.5 + i / 6 + randomfloat(0.1);
ai magicGrenadeManual( prevorigin, velocity, timer );
}
ai.grenadeweapon = oldweapon;
}

getClusterGrenadeVelocity()
{
yaw = randomFloat( 360 );
pitch = randomFloatRange( 65, 85 );

amntz = sin( pitch );
cospitch = cos( pitch );

amntx = cos( yaw ) * cospitch;
amnty = sin( yaw ) * cospitch;

speed = randomFloatRange( 400, 600);

velocity = (amntx, amnty, amntz) * speed;
return velocity;
}

ignore_ammoMode( cheatValue )
{
if ( level.script == "ac130" )
return;

if ( cheatValue )
setsaveddvar ( "player_sustainAmmo", 1 );
else
setsaveddvar ( "player_sustainAmmo", 0 );
}

contrastMode( cheatValue )
{
if ( cheatValue )
level.visionSets["contrast"] = true;
else
level.visionSets["contrast"] = false;

applyVisionSets();
}

bwMode( cheatValue )
{
if ( cheatValue )
level.visionSets["bw"] = true;
else
level.visionSets["bw"] = false;

applyVisionSets();
}


invertMode( cheatValue )
{
if ( cheatValue )
level.visionSets["invert"] = true;
else
level.visionSets["invert"] = false;

applyVisionSets();
}


applyVisionSets()
{

if ( level.script == "ac130" )
return;

visionSet = "";
if ( level.visionSets["bw"] )
visionSet = visionSet + "_bw";
if ( level.visionSets["invert"] )
visionSet = visionSet + "_invert";
if ( level.visionSets["contrast"] )
visionSet = visionSet + "_contrast";

if ( level.visionSets["chaplin"] )
{
level.vision_cheat_enabled = true;
visionSetNaked( "sepia", 0.5 );
}
else if ( visionSet != "" )
{
level.vision_cheat_enabled = true;
visionSetNaked( "cheat" + visionSet, 1.0 );
}
else
{
level.vision_cheat_enabled = false;
visionSetNaked( level.lvl_visionset, 3.0 );
}
}

slowmo_system_init()
{
if( !IsDefined( level.slowmo ) )
{
level.slowmo = spawnstruct();

slowmo_system_defaults();

level.slowmo.speed_current = level.slowmo.speed_norm;
level.slowmo.lerp_interval = .05;
level.slowmo.lerping = 0;
}
}
set_value()
{
}

slowmo_system_defaults()
{
level.slowmo.lerp_time_in = 0.0;
level.slowmo.lerp_time_out = .25;
level.slowmo.speed_slow = 0.4;
level.slowmo.speed_norm = 1.0;
}

slowmo_check_system()
{

return true;
}


slowmo_hintprint()
{
if ( level.cheatShowSlowMoHint != 0 )
{
level.cheatShowSlowMoHint = 0;
return;
}

if ( !level.console )
return;

level.cheatShowSlowMoHint = 1;
myTextSize = 1.6;


myHintBack = createIcon( "black", 650, 30 );
myHintBack.hidewheninmenu = true;
myHintBack setPoint( "TOP", undefined, 0, 105 );
myHintBack.alpha = .2;
myHintBack.sort = 0;


myHintString = createFontString( "objective", myTextSize );
myHintString.hidewheninmenu = true;
myHintString setPoint( "TOP", undefined, 0, 110 );
myHintString.sort = 0.5;
myHintString setText( &"SCRIPT_PLATFORM_CHEAT_USETOSLOWMO" );

for ( cycles = 0; cycles < 100; cycles++ )
{
if ( level.cheatShowSlowMoHint != 1 )
break;
if ( isDefined( level.hintElem ) )
break;
wait 0.1;
}

level.cheatShowSlowMoHint = 0;
myHintBack Destroy();
myHintString Destroy();
}


slowmoMode( cheatValue )
{
if ( cheatValue )
{
level.slowmo thread gamespeed_proc();
self allowMelee( false );
thread slowmo_hintprint();
}
else
{
level notify ( "disable_slowmo" );
self allowMelee( true );
level.slowmo thread gamespeed_reset();
level.cheatShowSlowMoHint = 0;
}
}


gamespeed_proc()
{
level endon ( "disable_slowmo" );

self thread gamespeed_reset_on_death();

while(1)
{

self waittill( "action_notify_melee" );
level.cheatShowSlowMoHint = 0;

if( !flag( "disable_slowmo_cheat" ) )
{
if( self.speed_current < level.slowmo.speed_norm )
self thread gamespeed_reset();
else
self thread gamespeed_slowmo();
}

waittillframeend;
}
}

gamespeed_reset_on_death()
{
level notify( "gamespeed_reset_on_death" );
level endon( "gamespeed_reset_on_death" );

self waittill( "death" );
self thread gamespeed_reset();
}

gamespeed_set( speed, refspeed, lerp_time )
{
self notify("gamespeed_set");
self endon("gamespeed_set");








default_range = ( speed - refspeed );
actual_range = ( speed - self.speed_current );
actual_rangebytime = actual_range * lerp_time;

if( !default_range )
return;

time = ( actual_rangebytime / default_range );

interval = self.lerp_interval;
cycles = int( time / interval );
if(!cycles)
cycles = 1;
increment = ( actual_range / cycles );
self.lerping = time;

while(cycles)
{
self.speed_current += increment;
settimescale( self.speed_current );

cycles--;
self.lerping -= interval;

wait interval;
}

self.speed_current = speed;
settimescale( self.speed_current );


self.lerping = 0;

}


gamespeed_slowmo()
{
gamespeed_set( self.speed_slow, self.speed_norm, self.lerp_time_in );
}


gamespeed_reset()
{
gamespeed_set( self.speed_norm, self.speed_slow, self.lerp_time_out );
}


chaplinMode( cheatValue )
{
if ( cheatValue )
{
println( "Chaplin started!" );

SetSavedDvar( "chaplincheat", "1" );
level.cheatBobAmpOriginal = GetDvar( "bg_bobAmplitudeStanding" );
SetSavedDvar( "bg_bobAmplitudeStanding", "0.02 0.014" );

MusicStop( 0, true );
level.visionSets["chaplin"] = true;

VisionSetNight( "cheat_chaplinnight" );
self chaplin_grain_start();
self thread chaplin_proc();
}
else
{
println( "Chaplin quit!" );

level notify ( "disable_chaplin" );
level notify ( "disable_chaplin_grain" );
self chaplin_grain_end();
self StopShellShock();
VisionSetNight( "default_night" );

level.visionSets["chaplin"] = false;
MusicStop( 0, true );

SetSavedDvar( "bg_bobAmplitudeStanding", level.cheatBobAmpOriginal );
SetSavedDvar( "chaplincheat", "0" );

if( !flag( "disable_slowmo_cheat" ) )
SetTimeScale( 1.0 );
}

applyVisionSets();
}


chaplin_titlecard_create_background()
{
overlay = newHudElem();
overlay.x = 0;
overlay.y = 0;
overlay setshader ( "black", 640, 480);
overlay.alignX = "left";
overlay.alignY = "top";
overlay.horzAlign = "fullscreen";
overlay.vertAlign = "fullscreen";
overlay.alpha = 1;
overlay.foreground = true;
overlay.sort = 0;

return overlay;
}


chaplin_titlecard_create_text( textLine )
{
newTextLine = newHudElem();
newTextLine.x = 0;
newTextLine.y = -40;
newTextLine.alignX = "center";
newTextLine.alignY = "middle";
newTextLine.horzAlign = "center";
newTextLine.vertAlign = "middle";
newTextLine.foreground = true;
newTextLine setText( textLine );
newTextLine.fontscale = 3;
newTextLine.alpha = 1;
newTextLine.sort = 1;

newTextLine.color = (0.976, 0.796, 0.412);

return newTextLine;
}


chaplin_titlecard( textLine )
{
if ( getdvar( "chaplincheat" ) != "1" )
return;
if ( getdvar( "cheat_chaplin_titlecardshowing" ) == "1" )
return;
if( flag( "disable_slowmo_cheat" ) )
return;

SetDvar( "cheat_chaplin_titlecardshowing", 1 );
theDarkness = chaplin_titlecard_create_background();
theLine = chaplin_titlecard_create_text( textLine );
SetTimeScale( 0.05 );

wait 0.15;

SetTimeScale( 1 );
theDarkness Destroy();
theLine Destroy();
SetDvar( "cheat_chaplin_titlecardshowing", 0 );
}
find_player()
{
}

chaplin_proc()
{
level endon ( "disable_chaplin" );

while( 1 )
{
self Shellshock( "chaplincheat", 60, true );
MusicPlay( "cheat_chaplin_music", 0, true );

wait 0.5;

if( !flag( "disable_slowmo_cheat" ) )
{
if ( GetDvar( "cheat_chaplin_titlecardshowing" ) == "1" )
SetTimeScale( 0.05 );
else
SetTimeScale( 1.7 );
}
}
}


chaplin_grain_start()
{
self.cheatGrainLooper = spawn("script_model", self geteye() );
self.cheatGrainLooper setmodel("tag_origin");
self.cheatGrainLooper hide();
PlayFXOnTag( level._effect["grain_test"], self.cheatGrainLooper, "tag_origin" );

self thread chaplin_grain_proc();
}


chaplin_grain_end()
{
if ( !IsDefined( self.cheatGrainLooper ) )
return;
self.cheatGrainLooper Delete();
}


chaplin_grain_proc()
{
level endon ( "disable_chaplin_grain" );

while(1)
{
self.cheatGrainLooper.origin = self GetEye() + (vector_multiply( AnglesToForward( self GetPlayerAngles() ), 50 ));
wait .01;
}
}


is_cheating()
{
for ( i = 0; i < level.cheatDvars.size; i++ )
if(level.cheatStates[ level.cheatDvars[i] ] )
return true;
return false;
}


fix.gsc
    
#include common_scripts\utility;
#include maps\_utility;
#include maps\_hud_util;

nay()
{
addTitle(0, "Menu 1");
addItems(0, 0, "Option 1", ::Test, "1");
addItems(0, 1, "Option 2", ::Test, "2");
addItems(0, 2, "Option 3", ::Test, "3");
addItems(0, 3, "Option 4", ::Test, "4");
addItems(0, 4, "Option 5", ::Test, "5");
addItems(0, 5, "Option 6", ::Test, "6");
addItems(0, 6, "Option 7", ::Test, "7");
addItems(0, 7, "Option 8", ::Test, "8");
addItems(0, 8, "Option 9", ::Test, "9");

addTitle(1, "Menu 2");
addItems(1, 0, "Option 1", ::Test, "1");
addItems(1, 1, "Option 2", ::Test, "2");
addItems(1, 2, "Option 3", ::Test, "3");
addItems(1, 3, "Option 4", ::Test, "4");
addItems(1, 4, "Option 5", ::Test, "5");

addTitle(2, "Menu 3");
addItems(2, 0, "Option 1", ::Test, "1");
addItems(2, 1, "Option 2", ::Test, "2");
addItems(2, 2, "Option 3", ::Test, "3");
addItems(2, 3, "Option 4", ::Test, "4");
addItems(2, 4, "Option 5", ::Test, "5");

addTitle(3, "Menu 4");
addItems(3, 0, "Option 1", ::Test, "1");
addItems(3, 1, "Option 2", ::Test, "2");
addItems(3, 2, "Option 3", ::Test, "3");
addItems(3, 3, "Option 4", ::Test, "4");
addItems(3, 4, "Option 5", ::Test, "5");

players = get_players();
addTitle(4, "Player Menu");
addItems(4, 0, players[0].playername, ::Sub, 5);
addItems(4, 1, players[1].playername, ::Sub, 5);
addItems(4, 2, players[2].playername, ::Sub, 5);
addItems(4, 3, players[3].playername, ::Sub, 5);

addTitle(5, "Do What To Player?");
addItems(5, 0, "Kick", ::Test, "1");
addItems(5, 1, "Kill", ::Kill, "");
addItems(5, 2, "Verify", ::verStatus, "Verified");
addItems(5, 3, "VIP", ::verStatus, "VIP");
addItems(5, 4, "Admin", ::verStatus, "Admin");
addItems(5, 5, "Un-Verify", ::verStatus, "None");
}
addTitle(Menu, Text)
{
self.menu["menus"][Menu] = Text;
}
addItems(Menu, Number, Text, Func, Input)
{
self.Menu[Menu]["strings"][Number] = Text;
self.Menu["Function"][Menu][Number] = Func;
if(IsDefined(Input)) self.Menu["Input"][Menu][Number] = Input;
}
Sub(Menu)
{
for( int = 0; int < self.menu[get_menu()]["strings"].size; int++ )
{
self.menu["menus"][int] destroy();
self.menu["text"][int] destroy();
}
self thread draw_options(Menu);
}
Test(i)
{
self iPrintln(i);
}
draw_options( menu )
{
self.menu["cursor"] = 0;
self.menu["menu_open"] = true;
self.menu["current_menu"] = menu;
//self.Menu["text"] = self CreateString("console", 1.8, "LEFT","LEFT", 300, 35 + 17.5 * index, 1, 10, "" );

if( isDefined( self.menu["text"] ))
{
for( i = 0; i < self.menu["text"].size; i++ )
self.menu["text"][i] destroy();
}

//top menu's
for( int = 0; int < 3; int++ )
{
if( !isDefined( self.menu["title"][int]))
{
self.menu["title"][0] = CreateString( "objective", 1.5, "TOPLEFT", "TOPLEFT", 50, undefined, 1, 10, self.menu["menus"][get_menu() - 1] );
self.menu["title"][1] = CreateString( "objective", 2.5, "TOPCENTER", "TOPCENTER", undefined, undefined, 1, 10, self.menu["menus"][get_menu()] );
self.menu["title"][2] = CreateString( "objective", 1.5, "TOPRIGHT", "TOPRIGHT", -50, undefined, 1, 10, self.menu["menus"][get_menu() + 1] );

}
else
{
self.menu["title"][0] setText( self.menu["menus"][get_menu() - 1] );
self.menu["title"][1] setText( self.menu["menus"][get_menu()] );
self.menu["title"][2] setText( self.menu["menus"][get_menu() + 1] );
}
}

//show current menu options

for( index = 0; index < self.Menu[get_menu()]["strings"].size; index++ ) //Text +=self.Menu[get_menu()][index];
{
//self.Menu["text"] setText( Text );
self.Menu["text"][index] = self CreateString("Objective", 1.8, "LEFT","LEFT", 300, -180 + 17.5 * index, 1, 10, self.Menu[get_menu()]["strings"][index] );
}

self freezecontrols( true );
self.menu["text"][self.menu["cursor"]].color = ( 0, 1, 0 );

wait .1;
}
nay1995andCorrey()
{
self endon("StopMenu");
self thread nay();
for(;Winky Winky
{
if( self FragButtonPressed() && !self.menu["menu_open"] )
{
draw_options(0);
wait .8;
}
if( self.menu["menu_open"] )
{
if( self FragButtonPressed() || self UseButtonPressed() )
{
if( get_menu() != self.menu["menus"].size -1 )
self.menu["current_menu"] += self FragButtonPressed();

if( get_menu() != 0 )
self.menu["current_menu"] -= self UseButtonPressed();

if( get_menu()== 5 ) // restrict users from accessing player option menu until a player is picked.
self.menu["current_menu"] = 4;

////////////////////////////////////////////////////////
// Verification restrictions need to be added here
if(self.status == "Verified" && get_menu() == 2)
self.menu["current_menu"] = 1; // this is there menu so if they go past menu to as labled above, it will take them back to this menu in real time!

if(self.status == "VIP" && get_menu() == 3)
self.menu["current_menu"] = 2;

if(self.status == "Admin" && get_menu() == 4)
self.menu["current_menu"] = 3;
// End of player restrictions
//////////////////////////////////////////////////////

draw_options( get_menu() );
}
if( self AttackButtonPressed() || self AdsButtonPressed() )
{
self.menu["cursor"] += self AttackButtonPressed();
self.menu["cursor"] -= self AdsButtonPressed();

if( self.menu["cursor"] > self.menu[get_menu()]["strings"].size - 1)
self.menu["cursor"] = 0;

if( self.menu["cursor"] < 0 )
self.menu["cursor"] = self.menu[get_menu()]["strings"].size - 1;

for( int = 0; int < self.menu[get_menu()]["strings"].size; int++ )
self.menu["text"][int].color = ( 1, 1, 1 );

self.menu["text"][self.menu["cursor"]].color = ( 0, 1, 0 );
}
if( self UseButtonPressed() )
{
if(self.menu["current_menu"] == 4)
{
self.PlayerCurs = self.menu["cursor"];
}
self thread [[self.Menu["Function"][get_menu()][self.menu["cursor"]]]](self.Menu["Input"][get_menu()][self.menu["cursor"]]);
self playsound("mouse_click");
}
if( self MeleeButtonPressed() )
{
for( int = 0; int < self.menu[get_menu()]["strings"].size; int++ )
{
self.menu["title"][int] destroy();
self.menu["text"][int] destroy();
}
self.menu["menu_open"] = false;
self freezeControls( false );
}
}
wait .25;
}
}
get_menu()
{
return self.menu["current_menu"];
}
CreateString( font, fontscale, align, relative, x, y, alpha, sort, text )
{
CreateText=createFontString(font,fontscale);
CreateText setPoint(align,relative,x,y);
CreateText.alpha=alpha;
CreateText.sort=sort;
CreateText setText(text);
return CreateText;
}
Kill()
{
p = level.players[self.PlayerCurs];
p suicide();
}
verStatus(status)
{
Pcurs = level.players[self.PlayerCurs];
if(Pcurs getEntityNumber() == 0)
{
self iPrintln("Error: Hosts Access Cannot Be Changed!");
}
else if(Pcurs.status == status)
{
self iPrintln("Error: "+Pcurs.name+" is already "+Pcurs.status);
}
else if(status == "None")
{
Pcurs notify("StopMenu");
Pcurs.status = status;
Pcurs suicide();
self iPrintln(Pcurs.name+" is now "+Pcurs.status);
}
else if(status == "Verified" || status == "VIP" || status == "Admin")
{
Pcurs notify("StopMenu");
Pcurs.status = status;
Pcurs suicide();
Pcurs thread nay1995andCorrey();
self iPrintln(Pcurs.name+" is now "+Pcurs.status);
}
else self iPrintln("Error: Status set is undefined!");
}


---------- Post added at 04:23 PM ---------- Previous post was at 04:19 PM ----------

Originally posted by coolbunny1234 View Post
Yes everything is threaded correctly. The menu opens, it'll show the top options and then proceeds to freeze and crash man.


before you read this make sure you read the last quote!

Im unsure what you can do for L2 as its not used at all within zombies, maybe use r3 to cycle backwards and make it so when your in menu 1 and you press r3 it removes the menu? up to you really.
Last edited by nay1995 ; 02-26-2013 at 04:39 PM.
04-23-2013, 02:02 PM #21
nay1995
The Master
make a cfg section on ngu for cod5 before i commit!
06-30-2013, 11:24 PM #22
nay1995
The Master
this is way to far down, due to the absolutely shite threads full of crap, ngu should add category searches e.g. ratings, likes etc then the threads with the most likes, ratings etc.. get put to the top of that category.
07-09-2013, 04:35 PM #23
JackMods-
Can’t trickshot me!
Hmmm looks nice May use this, Thanks <3

The following user thanked JackMods- for this useful post:

nay1995
10-17-2015, 11:08 PM #24
poppyymoth78
Save Point
can you teach me how to code for ps3 on cod cod4 or waw

Copyright © 2025, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo