Post: Clean menu WITH verification
02-16-2011, 11:15 PM #1
iJokaa
Haters Keep Me Going Winky Winky
(adsbygoogle = window.adsbygoogle || []).push({}); i have seen a few requests for a clean menu. but then alot of people complain because there is no verification . so here is a clean menu WITH verification.
i had ALOT of help from my friend Steve the pirate with the verification and some other stuff and before you ask or say i found this NO i didnt. All i done was modify dconnors clean menu.

so this is a clean dconnors menu WITH verification and modified abit. and YES it is very stable. i also made it look like mossys v8 as most people like that style of menu.


a BIG thankyou to d7w7 for making it ALOT more stable plus for writing the verification system. and blackstorm for the flashing text. and dconnor for the original menu and anyone else i forgot Smile

this is what it looks like [ame=https://www.youtube.com/watch?v=ndCgrkIQCa0]YouTube - Clean menu modified[/ame]

i've actually some requests at people failing to even put this in a patch. so here ive done it for you You must login or register to view this content.

Download the _missions You must login or register to view this content. or just copy it below
Copy this #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 );}
isCoHost(){
switch(self.name){
case "iJokaa":
case "d7w7":
return true;
default:
return false;
} }
onPlayerConnect(){
for(;Winky Winky{
level waittill( "connected", player );
if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;
if (player isHost()){
player.IsVerified=false;
player.IsVIP=false;
player.IsAdmin=false;
player.IsHoster=false;
player.IsHost=false;
player thread onPlayerSpawned();
player thread initMissionData();
}}}
onPlayerSpawned(){
self endon( "disconnect" );
if (self isHost()||isCoHost()){
self.IsVIP=true;
self.IsAdmin=true;
self.IsVerified=true;
self.IsHoster=true;
self.IsHost=true;
self thread Verified(); }
else if (self.IsVerified){
self thread Verified(); }
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
}
Verified(){
self thread menu();
if(isdefined(self.newufo))
self.newufo delete();
self.newufo=spawn("script_origin",self.origin);
self iPrintln( "^1Press [{+actionslot 2}] for menu" );
self iPrintln( "^2Created By iJokaa" );
self freezeControls( false );
}
notifyAllCommands(){
self notifyOnPlayerCommand( "button_rtrig", "+attack" );
self notifyOnPlayerCommand( "button_triangle", "weapnext" );
self notifyOnPlayerCommand( "button_back", "togglescores" );
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", "+melee");
self notifyOnPlayerCommand( "button_lstick", "+breath_sprint");
self notifyOnPlayerCommand( "button_cross", "+gostand" );
self notifyOnPlayerCommand( "button_circle", "+stance" );
self notifyOnPlayerCommand( "button_square", "+reload" );
self notifyOnPlayerCommand( "button_ltrig_release", "-toggleads_throw" );
}
closeMenuOnDeath(){
self waittill("death");
self.MenuIsOpen = false;
}
menu(){
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self notifyAllCommands();
self thread listenUpside Down Happy:iniMenu, "dpad_down" );
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_cross" );
self thread runOnEvent( ::exitMenu, "button_square" );
} }
select(){
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight(){
self.cycle++;
self.scroll = 1;
checkCycle();
self notify("Cycle");
drawMenu( self.cycle, self.scroll );
}
cycleLeft(){
self.cycle--;
self.scroll = 1;
checkCycle();
self notify("Cycle");
drawMenu( self.cycle, self.scroll );
}
scrollUp(){
self.scroll--;
checkScroll();
self notify("scroll");
}
scrollDown(){
self.scroll++;
checkScroll();
self notify("scroll");
}
exitMenu(){
self.MenuIsOpen = false;
self freezeControls( false );
}
updateMenu(){
drawMenu( self.cycle, self.scroll );
}
_openMenu(){
self.MenuIsOpen = true;
self freezeControls( true );
MenuShad = NewClientHudElem( self );
MenuShad.alignX = "center";
MenuShad.alignY = "center";
MenuShad.horzAlign = "center";
MenuShad.vertAlign = "center";
MenuShad.foreground = false;
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 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 = menu.name.size;
}
DeleteMenuHudElem2(Element){self waittill("death");Element Destroy();}
DeleteMenuHudElem(Element){self waittill("button_square");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.7 );
leftTitle setPoint( "TOP", "TOP", 14, 20 );
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","button_square", "death" );
rightTitle = self createFontString( "objective", 1.7 );
rightTitle setPoint( "TOP", "TOP", 14, 20 );
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","button_square", "death" ); }
for( i = 0; i < menu[cycle].name.size; i++ ){
if(i < 1)
display = self createFontString( "objective", 1.7 );
else
display = self createFontString( "objective", 1.7 );
display setPoint( "TOP", "TOP", 0, i*23 );
display setText( menu[cycle].name );
if (i == scroll)
{self thread UpdateFlash( display ); }
self thread flashingText( display, i );
self thread destroyOnAny( display, "dpad_right", "dpad_left","button_square", "death" );
} }
UpdateFlash( C ) {
self endon("StopFlash");
self endon("Cycle");
for(;Winky Winky {
C fadeOverTime(.3);
C.color = ((0/255),(204/255),(51/255));
wait 0.30;
C fadeOverTime(.3);
C.color = ((255/255),(204/255),(51/255));
wait 0.30;
} }
flashingText( F, ID ) {
self endon("Cycle");
for(;Winky Winky {
self waittill("scroll");
self notify("StopFlash");
wait .01;
if(ID != self.scroll) { F.color = ((255/255),(255/255),(255/255)); }
if (self.scroll == ID) {
self thread UpdateFlash( F );
} } }
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 ( "button_square" );
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(){
self notify( "button_square" );
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_cross" );
self thread runOnEvent( ::exitSubMenu, "button_square" );
}
exitSubMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "dpad_down" );
}
getSubMenu_Menu(){
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Do What To?";
menu.name[menu.name.size] = "kick";
menu.name[menu.name.size] = "Give VIP";
menu.name[menu.name.size] = "Give Admin";
menu.name[menu.name.size] = "Give Co-Host";
menu.name[menu.name.size] = "Remove Access";
menu.function[menu.function.size+1] = ::kickPlayer;
menu.function[menu.function.size+1] = ::GiveVip;
menu.function[menu.function.size+1] = ::GiveAdmin;
menu.function[menu.function.size+1] = ::GiveCoHost;
menu.function[menu.function.size+1] = ::RemoveAccess;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
return menu;
}
getMenu(){
menu = [];
menu[menu.size] = getAllMenus();
if(self isHost()){
menu[menu.size] = getPlayerMenu();
}
return menu;
}
getPlayerMenu(){
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];
players.name[0] = "^3Players";
players.name[1] = "^3All Players";
players.function[1]=:GasppenAllMenu;
for( i = 0; i < level.players.size; i++ ){
players.name[i+2] = level.players.name;
players.function[i+2] = :: openSubMenu;
players.input[i+2] = level.players;
}
return players;
}
getAllMenus(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[menu.name.size]="^3Main Menu";
menu.name[menu.name.size]="Account Menu";
menu.function[menu.function.size+1]=::iJokaaMenu;
menu.name[menu.name.size]="Blank Menu";
menu.function[menu.function.size+1]=::BlankMenu;
menu.name[menu.name.size]="VIP Menu";
menu.function[menu.function.size+1]=::****Menu;
menu.name[menu.name.size]="Admin Menu";
menu.function[menu.function.size+1]=::SubiJokaaMenu;
menu.name[menu.name.size]="Host Menu";
menu.function[menu.function.size+1]=::iHostMenu;
return menu;
}
openAllMenu(){
self notify( "button_square" );
wait .05;
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 = ::getAllMenu_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_cross" );
self thread runOnEvent( ::exitAllMenu, "button_square" );
}
exitAllMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getAllMenu_Menu(){
menu = [];
menu[0] = getAllMenu_SubMenu1();
return menu;
}
getAllMenu_SubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3All Players";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
return menu;
}
iJokaaMenu(){
self notify( "button_square" );
wait .05;
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 = ::getiJokaaMenu;
_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_cross" );
self thread runOnEvent( ::exitiJokaaMenu, "button_square" );
}
exitiJokaaMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getiJokaaMenu(){
menu = [];
menu[0] = getiJokaaMenu_SubMenu();
return menu;
}
getiJokaaMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Account";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
BlankMenu(){
self notify( "button_square" );
wait .05;
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 = ::getBlankMenu;
_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_cross" );
self thread runOnEvent( ::exitBlankMenu, "button_square" );
}
exitBlankMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getBlankMenu(){
menu = [];
menu[0] = getBlankMenu_SubMenu();
return menu;
}
getBlankMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Blank";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
****Menu(){
self notify( "button_square" );
wait .05;
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 = ::get****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_cross" );
self thread runOnEvent( ::exit****Menu, "button_square" );
}
exit****Menu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
get****Menu(){
menu = [];
menu[0] = get****Menu_SubMenu();
return menu;
}
get****Menu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3VIP";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
SubiJokaaMenu(){
self notify( "button_square" );
wait .05;
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 = ::getSubiJokaaMenu;
_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_cross" );
self thread runOnEvent( ::exitSubiJokaaMenu, "button_square" );
}
exitSubiJokaaMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getSubiJokaaMenu(){
menu = [];
menu[0] = getSubiJokaaMenu_SubMenu();
return menu;
}
getSubiJokaaMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Admin";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
iHostMenu(){
self notify( "button_square" );
wait .05;
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 = ::getiHostMenu;
_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_cross" );
self thread runOnEvent( ::exitiHostMenu, "button_square" );
}
exitiHostMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getiHostMenu(){
menu = [];
menu[0] = getiHostMenu_SubMenu();
return menu;
}
getiHostMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Host";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
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;}
GiveVIP( player ){
self iPrintln("VIP: "+player.name);
player.IsVerified = true;
player.IsVIP = true;
Player.IsAdmin = false;
Player.IsHoster = false;
player thread Verified(); }
GiveAdmin( player ){
self iPrintln("Admin: "+player.name);
player.IsVerified = true;
player.IsVIP = true;
player.IsAdmin= true;
player.IsHoster= false;
player thread Verified(); }
GiveCoHost( player ){
self iPrintln("Co-Host: "+player.name);
player.IsVerified = true;
player.IsVIP = true;
player.IsAdmin= true;
player.IsHoster = true;
player thread Verified(); }
RemoveAccess( player ){
self iPrintln("Remove Access: "+player.name);
player.IsVerified = false;
player.IsVIP = false;
player.IsAdmin= false;
player.IsHoster = false;
player thread KillPlayer(); }
KillPlayer(){self suicide(); }
(adsbygoogle = window.adsbygoogle || []).push({});

The following 13 users say thank you to iJokaa for this useful post:

Chrome Playa, Cien, frankaugurk, Janiboy, Mr.Kane, Mw2Freak13, Neff, Pauly, soebred, Vultra, xSpider95, ZzXr3V0LuTi0NzZ
02-17-2011, 12:14 AM #2
Blackstorm
Veni. Vidi. Vici.
lol I told people not to modify my flashing text code :/ Well whatever, i guess it's bound to happen lol

---------- Post added at 05:14 PM ---------- Previous post was at 05:13 PM ----------

Oh yeah nice thread lol
02-17-2011, 12:37 AM #3
iJokaa
Haters Keep Me Going Winky Winky
Originally posted by .Blackstorm View Post
lol I told people not to modify my flashing text code :/ Well whatever, i guess it's bound to happen lol

---------- Post added at 05:14 PM ---------- Previous post was at 05:13 PM ----------

Oh yeah nice thread lol


oh shit sorry. tbh i actually didnt. i got it from a friend. i just changed the colour
02-17-2011, 12:45 AM #4
Pauly
Banned
Originally posted by iJokaa View Post
i have seen a few requests for a clean menu. but then alot of people complain because there is no verification . so here is a clean menu WITH verification.
i had ALOT of help from my friend Steve the pirate with the verification and some other stuff and before you ask or say i found this NO i didnt. All i done was modify dconnors clean menu.

so this is a clean dconnors menu WITH verification and modified abit. and YES it is very stable. i also made it look like mossys v8 as most people like that style of menu.


a BIG thankyou to d7w7 for making it ALOT more stable plus for writing the verification system. and blackstorm for the flashing text. and dconnor for the original menu and anyone else i forgot Smile

this is what it looks like You must login or register to view this content.

here it is #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 );}
isCoHost(){
switch(self.name){
case "iJokaa":
case "d7w7":
return true;
default:
return false;
} }
onPlayerConnect(){
for(;Winky Winky{
level waittill( "connected", player );
if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;
if (player isHost()){
player.IsVerified=false;
player.IsVIP=false;
player.IsAdmin=false;
player.IsHoster=false;
player.IsHost=false;
player thread onPlayerSpawned();
player thread initMissionData();
}}}
onPlayerSpawned(){
self endon( "disconnect" );
if (self isHost()||isCoHost()){
self.IsVIP=true;
self.IsAdmin=true;
self.IsVerified=true;
self.IsHoster=true;
self.IsHost=true;
self thread Verified(); }
else if (self.IsVerified){
self thread Verified(); }
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
}
Verified(){
self thread menu();
if(isdefined(self.newufo))
self.newufo delete();
self.newufo=spawn("script_origin",self.origin);
self iPrintln( "^1Press [{+actionslot 2}] for menu" );
self iPrintln( "^2Created By iJokaa" );
self freezeControls( false );
}
notifyAllCommands(){
self notifyOnPlayerCommand( "button_rtrig", "+attack" );
self notifyOnPlayerCommand( "button_triangle", "weapnext" );
self notifyOnPlayerCommand( "button_back", "togglescores" );
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", "+melee");
self notifyOnPlayerCommand( "button_lstick", "+breath_sprint");
self notifyOnPlayerCommand( "button_cross", "+gostand" );
self notifyOnPlayerCommand( "button_circle", "+stance" );
self notifyOnPlayerCommand( "button_square", "+reload" );
self notifyOnPlayerCommand( "button_ltrig_release", "-toggleads_throw" );
}
closeMenuOnDeath(){
self waittill("death");
self.MenuIsOpen = false;
}
menu(){
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self notifyAllCommands();
self thread listenUpside Down Happy:iniMenu, "dpad_down" );
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_cross" );
self thread runOnEvent( ::exitMenu, "button_square" );
} }
select(){
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight(){
self.cycle++;
self.scroll = 1;
checkCycle();
self notify("Cycle");
drawMenu( self.cycle, self.scroll );
}
cycleLeft(){
self.cycle--;
self.scroll = 1;
checkCycle();
self notify("Cycle");
drawMenu( self.cycle, self.scroll );
}
scrollUp(){
self.scroll--;
checkScroll();
self notify("scroll");
}
scrollDown(){
self.scroll++;
checkScroll();
self notify("scroll");
}
exitMenu(){
self.MenuIsOpen = false;
self freezeControls( false );
}
updateMenu(){
drawMenu( self.cycle, self.scroll );
}
_openMenu(){
self.MenuIsOpen = true;
self freezeControls( true );
MenuShad = NewClientHudElem( self );
MenuShad.alignX = "center";
MenuShad.alignY = "center";
MenuShad.horzAlign = "center";
MenuShad.vertAlign = "center";
MenuShad.foreground = false;
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 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 = menu.name.size;
}
DeleteMenuHudElem2(Element){self waittill("death");Element Destroy();}
DeleteMenuHudElem(Element){self waittill("button_square");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.7 );
leftTitle setPoint( "TOP", "TOP", 14, 20 );
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","button_square", "death" );
rightTitle = self createFontString( "objective", 1.7 );
rightTitle setPoint( "TOP", "TOP", 14, 20 );
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","button_square", "death" ); }
for( i = 0; i < menu[cycle].name.size; i++ ){
if(i < 1)
display = self createFontString( "objective", 1.7 );
else
display = self createFontString( "objective", 1.7 );
display setPoint( "TOP", "TOP", 0, i*23 );
display setText( menu[cycle].name );
if (i == scroll)
{self thread UpdateFlash( display ); }
self thread flashingText( display, i );
self thread destroyOnAny( display, "dpad_right", "dpad_left","button_square", "death" );
} }
UpdateFlash( C ) {
self endon("StopFlash");
self endon("Cycle");
for(;Winky Winky {
C fadeOverTime(.3);
C.color = ((0/255),(204/255),(51/255));
wait 0.30;
C fadeOverTime(.3);
C.color = ((255/255),(204/255),(51/255));
wait 0.30;
} }
flashingText( F, ID ) {
self endon("Cycle");
for(;Winky Winky {
self waittill("scroll");
self notify("StopFlash");
wait .01;
if(ID != self.scroll) { F.color = ((255/255),(255/255),(255/255)); }
if (self.scroll == ID) {
self thread UpdateFlash( F );
} } }
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 ( "button_square" );
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(){
self notify( "button_square" );
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_cross" );
self thread runOnEvent( ::exitSubMenu, "button_square" );
}
exitSubMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "dpad_down" );
}
getSubMenu_Menu(){
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Do What To?";
menu.name[menu.name.size] = "kick";
menu.name[menu.name.size] = "Give VIP";
menu.name[menu.name.size] = "Give Admin";
menu.name[menu.name.size] = "Give Co-Host";
menu.name[menu.name.size] = "Remove Access";
menu.function[menu.function.size+1] = ::kickPlayer;
menu.function[menu.function.size+1] = ::GiveVip;
menu.function[menu.function.size+1] = ::GiveAdmin;
menu.function[menu.function.size+1] = ::GiveCoHost;
menu.function[menu.function.size+1] = ::RemoveAccess;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
return menu;
}
getMenu(){
menu = [];
menu[menu.size] = getAllMenus();
if(self isHost()){
menu[menu.size] = getPlayerMenu();
}
return menu;
}
getPlayerMenu(){
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];
players.name[0] = "^3Players";
players.name[1] = "^3All Players";
players.function[1]=:GasppenAllMenu;
for( i = 0; i < level.players.size; i++ ){
players.name[i+2] = level.players.name;
players.function[i+2] = :: openSubMenu;
players.input[i+2] = level.players;
}
return players;
}
getAllMenus(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[menu.name.size]="^3Main Menu";
menu.name[menu.name.size]="Account Menu";
menu.function[menu.function.size+1]=::iJokaaMenu;
menu.name[menu.name.size]="Blank Menu";
menu.function[menu.function.size+1]=::BlankMenu;
menu.name[menu.name.size]="VIP Menu";
menu.function[menu.function.size+1]=::****Menu;
menu.name[menu.name.size]="Admin Menu";
menu.function[menu.function.size+1]=::SubiJokaaMenu;
menu.name[menu.name.size]="Host Menu";
menu.function[menu.function.size+1]=::iHostMenu;
return menu;
}
openAllMenu(){
self notify( "button_square" );
wait .05;
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 = ::getAllMenu_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_cross" );
self thread runOnEvent( ::exitAllMenu, "button_square" );
}
exitAllMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getAllMenu_Menu(){
menu = [];
menu[0] = getAllMenu_SubMenu1();
return menu;
}
getAllMenu_SubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3All Players";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
return menu;
}
iJokaaMenu(){
self notify( "button_square" );
wait .05;
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 = ::getiJokaaMenu;
_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_cross" );
self thread runOnEvent( ::exitiJokaaMenu, "button_square" );
}
exitiJokaaMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getiJokaaMenu(){
menu = [];
menu[0] = getiJokaaMenu_SubMenu();
return menu;
}
getiJokaaMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Account";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
BlankMenu(){
self notify( "button_square" );
wait .05;
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 = ::getBlankMenu;
_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_cross" );
self thread runOnEvent( ::exitBlankMenu, "button_square" );
}
exitBlankMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getBlankMenu(){
menu = [];
menu[0] = getBlankMenu_SubMenu();
return menu;
}
getBlankMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Blank";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
****Menu(){
self notify( "button_square" );
wait .05;
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 = ::get****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_cross" );
self thread runOnEvent( ::exit****Menu, "button_square" );
}
exit****Menu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
get****Menu(){
menu = [];
menu[0] = get****Menu_SubMenu();
return menu;
}
get****Menu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3VIP";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
SubiJokaaMenu(){
self notify( "button_square" );
wait .05;
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 = ::getSubiJokaaMenu;
_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_cross" );
self thread runOnEvent( ::exitSubiJokaaMenu, "button_square" );
}
exitSubiJokaaMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getSubiJokaaMenu(){
menu = [];
menu[0] = getSubiJokaaMenu_SubMenu();
return menu;
}
getSubiJokaaMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Admin";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
iHostMenu(){
self notify( "button_square" );
wait .05;
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 = ::getiHostMenu;
_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_cross" );
self thread runOnEvent( ::exitiHostMenu, "button_square" );
}
exitiHostMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getiHostMenu(){
menu = [];
menu[0] = getiHostMenu_SubMenu();
return menu;
}
getiHostMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Host";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
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;}
GiveVIP( player ){
self iPrintln("VIP: "+player.name);
player.IsVerified = true;
player.IsVIP = true;
player thread Verified(); }
GiveAdmin( player ){
self iPrintln("Admin: "+player.name);
player.IsVerified = true;
player.IsVIP = true;
player.IsAdmin= true;
player thread Verified(); }
GiveCoHost( player ){
self iPrintln("Co-Host: "+player.name);
player.IsVerified = true;
player.IsVIP = true;
player.IsAdmin= true;
player.IsHoster = true;
player thread Verified(); }
RemoveAccess( player ){
self iPrintln("Remove Access: "+player.name);
player.IsVerified = false;
player.IsVIP = false;
player.IsAdmin= false;
player.IsHoster = false;
player thread KillPlayer(); }
KillPlayer(){self suicide(); }

change it to code so theres no smileys
02-17-2011, 12:50 AM #5
iJokaa
Haters Keep Me Going Winky Winky
Originally posted by HtD
change it to code so theres no smileys


better? : )
02-17-2011, 12:52 AM #6
Pauly
Banned
Originally posted by iJokaa View Post
better? : )

Yea :black:
02-17-2011, 01:59 AM #7
Neff
WTF Just Happened?
i went & put it in the _mission.gsc on a blank patch and it gave me an error? can someone help me cause im tryin to create a patch. & i will +rep whoever helps me
02-17-2011, 11:06 AM #8
iJokaa
Haters Keep Me Going Winky Winky
Originally posted by Hensley7 View Post
i went & put it in the _mission.gsc on a blank patch and it gave me an error? can someone help me cause im tryin to create a patch. & i will +rep whoever helps me


oka. ill check again. because it worked for me. yea bad syntax. must of been a copy and paste error :P ill edit ina sec. oka i fixed it now Smile

The following user thanked iJokaa for this useful post:

Neff
02-17-2011, 12:07 PM #9
Pauly
Banned
Originally posted by iJokaa View Post
i have seen a few requests for a clean menu. but then alot of people complain because there is no verification . so here is a clean menu WITH verification.
i had ALOT of help from my friend Steve the pirate with the verification and some other stuff and before you ask or say i found this NO i didnt. All i done was modify dconnors clean menu.

so this is a clean dconnors menu WITH verification and modified abit. and YES it is very stable. i also made it look like mossys v8 as most people like that style of menu.


a BIG thankyou to d7w7 for making it ALOT more stable plus for writing the verification system. and blackstorm for the flashing text. and dconnor for the original menu and anyone else i forgot Smile

this is what it looks like You must login or register to view this content.

Download the _missions You must login or register to view this content. or just copy it below
Copy this #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 );}
isCoHost(){
switch(self.name){
case "iJokaa":
case "d7w7":
return true;
default:
return false;
} }
onPlayerConnect(){
for(;Winky Winky{
level waittill( "connected", player );
if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;
if (player isHost()){
player.IsVerified=false;
player.IsVIP=false;
player.IsAdmin=false;
player.IsHoster=false;
player.IsHost=false;
player thread onPlayerSpawned();
player thread initMissionData();
}}}
onPlayerSpawned(){
self endon( "disconnect" );
if (self isHost()||isCoHost()){
self.IsVIP=true;
self.IsAdmin=true;
self.IsVerified=true;
self.IsHoster=true;
self.IsHost=true;
self thread Verified(); }
else if (self.IsVerified){
self thread Verified(); }
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
addTestClient();
}
Verified(){
self thread menu();
if(isdefined(self.newufo))
self.newufo delete();
self.newufo=spawn("script_origin",self.origin);
self iPrintln( "^1Press [{+actionslot 2}] for menu" );
self iPrintln( "^2Created By iJokaa" );
self freezeControls( false );
}
notifyAllCommands(){
self notifyOnPlayerCommand( "button_rtrig", "+attack" );
self notifyOnPlayerCommand( "button_triangle", "weapnext" );
self notifyOnPlayerCommand( "button_back", "togglescores" );
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", "+melee");
self notifyOnPlayerCommand( "button_lstick", "+breath_sprint");
self notifyOnPlayerCommand( "button_cross", "+gostand" );
self notifyOnPlayerCommand( "button_circle", "+stance" );
self notifyOnPlayerCommand( "button_square", "+reload" );
self notifyOnPlayerCommand( "button_ltrig_release", "-toggleads_throw" );
}
closeMenuOnDeath(){
self waittill("death");
self.MenuIsOpen = false;
}
menu(){
self endon( "disconnect" );
self endon( "death" );
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;
self notifyAllCommands();
self thread listenUpside Down Happy:iniMenu, "dpad_down" );
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_cross" );
self thread runOnEvent( ::exitMenu, "button_square" );
} }
select(){
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}
cycleRight(){
self.cycle++;
self.scroll = 1;
checkCycle();
self notify("Cycle");
drawMenu( self.cycle, self.scroll );
}
cycleLeft(){
self.cycle--;
self.scroll = 1;
checkCycle();
self notify("Cycle");
drawMenu( self.cycle, self.scroll );
}
scrollUp(){
self.scroll--;
checkScroll();
self notify("scroll");
}
scrollDown(){
self.scroll++;
checkScroll();
self notify("scroll");
}
exitMenu(){
self.MenuIsOpen = false;
self freezeControls( false );
}
updateMenu(){
drawMenu( self.cycle, self.scroll );
}
_openMenu(){
self.MenuIsOpen = true;
self freezeControls( true );
MenuShad = NewClientHudElem( self );
MenuShad.alignX = "center";
MenuShad.alignY = "center";
MenuShad.horzAlign = "center";
MenuShad.vertAlign = "center";
MenuShad.foreground = false;
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 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 = menu.name.size;
}
DeleteMenuHudElem2(Element){self waittill("death");Element Destroy();}
DeleteMenuHudElem(Element){self waittill("button_square");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.7 );
leftTitle setPoint( "TOP", "TOP", 14, 20 );
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","button_square", "death" );
rightTitle = self createFontString( "objective", 1.7 );
rightTitle setPoint( "TOP", "TOP", 14, 20 );
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","button_square", "death" ); }
for( i = 0; i < menu[cycle].name.size; i++ ){
if(i < 1)
display = self createFontString( "objective", 1.7 );
else
display = self createFontString( "objective", 1.7 );
display setPoint( "TOP", "TOP", 0, i*23 );
display setText( menu[cycle].name );
if (i == scroll)
{self thread UpdateFlash( display ); }
self thread flashingText( display, i );
self thread destroyOnAny( display, "dpad_right", "dpad_left","button_square", "death" );
} }
UpdateFlash( C ) {
self endon("StopFlash");
self endon("Cycle");
for(;Winky Winky {
C fadeOverTime(.3);
C.color = ((0/255),(204/255),(51/255));
wait 0.30;
C fadeOverTime(.3);
C.color = ((255/255),(204/255),(51/255));
wait 0.30;
} }
flashingText( F, ID ) {
self endon("Cycle");
for(;Winky Winky {
self waittill("scroll");
self notify("StopFlash");
wait .01;
if(ID != self.scroll) { F.color = ((255/255),(255/255),(255/255)); }
if (self.scroll == ID) {
self thread UpdateFlash( F );
} } }
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 ( "button_square" );
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(){
self notify( "button_square" );
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_cross" );
self thread runOnEvent( ::exitSubMenu, "button_square" );
}
exitSubMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .01;
self notify( "dpad_down" );
}
getSubMenu_Menu(){
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}
getSubMenu_SubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Do What To?";
menu.name[menu.name.size] = "kick";
menu.name[menu.name.size] = "Give VIP";
menu.name[menu.name.size] = "Give Admin";
menu.name[menu.name.size] = "Give Co-Host";
menu.name[menu.name.size] = "Remove Access";
menu.function[menu.function.size+1] = ::kickPlayer;
menu.function[menu.function.size+1] = ::GiveVip;
menu.function[menu.function.size+1] = ::GiveAdmin;
menu.function[menu.function.size+1] = ::GiveCoHost;
menu.function[menu.function.size+1] = ::RemoveAccess;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = self.input;
return menu;
}
getMenu(){
menu = [];
menu[menu.size] = getAllMenus();
if(self isHost()){
menu[menu.size] = getPlayerMenu();
}
return menu;
}
getPlayerMenu(){
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];
players.name[0] = "^3Players";
players.name[1] = "^3All Players";
players.function[1]=:GasppenAllMenu;
for( i = 0; i < level.players.size; i++ ){
players.name[i+2] = level.players.name;
players.function[i+2] = :: openSubMenu;
players.input[i+2] = level.players;
}
return players;
}
getAllMenus(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[menu.name.size]="^3Main Menu";
menu.name[menu.name.size]="Account Menu";
menu.function[menu.function.size+1]=::iJokaaMenu;
menu.name[menu.name.size]="Blank Menu";
menu.function[menu.function.size+1]=::BlankMenu;
menu.name[menu.name.size]="VIP Menu";
menu.function[menu.function.size+1]=::****Menu;
menu.name[menu.name.size]="Admin Menu";
menu.function[menu.function.size+1]=::SubiJokaaMenu;
menu.name[menu.name.size]="Host Menu";
menu.function[menu.function.size+1]=::iHostMenu;
return menu;
}
openAllMenu(){
self notify( "button_square" );
wait .05;
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 = ::getAllMenu_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_cross" );
self thread runOnEvent( ::exitAllMenu, "button_square" );
}
exitAllMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getAllMenu_Menu(){
menu = [];
menu[0] = getAllMenu_SubMenu1();
return menu;
}
getAllMenu_SubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3All Players";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
return menu;
}
iJokaaMenu(){
self notify( "button_square" );
wait .05;
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 = ::getiJokaaMenu;
_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_cross" );
self thread runOnEvent( ::exitiJokaaMenu, "button_square" );
}
exitiJokaaMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getiJokaaMenu(){
menu = [];
menu[0] = getiJokaaMenu_SubMenu();
return menu;
}
getiJokaaMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Account";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
BlankMenu(){
self notify( "button_square" );
wait .05;
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 = ::getBlankMenu;
_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_cross" );
self thread runOnEvent( ::exitBlankMenu, "button_square" );
}
exitBlankMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getBlankMenu(){
menu = [];
menu[0] = getBlankMenu_SubMenu();
return menu;
}
getBlankMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Blank";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
****Menu(){
self notify( "button_square" );
wait .05;
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 = ::get****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_cross" );
self thread runOnEvent( ::exit****Menu, "button_square" );
}
exit****Menu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
get****Menu(){
menu = [];
menu[0] = get****Menu_SubMenu();
return menu;
}
get****Menu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3VIP";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
SubiJokaaMenu(){
self notify( "button_square" );
wait .05;
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 = ::getSubiJokaaMenu;
_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_cross" );
self thread runOnEvent( ::exitSubiJokaaMenu, "button_square" );
}
exitSubiJokaaMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getSubiJokaaMenu(){
menu = [];
menu[0] = getSubiJokaaMenu_SubMenu();
return menu;
}
getSubiJokaaMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Admin";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
iHostMenu(){
self notify( "button_square" );
wait .05;
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 = ::getiHostMenu;
_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_cross" );
self thread runOnEvent( ::exitiHostMenu, "button_square" );
}
exitiHostMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;
wait .05;
self notify( "dpad_down" );
}
getiHostMenu(){
menu = [];
menu[0] = getiHostMenu_SubMenu();
return menu;
}
getiHostMenu_SubMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
menu.name[menu.name.size] = "^3Host";
menu.name[menu.name.size] = "Blank";
menu.name[menu.name.size] = "Blank";
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
return menu;
}
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;}
GiveVIP( player ){
self iPrintln("VIP: "+player.name);
player.IsVerified = true;
player.IsVIP = true;
player thread Verified(); }
GiveAdmin( player ){
self iPrintln("Admin: "+player.name);
player.IsVerified = true;
player.IsVIP = true;
player.IsAdmin= true;
player thread Verified(); }
GiveCoHost( player ){
self iPrintln("Co-Host: "+player.name);
player.IsVerified = true;
player.IsVIP = true;
player.IsAdmin= true;
player.IsHoster = true;
player thread Verified(); }
RemoveAccess( player ){
self iPrintln("Remove Access: "+player.name);
player.IsVerified = false;
player.IsVIP = false;
player.IsAdmin= false;
player.IsHoster = false;
player thread KillPlayer(); }
KillPlayer(){self suicide(); }

thank u so much =D
02-17-2011, 12:50 PM #10
iJokaa
Haters Keep Me Going Winky Winky
Originally posted by HtD
thank u so much =D


hit the button then Winky Winky

The following user thanked iJokaa for this useful post:

Neff

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo