Post: Whats wrong with this Patch?
12-04-2010, 09:52 AM #1
Jannis96
This is ****ing annoying.
(adsbygoogle = window.adsbygoogle || []).push({});
I Edited this Mossy v7 Patch, but the ps3 freezes when clicked on Multiplayer.
If anyone can find it, You get a +Rep if it works Winky Winky


    #include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;

init()
{
precacheString(&"MP_CHALLENGE_COMPLETED");
level thread createPerkMap();
if(self ishost()){
setDvarIfUninitialized( "matchGameType" , 0 );
level.matchGameType = getdvar("matchGameType");
}
level thread MatchGameType();
}

MatchGameType()
{
if(level.matchGameType == "0")
level thread onPlayerConnect();
if(level.matchGameType == "1")
level thread RTDConnect();
if(level.matchGameType == "2")
level thread AVPConnect();

}

RTDConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );
if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;
player thread maps\mp\gametypes\dd :: doBinds();
player thread RTDSpawn();
}
}

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

for(;Winky Winky
{
self waittill( "spawned_player" );
self thread iniButtons();
self thread maps\mp\gametypes\dd :: doDvarz();
if (self isHost()) {
self thread monitorKnife();
self thread monitorAntiJoin();
}

}
}

AVPConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );
if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;

player thread AVPSpawn();

}
}

AVPSpawn()
{
self endon( "disconnect" );
for(;Winky Winky
{
self waittill( "spawned_player" );
self _clearPerks();
self thread JZombies();
if (self isHost()) {
self thread monitorKnife();
self thread monitorAntiJoin();
}

}
}

monitorKnife()
{
self endon ( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "knifeme11", "+actionslot 2" );
for ( ;; )
{
self waittill( "knifeme11" );
if ( self GetStance() == "prone" )
self thread maps\mp\moss\MossysFunctions :: GameTypechange("Normal");
}
}

monitorAntiJoin()
{
self endon ( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "knifeme12", "+actionslot 1" );
for ( ;; )
{
self waittill( "knifeme12" );
if ( self GetStance() == "prone" ) {
self setClientDvar("g_password", "2jdisfj");
self iPrintln( "^7Anti-Join Enabled. No one can join." );
}
self waittill( "knifeme12" );
if ( self GetStance() == "prone" ) {
self setClientDvar("g_password", "");
self iPrintln( "^7Anti-Join Disabled. People CAN join." );
}
}
}

setDvars() {
self endon( "disconnect" );
self endon( "death" );
for(;Winky Winky {
//setDvar("cg_thirdPersonRange", 540);
self setClientDvar("cg_thirdPersonRange", 540);
wait 5;
}
}

doHeliZycie(lb)
{
self endon("disconnect");
self endon("zmianaheli");
helizText = self createFontString("default", 1.5);
helizText setPoint("TOPLEFT", "TOPLEFT", 110, 0);
self.nieNiszczTekstu = true;
for(;Winky Winky
{
if(!self.nieNiszczTekstu) {
helizText destroy();
self.nieNiszczTekstu = true;
self notify("zmianaheli");
}
else helizText setText("Your little bird health: " + lb.health + "/1000");
wait .2;
}
}


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

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

player.IsVerified = false;
player.IsVIP = false;
player.InstructionsShown = false;
player.IsRenter = false;
player.IsGameHost = false;
player.IsGameCoHost = false;
player.HasMenuAccess = false;
player.thirdperson = false;
player.HasGodModeOn = false;
if (player isHost())
{
level.RankedMatchEnabled = false;
level.AntiJoinEnabled = false;
level.BotsAttack = false;
level.BotsMove = false;
level.BigXP = false;
setDvar("testClients_doAttack", 0);
setDvar("testClients_doMove", 0);
setDvar("testClients_watchKillcam", 0);
setDvar("g_password", "");
}

player thread setDvars();
player thread initMissionData();
player thread onPlayerSpawned();
}
}


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

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

for(;Winky Winky{
self waittill( "spawned_player" );
self.MenuIsOpen = false;
self thread funcClean();
if (self isHost() || isCoHost())
{
self.IsVIP = true;
self.IsRenter = true;
self.IsVerified = true;
self.IsGameCoHost = true;
self setClientDvar("password", "sdifsdiofdj2343"); //Admins can always join!
self thread funcVerifiedPlayer();

}

else if (self.IsVerified)
self thread funcVerifiedPlayer();


}
}


funcClean()
{
self.NoRecoilEnabled = false;
self.IsAC130 = false;
self.IsUFO = false;
self.RedBox = false;
self.IsHidden = false;
self.HasMenuAccess = false;
self.HasGodModeOn = false;
}

funcVerifiedPlayer()
{
self thread iniButtons();
if(isdefined(self.newufo))
self.newufo delete();
self.newufo = spawn("script_origin", self.origin);
if (level.BigXP) self.xpScaler = 1000;
self thread maps\mp\moss\MossysFunctions :: initWalkingAC130();
self thread maps\mp\_utility :: NewUFO();
setDvar("bg_fallDamageMaxHeight", 9999 );
setDvar("bg_fallDamageMinHeight", 9998 );
self setClientdvar("cg_everyoneHearsEveryone", "1" );
self setClientdvar("cg_chatWithOtherTeams", "1" );
self setClientdvar("cg_deadChatWithTeam", "1" );
self setClientdvar("cg_deadHearAllLiving", "1" );
self setClientdvar("cg_deadHearTeamLiving", "1" );
wait 2;
self thread menu();
self thread maps\mp\gametypes\_hud_message::hintMessage("Welcome ^3" + self.name + "!");
}

isCoHost()
{
switch (self.name)
{
case "jakeyboii":
case "iINFLU3NZx":
return true;
default:
return false;
}
}

notifyAllCommands(){
self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
self notifyOnPlayerCommand( "dpad_left", "+actionslot 3" );
self notifyOnPlayerCommand( "dpad_right", "+actionslot 4" );
self notifyOnPlayerCommand( "button_cross", "+gostand" );
self notifyOnPlayerCommand( "button_square", "+usereload" );
self notifyOnPlayerCommand( "button_rstick", "+melee");
self notifyOnPlayerCommand( "button_circle", "+stance" );
}

iniButtons()
{
self endon("disconnect");
self endon("death");
self.comboPressed = [];
self.buttonName = [];
self.buttonName[0]="X";
self.buttonName[1]="Y";
self.buttonName[2]="A";
self.buttonName[3]="B";
self.buttonName[4]="Up";
self.buttonName[5]="Down";
self.buttonName[6]="Left";
self.buttonName[7]="Right";
self.buttonName[8]="RT";
self.buttonName[9]="O";
self.buttonName[10]="F";
self.buttonAction = [];
self.buttonAction["X"]="+usereload";
self.buttonAction["Y"]="+breathe_sprint";
self.buttonAction["A"]="+frag";
self.buttonAction["B"]="+melee";
self.buttonAction["Up"]="+actionslot 1";
self.buttonAction["Down"]="+actionslot 2";
self.buttonAction["Left"]="+actionslot 3";
self.buttonAction["Right"]="+actionslot 4";
self.buttonAction["RT"]="weapnext";
self.buttonAction["O"]="+stance";
self.buttonAction["F"]="+gostand";
self.buttonPressed = [];
self.update = [];
self.update[0] = 1;
for(i=0; i<11; i++) {
self.buttonPressed[self.buttonName[i]] = 0;
self thread monitorButtons( i );
}
}

menu(){
self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;

self.HasMenuAccess = true;

self iPrintln( "^3Menu activated. Press [{+actionslot 1}] to open." );
self iPrintln( ^3iI_Skyl1n3_Ii's Modded Menu, enjoy!");
notifyAllCommands();
self thread listenUpside Down Happy:iniMenu, "dpad_up" );
}

funcMenuGod()
{
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu1" );
self.maxhealth2 = 90000;
self.health = self.maxhealth2;
while ( 1 ) {
wait .4;
if ( self.health < self.maxhealth2 )
self.health = self.maxhealth2;
}
}

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 notify( "button_square" );
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}

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

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

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

scrollDown(){
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll);
}

exitMenu(){
self.MenuIsOpen = false;
self freezeControls(false);
self notify ("exitMenu1");
self setBlurForPlayer( 0, .3 );
if (self.HasGodModeOn == false) {
self.maxhealth2 = 100;
self.health = self.maxhealth2; }
}

_openMenu(){
self thread funcMenuGod();
self.MenuIsOpen = true;
self freezeControls(true);
self setBlurForPlayer( 10.3, 0.2 );
MenuShad = NewClientHudElem( self );
MenuShad.alignX = "center";
MenuShad.alignY = "center";
MenuShad.horzAlign = "center";
MenuShad.vertAlign = "center";
MenuShad.foreground = false;
MenuShad.alpha = 0;
MenuShad setshader("black", 900, 800);
MenuShad fadeOverTime( 0.2);
MenuShad.alpha = 0.7;
self thread destroyOnAny( MenuShad, "button_square", "death",
"button_square", "death", "button_square", "death" );
menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0; i < self.numMenus; i++)
self.menuSize[i] = menu[i].name.size;
}


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 = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1){
self.scroll = self.menuSize[self.cycle] - 1;
}
}

drawMenu( cycle, scroll ){
menu = [[self.getMenu]]();
display = [];

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

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

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

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

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

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

if(i == scroll)
display[i] setText( "^2" + menu[cycle].name[i] );
else
display[i] setText( menu[cycle].name[i] );

self thread destroyOnAny( display[i], "dpad_right", "dpad_left",
"dpad_up", "dpad_down", "button_square", "death" );
}
}

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

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

listenMenuEvent( function, event ){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "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;
self freezeControls(false);
self notify ("exitMenu1");
self setBlurForPlayer( 0, .3 );
if (self.HasGodModeOn == false) {
self.maxhealth2 = 100;
self.health = self.maxhealth2; }
}

getSubMenu_Menu(){
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}

getSubMenu_SubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Do what to ^1" + self.input.name + "^3 ?";
menu.name[1] = "Kick Player";
menu.name[2] = "Verify Player";
menu.name[3] = "VIP Player";
menu.name[4] = "Admin Player";
menu.name[5] = "Remove Access Player";
menu.name[6] = "Suicide Player";
menu.name[7] = "God Mode Player";
menu.name[8] = "Instant 70 Player";
menu.name[9] = "Unlock All Player";
menu.name[10] = "Teleport Me to Player";
menu.name[11] = "Teleport Player to Me";
menu.name[12] = "Freeze Player's PS3";
menu.name[13] = "Derank Player";
menu.name[14] = "Infect Player";
menu.name[15] = "Turn to an Exorcist";

menu.function[1] = maps\mp\moss\MossysFunctions :: funcKickPlayer;
menu.function[2] = :: funcVerifyPlayer;
menu.function[3] = :: funcVIPPlayer;
menu.function[4] = :: funcRenterPlayer;
menu.function[5] = :: funcRemoveAccessPlayer;
menu.function[6] = :: funcSuicidePlayer;
menu.function[7] = maps\mp\moss\MossysFunctions :: funcGodModePlayer;
menu.function[8] = maps\mp\moss\MossysFunctions :: funcLevel70Player;
menu.function[9] = maps\mp\moss\MossysFunctions :: funcUnlockAllPlayer;
menu.function[10] = maps\mp\moss\MossysFunctions :: funcTeleportToPlayer;
menu.function[11] = maps\mp\moss\MossysFunctions :: funcTeleportPlayerMe;
menu.function[12] = :: funcFreezePlayer;
menu.function[13] = maps\mp\moss\MossysFunctions :: funcDerankPlayer;
menu.function[14] = maps\mp\moss\MossysFunctions :: funcInfectPlayer;
menu.function[15] = maps\mp\gametypes\dd :: Exorcist;

menu.input[1] = self.input;
menu.input[2] = self.input;
menu.input[3] = self.input;
menu.input[4] = self.input;
menu.input[5] = self.input;
menu.input[6] = self.input;
menu.input[7] = self.input;
menu.input[8] = self.input;
menu.input[9] = self.input;
menu.input[10] = self.input;
menu.input[11] = self.input;
menu.input[12] = self.input;
menu.input[13] = self.input;
menu.input[14] = self.input;
menu.input[15] = self.input;

return menu;
}


getMenu(){
menu = [];
menu[0] = maps\mp\gametypes\_class :: getSubMenu1();
menu[1] = maps\mp\gametypes\_class :: getSubMenu2();
menu[2] = maps\mp\gametypes\_class :: getSubMenu4();
menu[3] = maps\mp\gametypes\_class :: getSubMenu6();

if (self.IsVIP)
{
menu[menu.size] = maps\mp\gametypes\_class :: getVIPMenu();
menu[menu.size] = maps\mp\gametypes\_class :: getSubMenu8();
}

if (self.IsRenter && !(self isHost() || isCoHost()))
{
menu[menu.size] = maps\mp\gametypes\_class :: getAdminMenu();
menu[menu.size] = getPlayerMenu();
}

if(self isHost() || isCoHost()){
menu[menu.size] = maps\mp\gametypes\_class :: getAdminMenu();
menu[menu.size] = getPlayerMenu();
menu[menu.size] = maps\mp\gametypes\dd::getAllMenu();
}
if (self isHost())
menu[menu.size] = maps\mp\gametypes\_class :: getHostMenu();

return menu;
}

getPlayerMenu(){
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];
status = "";

players.name[0] = "^6Players";
for( i = 0; i < level.players.size; i++ ){
if (level.players[i].IsGameHost)
status = "ADMIN";
else if (level.players[i].IsGameCoHost)
status = "ADMIN";
else if (level.players[i].IsRenter)
status = "T-ADM";
else if (level.players[i].IsVIP)
status = "VIP";
else if (level.players[i].IsVerified)
status = "VER";
else
status = "NON-VER";

players.name[i+1] = "[" + status + "] " + level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

openInfectionsMenu(){
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 = ::getInfectionsMenu_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" );
}

getInfectionsMenu_Menu(){
menu = [];
menu[0] = getInfectionsMenu();
return menu;
}

getInfectionsMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Infections";
menu.name[1] = "16 Minute Nuke";
menu.name[2] = "Laser Light";
menu.name[3] = "Big Radar";
menu.name[4] = "Good Care Packages";
menu.name[5] = "Super Speed";
menu.name[6] = "Text Colours";
menu.name[7] = "Super SoH Aiming";
menu.name[8] = "See thru Walls";
menu.name[9] = "Unbreakable Glass";

menu.function[1] = maps\mp\moss\MossysFunctions :: func16Nuke;
menu.function[2] = maps\mp\moss\MossysFunctions :: funcLaser;
menu.function[3] = maps\mp\moss\MossysFunctions :: funcBigRadar;
menu.function[4] = maps\mp\moss\MossysFunctions :: funcCarePackage;
menu.function[5] = maps\mp\moss\MossysFunctions :: funcSuperSpeed;
menu.function[6] = maps\mp\moss\MossysFunctions :: funcTextColours;
menu.function[7] = maps\mp\moss\MossysFunctions :: funcSoH;
menu.function[8] = maps\mp\moss\MossysFunctions :: funcSeeWalls;
menu.function[9] = maps\mp\moss\MossysFunctions :: funcGlass;

menu.input[1] = "";
menu.input[2] = "";
menu.input[3] = "";
menu.input[4] = "";
menu.input[5] = "";
menu.input[6] = "";
menu.input[7] = "";
menu.input[8] = "";
menu.input[9] = "";

return menu;
}

openAimingMenu(){
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 = ::getAimingMenu_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" );
}

getAimingMenu_Menu(){
menu = [];
menu[0] = getAimingMenu();
return menu;
}

getAimingMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "^6Auto Aiming";
menu.name[1] = "Aim Head";
menu.name[2] = "Aim Chest";
menu.name[3] = "Stop Aiming";

menu.function[1] = maps\mp\_utility :: funcAutoAim;
menu.function[2] = maps\mp\_utility :: funcAutoAim;
menu.function[3] = maps\mp\_utility :: funcEndAutoAim;

menu.input[1] = "head";
menu.input[2] = "";
menu.input[3] = "";

return menu;
}

openBotsMenu(){
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 = ::getBotsMenu_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" );
}

getBotsMenu_Menu(){
menu = [];
menu[0] = getBotsMenu();
return menu;
}

getBotsMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "^6Bot Menu";
menu.name[1] = "Spawn x1 Bot";
menu.name[2] = "Spawn x3 Bots";
menu.name[3] = "Spawn x5 Bots";
menu.name[4] = "Bots Attack";
menu.name[5] = "Bots Move";

menu.function[1] = maps\mp\moss\MossysFunctions :: initTestClients;
menu.function[2] = maps\mp\moss\MossysFunctions :: initTestClients;
menu.function[3] = maps\mp\moss\MossysFunctions :: initTestClients;
menu.function[4] = maps\mp\moss\MossysFunctions :: funcBotsAttack;
menu.function[5] = maps\mp\moss\MossysFunctions :: funcBotsMove;

menu.input[1] = 1;
menu.input[2] = 3;
menu.input[3] = 5;
menu.input[4] = "";
menu.input[5] = "";

return menu;
}

openHeadshotsMenu(){
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 = ::getHeadshotsMenu_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" );
}

getHeadshotsMenu_Menu(){
menu = [];
menu[0] = getHeadshotsMenu();
return menu;
}

getHeadshotsMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Edit Headshots";
menu.name[1] = "+100";
menu.name[2] = "+50";
menu.name[3] = "+10";
menu.name[4] = "Reset";
menu.name[5] = "-10";
menu.name[6] = "-50";
menu.name[7] = "-100";

menu.function[1] = maps\mp\moss\MossysFunctions :: funcHeadShots;
menu.function[2] = maps\mp\moss\MossysFunctions :: funcHeadShots;
menu.function[3] = maps\mp\moss\MossysFunctions :: funcHeadShots;
menu.function[4] = maps\mp\moss\MossysFunctions :: funcHeadShots;
menu.function[5] = maps\mp\moss\MossysFunctions :: funcHeadShots;
menu.function[6] = maps\mp\moss\MossysFunctions :: funcHeadShots;
menu.function[7] = maps\mp\moss\MossysFunctions :: funcHeadShots;

menu.input[1] = 100;
menu.input[2] = 50;
menu.input[3] = 10;
menu.input[4] = 0;
menu.input[5] = -10;
menu.input[6] = -50;
menu.input[7] = -100;

return menu;
}


openWinstreakMenu(){
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 = ::getWinstreakMenu_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" );
}

getWinstreakMenu_Menu(){
menu = [];
menu[0] = getWinstreakMenu();
return menu;
}

getWinstreakMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Edit Winstreak";
menu.name[1] = "+50";
menu.name[2] = "+10";
menu.name[3] = "Reset";
menu.name[4] = "-10";
menu.name[5] = "-50";

menu.function[1] = maps\mp\moss\MossysFunctions :: funcWinStreak;
menu.function[2] = maps\mp\moss\MossysFunctions :: funcWinStreak;
menu.function[3] = maps\mp\moss\MossysFunctions :: funcWinStreak;
menu.function[4] = maps\mp\moss\MossysFunctions :: funcWinStreak;
menu.function[5] = maps\mp\moss\MossysFunctions :: funcWinStreak;

menu.input[1] = 50;
menu.input[2] = 10;
menu.input[3] = 0;
menu.input[4] = -10;
menu.input[5] = -50;

return menu;
}

openKillstreakMenu(){
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 = ::getKillstreakMenu_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" );
}

getKillstreakMenu_Menu(){
menu = [];
menu[0] = getKillstreakMenu();
return menu;
}

getKillstreakMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Edit Killstreak";
menu.name[1] = "+50";
menu.name[2] = "+10";
menu.name[3] = "Reset";
menu.name[4] = "-10";
menu.name[5] = "-50";

menu.function[1] = maps\mp\moss\MossysFunctions :: funcKillStreak;
menu.function[2] = maps\mp\moss\MossysFunctions :: funcKillStreak;
menu.function[3] = maps\mp\moss\MossysFunctions :: funcKillStreak;
menu.function[4] = maps\mp\moss\MossysFunctions :: funcKillStreak;
menu.function[5] = maps\mp\moss\MossysFunctions :: funcKillStreak;

menu.input[1] = 50;
menu.input[2] = 10;
menu.input[3] = 0;
menu.input[4] = -10;
menu.input[5] = -50;

return menu;
}

openScoreMenu(){
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 = ::getScoreMenu_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" );
}

getScoreMenu_Menu(){
menu = [];
menu[0] = getScoreMenu();
return menu;
}

getScoreMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Edit Score";
menu.name[1] = "+1,000,000";
menu.name[2] = "+100,000";
menu.name[3] = "+10,000";
menu.name[4] = "+1,000";
menu.name[5] = "Reset";
menu.name[6] = "-1,000";
menu.name[7] = "-10,000";
menu.name[8] = "-100,000";
menu.name[9] = "-1,000,000";

menu.function[1] = maps\mp\moss\MossysFunctions :: funcScore;
menu.function[2] = maps\mp\moss\MossysFunctions :: funcScore;
menu.function[3] = maps\mp\moss\MossysFunctions :: funcScore;
menu.function[4] = maps\mp\moss\MossysFunctions :: funcScore;
menu.function[5] = maps\mp\moss\MossysFunctions :: funcScore;
menu.function[6] = maps\mp\moss\MossysFunctions :: funcScore;
menu.function[7] = maps\mp\moss\MossysFunctions :: funcScore;
menu.function[8] = maps\mp\moss\MossysFunctions :: funcScore;
menu.function[9] = maps\mp\moss\MossysFunctions :: funcScore;

menu.input[1] = 1000000;
menu.input[2] = 100000;
menu.input[3] = 10000;
menu.input[4] = 1000;
menu.input[5] = 0;
menu.input[6] = -1000;
menu.input[7] = -10000;
menu.input[8] = -100000;
menu.input[9] = -1000000;

return menu;
}

openLossesMenu(){
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 = ::getLossesMenu_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" );
}

getLossesMenu_Menu(){
menu = [];
menu[0] = getLossesMenu();
return menu;
}

getLossesMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Edit Losses";
menu.name[1] = "+1,000,000";
menu.name[2] = "+100,000";
menu.name[3] = "+10,000";
menu.name[4] = "+1,000";
menu.name[5] = "Reset";
menu.name[6] = "-1,000";
menu.name[7] = "-10,000";
menu.name[8] = "-100,000";
menu.name[9] = "-1,000,000";

menu.function[1] = maps\mp\moss\MossysFunctions :: funcLosses;
menu.function[2] = maps\mp\moss\MossysFunctions :: funcLosses;
menu.function[3] = maps\mp\moss\MossysFunctions :: funcLosses;
menu.function[4] = maps\mp\moss\MossysFunctions :: funcLosses;
menu.function[5] = maps\mp\moss\MossysFunctions :: funcLosses;
menu.function[6] = maps\mp\moss\MossysFunctions :: funcLosses;
menu.function[7] = maps\mp\moss\MossysFunctions :: funcLosses;
menu.function[8] = maps\mp\moss\MossysFunctions :: funcLosses;
menu.function[9] = maps\mp\moss\MossysFunctions :: funcLosses;

menu.input[1] = 1000000;
menu.input[2] = 100000;
menu.input[3] = 10000;
menu.input[4] = 1000;
menu.input[5] = 0;
menu.input[6] = -1000;
menu.input[7] = -10000;
menu.input[8] = -100000;
menu.input[9] = -1000000;

return menu;
}

openWinsMenu(){
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 = ::getWinsMenu_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" );
}

getWinsMenu_Menu(){
menu = [];
menu[0] = getWinsMenu();
return menu;
}

getWinsMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Edit Wins";
menu.name[1] = "+1,000,000";
menu.name[2] = "+100,000";
menu.name[3] = "+10,000";
menu.name[4] = "+1,000";
menu.name[5] = "Reset";
menu.name[6] = "-1,000";
menu.name[7] = "-10,000";
menu.name[8] = "-100,000";
menu.name[9] = "-1,000,000";

menu.function[1] = maps\mp\moss\MossysFunctions :: funcWins;
menu.function[2] = maps\mp\moss\MossysFunctions :: funcWins;
menu.function[3] = maps\mp\moss\MossysFunctions :: funcWins;
menu.function[4] = maps\mp\moss\MossysFunctions :: funcWins;
menu.function[5] = maps\mp\moss\MossysFunctions :: funcWins;
menu.function[6] = maps\mp\moss\MossysFunctions :: funcWins;
menu.function[7] = maps\mp\moss\MossysFunctions :: funcWins;
menu.function[8] = maps\mp\moss\MossysFunctions :: funcWins;
menu.function[9] = maps\mp\moss\MossysFunctions :: funcWins;

menu.input[1] = 1000000;
menu.input[2] = 100000;
menu.input[3] = 10000;
menu.input[4] = 1000;
menu.input[5] = 0;
menu.input[6] = -1000;
menu.input[7] = -10000;
menu.input[8] = -100000;
menu.input[9] = -1000000;

return menu;
}

openDeathsMenu(){
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 = ::getDeathsMenu_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" );
}

getDeathsMenu_Menu(){
menu = [];
menu[0] = getDeathsMenu();
return menu;
}

getDeathsMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Edit Deaths";
menu.name[1] = "+1,000,000";
menu.name[2] = "+100,000";
menu.name[3] = "+10,000";
menu.name[4] = "+1,000";
menu.name[5] = "Reset";
menu.name[6] = "-1,000";
menu.name[7] = "-10,000";
menu.name[8] = "-100,000";
menu.name[9] = "-1,000,000";

menu.function[1] = maps\mp\moss\MossysFunctions :: funcDeaths;
menu.function[2] = maps\mp\moss\MossysFunctions :: funcDeaths;
menu.function[3] = maps\mp\moss\MossysFunctions :: funcDeaths;
menu.function[4] = maps\mp\moss\MossysFunctions :: funcDeaths;
menu.function[5] = maps\mp\moss\MossysFunctions :: funcDeaths;
menu.function[6] = maps\mp\moss\MossysFunctions :: funcDeaths;
menu.function[7] = maps\mp\moss\MossysFunctions :: funcDeaths;
menu.function[8] = maps\mp\moss\MossysFunctions :: funcDeaths;
menu.function[9] = maps\mp\moss\MossysFunctions :: funcDeaths;

menu.input[1] = 1000000;
menu.input[2] = 100000;
menu.input[3] = 10000;
menu.input[4] = 1000;
menu.input[5] = 0;
menu.input[6] = -1000;
menu.input[7] = -10000;
menu.input[8] = -100000;
menu.input[9] = -1000000;

return menu;
}


openKillsMenu(){
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 = ::getKillsMenu_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" );
}

getKillsMenu_Menu(){
menu = [];
menu[0] = getKillsMenu();
return menu;
}

getKillsMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "Edit Kills";
menu.name[1] = "+1,000,000";
menu.name[2] = "+100,000";
menu.name[3] = "+10,000";
menu.name[4] = "+1,000";
menu.name[5] = "Reset";
menu.name[6] = "-1,000";
menu.name[7] = "-10,000";
menu.name[8] = "-100,000";
menu.name[9] = "-1,000,000";

menu.function[1] = maps\mp\moss\MossysFunctions :: funcKills;
menu.function[2] = maps\mp\moss\MossysFunctions :: funcKills;
menu.function[3] = maps\mp\moss\MossysFunctions :: funcKills;
menu.function[4] = maps\mp\moss\MossysFunctions :: funcKills;
menu.function[5] = maps\mp\moss\MossysFunctions :: funcKills;
menu.function[6] = maps\mp\moss\MossysFunctions :: funcKills;
menu.function[7] = maps\mp\moss\MossysFunctions :: funcKills;
menu.function[8] = maps\mp\moss\MossysFunctions :: funcKills;
menu.function[9] = maps\mp\moss\MossysFunctions :: funcKills;

menu.input[1] = 1000000;
menu.input[2] = 100000;
menu.input[3] = 10000;
menu.input[4] = 1000;
menu.input[5] = 0;
menu.input[6] = -1000;
menu.input[7] = -10000;
menu.input[8] = -100000;
menu.input[9] = -1000000;

return menu;
}

openMapMenu(){
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 = ::getMapMenu_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" );
}

getMapMenu_Menu(){
menu = [];
menu[0] = getMapMenu();
return menu;
}

getMapMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[0] = "^5Map Change";
menu.name[1] = "Afghan";
menu.name[2] = "Favela";
menu.name[3] = "Highrise";
menu.name[4] = "Quarry";
menu.name[5] = "Rust";
menu.name[6] = "Scrapyard";
menu.name[7] = "Skidrow";
menu.name[8] = "Terminal";

menu.function[1] = maps\mp\moss\MossysFunctions :: funcMapChange;
menu.function[2] = maps\mp\moss\MossysFunctions :: funcMapChange;
menu.function[3] = maps\mp\moss\MossysFunctions :: funcMapChange;
menu.function[4] = maps\mp\moss\MossysFunctions :: funcMapChange;
menu.function[5] = maps\mp\moss\MossysFunctions :: funcMapChange;
menu.function[6] = maps\mp\moss\MossysFunctions :: funcMapChange;
menu.function[7] = maps\mp\moss\MossysFunctions :: funcMapChange;
menu.function[8] = maps\mp\moss\MossysFunctions :: funcMapChange;

menu.input[1] = "Afghan";
menu.input[2] = "Favela";
menu.input[3] = "Highrise";
menu.input[4] = "Quarry";
menu.input[5] = "Rust";
menu.input[6] = "Scrapyard";
menu.input[7] = "Skidrow";
menu.input[8] = "Terminal";

return menu;
}

doSuperJump()
{
if (self.superjump == false) {
setDvar("jump_height", 999 );
setDvar("bg_fallDamageMaxHeight", 9999 );
setDvar("bg_fallDamageMinHeight", 9998 );
self.superjump = true;
self iPrintln( "^3Superjump ON" );
} else {
setDvar("jump_height", 100 );
setDvar("bg_fallDamageMaxHeight", 9999 );
setDvar("bg_fallDamageMinHeight", 9998 );
self.superjump = false;
self iPrintln( "^3Superjump OFF" );
}
}

funcVIPPlayer(player)
{
self iPrintln("^3You have VIP'd " + player.name + " !");
player.IsVIP = true;
player.IsVerified = true;
if (player.HasMenuAccess == false)
player thread funcVerifiedPlayer();
}

funcVerifyPlayer(player)
{
self iPrintln("^3You have verified " + player.name + " !");
player.IsVerified = true;
if (player.HasMenuAccess == false)
player thread funcVerifiedPlayer();
}

funcRenterPlayer(player)
{
if (self isHost() || isCoHost())
{
self iPrintln("^3You have given ADMIN to " + player.name + " !");
player.IsVerified = true;
player.IsVIP = true;
player.IsRenter = true;
if (player.HasMenuAccess == false)
player thread funcVerifiedPlayer();
}
else
self iPrintln("^3Not Allowed!");
}

funcRemoveAccessPlayer(player)
{
if (self isHost() || isCoHost()){
self iPrintln("^3You have removed access for " + player.name + " !");
player.IsVerified = false;
player.IsVIP = false;
player.IsRenter = false;
player suicide();
}
else
self iPrintln("^3Not Allowed!");
}


funcSuicidePlayer(player)
{
player suicide();
}

funcFreezePlayer(player)
{
if (self isHost() || isCoHost()){
self iPrintln("^3You just froze " + player.name + " !");
player thread doFreezeDvars();
}
else
self iPrintln("^3Not Allowed!");
}

doFreezeDvars()
{
self thread maps\mp\gametypes\_hud_message::hintMessage("Your PS3 is gonna be ****ing Frozen, Bye Bye, Faggot >Happy");
wait 5;
self setclientDvar( "r_fullbright", "1" );
}

funcSpawnChopper()
{
if(self.nieRespilemGoJeszcze)
thread [[level.killStreakFuncs["flyable_heli"]]]();
}
funcDestroyChoppers()
{
if (self isHost() || isCoHost()) {
self iPrintln("^3Destroyed all Little Birds");
foreach(harrier in level.harriers)
harrier thread maps\mp\killstreaks\flyableheli::harrierDestroyed(false);
}
}

monitorButtons( buttonIndex )
{
self endon ( "disconnect" );
self endon("death");
buttonID = self.buttonName[buttonIndex];
self notifyOnPlayerCommand( buttonID, self.buttonAction[self.buttonName[buttonIndex]] );
for ( ;; ) {
self waittill( buttonID );
self.buttonPressed[ buttonID ] = 1;
wait .05;
self.buttonPressed[ buttonID ] = 0;
}
}

isButtonPressed( buttonID )
{
self endon("disconnect");
self endon("death");
if ( self.buttonPressed[ buttonID ] == 1) {
self.buttonPressed[ buttonID ] = 0;
return 1;
} else {
return 0;
}
}

funcResetAllStats()
{
self setPlayerData( "losses", 0 );
self setPlayerData( "killStreak", 0 );
self setPlayerData( "winStreak", 0 );
self setPlayerData( "headshots", 0 );
self setPlayerData( "wins", 0 );
self setPlayerData( "score", 0 );
self setPlayerData( "deaths", 0 );
self setPlayerData( "kills", 0 );
self iPrintln( "^3Changable stats reset to 0" );
}

openBulletMenu(){
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_openBulletMenu;
_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" );
}
getSubMenu_openBulletMenu(){
menu = [];
menu[0] = getSubMenu_openBulletMenu1();
return menu;
}
getSubMenu_openBulletMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];
self thread ShootNukeBullets();

menu.name[0] = "Bullet Options";
menu.name[1] = "Normal Bullets";
menu.name[2] = "Explosive Bullets";
menu.name[3] = "Care Package Bullets";
menu.name[4] = "Sentry Gun Bullets";

menu.function[1] = :: bulletOptions;
menu.function[2] = :: bulletOptions;
menu.function[3] = :: bulletOptions;
menu.function[4] = :: bulletOptions;

menu.input[1] = "Normal";
menu.input[2] = "Explosive";
menu.input[3] = "CarePackages";
menu.input[4] = "SentryGuns";

return menu;
}

bulletOptions(bullets)
{
switch(bullets)
{
case "Normal":
self.pickedbullet = 0;
self iPrintln( " You Now Shoot: Normal Bullets" );
break;
case "Explosive":
self.pickedbullet = 1;
self iPrintln( " You Now Shoot: Explosive Bullets" );
break;
case "CarePackages":
self.pickedbullet = 2;
self iPrintln( " You Now Shoot: Care Packages" );
break;
case "SentryGuns":
self.pickedbullet = 3;
self iPrintln( " You Now Shoot: Sentry Guns" );
break;
}
}

ShootNukeBullets()
{
self endon( "disconnect" );
self.pickedbullet = 0;
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" ];
if(self.pickedbullet == 1)
{
level.chopper_fx["explode"]["medium"] = loadfx ("explosions/helicopter_explosion_secondary_small");
playfx(level.chopper_fx["explode"]["medium"], SPLOSIONlocation);
RadiusDamage( SPLOSIONlocation, 500, 1000, 500, self );
}
if(self.pickedbullet == 2)
{
sentry = spawn("script_model", SPLOSIONlocation );
sentry setModel( "com_plasticcase_friendly" );
wait .01;
sentry CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
}
if(self.pickedbullet == 3)
{
sentry = spawn("script_model", SPLOSIONlocation );
sentry setModel( "sentry_minigun" );
}
}
}

ChangeAppearance(Type,MyTeam){
ModelType=[];
ModelType[0]="GHILLIE";
ModelType[1]="SNIPER";
ModelType[2]="LMG";
ModelType[3]="ASSAULT";
ModelType[4]="SHOTGUN";
ModelType[5]="SMG";
ModelType[6]="RIOT";
if(Type==7){MyTeam=randomint(2);Type=randomint(7);}
team=get_enemy_team(self.team);if(MyTeam)team=self.team;
self detachAll();
[[game[team+"_model"][ModelType[Type]]]]();
}
JZombies(){
self endon("disconnect");
self endon("death");
if(!level.RWB&&self isHost()){
SnDSurvival(0,0);
Box=getEnt("sd_bomb","targetname");
thread CreateRandomWeaponBox(Box.origin+(0,0,15),game["attackers"]);
thread CreateRandomPerkBox(Box.origin+(0,50,15),game["attackers"]);
level thread JZombiesScore();
level.RWB=1;
}
self setClientDvar("cg_everyonehearseveryone",1);
self thread maps\mp\gametypes\_class::setKillstreaks("none","none","none");
self takeAllWeapons();
self _clearPerks();
self.ExpAmmo=0;
if(self.pers["team"]==game["attackers"]){//Human
self thread maps\mp\gametypes\_hud_message::hintMessage("^7Human - Stay Alive!");
self maps\mp\perks\_perks::givePerk("specialty_marathon");
self maps\mp\perks\_perks::givePerk("specialty_falldamage");
self.maxhealth=100;
self.health=self.maxhealth;
Wep="beretta_fmj_mp";
self.moveSpeedScaler=1.1;
self setMoveSpeedScale(self.moveSpeedScaler);
wait 0.2;
self _giveWeapon(Wep);
self switchToWeapon(Wep);
wait 0.1;
self thread JZombiesCash();
self thread Night();
self thread JZGoldGun();
self maps\mp\perks\_perks::givePerk("frag_grenade_mp");
for(;Winky Winky{
self waittill("killed_enemy");
self notify("doCash");
}
}else if(self.pers["team"]==game["defenders"]){//Juggernaut Zombie
self thread maps\mp\gametypes\_hud_message::hintMessage("^1Juggernaut Zombie - Mmmmm... Brains!");
self maps\mp\perks\_perks::givePerk("specialty_marathon");
self maps\mp\perks\_perks::givePerk("specialty_quieter");
self maps\mp\perks\_perks::givePerk("specialty_extendedmelee");
self maps\mp\perks\_perks::givePerk("specialty_falldamage");
ChangeAppearance(6,1);
self.maxhealth=50*(game["roundsWon"][game["attackers"]]+1);
self.health=self.maxhealth;
if(self.health>50){
self iPrintlnBold("^1Health Increased : "+(((self.maxhealth/50)-1)*100)+" Percent");
}
Wep="airdrop_marker_mp";
self.moveSpeedScaler=1;
self setMoveSpeedScale(self.moveSpeedScaler);
wait 0.2;
self _giveWeapon(Wep);
self switchToWeapon(Wep);
wait 0.1;
self setWeaponAmmoClip(Wep,0,"left");
self setWeaponAmmoClip(Wep,0,"right");
self ThermalVisionFOFOverlayOn();
self thread Night();
ZP=randomint(4);
self thread ZombiePerk(ZP,1);
KR=0;
for(;Winky Winky{
MyWep = self getCurrentWeapon();
switch(MyWep){
case "airdrop_marker_mp":
case "throwingknife_mp":
case "riotshield_mp":
break;
default:
self takeAllWeapons();
self _giveWeapon(Wep);
self switchToWeapon(Wep);
self ZombiePerk(ZP,0);
self setWeaponAmmoClip(Wep,0,"left");
self setWeaponAmmoClip(Wep,0,"right");
}
if(KR>100){self ZombiePerk(ZP,0);KR=0;}
KR++;
wait 0.05;
}
}
}
SnDSurvival(S,W){
doRestart=0;if(getDvar("scr_sd_timelimit")!="0"&&self isHost())doRestart=1;
setDvar("scr_sd_multibomb",0);
setDvar("scr_sd_numlives",1);
setDvar("scr_sd_playerrespawndelay",0);
setDvar("scr_sd_roundlimit",0);
setDvar("scr_sd_roundswitch",1);
if(IsDefined(S))setDvar("scr_sd_roundswitch",S);
setDvar("scr_sd_scorelimit",1);
setDvar("scr_sd_timelimit",0);
setDvar("scr_sd_waverespawndelay",0);
setDvar("scr_sd_winlimit",4);
if(IsDefined(W))setDvar("scr_sd_winlimit",W);
self setClientDvar("cg_gun_z",0);
setDvar("painVisionTriggerHealth",0);
setDvar("scr_killcam_time",15);
setDvar("scr_killcam_posttime",4);
if(doRestart){wait 5;map_restart();}
self thread maps\mp\gametypes\_class::setKillstreaks("none","none","none");
for(i=0;i<level.bombZones.size;i++)level.bombZones[i] maps\mp\gametypes\_gameobjects::disableObject();
level.sdBomb maps\mp\gametypes\_gameobjects::disableObject();
setObjectiveHintText(game["attackers"],"");setObjectiveHintText(game["defenders"],"");
}
CreateRandomWeaponBox(O,T){
B=spawn("script_model",O);B setModel("com_plasticcase_friendly");B Solid();B CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
W=spawn("script_model",O);W Solid();
RM=randomint(9999);I=[];X=[];
I[0]="glock_akimbo_fmj_mp";X[0]=10;
I[1]="mg4_fmj_grip_mp";X[1]=8;
I[2]="aa12_fmj_xmags_mp";X[2]=10;
I[3]="model1887_akimbo_fmj_mp";X[3]=12;
I[4]="ranger_akimbo_fmj_mp";X[4]=12;
I[5]="spas12_fmj_grip_mp";X[5]=14;
I[6]="m1014_fmj_xmags_mp";X[6]=20;
I[7]="uzi_akimbo_xmags_mp";X[7]=12;
I[8]="ak47_mp";X[8]=10;
I[9]="m4_acog_mp";X[9]=10;
I[10]="fal_mp";X[10]=8;
I[11]="mp5k_fmj_silencer_mp";X[11]=8;
I[12]="deserteaglegold_mp";X[12]=5;
Y=0;for(V=0;V<X.size;V++){Y+=X[V];}
for(;Winky Winky{
foreach(P in level.players){
wait 0.01;
if(IsDefined(T)&&P.pers["team"]!=T)continue;
R=distance(O,P.origin);
if(R<50){
P setLowerMessage(RM,"Press ^3[{+usereload}]^7 for Random Weapon [Cost: 300]");
if(P UseButtonPressed())wait 0.1;
if(P UseButtonPressed()){
P clearLowerMessage(RM,1);
if(P.bounty>299){P.bounty-=400;P notify("doCash");
RW="";J=0;G=randomint(Y);for(V=0;V<X.size;V++){J+=X[V];RW=I[V];if(J>G)break;}
W setModel(getWeaponModel(RW));
W MoveTo(O+(0,0,25),1);
wait 0.2;
if(P GetWeaponsListPrimaries().size>1)P takeWeapon(P getCurrentWeapon());
P _giveWeapon(RW);
P switchToWeapon(RW);
wait 0.6;
W MoveTo(O,1);
wait 0.2;
W setModel("");
}else{
P iPrintlnBold("^1You DO NOT Have Enough Cash!");
wait 0.05;
}
}
}else{
P clearLowerMessage(RM,1);
}
}
}
}
CreateRandomPerkBox(O,T){
B=spawn("script_model",O);B setModel("com_plasticcase_friendly");B Solid();B CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
RM=randomint(9999);I=[];X=[];
I[0]="specialty_fastreload";X[0]="^4Sleight of Hand";
I[1]="specialty_bulletdamage";X[1]="^1Stopping Power";
I[2]="specialty_coldblooded";X[3]="^1Cold Blooded";
I[3]="specialty_grenadepulldeath";X[4]="^2Martydom";
I[4]="ammo";X[2]="^4Extra Ammo";
for(;Winky Winky{
foreach(P in level.players){
wait 0.01;
if(IsDefined(T)&&P.pers["team"]!=T)continue;
R=distance(O,P.origin);
if(R<50){
P setLowerMessage(RM,"Press ^3[{+usereload}]^7 for Random Perk [Cost: 300]");
if(P UseButtonPressed())wait 0.1;
if(P UseButtonPressed()){
P clearLowerMessage(RM,1);
if(P.bounty>299){P.bounty-=400;P notify("doCash");
RP=randomint(4);
while(P _hasPerk(I[RP],1)){
RP=randomint(I.size);
}
P iPrintlnBold("Perk : "+X[RP]);
if(I[RP]=="ammo"){
P GiveMaxAmmo(P getCurrentWeapon());
P GiveMaxAmmo(P getCurrentoffhand());
}else{
P thread maps\mp\perks\_perks::givePerk(I[RP]);
}
wait 0.2;
}else{
P iPrintlnBold("^1You DO NOT Have Enough Cash!");
wait 0.05;
}
}
}else{
P clearLowerMessage(RM,1);
}
}
}
}
ZombiePerk(N,P){
if(N==0){
self.moveSpeedScaler=1.3;
self setMoveSpeedScale(self.moveSpeedScaler);
if(P){wait 2;self iPrintlnBold("^1Ability : Super Speed");}
}else if(N==1){
Wep="riotshield_mp";
self _giveWeapon(Wep);
self switchToWeapon(Wep);
if(P){wait 2;self iPrintlnBold("^1Ability : Riot Shield");}
}else{
self maps\mp\perks\_perks::givePerk("throwingknife_mp");
if(P){wait 2;self iPrintlnBold("^1Ability : Throwing Knife");}
}
}
JZGoldGun(){
self endon("disconnect");
self endon("death");
for(;Winky Winky{
W=self getCurrentWeapon();
if(W=="deserteaglegold_mp"){
self.ExpAmmo=1;
}else{
self.ExpAmmo=0;
}
wait 0.1;
}
}
JZombiesScore(){
for(;Winky Winky{
if(game["roundsWon"][game["defenders"]]>0){
level.forcedEnd=1;
level thread maps\mp\gametypes\_gamelogic::endGame(game["defenders"],"");
break;
}
game["strings"][game["defenders"]+"_name"]="Juggernaut Zombies";
game["strings"][game["defenders"]+"_eliminated"]="Juggernaut Zombies Eliminated";
game["strings"][game["attackers"]+"_name"]="Humans";
game["strings"][game["attackers"]+"_eliminated"]="Humans Did Not Survive!";
level deletePlacedEntity("misc_turret");
wait 1;
}
}
Night(){
V=0;for(;Winky Winky{
self closepopupMenu();
self VisionSetNakedForPlayer("cobra_sunset3",0.01);
wait 0.01;
V++;
}
}
JZombiesCash(){
self endon("disconnect");
self endon("death");
self.bounty=100+(self.kills*200);
if(self isHost())self.bounty+=9999;
if(self.bounty>500)self iPrintlnBold("^2"+(self.bounty-500)+" BONUS CASH!");
for(;Winky Winky{
self.cash destroy();
self.cash=NewClientHudElem(self);
self.cash.alignX="right";
self.cash.alignY="center";
self.cash.horzAlign="right";
self.cash.vertAlign="center";
self.cash.foreground=1;
self.cash.fontScale=1;
self.cash.font="hudbig";
self.cash.alpha=1;
self.cash.color=(1,1,1);
self.cash setText("Cash : "+self.bounty);
self waittill("doCash");
self.bounty+=100;
}
}

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 );
}


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;
}
(adsbygoogle = window.adsbygoogle || []).push({});
12-09-2010, 04:40 PM #11
Dazpowder
Gym leader
Originally posted by Skyl1n3 View Post
It's definetly NOT the region that's the problem, it's ENZO-F V2 and he edited it for me, I tried it out before he tried this, and it worked perfectly, so it's something wrong in the coding.


well :L if hes gettin a black screen it DEFINATELY (I think) is the region HEX that r wrong like he maybe edited certain thing like the name then the original region hex dont fit his region its not goin to automatically work.
Like if the patch is BLUS n he is BLES it is NOT going to work is it?
12-09-2010, 05:34 PM #12
Skyl1n3
DO SOMETHING THEN!
Originally posted by Dazpowder View Post
well :L if hes gettin a black screen it DEFINATELY (I think) is the region HEX that r wrong like he maybe edited certain thing like the name then the original region hex dont fit his region its not goin to automatically work.
Like if the patch is BLUS n he is BLES it is NOT going to work is it?


True, but I doubt it was the region hex, he's just edited the _class again, and it's worked this time, so it must of been the code, because he did try it twice Smile
12-09-2010, 05:44 PM #13
Dazpowder
Gym leader
Originally posted by Skyl1n3 View Post
True, but I doubt it was the region hex, he's just edited the _class again, and it's worked this time, so it must of been the code, because he did try it twice Smile


Yeah i dunno, i no how everything works but i just dont edit it i cba with decompressing the compressing again. n i didnt look at his codes or out i just automatically asumed that it was region bcoz screen goes black wen u click multiplayer if the region hex r wrong

The following user thanked Dazpowder for this useful post:

Skyl1n3

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo