Post: why does my ps3 freeze
07-27-2015, 07:30 PM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Heres the full menu, it freezes my ps3


FUNCTIOS.GSC
    /*
*Add Your Own Functions Here
*/
GodMode()
{
if(self.God==false)
{
self iPrintlnbold("God Mode [^2ON^7]");
self.maxhealth=999999999;
self.health=self.maxhealth;
if(self.health<self.maxhealth)self.health=self.maxhealth;
self enableInvulnerability();
self.God=true;
}
else
{
self iPrintlnbold("God Mode [^1OFF^7]");
self.maxhealth=100;
self.health=self.maxhealth;
self disableInvulnerability();
self.God=false;
}
}

InfiniteAmmo()
{
if(self.unlimitedammo==0)
{
self.unlimitedammo=1;
self iPrintlnbold("Unlimited ammo [^2ON^7]");
self thread unlimited_ammo();
}
else
{
self.unlimitedammo=0;
self iPrintlnbold("Unlimited ammo [^1OFF^7]");
self notify("stop_unlimitedammo");
}
}

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

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

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

ConstantUAV()
{
if(self.uavON == 0)
{
self.uavON = 1;
self thread doVSATUnlimited();
self iPrintlnbold("UAV [^2ON^7]");
}
else
{
self.uavON = 0;
self notify("stop_UAV");
self iPrintlnbold("UAV [^1OFF^7]");
}
}

doVSATUnlimited()
{
self endon("disconnect");
self endon("stop_UAV");
for(;Winky Winky
{
self maps\mp\killstreaks\_spyplane::callsatellite("radardirection_mp");
wait 40;
}
}

Invisible()
{
if(self.Hideeeeee==0)
{
self.Invisible=1;
self iPrintlnbold("Invisible [^2ON^7]");
self hide();
}
else
{
self.Invisible=0;
self iPrintlnbold("Invisible [^1OFF^7]");
self show();
}
}

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

ProMod()
{
if (self.fov == 0)
{
self setclientfov(70);
self useServerVisionSet(true);
self SetVisionSetforPlayer("remote_mortar_enhanced", 0);
self iPrintlnbold("Field of View set to: [^270^7]");
self.fov = 1;
}
else
{
if (self.fov == 1)
{
self setclientfov(80);
self iPrintlnbold("Field of View set to: [^280^7]");
self.fov = 2;
}
else
{
if (self.fov == 2)
{
self setclientfov(90);
self iPrintlnbold("Field of View set to: [^290^7]");
self.fov = 3;
}
else
{
if (self.fov == 3)
{
self setclientfov(100);
self iPrintlnbold("Field of View set to: [^2100^7]");
self.fov = 4;
}
else
{
if (self.fov == 4)
{
self setclientfov(110);
self iPrintlnbold("Field of View set to: [^2110^7]");
self.fov = 5;
}
else
{
if (self.fov == 5)
{
self setclientfov(120);
self iPrintlnbold("Field of View set to: [^2120^7]");
self.fov = 6;
}
else
{
if (self.fov == 6)
{
self useServerVisionSet(false);
self setclientfov(65);
self iPrintlnbold("Field of view set ^7to: [^1Default^7]");
self.fov = 0;
}
}
}
}
}
}
}
}

RankUp()
{
if(self.RankUp == false)
{
self.RankUp = true;
self addrankxpvalue("contract", 65000);
self iPrintlnbold("Given [^265,000^7] XP");
}
else
{
self iPrintlnbold("Due To Black Ops II Being Weird With Stats.");
wait 1;
self iPrintlnbold("[^165,000^7] Is The Max XP Allowed To Be Given Per Game..");
}
}

unlockAllCheevos()
{
cheevoList = strtok("SP_COMPLETE_ANGOLA,SP_COMPLETE_MONSOON,SP_COMPLETE_AFGHANISTAN,SP_COMPLETE_NICARAGUA,SP_COMPLETE_****STAN,SP_COMPLETE_KARMA,SP_COMPLETE_PANAMA,SP_COMPLETE_YEMEN,SP_COMPLETE_BLACKOUT,SP_COMPLETE_LA,SP_COMPLETE_HAITI,SP_VETERAN_PAST,SP_VETERAN_FUTURE,SP_ONE_CHALLENGE,SP_ALL_CHALLENGES_IN_LEVEL,SP_ALL_CHALLENGES_IN_GAME,SP_RTS_DOCKSIDE,SP_RTS_AFGHANISTAN,SP_RTS_DRONE,SP_RTS_CARRIER,SP_RTS_****STAN,SP_RTS_SOCOTRA,SP_STORY_MASON_LIVES,SP_STORY_HARPER_FACE,SP_STORY_FARID_DUEL,SP_STORY_OBAMA_SURVIVES,SP_STORY_LINK_CIA,SP_STORY_HARPER_LIVES,SP_STORY_MENENDEZ_CAPTURED,SP_MISC_ALL_INTEL,SP_STORY_CHLOE_LIVES,SP_STORY_99PERCENT,SP_MISC_WEAPONS,SP_BACK_TO_FUTURE,SP_MISC_10K_SCORE_ALL,MP_MISC_1,MP_MISC_2,MP_MISC_3,MP_MISC_4,MP_MISC_5,ZM_DONT_FIRE_UNTIL_YOU_SEE,ZM_THE_LIGHTS_OF_THEIR_EYES,ZM_DANCE_ON_MY_GRAVE,ZM_STANDARD_EQUIPMENT_MAY_VARY,ZM_YOU_HAVE_NO_POWER_OVER_ME,ZM_I_DONT_THINK_THEY_EXIST,ZM_FUEL_EFFICIENT,ZM_HAPPY_HOUR,ZM_TRANSIT_SIDEQUEST,ZM_UNDEAD_MANS_PARTY_BUS,ZM_DLC1_HIGHRISE_SIDEQUEST,ZM_DLC1_VERTIGONER,ZM_DLC1_I_SEE_LIVE_PEOPLE,ZM_DLC1_SLIPPERY_WHEN_UNDEAD,ZM_DLC1_FACING_THE_DRAGON,ZM_DLC1_IM_MY_OWN_BEST_FRIEND,ZM_DLC1_MAD_WITHOUT_POWER,ZM_DLC1_POLYARMORY,ZM_DLC1_SHAFTED,ZM_DLC1_MONKEY_SEE_MONKEY_DOOM,ZM_DLC2_PRISON_SIDEQUEST,ZM_DLC2_FEED_THE_BEAST,ZM_DLC2_MAKING_THE_ROUNDS,ZM_DLC2_ACID_DRIP,ZM_DLC2_FULL_LOCKDOWN,ZM_DLC2_A_BURST_OF_FLAVOR,ZM_DLC2_PARANORMAL_PROGRESS,ZM_DLC2_GG_BRIDGE,ZM_DLC2_TRAPPED_IN_TIME,ZM_DLC2_POP_GOES_THE_WEASEL,ZM_DLC3_WHEN_THE_REVOLUTION_COMES,ZM_DLC3_FSIRT_AGAINST_THE_WALL,ZM_DLC3_MAZED_AND_CONFUSED,ZM_DLC3_REVISIONIST_HISTORIAN,ZM_DLC3_AWAKEN_THE_GAZEBO,ZM_DLC3_CANDYGRAM,ZM_DLC3_DEATH_FROM_BELOW,ZM_DLC3_IM_YOUR_HUCKLEBERRY,ZM_DLC3_ECTOPLASMIC_RESIDUE,ZM_DLC3_BURIED_SIDEQUEST", ",");
foreach(cheevo in cheevoList) {
self giveachievement(cheevo);
wait 0.25;
}
}

doHeart()
{
if(!isDefined(level.SA))
{
level.SA=level createServerFontString("hudbig",2.1);
level.SA.alignX="right";
level.SA.horzAlign="right";
level.SA.vertAlign="middle";
level.SA.x = 30;
level.SA setText("^6Youtube/MoDzTrolls");
level.SA.archived=false;
level.SA.hideWhenInMenu=true;
for(;Winky Winky
{
level.SA.glowAlpha=1;
level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
level.SA SetPulseFX(40,2000,600);
wait 1;
}
}
if(level.doheart==0)
{
self iPrintln("Do Heart: On");
level.doheart=1;
level.SA.alpha=1;
}
else if(level.doheart==1)
{
self iPrintln("Do Heart: Off");
level.SA.alpha=0;
level.doheart=0;
}
}

ToggleTeleportGun()
{
if (self.TPG == true)
{
self thread TeleportGun();
self iPrintln("^7Teleport Gun: ^2ON");
self.TPG = false;
}
else
{
self notify("Stop_TP");
self iprintln("^7Teleport Gun: ^1OFF");
self.TPG = true;
}
}

TeleportGun()
{
self endon( "disconnect" );
self endon("Stop_TP");
for(;Winky Winky
{
self waittill("weapon_fired");
self setorigin(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"]);
}
}

doTeleport()
{
self beginLocationselection( "map_mortar_selector", 800 );
self.selectinglocation = true;
self waittill( "confirm_location", location );
self thread maps\mp\killstreaks\_airsupport::endSelectionThink();
newLocation = bulletTrace( ( location + ( 0, 0, 1000 ) ), ( location + ( 0, 0, 1000 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
}

forceHost()
{
if(self.fhost == false)
{
self.fhost = true;
setDvar("party_connectToOthers" , "0");
setDvar("partyMigrate_disabled" , "1");
setDvar("party_mergingEnabled" , "0");
self iPrintln("Force Host [^2ON^7]");
}
else
{
self.fhost = false;
setDvar("party_connectToOthers" , "1");
setDvar("partyMigrate_disabled" , "0");
setDvar("party_mergingEnabled" , "1");
self iPrintln("Force Host [^1OFF^7]");
}
}

doEndGame()
{
self iPrintln("Game ^1Finished");
level thread maps/mp/gametypes/_globallogic::forceend();
}

Inf_Game()
{
if(self.ingame==false)
{
self.ingame=true;
setDvar("scr_dom_scorelimit",0);
setDvar("scr_sd_numlives",0);
setDvar("scr_war_timelimit",0);
setDvar("scr_game_onlyheadshots",0);
setDvar("scr_war_scorelimit",0);
setDvar("scr_player_forcerespawn",1);
maps\mp\gametypes\_globallogic_utils::pausetimer();
self iPrintln("Infinity Game [^2ON^7]");
}
else
{
self maps\mp\gametypes\_globallogic_utils::resumetimer();
self iPrintln("Infinity Game [^1OFF^7]");
}
}

doRestart()
{
map_restart(false);
}

BWV()
{
if(self.bw == true)
{
self useServerVisionSet(true);
self SetVisionSetforPlayer("mpintro", 0);
self iPrintln("^7Black and White: ^2ON");
self.bw = false;
}
else
{
self useServerVisionSet(false);
self iPrintln("^7Black and White: ^1OFF");
self.bw = true;
}
}

LVis()
{
if(self.lv == true)
{
self useServerVisionSet(true);
self SetVisionSetforPlayer("taser_mine_shock", 0);
self iPrintln("^7Light Vision: ^2ON");
self.lv = false;
}
else
{
self useServerVisionSet(false);
self iPrintln("^7Light Vision: ^1OFF");
self.lv = true;
}
}

EV()
{
if(self.ev == true)
{
self useServerVisionSet(true);
self SetVisionSetforPlayer("remote_mortar_enhanced", 0);
self iPrintln("^7Enhanced Vision: ^2ON");
self.ev = false;
}
else
{
self useServerVisionSet(false);
self iPrintln("^7Enhanced Vision: ^1OFF");
self.ev = true;
}
}

antiQuit(enabled)
{
if(enabled)
self thread doAntiQuit();
else
self notify("stop_antiquit");
}

doAntiQuit()
{
self endon("disconnect");
self endon("stop_antiquit");
for(;Winky Winky
{
foreach(player in level.players)
player maps/mp/gametypes/_globallogic_ui::closemenus();
wait 0.05;
}
}

ThunGun()
{
self endon("disconnect");
self endon ("death");
level.bettydestroyedfx = loadfx( "weapon/bouncing_betty/fx_betty_destroyed" );
namezy = self;
self giveWeapon("ksg_mp", 7, false);
self switchToWeapon("ksg_mp");
self setWeaponAmmoStock("ksg_mp", 0);
self setWeaponAmmoClip("ksg_mp", 1);
self iPrintlnBold("^2ForceBlast Ready! ^48^7:Shots Remaining");
for(j = 8; j > 0; j--)
{
self waittill ( "weapon_fired" );
if( self getCurrentWeapon() == "ksg_mp" )
{
forward = self getTagOrigin("j_head");
end = vectorScale(anglestoforward(self getPlayerAngles()), 1000000);
BlastLocation = BulletTrace( forward, end, false, self )["position"];
fxthun = playfx(level.bettydestroyedfx, self getTagOrigin("tag_weapon_right"));
fxthun.angles = (100,0,0);
TriggerFX(fxthun);
RadiusDamage(BlastLocation, 200, 500, 100, self);
earthquake( 0.9, 0.9, self.origin, 600 );
PlayRumbleOnPosition( "grenade_rumble", self.origin );
foreach(player in level.players)
{
if(player.team != self.team)
{
if(Distance(self.origin, player.origin) < 600)
{
player thread ThunDamage();
}
}
}
self switchToWeapon("ksg_mp");
wait 0.8;
wait .5;
bulletz = (j - 1);
self iPrintlnBold("^2ForceBlast Ready. ^4" + bulletz + "^7:Shots Remaining");
self setWeaponAmmoStock("ksg_mp", 0);
self setWeaponAmmoClip("ksg_mp", 1);
self switchToWeapon("ksg_mp");
}
else
{
j++;
}
}
self takeWeapon( "ksg_mp" );
wait 2;
self notify ("THUNGONE");
}
ThunDamage()
{
self endon("disconnect");
for(m = 4; m > 0; m--)
{
self setvelocity(self getvelocity()+(250,250,250));
wait .1;
}
self setvelocity(0,0,0);
wait 7;
}

PlantBomb()
{
if(getDvar("g_gametype")=="sd")
{
if ( !level.bombplanted )
{
level thread maps/mp/gametypes/sd::bombplanted(level.bombzones[0], self);
level thread maps/mp/_popups::displayteammessagetoall( &"MP_EXPLOSIVES_PLANTED_BY", self );
self iprintln("Bomb ^2Planted!");
}
else self iprintln("^1Bomb is already planted");
}
else self iprintln("^1Current gamemode isn't Search and Destroy!");
}
DefuseBomb()
{
if(getDvar("g_gametype")=="sd")
{
if ( level.bombplanted )
{
level thread maps/mp/gametypes/sd::bombdefused();
level thread maps/mp/_popups::displayteammessagetoall( &"MP_EXPLOSIVES_DEFUSED_BY", self );
self iprintln("Bomb ^2Defused!");
}
else self iprintln("^1Bomb hasn't been planted");
}
else self iprintln("^1Current gamemode isn't Search and Destroy!");
}

toggle_WaterGun()
{
if (self.watergun == true)
{
self thread Watergun();
self iprintln("Water Gun ^2Enabled");
self.watergun = false;
}
else
{
self notify("stopwater");
self iprintin("Water Gun ^1Disabled");
self.watergun = true;
}
}

WaterGun()
{
self endon("death");
self endon("disconnect");
self endon("stopwater");
for(;Winky Winky
{
self waittill("weapon_fired");
vec=anglestoforward(self getPlayerAngles());
end =(vec[0] * 200000,vec[1] * 200000,vec[2] * 200000);
SPLOSIONlocation=BulletTrace(self gettagorigin("tag_eye"),self gettagorigin("tag_eye")+ end,0,self)["position"];
level._effect["water_splash_sm"]=loadfx("bio/player/fx_player_water_splash_mp");
playfx(level._effect["water_splash_sm"],SPLOSIONlocation);

}
wait 0.005;
}


MAIN.GSC
    #include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_hud_message;

init()
{
level thread onPlayerConnect();
if(!isDefined(level.pList))
{
level permsCreate();
}
}

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

onPlayerSpawned()
{
self endon( "disconnect" );
self permsInit();
isFirstSpawn = true;

for(;Winky Winky
{
self waittill( "spawned_player" );
if(self isHost() || player.name == "NMT__Monster" || player.name == "TehMerkMods")
{
self freezecontrols(false);
}
if(isFirstSpawn)
{
initOverFlowFix();

isFirstSpawn = false;
}
self thread welcomePlayer();
self permsBegin();
self cr();
}
}

cr()
{
self.CR = self createText( "hudmsall", 1, "CENTER","CENTER",200,220, 1, "^5TehMerkMods");
}

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

self.MenuOpen = false;
self.Info["Cursor"] = 0;

for( ;; )
{
if( !self.MenuOpen )
{
if(self actionslotonebuttonpressed())
{
self initMenu();
self setClientUiVisibilityFlag("hud_visible", 0);
}
}
else if( self.MenuOpen )
{
self thread TextEffect();

if(self actionslotonebuttonpressed())
{
self doScrolling( -1 );
wait 0.1;
}
if( self actionslottwobuttonpressed())
{
self doScrolling( 1 );
wait 0.1;
}
if( self jumpbuttonpressed() )
{
wait 0.2;
self thread [[ self.Menu[self.Menu["Current"]][self.Menu["Scroller"][self.Menu["Current"]]].action ]]( self.Menu[self.Menu["Current"]][self.Menu["Scroller"][self.Menu["Current"]]].arg );
}
if(self meleebuttonpressed())
{
if( isDefined( self.Menu["Parents"][self.Menu["Current"]] ) )
{
self enterMenu( self.Menu["Parents"][self.Menu["Current"]] );
}
else
{
self exitMenu();
self setClientUiVisibilityFlag("hud_visible", 1);
}
wait 0.15;
}
}
wait 0.05;
}
}

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

self.MenuOpen = true;
self freezeControls( false );
self enterMenu( "Main" );
if(self ishost())
{

}
}

exitMenu()
{
self.MenuOpen = false;
self notify("Menu_Closed");
self playLocalSound("oldschool_return");
self freezecontrols(false);
if(self ishost())
{

}

}

doScrolling( num )
{
self endon( "disconnect" );
self endon( "death" );

if( num == 0 )
self.Menu["Scroller"][self.Menu["Current"]] = 0;
else if( num == self.Menu[self.Menu["Current"]].size - 1 )
self.Menu["Scroller"][self.Menu["Current"]] = self.Menu[self.Menu["Current"]].size - 1;
else
self.Menu["Scroller"][self.Menu["Current"]] += num;

if( self.Menu["Scroller"][self.Menu["Current"]] < 0 )
self.Menu["Scroller"][self.Menu["Current"]] = self.Menu[self.Menu["Current"]].size - 1;
else if( self.Menu["Scroller"][self.Menu["Current"]] > self.Menu[self.Menu["Current"]].size - 1 )
self.Menu["Scroller"][self.Menu["Current"]] = 0;

}

TextEffect()
{
for( i = 0; i < self.Menu[self.Menu["Current"]].size; i++ )
{
if( i == self.Menu["Scroller"][self.Menu["Current"]] )
{
self.Menu["Text"][i].color = (0.694, 0.090, 0.925);
//self.Menu["Text"][i].color = ((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
self.Menu["Text"][i].fontScale = 2.0;
//self.Menu["Text"][i].glowAlpha = 1;
//self.Menu["Text"][i].glowColor = (0.694, 0.090, 0.925);
}
else
{
self.Menu["Text"][i].color = (1, 1, 1);
self.Menu["Text"][i].fontScale = 1.5;
//self.Menu["Text"][i].glowAlpha = 0;
//self.Menu["Text"][i].glowColor = (1, 1, 1);
}
}
}

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

self.Menu["Current"] = menu;

self notify( "Menu_Opened" );

if( !isDefined( self.Menu["Scroller"][self.Menu["Current"]] ) )
self.Menu["Scroller"][self.Menu["Current"]] = 0;
else
self.Menu["Scroller"][self.Menu["Current"]] = self.Menu["Scroller"][self.Menu["Current"]];

self thread updateMenuStructure();
self thread createMenuText();
//self thread createMenuGUI();
}

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

self.Menu["Text"] = [];

for( i = 0; i < self.Menu[self.Menu["Current"]].size; i++ )
{
string = ( self.Menu[self.Menu["Current"]][i].label );
//createText( font, fontScale, text, point, relative, xOffset, yOffset, sort, hideWhenInMenu, alpha, color, glowAlpha, glowColor )
//createText(font, fontscale, align, relative, x, y, sort, text)
self.Menu["Text"][i] = self createText( "default", 1.4, "CENTER", "TOP", 50, 70 + ( i * 20 ), 1, "^5" + self.name + "^1 ||^7 " +string);
//self.Menu["Text"][i] = self createText( "default", 1.4, "^5" + self.name + "^1 ||^7 " +string, "CENTER", "TOP", 50, 70 + ( i * 20 ), 10000, true, 1, ( 1, 1, 1 ) );
self.Menu["Text"][i] moveOverTime( 0.1 );
self.Menu["Text"][i].x = -205;
self.Menu["Text"][i].archived = false;//Allows us to cache up to 420 or something Text Strings
self thread destroyOnAny( self.Menu["Text"][i], "Menu_Opened", "Menu_Closed" );
}
}
/*
createMenuGUI()
{

}
*/
addMenuPage( parent, child, label, title )
{
if( !isDefined( title ) )
title = label;
else
title = title;

arrSize = self.Menu[parent].size;

self.Menu[parent][arrSize] = spawnStruct();
self.Menu[parent][arrSize].response = "SubMenu";
self.Menu[parent][arrSize].label = label;
self.Menu["Title"][child] = title;
self.Menu[parent][arrSize].child = child;

self.Menu[child] = [];

self.Menu["Parents"][child] = parent;
self.Menu[parent][arrSize].action = ::enterMenu;
self.Menu[parent][arrSize].arg = child;
self.Menu["Scroller"][self.Menu["Current"]][child] = 0;
}

addMenuOption( menu, label, action, arg, response )
{
arrSize = self.Menu[menu].size;

self.Menu[menu][arrSize] = spawnStruct();
self.Menu[menu][arrSize].label = label;
self.Menu[menu][arrSize].action = action;
self.Menu[menu][arrSize].arg = arg;

if( !isDefined( response ) )
self.Menu[menu][arrSize].response = "Action";
else
self.Menu[menu][arrSize].response = response;
}



Test()
{
self iPrintLnBold( self.Menu["Scroller"][self.Menu["Current"]] );
}
/*
createText( font, fontScale, text, point, relative, xOffset, yOffset, sort, hideWhenInMenu, alpha, color, glowAlpha, glowColor )
{
textElem = createFontString(font, fontScale);
textElem setText(text);
textElem setPoint( point, relative, xOffset, yOffset );
textElem.sort = sort;
textElem.hideWhenInMenu = hideWhenInMenu;
textElem.alpha = alpha;
textElem.color = color;
textElem.glowAlpha = glowAlpha;
textElem.glowColor = glowColor;
textElem.type = "text";
addTextTableEntry(textElem, getStringId(text));
return textElem;
}*/

createText(font, fontscale, align, relative, x, y, sort, text)
{
textElem = CreateFontString( font, fontscale );
textElem setPoint( align, relative, x, y );
textElem.sort = sort;
textElem.hideWhenInMenu = true;
textElem.type = "text";

addTextTableEntry(textElem, getStringId(text));
textElem setSafeText(self, text);

return textElem;
}
createRectangle( align, relative, x, y, shader, width, height, color, alpha, sort )
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
if ( !level.splitScreen )
{
barElemBG.x = -2;
barElemBG.y = -2;
}
barElemBG.width = width;
barElemBG.height = height;
barElemBG.align = align;
barElemBG.relative = relative;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.children = [];
barElemBG.sort = sort;
barElemBG.color = color;
barElemBG.alpha = alpha;
barElemBG setParent( level.uiParent );
barElemBG setShader( shader, width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
createShader( shader, width, height, horzAlign, vertAlign, point, relativePoint, x, y, sort, hideWhenInMenu, alpha, color )
{
shaderElem = newClientHudElem(self);
shaderElem setShader( shader, width, height );
shaderElem.horzAlign = horzAlign;
shaderElem.vertAlign = vertAlign;
shaderElem.alignY = point;
shaderElem.alignX = relativePoint;
shaderElem.x = x;
shaderElem.y = y;
shaderElem.sort = sort;
shaderElem.hideWhenInMenu = hideWhenInMenu;
if(isDefined(alpha)) shaderElem.alpha = alpha;
else shaderElem.alpha = 1;
shaderElem.color = color;
return shaderElem;
}

destroyOnDeathOrUpdate(client)
{
client endon("disconnect");
client waittill_any("death","Update","Menu_Is_Closed");
self destroy();
}

destroyOnAny( elem, a, b, c, d )
{
if(!isDefined(a))
a = "";
if(!isDefined(b))
b = "";
if(!isDefined(c))
c = "";
if(!isDefined(d))
d = "";
self waittill_any("death",a,b,c,d);
elem destroy();
}

elemFade(time, newAlpha)
{
self fadeOverTime(time);
self.alpha = newAlpha;
}

welcomePlayer()
{
self endon( "disconnect" );
self endon( "death" );
self.merkText = self createFontString("hudsmall", 2.5);
self.merkText setPoint("TOP", "TOP", 0, 0);
self.merkText setText(" Welcome\n ^" + RandomIntRange(0,6) + self.name + "^7\nTo NMT \n Private Patch");
self.merkText.alpha = 1;
self.merkText.archived = true;
self.merkText.glowalpha = 1;
self.merkText.sort = 666;
self.merkText.glowColor = (0.694, 0.090, 0.925);
self.merkText setCOD7DecodeFX(40, 10000, 900);
}

permsCreate()
{
level.p=[];
level.pList=[];
level.pInitList=[];
level.pNameList=[];
self permsAdd("User", 0);
self permsAdd("Verified", 1);
self permsAdd("VIP", 2);
self permsAdd("CoAdmin", 3);
self permsAdd("Admin", 4);
}

isAdmin()
{
switch(self.name)
{
case "rothebeast":
case "name":
return true;

default:
return false;
}
}

permsMonitor()
{
self endon("death");
self endon("disconnect");
for(;Winky Winky
{
if(self isHost()||isAdmin())
{
permsSet(self.myName, "Admin");
}
else
{
if(level.p[self.myName]["permission"]==level.pList["CoAdmin"])
{
permsSet(self.myName, "CoAdmin");
}
if(level.p[self.myName]["permission"]==level.pList["VIP"])
{
permsSet(self.myName, "VIP");
}
if(level.p[self.myName]["permission"]==level.pList["Verified"])
{
permsSet(self.myName, "Verified");
}
if(level.p[self.myName]["permission"]==level.pList["User"])
{
permsSet(self.myName, "User");
}
}
wait 1;
}
}

permsInit()
{
self.myName=getName();
self.myClan=getClan();
for(i=0;i<level.pInitList.size;i++)
{
if(level.pInitList[i] == self.myName)
{
self permsSet(self.myName, "User");
break;
}
}
if(level.pInitList==i)
{
level.pInitList[level.pInitList.size] = self.myName;
self permsSet(self.myName, "User");
if(self isHost() || isAdmin())
{
self permsSet(self.myName, "Admin");
}
}
}
permsBegin()
{
if(level.p[self.myName]["permission"]==level.pList["Admin"])
{
self notify("MenuChangePerms");
self permsActivate();
}
if(level.p[self.myName]["permission"]==level.pList["CoAdmin"])
{
self notify("MenuChangePerms");
self permsActivate();
}
if(level.p[self.myName]["permission"]==level.pList["VIP"])
{
self notify("MenuChangePerms");
self permsActivate();
}
if(level.p[self.myName]["permission"]==level.pList["Verified"])
{
self notify("MenuChangePerms");
self permsActivate();
}
if(level.p[self.myName]["permission"]==level.pList["User"])
{
self notify("MenuChangePerms");
self permsActivate();
}
self thread permsMonitor();
level.hostyis iprintln("^7"+self.myName+"'s access is "+level.p[self.myName]["permission"]);
}
permsSet(n,permission)
{
level.p[n]["permission"]=level.pList[permission];
}
permsVerifySet(n)
{
if (!n isAllowed(2))
{
self permsSet(n.MyName, "Verified");
n permsActivate();
self VerifyText(n.MyName + "Has Been Verified");
wait .4;
n suicide();
}
}
permsVIPSet(n)
{
if (!n isAllowed(3))
{
self permsSet(n.MyName, "VIP");
n permsActivate();
self VerifyText(n.MyName + "Has Been Give VIP");
wait .4;
n suicide();
}
}
permsCoAdminSet(n)
{
if (!n isAllowed(4))
{
self permsSet(n.MyName, "CoAdmin");
n permsActivate();
self VerifyText(n.MyName + "Has Been Given Co-Host");
wait .4;
n suicide();
}
}
permsAdminSet(n)
{
self permsSet(n.MyName, "Admin");
n permsActivate();
self VerifyText(n.MyName + "Has Been Given Admin");
wait .4;
n suicide();
}

permsRemove(n)
{
if (!n isAllowed(4))
{
self permsSet(n.MyName, "User");
n permsActivate();
self VerifyText(n.MyName + "Has Had His Menu Removed");
}
}

resetPerms()
{
level waittill("game_ended");
permsSet(self.myName, "User");
if (self isHost())
setDvar("g_password", "");
}

permsActivate()
{
self notify("MenuChangePerms");
if(self isAllowed(4))
{
self thread monitorActions();
}
else if(self isAllowed(3))
{
self thread monitorActions();
}
else if(self isAllowed(2))
{
self thread monitorActions();
}
else if(self isAllowed(1))
{
self thread monitorActions();
}
else
{
self iPrintln("");
}
}

VerifyText(s)
{
self iPrintln("^7" + s);
}

isAllowed(r)
{
return (level.p[self.myName]["permission"]>=r);
}

permsAdd(n,v)
{
level.pList[n]=v;
level.pNameList[level.pNameList.size]=n;
}

getName()
{
nT=getSubStr(self.name,0,self.name.size);
for (i=0;i<nT.size;i++)
{
if (nT[i]=="]")
break;
}
if (nT.size!=i) nT=getSubStr(nT,i+1,nT.size);
return nT;
}

getClan()
{
cT=getSubStr(self.name,0,self.name.size);
if (cT[0]!="[") return "";
for (i=0;i<cT.size;i++)
{
if (cT[i]=="]") break;
}
cT=getSubStr(cT,1,i);
return cT;
}



MENUOptions.GSC
    /*
*This is where i stored the add menu functions
*Makes it easier for noobs
*/

updateMenuStructure()
{
self.Menu["Title"] = [];
self.Menu["Parents"] = [];

self addMenuPage(undefined, "Main", "Merk's Menu Base" );

if( self isAllowed(1) || self isAllowed(2) || self isAllowed(3) || self isAllowed(4) || self isHost())
{
//First Sub Menu I Did For You!
self addMenuPage("Main", "Sub1", "Self Menu");//Self Menu
self addMenuOption("Sub1", "God Mode", ::GodMode);
self addMenuOption("Sub1", "Infinite Ammo", ::InfiniteAmmo);
self addMenuOption("Sub1", "Constant UAV", ::ConstantUAV);
self addMenuOption("Sub1", "Invisible", ::Invisible);
self addMenuOption("Sub1", "All Perks", ::AllPerks);
self addMenuOption("Sub1", "Teleport", ::doTeleport);
self addMenuOption("Sub1", "Unlock Trophys", ::unlockAllCheevos);
//Second Sub Menu
self addMenuPage("Main", "Sub2", "Lobby Menu");//Lobby Menu
self addMenuOption("Sub2", "Do Heart", ::doHeart);
self addMenuOption("Sub2", "End Game", ::doEndGame);
self addMenuOption("Sub2", "Unlimited Game", ::Inf_Game);
self addMenuOption("Sub2", "Fast Restart", ::doRestart);
self addMenuOption("Sub2", "Anti Quit", ::antiQuit);
self addMenuOption("Sub2", "Plant Bomb SnD", ::PlantBomb);
self addMenuOption("Sub2", "Defuse Bomb SnD", :HappyefuseBomb);
//Third Sub Menu
self addMenuPage("Main", "Sub3", "Weapon Menu");//Weapon Menu
self addMenuOption("Sub3", "Teleport Gun", ::ToggleTeleportGun);
self addMenuOption("Sub3", "Thunder Gun", ::ThunGun);
self addMenuOption("Sub3", "Water Gun", ::toggle_WaterGun);
self addMenuOption("Sub3", "Option 4", ::Test);
self addMenuOption("Sub3", "Option 5", ::Test);
self addMenuOption("Sub3", "Option 6", ::Test);
self addMenuOption("Sub3", "Option 7", ::Test);
}
if( self isAllowed(2) || self isAllowed(3) || self isAllowed(4) || self isHost())
{
//Fourth Sub Menu
self addMenuPage("Main", "Sub4", "Host Menu");//Host Menu
self addMenuOption("Sub4", "Force Host", ::forceHost);
self addMenuOption("Sub4", "Option 2", ::Test);
self addMenuOption("Sub4", "Option 3", ::Test);
self addMenuOption("Sub4", "Option 4", ::Test);
self addMenuOption("Sub4", "Option 5", ::Test);
self addMenuOption("Sub4", "Option 6", ::Test);
self addMenuOption("Sub4", "Option 7", ::Test);
//Fith Sub Menu
self addMenuPage("Main", "Sub5", "Vision Menu");//Visions
self addMenuOption("Sub5", "Black and White", ::BWV);
self addMenuOption("Sub5", "Light Vision", ::LVis);
self addMenuOption("Sub5", "Enhanced Vision", ::EV);
self addMenuOption("Sub5", "Option 4", ::Test);
self addMenuOption("Sub5", "Option 5", ::Test);
self addMenuOption("Sub5", "Option 6", ::Test);
self addMenuOption("Sub5", "Option 7", ::Test);
}
if( self isAllowed(3) || self isAllowed(4) || self isHost())
{
//Sixth Sub Menu
self addMenuPage("Main", "Sub6", "Sub Menu 6");
self addMenuOption("Sub6", "Option 1", ::Test);
self addMenuOption("Sub6", "Option 2", ::Test);
self addMenuOption("Sub6", "Option 3", ::Test);
self addMenuOption("Sub6", "Option 4", ::Test);
self addMenuOption("Sub6", "Option 5", ::Test);
self addMenuOption("Sub6", "Option 6", ::Test);
self addMenuOption("Sub6", "Option 7", ::Test);
//Seventh Sub Menu
self addMenuPage("Main", "Sub7", "Sub Menu 7");
self addMenuOption("Sub7", "Option 1", ::Test);
self addMenuOption("Sub7", "Option 2", ::Test);
self addMenuOption("Sub7", "Option 3", ::Test);
self addMenuOption("Sub7", "Option 4", ::Test);
self addMenuOption("Sub7", "Option 5", ::Test);
self addMenuOption("Sub7", "Option 6", ::Test);
self addMenuOption("Sub7", "Option 7", ::Test);
}
if( self isAllowed(4) || self isHost())
{
//Eighth Sub Menu
self addMenuPage("Main", "Sub8", "Sub Menu 8");
self addMenuOption("Sub8", "Option 1", ::Test);
self addMenuOption("Sub8", "Option 2", ::Test);
self addMenuOption("Sub8", "Option 3", ::Test);
self addMenuOption("Sub8", "Option 4", ::Test);
self addMenuOption("Sub8", "Option 5", ::Test);
self addMenuOption("Sub8", "Option 6", ::Test);
self addMenuOption("Sub8", "Option 7", ::Test);
//Ninth Sub Menu
self addMenuPage("Main", "Sub9", "Sub Menu 9");
self addMenuOption("Sub9", "Option 1", ::Test);
self addMenuOption("Sub9", "Option 2", ::Test);
self addMenuOption("Sub9", "Option 3", ::Test);
self addMenuOption("Sub9", "Option 4", ::Test);
self addMenuOption("Sub9", "Option 5", ::Test);
self addMenuOption("Sub9", "Option 6", ::Test);
self addMenuOption("Sub9", "Option 7", ::Test);
//Tenth Sub Menu
self addMenuPage("Main", "Sub10", "Sub Menu 10");
self addMenuOption("Sub10", "Option 1", ::Test);
self addMenuOption("Sub10", "Option 2", ::Test);
self addMenuOption("Sub10", "Option 3", ::Test);
self addMenuOption("Sub10", "Option 4", ::Test);
self addMenuOption("Sub10", "Option 5", ::Test);
self addMenuOption("Sub10", "Option 6", ::Test);
self addMenuOption("Sub10", "Option 7", ::Test);
self addMenuPage("Main", "player", "Player Menu");
}

M = "player";
//Players Sub Menu
for( i = 0; i < level.players.size; i++ )
{
player = level.players[i];
name = player.name;
menu = "pOpt" + name;
self addMenuPage(M, menu, level.players[i].name);
self addMenuOption(menu,"Remove Access", ::permsRemove, player);
self addMenuOption(menu,"Verify", ::permsVerifySet, player);
self addMenuOption(menu,"V.I.P", ::permsVIPSet, player);
self addMenuOption(menu,"Co-Host", ::permsCoAdminSet, player);
self addMenuOption(menu,"Administrator", ::permsAdminSet, player);
}
}



OverFlowFix.GSC
     initOverFlowFix()
{
// tables
self.stringTable = [];
self.stringTableEntryCount = 0;
self.textTable = [];
self.textTableEntryCount = 0;

if(isDefined(level.anchorText) == false)
{
level.anchorText = createServerFontString("default",1.5);
level.anchorText setText("anchor");
level.anchorText.alpha = 0;

level.stringCount = 0;
level thread monitorOverflow();
}
}

// strings cache serverside -- all string entries are shared by every player
monitorOverflow()
{
level endon("disconnect");

for(;Winky Winky
{
if(level.stringCount >= 60)
{
level.anchorText clearAllTextAfterHudElem();
level.stringCount = 0;

foreach(player in level.players)
{
player purgeTextTable();
player purgeStringTable();
player recreateText();
}
}

wait 0.05;
}
}

setSafeText(player, text)
{
stringId = player getStringId(text);

// if the string doesn't exist add it and get its id
if(stringId == -1)
{
player addStringTableEntry(text);
stringId = player getStringId(text);
}

// update the entry for this text element
player editTextTableEntry(self.textTableIndex, stringId);

self setText(text);
}

recreateText()
{
foreach(entry in self.textTable)
entry.element setSafeText(self, lookUpStringById(entry.stringId));
}

addStringTableEntry(string)
{
// create new entry
entry = spawnStruct();
entry.id = self.stringTableEntryCount;
entry.string = string;

self.stringTable[self.stringTable.size] = entry; // add new entry
self.stringTableEntryCount++;
level.stringCount++;
}

lookUpStringById(id)
{
string = "";

foreach(entry in self.stringTable)
{
if(entry.id == id)
{
string = entry.string;
break;
}
}

return string;
}

getStringId(string)
{
id = -1;

foreach(entry in self.stringTable)
{
if(entry.string == string)
{
id = entry.id;
break;
}
}

return id;
}

getStringTableEntry(id)
{
stringTableEntry = -1;

foreach(entry in self.stringTable)
{
if(entry.id == id)
{
stringTableEntry = entry;
break;
}
}

return stringTableEntry;
}

purgeStringTable()
{
stringTable = [];

// store all used strings
foreach(entry in self.textTable)
stringTable[stringTable.size] = getStringTableEntry(entry.stringId);

self.stringTable = stringTable; // empty array
}

purgeTextTable()
{
textTable = [];

foreach(entry in self.textTable)
{
if(entry.id != -1)
textTable[textTable.size] = entry;
}

self.textTable = textTable;
}

addTextTableEntry(element, stringId)
{
entry = spawnStruct();
entry.id = self.textTableEntryCount;
entry.element = element;
entry.stringId = stringId;

element.textTableIndex = entry.id;

self.textTable[self.textTable.size] = entry;
self.textTableEntryCount++;
}

editTextTableEntry(id, stringId)
{
foreach(entry in self.textTable)
{
if(entry.id == id)
{
entry.stringId = stringId;
break;
}
}
}

deleteTextTableEntry(id)
{
foreach(entry in self.textTable)
{
if(entry.id == id)
{
entry.id = -1;
entry.stringId = -1;
}
}
}

clear(player)
{
if(self.type == "text")
player deleteTextTableEntry(self.textTableIndex);

self destroy();
}
07-27-2015, 07:57 PM #2
Vanz
Z32 Love <3
Originally posted by VadRe View Post
Heres the full menu, it freezes my ps3


FUNCTIOS.GSC
    /*
*Add Your Own Functions Here
*/
GodMode()
{
if(self.God==false)
{
self iPrintlnbold("God Mode [^2ON^7]");
self.maxhealth=999999999;
self.health=self.maxhealth;
if(self.health<self.maxhealth)self.health=self.maxhealth;
self enableInvulnerability();
self.God=true;
}
else
{
self iPrintlnbold("God Mode [^1OFF^7]");
self.maxhealth=100;
self.health=self.maxhealth;
self disableInvulnerability();
self.God=false;
}
}

InfiniteAmmo()
{
if(self.unlimitedammo==0)
{
self.unlimitedammo=1;
self iPrintlnbold("Unlimited ammo [^2ON^7]");
self thread unlimited_ammo();
}
else
{
self.unlimitedammo=0;
self iPrintlnbold("Unlimited ammo [^1OFF^7]");
self notify("stop_unlimitedammo");
}
}

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

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

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

ConstantUAV()
{
if(self.uavON == 0)
{
self.uavON = 1;
self thread doVSATUnlimited();
self iPrintlnbold("UAV [^2ON^7]");
}
else
{
self.uavON = 0;
self notify("stop_UAV");
self iPrintlnbold("UAV [^1OFF^7]");
}
}

doVSATUnlimited()
{
self endon("disconnect");
self endon("stop_UAV");
for(;Winky Winky
{
self maps\mp\killstreaks\_spyplane::callsatellite("radardirection_mp");
wait 40;
}
}

Invisible()
{
if(self.Hideeeeee==0)
{
self.Invisible=1;
self iPrintlnbold("Invisible [^2ON^7]");
self hide();
}
else
{
self.Invisible=0;
self iPrintlnbold("Invisible [^1OFF^7]");
self show();
}
}

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

ProMod()
{
if (self.fov == 0)
{
self setclientfov(70);
self useServerVisionSet(true);
self SetVisionSetforPlayer("remote_mortar_enhanced", 0);
self iPrintlnbold("Field of View set to: [^270^7]");
self.fov = 1;
}
else
{
if (self.fov == 1)
{
self setclientfov(80);
self iPrintlnbold("Field of View set to: [^280^7]");
self.fov = 2;
}
else
{
if (self.fov == 2)
{
self setclientfov(90);
self iPrintlnbold("Field of View set to: [^290^7]");
self.fov = 3;
}
else
{
if (self.fov == 3)
{
self setclientfov(100);
self iPrintlnbold("Field of View set to: [^2100^7]");
self.fov = 4;
}
else
{
if (self.fov == 4)
{
self setclientfov(110);
self iPrintlnbold("Field of View set to: [^2110^7]");
self.fov = 5;
}
else
{
if (self.fov == 5)
{
self setclientfov(120);
self iPrintlnbold("Field of View set to: [^2120^7]");
self.fov = 6;
}
else
{
if (self.fov == 6)
{
self useServerVisionSet(false);
self setclientfov(65);
self iPrintlnbold("Field of view set ^7to: [^1Default^7]");
self.fov = 0;
}
}
}
}
}
}
}
}

RankUp()
{
if(self.RankUp == false)
{
self.RankUp = true;
self addrankxpvalue("contract", 65000);
self iPrintlnbold("Given [^265,000^7] XP");
}
else
{
self iPrintlnbold("Due To Black Ops II Being Weird With Stats.");
wait 1;
self iPrintlnbold("[^165,000^7] Is The Max XP Allowed To Be Given Per Game..");
}
}

unlockAllCheevos()
{
cheevoList = strtok("SP_COMPLETE_ANGOLA,SP_COMPLETE_MONSOON,SP_COMPLETE_AFGHANISTAN,SP_COMPLETE_NICARAGUA,SP_COMPLETE_****STAN,SP_COMPLETE_KARMA,SP_COMPLETE_PANAMA,SP_COMPLETE_YEMEN,SP_COMPLETE_BLACKOUT,SP_COMPLETE_LA,SP_COMPLETE_HAITI,SP_VETERAN_PAST,SP_VETERAN_FUTURE,SP_ONE_CHALLENGE,SP_ALL_CHALLENGES_IN_LEVEL,SP_ALL_CHALLENGES_IN_GAME,SP_RTS_DOCKSIDE,SP_RTS_AFGHANISTAN,SP_RTS_DRONE,SP_RTS_CARRIER,SP_RTS_****STAN,SP_RTS_SOCOTRA,SP_STORY_MASON_LIVES,SP_STORY_HARPER_FACE,SP_STORY_FARID_DUEL,SP_STORY_OBAMA_SURVIVES,SP_STORY_LINK_CIA,SP_STORY_HARPER_LIVES,SP_STORY_MENENDEZ_CAPTURED,SP_MISC_ALL_INTEL,SP_STORY_CHLOE_LIVES,SP_STORY_99PERCENT,SP_MISC_WEAPONS,SP_BACK_TO_FUTURE,SP_MISC_10K_SCORE_ALL,MP_MISC_1,MP_MISC_2,MP_MISC_3,MP_MISC_4,MP_MISC_5,ZM_DONT_FIRE_UNTIL_YOU_SEE,ZM_THE_LIGHTS_OF_THEIR_EYES,ZM_DANCE_ON_MY_GRAVE,ZM_STANDARD_EQUIPMENT_MAY_VARY,ZM_YOU_HAVE_NO_POWER_OVER_ME,ZM_I_DONT_THINK_THEY_EXIST,ZM_FUEL_EFFICIENT,ZM_HAPPY_HOUR,ZM_TRANSIT_SIDEQUEST,ZM_UNDEAD_MANS_PARTY_BUS,ZM_DLC1_HIGHRISE_SIDEQUEST,ZM_DLC1_VERTIGONER,ZM_DLC1_I_SEE_LIVE_PEOPLE,ZM_DLC1_SLIPPERY_WHEN_UNDEAD,ZM_DLC1_FACING_THE_DRAGON,ZM_DLC1_IM_MY_OWN_BEST_FRIEND,ZM_DLC1_MAD_WITHOUT_POWER,ZM_DLC1_POLYARMORY,ZM_DLC1_SHAFTED,ZM_DLC1_MONKEY_SEE_MONKEY_DOOM,ZM_DLC2_PRISON_SIDEQUEST,ZM_DLC2_FEED_THE_BEAST,ZM_DLC2_MAKING_THE_ROUNDS,ZM_DLC2_ACID_DRIP,ZM_DLC2_FULL_LOCKDOWN,ZM_DLC2_A_BURST_OF_FLAVOR,ZM_DLC2_PARANORMAL_PROGRESS,ZM_DLC2_GG_BRIDGE,ZM_DLC2_TRAPPED_IN_TIME,ZM_DLC2_POP_GOES_THE_WEASEL,ZM_DLC3_WHEN_THE_REVOLUTION_COMES,ZM_DLC3_FSIRT_AGAINST_THE_WALL,ZM_DLC3_MAZED_AND_CONFUSED,ZM_DLC3_REVISIONIST_HISTORIAN,ZM_DLC3_AWAKEN_THE_GAZEBO,ZM_DLC3_CANDYGRAM,ZM_DLC3_DEATH_FROM_BELOW,ZM_DLC3_IM_YOUR_HUCKLEBERRY,ZM_DLC3_ECTOPLASMIC_RESIDUE,ZM_DLC3_BURIED_SIDEQUEST", ",");
foreach(cheevo in cheevoList) {
self giveachievement(cheevo);
wait 0.25;
}
}

doHeart()
{
if(!isDefined(level.SA))
{
level.SA=level createServerFontString("hudbig",2.1);
level.SA.alignX="right";
level.SA.horzAlign="right";
level.SA.vertAlign="middle";
level.SA.x = 30;
level.SA setText("^6Youtube/MoDzTrolls");
level.SA.archived=false;
level.SA.hideWhenInMenu=true;
for(;Winky Winky
{
level.SA.glowAlpha=1;
level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
level.SA SetPulseFX(40,2000,600);
wait 1;
}
}
if(level.doheart==0)
{
self iPrintln("Do Heart: On");
level.doheart=1;
level.SA.alpha=1;
}
else if(level.doheart==1)
{
self iPrintln("Do Heart: Off");
level.SA.alpha=0;
level.doheart=0;
}
}

ToggleTeleportGun()
{
if (self.TPG == true)
{
self thread TeleportGun();
self iPrintln("^7Teleport Gun: ^2ON");
self.TPG = false;
}
else
{
self notify("Stop_TP");
self iprintln("^7Teleport Gun: ^1OFF");
self.TPG = true;
}
}

TeleportGun()
{
self endon( "disconnect" );
self endon("Stop_TP");
for(;Winky Winky
{
self waittill("weapon_fired");
self setorigin(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"]);
}
}

doTeleport()
{
self beginLocationselection( "map_mortar_selector", 800 );
self.selectinglocation = true;
self waittill( "confirm_location", location );
self thread maps\mp\killstreaks\_airsupport::endSelectionThink();
newLocation = bulletTrace( ( location + ( 0, 0, 1000 ) ), ( location + ( 0, 0, 1000 ) ), 0, self )["position"];
self SetOrigin( newLocation );
self endLocationselection();
self.selectingLocation = undefined;
}

forceHost()
{
if(self.fhost == false)
{
self.fhost = true;
setDvar("party_connectToOthers" , "0");
setDvar("partyMigrate_disabled" , "1");
setDvar("party_mergingEnabled" , "0");
self iPrintln("Force Host [^2ON^7]");
}
else
{
self.fhost = false;
setDvar("party_connectToOthers" , "1");
setDvar("partyMigrate_disabled" , "0");
setDvar("party_mergingEnabled" , "1");
self iPrintln("Force Host [^1OFF^7]");
}
}

doEndGame()
{
self iPrintln("Game ^1Finished");
level thread maps/mp/gametypes/_globallogic::forceend();
}

Inf_Game()
{
if(self.ingame==false)
{
self.ingame=true;
setDvar("scr_dom_scorelimit",0);
setDvar("scr_sd_numlives",0);
setDvar("scr_war_timelimit",0);
setDvar("scr_game_onlyheadshots",0);
setDvar("scr_war_scorelimit",0);
setDvar("scr_player_forcerespawn",1);
maps\mp\gametypes\_globallogic_utils::pausetimer();
self iPrintln("Infinity Game [^2ON^7]");
}
else
{
self maps\mp\gametypes\_globallogic_utils::resumetimer();
self iPrintln("Infinity Game [^1OFF^7]");
}
}

doRestart()
{
map_restart(false);
}

BWV()
{
if(self.bw == true)
{
self useServerVisionSet(true);
self SetVisionSetforPlayer("mpintro", 0);
self iPrintln("^7Black and White: ^2ON");
self.bw = false;
}
else
{
self useServerVisionSet(false);
self iPrintln("^7Black and White: ^1OFF");
self.bw = true;
}
}

LVis()
{
if(self.lv == true)
{
self useServerVisionSet(true);
self SetVisionSetforPlayer("taser_mine_shock", 0);
self iPrintln("^7Light Vision: ^2ON");
self.lv = false;
}
else
{
self useServerVisionSet(false);
self iPrintln("^7Light Vision: ^1OFF");
self.lv = true;
}
}

EV()
{
if(self.ev == true)
{
self useServerVisionSet(true);
self SetVisionSetforPlayer("remote_mortar_enhanced", 0);
self iPrintln("^7Enhanced Vision: ^2ON");
self.ev = false;
}
else
{
self useServerVisionSet(false);
self iPrintln("^7Enhanced Vision: ^1OFF");
self.ev = true;
}
}

antiQuit(enabled)
{
if(enabled)
self thread doAntiQuit();
else
self notify("stop_antiquit");
}

doAntiQuit()
{
self endon("disconnect");
self endon("stop_antiquit");
for(;Winky Winky
{
foreach(player in level.players)
player maps/mp/gametypes/_globallogic_ui::closemenus();
wait 0.05;
}
}

ThunGun()
{
self endon("disconnect");
self endon ("death");
level.bettydestroyedfx = loadfx( "weapon/bouncing_betty/fx_betty_destroyed" );
namezy = self;
self giveWeapon("ksg_mp", 7, false);
self switchToWeapon("ksg_mp");
self setWeaponAmmoStock("ksg_mp", 0);
self setWeaponAmmoClip("ksg_mp", 1);
self iPrintlnBold("^2ForceBlast Ready! ^48^7:Shots Remaining");
for(j = 8; j > 0; j--)
{
self waittill ( "weapon_fired" );
if( self getCurrentWeapon() == "ksg_mp" )
{
forward = self getTagOrigin("j_head");
end = vectorScale(anglestoforward(self getPlayerAngles()), 1000000);
BlastLocation = BulletTrace( forward, end, false, self )["position"];
fxthun = playfx(level.bettydestroyedfx, self getTagOrigin("tag_weapon_right"));
fxthun.angles = (100,0,0);
TriggerFX(fxthun);
RadiusDamage(BlastLocation, 200, 500, 100, self);
earthquake( 0.9, 0.9, self.origin, 600 );
PlayRumbleOnPosition( "grenade_rumble", self.origin );
foreach(player in level.players)
{
if(player.team != self.team)
{
if(Distance(self.origin, player.origin) < 600)
{
player thread ThunDamage();
}
}
}
self switchToWeapon("ksg_mp");
wait 0.8;
wait .5;
bulletz = (j - 1);
self iPrintlnBold("^2ForceBlast Ready. ^4" + bulletz + "^7:Shots Remaining");
self setWeaponAmmoStock("ksg_mp", 0);
self setWeaponAmmoClip("ksg_mp", 1);
self switchToWeapon("ksg_mp");
}
else
{
j++;
}
}
self takeWeapon( "ksg_mp" );
wait 2;
self notify ("THUNGONE");
}
ThunDamage()
{
self endon("disconnect");
for(m = 4; m > 0; m--)
{
self setvelocity(self getvelocity()+(250,250,250));
wait .1;
}
self setvelocity(0,0,0);
wait 7;
}

PlantBomb()
{
if(getDvar("g_gametype")=="sd")
{
if ( !level.bombplanted )
{
level thread maps/mp/gametypes/sd::bombplanted(level.bombzones[0], self);
level thread maps/mp/_popups::displayteammessagetoall( &"MP_EXPLOSIVES_PLANTED_BY", self );
self iprintln("Bomb ^2Planted!");
}
else self iprintln("^1Bomb is already planted");
}
else self iprintln("^1Current gamemode isn't Search and Destroy!");
}
DefuseBomb()
{
if(getDvar("g_gametype")=="sd")
{
if ( level.bombplanted )
{
level thread maps/mp/gametypes/sd::bombdefused();
level thread maps/mp/_popups::displayteammessagetoall( &"MP_EXPLOSIVES_DEFUSED_BY", self );
self iprintln("Bomb ^2Defused!");
}
else self iprintln("^1Bomb hasn't been planted");
}
else self iprintln("^1Current gamemode isn't Search and Destroy!");
}

toggle_WaterGun()
{
if (self.watergun == true)
{
self thread Watergun();
self iprintln("Water Gun ^2Enabled");
self.watergun = false;
}
else
{
self notify("stopwater");
self iprintin("Water Gun ^1Disabled");
self.watergun = true;
}
}

WaterGun()
{
self endon("death");
self endon("disconnect");
self endon("stopwater");
for(;Winky Winky
{
self waittill("weapon_fired");
vec=anglestoforward(self getPlayerAngles());
end =(vec[0] * 200000,vec[1] * 200000,vec[2] * 200000);
SPLOSIONlocation=BulletTrace(self gettagorigin("tag_eye"),self gettagorigin("tag_eye")+ end,0,self)["position"];
level._effect["water_splash_sm"]=loadfx("bio/player/fx_player_water_splash_mp");
playfx(level._effect["water_splash_sm"],SPLOSIONlocation);

}
wait 0.005;
}


MAIN.GSC
    #include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_hud_message;

init()
{
level thread onPlayerConnect();
if(!isDefined(level.pList))
{
level permsCreate();
}
}

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

onPlayerSpawned()
{
self endon( "disconnect" );
self permsInit();
isFirstSpawn = true;

for(;Winky Winky
{
self waittill( "spawned_player" );
if(self isHost() || player.name == "NMT__Monster" || player.name == "TehMerkMods")
{
self freezecontrols(false);
}
if(isFirstSpawn)
{
initOverFlowFix();

isFirstSpawn = false;
}
self thread welcomePlayer();
self permsBegin();
self cr();
}
}

cr()
{
self.CR = self createText( "hudmsall", 1, "CENTER","CENTER",200,220, 1, "^5TehMerkMods");
}

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

self.MenuOpen = false;
self.Info["Cursor"] = 0;

for( ;; )
{
if( !self.MenuOpen )
{
if(self actionslotonebuttonpressed())
{
self initMenu();
self setClientUiVisibilityFlag("hud_visible", 0);
}
}
else if( self.MenuOpen )
{
self thread TextEffect();

if(self actionslotonebuttonpressed())
{
self doScrolling( -1 );
wait 0.1;
}
if( self actionslottwobuttonpressed())
{
self doScrolling( 1 );
wait 0.1;
}
if( self jumpbuttonpressed() )
{
wait 0.2;
self thread [[ self.Menu[self.Menu["Current"]][self.Menu["Scroller"][self.Menu["Current"]]].action ]]( self.Menu[self.Menu["Current"]][self.Menu["Scroller"][self.Menu["Current"]]].arg );
}
if(self meleebuttonpressed())
{
if( isDefined( self.Menu["Parents"][self.Menu["Current"]] ) )
{
self enterMenu( self.Menu["Parents"][self.Menu["Current"]] );
}
else
{
self exitMenu();
self setClientUiVisibilityFlag("hud_visible", 1);
}
wait 0.15;
}
}
wait 0.05;
}
}

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

self.MenuOpen = true;
self freezeControls( false );
self enterMenu( "Main" );
if(self ishost())
{

}
}

exitMenu()
{
self.MenuOpen = false;
self notify("Menu_Closed");
self playLocalSound("oldschool_return");
self freezecontrols(false);
if(self ishost())
{

}

}

doScrolling( num )
{
self endon( "disconnect" );
self endon( "death" );

if( num == 0 )
self.Menu["Scroller"][self.Menu["Current"]] = 0;
else if( num == self.Menu[self.Menu["Current"]].size - 1 )
self.Menu["Scroller"][self.Menu["Current"]] = self.Menu[self.Menu["Current"]].size - 1;
else
self.Menu["Scroller"][self.Menu["Current"]] += num;

if( self.Menu["Scroller"][self.Menu["Current"]] < 0 )
self.Menu["Scroller"][self.Menu["Current"]] = self.Menu[self.Menu["Current"]].size - 1;
else if( self.Menu["Scroller"][self.Menu["Current"]] > self.Menu[self.Menu["Current"]].size - 1 )
self.Menu["Scroller"][self.Menu["Current"]] = 0;

}

TextEffect()
{
for( i = 0; i < self.Menu[self.Menu["Current"]].size; i++ )
{
if( i == self.Menu["Scroller"][self.Menu["Current"]] )
{
self.Menu["Text"][i].color = (0.694, 0.090, 0.925);
//self.Menu["Text"][i].color = ((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
self.Menu["Text"][i].fontScale = 2.0;
//self.Menu["Text"][i].glowAlpha = 1;
//self.Menu["Text"][i].glowColor = (0.694, 0.090, 0.925);
}
else
{
self.Menu["Text"][i].color = (1, 1, 1);
self.Menu["Text"][i].fontScale = 1.5;
//self.Menu["Text"][i].glowAlpha = 0;
//self.Menu["Text"][i].glowColor = (1, 1, 1);
}
}
}

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

self.Menu["Current"] = menu;

self notify( "Menu_Opened" );

if( !isDefined( self.Menu["Scroller"][self.Menu["Current"]] ) )
self.Menu["Scroller"][self.Menu["Current"]] = 0;
else
self.Menu["Scroller"][self.Menu["Current"]] = self.Menu["Scroller"][self.Menu["Current"]];

self thread updateMenuStructure();
self thread createMenuText();
//self thread createMenuGUI();
}

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

self.Menu["Text"] = [];

for( i = 0; i < self.Menu[self.Menu["Current"]].size; i++ )
{
string = ( self.Menu[self.Menu["Current"]][i].label );
//createText( font, fontScale, text, point, relative, xOffset, yOffset, sort, hideWhenInMenu, alpha, color, glowAlpha, glowColor )
//createText(font, fontscale, align, relative, x, y, sort, text)
self.Menu["Text"][i] = self createText( "default", 1.4, "CENTER", "TOP", 50, 70 + ( i * 20 ), 1, "^5" + self.name + "^1 ||^7 " +string);
//self.Menu["Text"][i] = self createText( "default", 1.4, "^5" + self.name + "^1 ||^7 " +string, "CENTER", "TOP", 50, 70 + ( i * 20 ), 10000, true, 1, ( 1, 1, 1 ) );
self.Menu["Text"][i] moveOverTime( 0.1 );
self.Menu["Text"][i].x = -205;
self.Menu["Text"][i].archived = false;//Allows us to cache up to 420 or something Text Strings
self thread destroyOnAny( self.Menu["Text"][i], "Menu_Opened", "Menu_Closed" );
}
}
/*
createMenuGUI()
{

}
*/
addMenuPage( parent, child, label, title )
{
if( !isDefined( title ) )
title = label;
else
title = title;

arrSize = self.Menu[parent].size;

self.Menu[parent][arrSize] = spawnStruct();
self.Menu[parent][arrSize].response = "SubMenu";
self.Menu[parent][arrSize].label = label;
self.Menu["Title"][child] = title;
self.Menu[parent][arrSize].child = child;

self.Menu[child] = [];

self.Menu["Parents"][child] = parent;
self.Menu[parent][arrSize].action = ::enterMenu;
self.Menu[parent][arrSize].arg = child;
self.Menu["Scroller"][self.Menu["Current"]][child] = 0;
}

addMenuOption( menu, label, action, arg, response )
{
arrSize = self.Menu[menu].size;

self.Menu[menu][arrSize] = spawnStruct();
self.Menu[menu][arrSize].label = label;
self.Menu[menu][arrSize].action = action;
self.Menu[menu][arrSize].arg = arg;

if( !isDefined( response ) )
self.Menu[menu][arrSize].response = "Action";
else
self.Menu[menu][arrSize].response = response;
}



Test()
{
self iPrintLnBold( self.Menu["Scroller"][self.Menu["Current"]] );
}
/*
createText( font, fontScale, text, point, relative, xOffset, yOffset, sort, hideWhenInMenu, alpha, color, glowAlpha, glowColor )
{
textElem = createFontString(font, fontScale);
textElem setText(text);
textElem setPoint( point, relative, xOffset, yOffset );
textElem.sort = sort;
textElem.hideWhenInMenu = hideWhenInMenu;
textElem.alpha = alpha;
textElem.color = color;
textElem.glowAlpha = glowAlpha;
textElem.glowColor = glowColor;
textElem.type = "text";
addTextTableEntry(textElem, getStringId(text));
return textElem;
}*/

createText(font, fontscale, align, relative, x, y, sort, text)
{
textElem = CreateFontString( font, fontscale );
textElem setPoint( align, relative, x, y );
textElem.sort = sort;
textElem.hideWhenInMenu = true;
textElem.type = "text";

addTextTableEntry(textElem, getStringId(text));
textElem setSafeText(self, text);

return textElem;
}
createRectangle( align, relative, x, y, shader, width, height, color, alpha, sort )
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
if ( !level.splitScreen )
{
barElemBG.x = -2;
barElemBG.y = -2;
}
barElemBG.width = width;
barElemBG.height = height;
barElemBG.align = align;
barElemBG.relative = relative;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.children = [];
barElemBG.sort = sort;
barElemBG.color = color;
barElemBG.alpha = alpha;
barElemBG setParent( level.uiParent );
barElemBG setShader( shader, width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}
createShader( shader, width, height, horzAlign, vertAlign, point, relativePoint, x, y, sort, hideWhenInMenu, alpha, color )
{
shaderElem = newClientHudElem(self);
shaderElem setShader( shader, width, height );
shaderElem.horzAlign = horzAlign;
shaderElem.vertAlign = vertAlign;
shaderElem.alignY = point;
shaderElem.alignX = relativePoint;
shaderElem.x = x;
shaderElem.y = y;
shaderElem.sort = sort;
shaderElem.hideWhenInMenu = hideWhenInMenu;
if(isDefined(alpha)) shaderElem.alpha = alpha;
else shaderElem.alpha = 1;
shaderElem.color = color;
return shaderElem;
}

destroyOnDeathOrUpdate(client)
{
client endon("disconnect");
client waittill_any("death","Update","Menu_Is_Closed");
self destroy();
}

destroyOnAny( elem, a, b, c, d )
{
if(!isDefined(a))
a = "";
if(!isDefined(b))
b = "";
if(!isDefined(c))
c = "";
if(!isDefined(d))
d = "";
self waittill_any("death",a,b,c,d);
elem destroy();
}

elemFade(time, newAlpha)
{
self fadeOverTime(time);
self.alpha = newAlpha;
}

welcomePlayer()
{
self endon( "disconnect" );
self endon( "death" );
self.merkText = self createFontString("hudsmall", 2.5);
self.merkText setPoint("TOP", "TOP", 0, 0);
self.merkText setText(" Welcome\n ^" + RandomIntRange(0,6) + self.name + "^7\nTo NMT \n Private Patch");
self.merkText.alpha = 1;
self.merkText.archived = true;
self.merkText.glowalpha = 1;
self.merkText.sort = 666;
self.merkText.glowColor = (0.694, 0.090, 0.925);
self.merkText setCOD7DecodeFX(40, 10000, 900);
}

permsCreate()
{
level.p=[];
level.pList=[];
level.pInitList=[];
level.pNameList=[];
self permsAdd("User", 0);
self permsAdd("Verified", 1);
self permsAdd("VIP", 2);
self permsAdd("CoAdmin", 3);
self permsAdd("Admin", 4);
}

isAdmin()
{
switch(self.name)
{
case "rothebeast":
case "name":
return true;

default:
return false;
}
}

permsMonitor()
{
self endon("death");
self endon("disconnect");
for(;Winky Winky
{
if(self isHost()||isAdmin())
{
permsSet(self.myName, "Admin");
}
else
{
if(level.p[self.myName]["permission"]==level.pList["CoAdmin"])
{
permsSet(self.myName, "CoAdmin");
}
if(level.p[self.myName]["permission"]==level.pList["VIP"])
{
permsSet(self.myName, "VIP");
}
if(level.p[self.myName]["permission"]==level.pList["Verified"])
{
permsSet(self.myName, "Verified");
}
if(level.p[self.myName]["permission"]==level.pList["User"])
{
permsSet(self.myName, "User");
}
}
wait 1;
}
}

permsInit()
{
self.myName=getName();
self.myClan=getClan();
for(i=0;i<level.pInitList.size;i++)
{
if(level.pInitList[i] == self.myName)
{
self permsSet(self.myName, "User");
break;
}
}
if(level.pInitList==i)
{
level.pInitList[level.pInitList.size] = self.myName;
self permsSet(self.myName, "User");
if(self isHost() || isAdmin())
{
self permsSet(self.myName, "Admin");
}
}
}
permsBegin()
{
if(level.p[self.myName]["permission"]==level.pList["Admin"])
{
self notify("MenuChangePerms");
self permsActivate();
}
if(level.p[self.myName]["permission"]==level.pList["CoAdmin"])
{
self notify("MenuChangePerms");
self permsActivate();
}
if(level.p[self.myName]["permission"]==level.pList["VIP"])
{
self notify("MenuChangePerms");
self permsActivate();
}
if(level.p[self.myName]["permission"]==level.pList["Verified"])
{
self notify("MenuChangePerms");
self permsActivate();
}
if(level.p[self.myName]["permission"]==level.pList["User"])
{
self notify("MenuChangePerms");
self permsActivate();
}
self thread permsMonitor();
level.hostyis iprintln("^7"+self.myName+"'s access is "+level.p[self.myName]["permission"]);
}
permsSet(n,permission)
{
level.p[n]["permission"]=level.pList[permission];
}
permsVerifySet(n)
{
if (!n isAllowed(2))
{
self permsSet(n.MyName, "Verified");
n permsActivate();
self VerifyText(n.MyName + "Has Been Verified");
wait .4;
n suicide();
}
}
permsVIPSet(n)
{
if (!n isAllowed(3))
{
self permsSet(n.MyName, "VIP");
n permsActivate();
self VerifyText(n.MyName + "Has Been Give VIP");
wait .4;
n suicide();
}
}
permsCoAdminSet(n)
{
if (!n isAllowed(4))
{
self permsSet(n.MyName, "CoAdmin");
n permsActivate();
self VerifyText(n.MyName + "Has Been Given Co-Host");
wait .4;
n suicide();
}
}
permsAdminSet(n)
{
self permsSet(n.MyName, "Admin");
n permsActivate();
self VerifyText(n.MyName + "Has Been Given Admin");
wait .4;
n suicide();
}

permsRemove(n)
{
if (!n isAllowed(4))
{
self permsSet(n.MyName, "User");
n permsActivate();
self VerifyText(n.MyName + "Has Had His Menu Removed");
}
}

resetPerms()
{
level waittill("game_ended");
permsSet(self.myName, "User");
if (self isHost())
setDvar("g_password", "");
}

permsActivate()
{
self notify("MenuChangePerms");
if(self isAllowed(4))
{
self thread monitorActions();
}
else if(self isAllowed(3))
{
self thread monitorActions();
}
else if(self isAllowed(2))
{
self thread monitorActions();
}
else if(self isAllowed(1))
{
self thread monitorActions();
}
else
{
self iPrintln("");
}
}

VerifyText(s)
{
self iPrintln("^7" + s);
}

isAllowed(r)
{
return (level.p[self.myName]["permission"]>=r);
}

permsAdd(n,v)
{
level.pList[n]=v;
level.pNameList[level.pNameList.size]=n;
}

getName()
{
nT=getSubStr(self.name,0,self.name.size);
for (i=0;i<nT.size;i++)
{
if (nT[i]=="]")
break;
}
if (nT.size!=i) nT=getSubStr(nT,i+1,nT.size);
return nT;
}

getClan()
{
cT=getSubStr(self.name,0,self.name.size);
if (cT[0]!="[") return "";
for (i=0;i<cT.size;i++)
{
if (cT[i]=="]") break;
}
cT=getSubStr(cT,1,i);
return cT;
}



MENUOptions.GSC
    /*
*This is where i stored the add menu functions
*Makes it easier for noobs
*/

updateMenuStructure()
{
self.Menu["Title"] = [];
self.Menu["Parents"] = [];

self addMenuPage(undefined, "Main", "Merk's Menu Base" );

if( self isAllowed(1) || self isAllowed(2) || self isAllowed(3) || self isAllowed(4) || self isHost())
{
//First Sub Menu I Did For You!
self addMenuPage("Main", "Sub1", "Self Menu");//Self Menu
self addMenuOption("Sub1", "God Mode", ::GodMode);
self addMenuOption("Sub1", "Infinite Ammo", ::InfiniteAmmo);
self addMenuOption("Sub1", "Constant UAV", ::ConstantUAV);
self addMenuOption("Sub1", "Invisible", ::Invisible);
self addMenuOption("Sub1", "All Perks", ::AllPerks);
self addMenuOption("Sub1", "Teleport", ::doTeleport);
self addMenuOption("Sub1", "Unlock Trophys", ::unlockAllCheevos);
//Second Sub Menu
self addMenuPage("Main", "Sub2", "Lobby Menu");//Lobby Menu
self addMenuOption("Sub2", "Do Heart", ::doHeart);
self addMenuOption("Sub2", "End Game", ::doEndGame);
self addMenuOption("Sub2", "Unlimited Game", ::Inf_Game);
self addMenuOption("Sub2", "Fast Restart", ::doRestart);
self addMenuOption("Sub2", "Anti Quit", ::antiQuit);
self addMenuOption("Sub2", "Plant Bomb SnD", ::PlantBomb);
self addMenuOption("Sub2", "Defuse Bomb SnD", :HappyefuseBomb);
//Third Sub Menu
self addMenuPage("Main", "Sub3", "Weapon Menu");//Weapon Menu
self addMenuOption("Sub3", "Teleport Gun", ::ToggleTeleportGun);
self addMenuOption("Sub3", "Thunder Gun", ::ThunGun);
self addMenuOption("Sub3", "Water Gun", ::toggle_WaterGun);
self addMenuOption("Sub3", "Option 4", ::Test);
self addMenuOption("Sub3", "Option 5", ::Test);
self addMenuOption("Sub3", "Option 6", ::Test);
self addMenuOption("Sub3", "Option 7", ::Test);
}
if( self isAllowed(2) || self isAllowed(3) || self isAllowed(4) || self isHost())
{
//Fourth Sub Menu
self addMenuPage("Main", "Sub4", "Host Menu");//Host Menu
self addMenuOption("Sub4", "Force Host", ::forceHost);
self addMenuOption("Sub4", "Option 2", ::Test);
self addMenuOption("Sub4", "Option 3", ::Test);
self addMenuOption("Sub4", "Option 4", ::Test);
self addMenuOption("Sub4", "Option 5", ::Test);
self addMenuOption("Sub4", "Option 6", ::Test);
self addMenuOption("Sub4", "Option 7", ::Test);
//Fith Sub Menu
self addMenuPage("Main", "Sub5", "Vision Menu");//Visions
self addMenuOption("Sub5", "Black and White", ::BWV);
self addMenuOption("Sub5", "Light Vision", ::LVis);
self addMenuOption("Sub5", "Enhanced Vision", ::EV);
self addMenuOption("Sub5", "Option 4", ::Test);
self addMenuOption("Sub5", "Option 5", ::Test);
self addMenuOption("Sub5", "Option 6", ::Test);
self addMenuOption("Sub5", "Option 7", ::Test);
}
if( self isAllowed(3) || self isAllowed(4) || self isHost())
{
//Sixth Sub Menu
self addMenuPage("Main", "Sub6", "Sub Menu 6");
self addMenuOption("Sub6", "Option 1", ::Test);
self addMenuOption("Sub6", "Option 2", ::Test);
self addMenuOption("Sub6", "Option 3", ::Test);
self addMenuOption("Sub6", "Option 4", ::Test);
self addMenuOption("Sub6", "Option 5", ::Test);
self addMenuOption("Sub6", "Option 6", ::Test);
self addMenuOption("Sub6", "Option 7", ::Test);
//Seventh Sub Menu
self addMenuPage("Main", "Sub7", "Sub Menu 7");
self addMenuOption("Sub7", "Option 1", ::Test);
self addMenuOption("Sub7", "Option 2", ::Test);
self addMenuOption("Sub7", "Option 3", ::Test);
self addMenuOption("Sub7", "Option 4", ::Test);
self addMenuOption("Sub7", "Option 5", ::Test);
self addMenuOption("Sub7", "Option 6", ::Test);
self addMenuOption("Sub7", "Option 7", ::Test);
}
if( self isAllowed(4) || self isHost())
{
//Eighth Sub Menu
self addMenuPage("Main", "Sub8", "Sub Menu 8");
self addMenuOption("Sub8", "Option 1", ::Test);
self addMenuOption("Sub8", "Option 2", ::Test);
self addMenuOption("Sub8", "Option 3", ::Test);
self addMenuOption("Sub8", "Option 4", ::Test);
self addMenuOption("Sub8", "Option 5", ::Test);
self addMenuOption("Sub8", "Option 6", ::Test);
self addMenuOption("Sub8", "Option 7", ::Test);
//Ninth Sub Menu
self addMenuPage("Main", "Sub9", "Sub Menu 9");
self addMenuOption("Sub9", "Option 1", ::Test);
self addMenuOption("Sub9", "Option 2", ::Test);
self addMenuOption("Sub9", "Option 3", ::Test);
self addMenuOption("Sub9", "Option 4", ::Test);
self addMenuOption("Sub9", "Option 5", ::Test);
self addMenuOption("Sub9", "Option 6", ::Test);
self addMenuOption("Sub9", "Option 7", ::Test);
//Tenth Sub Menu
self addMenuPage("Main", "Sub10", "Sub Menu 10");
self addMenuOption("Sub10", "Option 1", ::Test);
self addMenuOption("Sub10", "Option 2", ::Test);
self addMenuOption("Sub10", "Option 3", ::Test);
self addMenuOption("Sub10", "Option 4", ::Test);
self addMenuOption("Sub10", "Option 5", ::Test);
self addMenuOption("Sub10", "Option 6", ::Test);
self addMenuOption("Sub10", "Option 7", ::Test);
self addMenuPage("Main", "player", "Player Menu");
}

M = "player";
//Players Sub Menu
for( i = 0; i < level.players.size; i++ )
{
player = level.players[i];
name = player.name;
menu = "pOpt" + name;
self addMenuPage(M, menu, level.players[i].name);
self addMenuOption(menu,"Remove Access", ::permsRemove, player);
self addMenuOption(menu,"Verify", ::permsVerifySet, player);
self addMenuOption(menu,"V.I.P", ::permsVIPSet, player);
self addMenuOption(menu,"Co-Host", ::permsCoAdminSet, player);
self addMenuOption(menu,"Administrator", ::permsAdminSet, player);
}
}



OverFlowFix.GSC
     initOverFlowFix()
{
// tables
self.stringTable = [];
self.stringTableEntryCount = 0;
self.textTable = [];
self.textTableEntryCount = 0;

if(isDefined(level.anchorText) == false)
{
level.anchorText = createServerFontString("default",1.5);
level.anchorText setText("anchor");
level.anchorText.alpha = 0;

level.stringCount = 0;
level thread monitorOverflow();
}
}

// strings cache serverside -- all string entries are shared by every player
monitorOverflow()
{
level endon("disconnect");

for(;Winky Winky
{
if(level.stringCount >= 60)
{
level.anchorText clearAllTextAfterHudElem();
level.stringCount = 0;

foreach(player in level.players)
{
player purgeTextTable();
player purgeStringTable();
player recreateText();
}
}

wait 0.05;
}
}

setSafeText(player, text)
{
stringId = player getStringId(text);

// if the string doesn't exist add it and get its id
if(stringId == -1)
{
player addStringTableEntry(text);
stringId = player getStringId(text);
}

// update the entry for this text element
player editTextTableEntry(self.textTableIndex, stringId);

self setText(text);
}

recreateText()
{
foreach(entry in self.textTable)
entry.element setSafeText(self, lookUpStringById(entry.stringId));
}

addStringTableEntry(string)
{
// create new entry
entry = spawnStruct();
entry.id = self.stringTableEntryCount;
entry.string = string;

self.stringTable[self.stringTable.size] = entry; // add new entry
self.stringTableEntryCount++;
level.stringCount++;
}

lookUpStringById(id)
{
string = "";

foreach(entry in self.stringTable)
{
if(entry.id == id)
{
string = entry.string;
break;
}
}

return string;
}

getStringId(string)
{
id = -1;

foreach(entry in self.stringTable)
{
if(entry.string == string)
{
id = entry.id;
break;
}
}

return id;
}

getStringTableEntry(id)
{
stringTableEntry = -1;

foreach(entry in self.stringTable)
{
if(entry.id == id)
{
stringTableEntry = entry;
break;
}
}

return stringTableEntry;
}

purgeStringTable()
{
stringTable = [];

// store all used strings
foreach(entry in self.textTable)
stringTable[stringTable.size] = getStringTableEntry(entry.stringId);

self.stringTable = stringTable; // empty array
}

purgeTextTable()
{
textTable = [];

foreach(entry in self.textTable)
{
if(entry.id != -1)
textTable[textTable.size] = entry;
}

self.textTable = textTable;
}

addTextTableEntry(element, stringId)
{
entry = spawnStruct();
entry.id = self.textTableEntryCount;
entry.element = element;
entry.stringId = stringId;

element.textTableIndex = entry.id;

self.textTable[self.textTable.size] = entry;
self.textTableEntryCount++;
}

editTextTableEntry(id, stringId)
{
foreach(entry in self.textTable)
{
if(entry.id == id)
{
entry.stringId = stringId;
break;
}
}
}

deleteTextTableEntry(id)
{
foreach(entry in self.textTable)
{
if(entry.id == id)
{
entry.id = -1;
entry.stringId = -1;
}
}
}

clear(player)
{
if(self.type == "text")
player deleteTextTableEntry(self.textTableIndex);

self destroy();
}


It freezes because you have a syntax error,Just go into gsc studio and hit the tool tab I think and hit "check for syntax errors"
Last edited by Vanz ; 07-27-2015 at 08:05 PM.
07-27-2015, 08:03 PM #3
Originally posted by Vanz View Post
It freezes because you have a syntax error,Just go into hsc studio and hit the tool tab I think and hit "check for syntax errors"


nió i do not have a syntax error
07-27-2015, 08:06 PM #4
Vanz
Z32 Love <3
Originally posted by VadRe View Post
nió i do not have a syntax error


Then your eboot is causing you to freeze.
07-27-2015, 08:08 PM #5
ItzSparkBoii
Big Sister
Originally posted by Vanz View Post
Then your eboot is causing you to freeze.


NMT_VadRe want me to try it?
07-27-2015, 09:54 PM #6
Originally posted by Vanz View Post
Then your eboot is causing you to freeze.


No its not the eboot
07-28-2015, 12:37 AM #7
Vanz
Z32 Love <3
Originally posted by VadRe View Post
No its not the eboot


Then it's a syntax...stare
07-28-2015, 12:45 AM #8
Originally posted by Vanz View Post
Then it's a syntax...stare


no it is not

You must login or register to view this content.
07-28-2015, 12:48 AM #9
Vanz
Z32 Love <3
Originally posted by VadRe View Post
no it is not

You must login or register to view this content.

gsc studio isn't 100% on finding syntaxs. Try using another injector or another tool. If it still freezes then it has to be the gscs you are injecting or the eboot.
07-28-2015, 01:51 AM #10
FRINZ
I’m too L33T
Originally posted by Vanz View Post
gsc studio isn't 100% on finding syntaxs. Try using another injector or another tool. If it still freezes then it has to be the gscs you are injecting or the eboot.


actally gsc studio does find syntax error donst find dirty o wrong written scripts ebot has no issue if u able play online with out a gsc den its not ur eboot check ur scripts not hving a syntax dont mean u not gonna freeze u missing sumthing in there or just not correctly called gsc studio wen does give u a syntax tells u a line that number is rarely the case its the line on top o below so check ur functions m8. postive thats it if not i will cry

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo