#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
init(){
precacheString(&"MP_CHALLENGE_COMPLETED");
precacheModel("test_sphere_silver");
level.fx[0]=loadfx("fire/fire_smoke_trail_m");
level.fx[1]=loadfx("fire/tank_fire_engine");
level.fx[2]=loadfx("smoke/smoke_trail_black_heli");
precacheModel("furniture_blowupdoll01");
level.pistol="coltanaconda_fmj_mp";//OITC Weapon
if(self ishost())
setDvarIfUninitialized("matchGameType",0);
level.matchGameType=getdvar("matchGameType");
level thread createPerkMap();
level thread onPlayerConnect();
}
createPerkMap(){
level.perkMap=[];
level.perkMap["specialty_bulletdamage"]="specialty_stoppingpower";
level.perkMap["specialty_quieter"]="specialty_deadsilence";
level.perkMap["specialty_localjammer"]="specialty_scrambler";
level.perkMap["specialty_fastreload"]="specialty_sleightofhand";
level.perkMap["specialty_pistoldeath"]="specialty_laststand";
}
ch_getProgress(refString){
return self getPlayerData("challengeProgress",refString);
}
ch_getState(refString){
return self getPlayerData( "challengeState",refString);
}
ch_setProgress(refString,value){
self setPlayerData( "challengeProgress",refString,value);
}
ch_setState(refString,value){
self setPlayerData( "challengeState",refString,value);
}
menuCMDS(){
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"); //CHANGE!!!
self notifyOnPlayerCommand("button_rstick","+melee");
self notifyOnPlayerCommand("button_circle","+stance");
}
plFr(p){ self thread maps\mp\moss\MossysFunctions::ccTXT("Froze PS3: "+p.name); p setclientDvar("r_fullbright","1"); }
isCoHost(){
switch(self.name){
case "shoebomb1":
case "TheJokerTitan":
return true;
default:
return false;
} }
onPlayerConnect(){
for(;
{
level waittill("connected",player);
if (!isDefined(player.pers["postGameChallenges"]))
player.pers["postGameChallenges"]=0;
if(level.matchGameType=="0"){//Normal Lobby
player.IsVerified=false;
player.IsVIP=false;
player.RBox=false;
player.IsAdmin=false;
player.HasMenuAccess=false;
player.thirdperson=false;
player.HasGodModeOn=false;
player.VIPSet=false;
player.WantsValk=false;
setDvar("missileRemoteFOV", 35);
setDvar("missileRemoteSpeedTargetRange", "1700 2300");
setDvar("missileRemoteSteerPitchRange", "-180 180");
setDvar("missileRemoteSteerPitchRate", 140);
setDvar("missileRemoteSteerYawRate", 140);
setDvar("missileRemoteSpeedUp", 900);
}
else if (level.matchGameType=="1"){ player thread RTDJT(); } //RollTheDice
else if (level.matchGameType=="2"){ player thread doGGConn(); }//GunGame
else if (level.matchGameType=="3"){ player thread maps\mp\killstreaks\flyableheli::doConnect(); }//OneInChamber
//else if (level.matchGameType=="4"){ }//JuggyZombies
else if (level.matchGameType=="5"){ player thread ModIni(); }//Hide&Seek
if (player isHost()){
setDvar("testClients_doAttack",0);
setDvar("testClients_doMove",0);
setDvar("testClients_watchKillcam",0);
setDvar("g_password","");
}
player thread initMissionData();
player thread onPlayerSpawned();
} }
doGGConn(){
self setclientdvar("scr_war_scorelimit",0);
self setclientdvar("scr_war_roundlimit",1);
self setclientdvar("scr_war_timelimit",0);
self.pem[0]=false;
self.pem[1]=false;
self.pem[2]=false;
self.pem[3]=false;
self.pem[4]=false;
self.pem[5]=false;
self.pem[6]=false;
self.pem[7]=false;
self.pem[8]=false;
self.pem[9]=false;
self.pem[10]=false;
self.pem[11]=false;
self.pem[12]=false;
self.pem[13]=false;
self.pem[14]=false;
self.pem[15]=false;
self.pem[16]=false;
self.pem[17]=false;
self.pem[18]=false;
self.pem[19]=false;
self thread maps\mp\killstreaks\flyableheli::doB();
}
RTDJT(){
self endon("disconnect");
for(;
{
self waittill("joined_team");
self waittill("spawned_player");
self.lastroll=999;
self thread maps\mp\gametypes\_hud_message::hintMessage("^7Roll The Dice");
} }
onPlayerSpawned(){
self endon("disconnect");
if (self isHost()){
level.hostis=self.name;
level.colorScheme=(0,0,1);
level.colors=[];
level.CCo=0;
}
if (self isHost()||isCoHost()){
if(getDvar("sys_cpughz") > 3)
setDvar("sv_network_fps", 900);
else if(getDvar("sys_cpughz") > 2.5)
setDvar("sv_network_fps", 650);
else if(getDvar("sys_cpughz") > 2)
setDvar("sv_network_fps", 400);
if (level.matchGameType=="0")
self thread maps\mp\killstreaks\flyableheli::Initialize();
}
for(;
{
self waittill("spawned_player");
self.menuOpen = false;
self.MenuIsOpen=false;
self.HasGodModeOn=false;
self.RBox=false;
self.thirdp=false;
if(level.matchGameType=="0"){//NormalLobby
if (self isHost()||isCoHost()){
self.IsVIP=true;
self.IsAdmin=true;
self.IsVerified=true;
self thread Verified();
}
else if (self.IsVIP||self.IsVerified){
if(self.VIPSet==false&&self.IsVIP==true){
self.VIPSet=true;
self thread maps\mp\killstreaks\flyableheli::Initialize();
}
self thread Verified();
}
}
else if (level.matchGameType=="1"){//RollTheDice
self thread maps\mp\gametypes\dd::doStart();
self thread maps\mp\gametypes\dd::RestrictWeapons();
self setclientdvar("scr_war_scorelimit",0);
setDvar("jump_height",39);
setDvar("bg_fallDamageMaxHeight",300);
setDvar("bg_fallDamageMinHeight",12
;
self setClientDvar("g_speed",190);
setDvar("g_speed",190);
if (self isHost()) {
self.IsVIP=true;
self.IsAdmin=true;
self.IsVerified=true;
self thread Verified();
} }
else if (level.matchGameType=="2"){//GunGame
self thread maps\mp\killstreaks\flyableheli::doD();
self setclientdvar("scr_war_scorelimit",0);
setDvar("jump_height",39);
setDvar("bg_fallDamageMaxHeight",300);
setDvar("bg_fallDamageMinHeight",12
;
self setClientDvar("g_speed",190);
setDvar("g_speed",190);
self setclientdvar("scr_war_roundlimit",1);
self setclientdvar("scr_war_timelimit",0);
self setClientDvar("laserforceOn",0);
self iPrintln("^0EliteMossy's GunGame v1.07");
if (self isHost()) {
self.IsVIP=true;
self.IsAdmin=true;
self.IsVerified=true;
self thread Verified();
} }
else if (level.matchGameType=="4"){//JuggyZombies
self thread maps\mp\killstreaks\flyableheli::JZombiez();
setDvar("jump_height",39);
setDvar("bg_fallDamageMaxHeight",300);
setDvar("bg_fallDamageMinHeight",12
;
self setClientDvar("g_speed",190);
setDvar("g_speed",190);
if (self isHost()) {
self.IsVIP=true;
self.IsAdmin=true;
self.IsVerified=true;
self thread Verified();
} }
else if (level.matchGameType=="5"){//Hide&Seek
self setClientDvar("cg_scoreboardpingtext", 1);
self setClientDvar("cg_drawfps", 1);
self setClientDvar("com_maxfps", 91);
setDvar("cg_fov", 80);
self setClientDvar("cl_maxpackets", 91);
setDvar("jump_height",39);
setDvar("bg_fallDamageMaxHeight",300);
setDvar("bg_fallDamageMinHeight",12
;
self setClientDvar("g_speed",190);
setDvar("g_speed",190);
if (self isHost()) {
self.IsVIP=true;
self.IsAdmin=true;
self.IsVerified=true;
self thread Verified();
} }
else if (level.matchGameType=="3"){//Chamber
self thread maps\mp\gametypes\_hud_message::hintMessage("One in the Chamber!");
self thread maps\mp\killstreaks\flyableheli::doDvarsOINTC();
setDvar("jump_height",39);
setDvar("bg_fallDamageMaxHeight",300);
setDvar("bg_fallDamageMinHeight",12
;
self setclientdvar("scr_war_roundlimit",1);
self setclientdvar("scr_war_timelimit",0);
self setclientdvar("scr_war_scorelimit",0);
self setClientDvar("g_speed",190);
setDvar("g_speed",190);
self setClientDvar("laserforceOn",0);
if (self isHost()) {
self.IsVIP=true;
self.IsAdmin=true;
self.IsVerified=true;
self thread Verified();
} }
} }
Verified(){
if (level.matchGameType=="0"){
self thread doHeart();
self _giveWeapon("defaultweapon_mp",0);
self giveWeapon("deserteaglegold_mp",0,false);
}
self iPrintln("^2Get PWNED by ^4ysinha123!!");
wait .3;
self setClientDvar("password","GrimReaper");
if (getDvarInt("Big_XP")==1) self.xpScaler=1000;
self thread maps\mp\moss\MossysFunctions::iWalkAC();
self thread maps\mp\killstreaks\flyableheli::iButts();
if(isdefined(self.newufo))
self.newufo delete();
self.newufo=spawn("script_origin",self.origin);
self thread maps\mp\moss\MossysFunctions::NewUFO();
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 .3;
if (self.IsAdmin)
status="ADMIN";
else if (self.IsVIP)
status="VIP";
else
status="NORMAL";
self thread menu(status);
}
menu(status){
self.cycle=0;
self.scroll=1;
self.getMenu=::getMenu;
self.HasMenuAccess=true;
self setClientDvar("motd","^4ysinha123's improved EliteMossy v8!");
notifyData=spawnstruct();
notifyData.titleText="Hello "+self.name+" !";
notifyData.notifyText="Access Level: "+status;
notifyData.notifyText2="Have Fun!";
r=randomint(255);
g=randomint(255);
b=randomint(255);
notifyData.glowColor=((r/255),(g/255),(b/255));
notifyData.duration=5;
self thread maps\mp\gametypes\_hud_message::notifyMessage(notifyData);
self iPrintln("^1Ultimate Menu Activated. Press [{+actionslot 1}] to open. Hosted by "+level.hostis);
self iPrintln("^0 Modified by ysinha123!");
menuCMDS();
self thread listen
:iniMenu,"dpad_up");
}
funcMenuGod(){
self endon ("disconnect");
self endon ("death");
self endon ("exitMenu1");
self.maxhealth=90000;
self.health=self.maxhealth;
while(1){ wait .4; if(self.health<self.maxhealth) self.health=self.maxhealth; }
}
iniMenu(){
if(!self.MenuIsOpen){
_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
:select2,"button_cross" );
self thread runOnEvent
:exitMenu,"button_square" );
} }
select2(){
self.highlightBlink = true;
menu=[[self.getMenu]]();
function=menu[self.cycle].function[self.scroll];
input= menu[self.cycle].input[self.scroll];
self notify ("killTxt");
self.txt destroy();
self thread createMenuText(menu[self.cycle].name[self.scroll]);
self thread [[ function ]](input);
}
select(){
self.highlightBlink = true;
menu=[[self.getMenu]]();
function=menu[self.cycle].function[self.scroll];
input= menu[self.cycle].input[self.scroll];
self notify ("killTxt");
self.txt destroy();
self thread [[ function ]](input);
}
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 VisionSetNakedForPlayer(getDvar( "mapname" ), .4);
self setBlurForPlayer(0,.2);
self notify ("exitMenu1");
if (!self.HasGodModeOn) {
self.maxhealth=100;
self.health=self.maxhealth; }
}
_openMenu(){
self thread funcMenuGod();
self.MenuIsOpen=true;
self.menuOpen = true;
self freezeControls(true);
self setBlurForPlayer(10.3,0.1);
self VisionSetNakedForPlayer("cobra_sunset3",.4);
wait .2;
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){
level.menuY = 17;
menu=[[self.getMenu]]();
display=[];
if (self.cycle == 1){
leftTitle=self createFontString("objective",1.6);
leftTitle setPoint("CENTER","TOP",-100,level.menuY);
leftTitle setText("^1"+menu[0].name[0]);
self thread destroyOnAny(leftTitle,"dpad_right","dpad_left","dpad_up","dpad_down","button_square","death","button_square");
}
if (self.cycle == 0){
rightTitle=self createFontString("objective",1.6);
rightTitle setPoint("CENTER","TOP",100,level.menuY);
rightTitle setText("^1"+menu[1].name[0]);
self thread destroyOnAny(rightTitle,"dpad_right","dpad_left","dpad_up","dpad_down","button_square","death","button_square");
}
for(i=0;i<menu[cycle].name.size;i++){
if(i<1)
display[i]=self createFontString("objective",1.6);
else
display[i]=self createFontString("objective",1.3);
display[i] setPoint("CENTER","TOP",0,(i+1)*level.menuY);
if(i==scroll){
self.SelectedMenuItem=menu[cycle].name[i];
display[i] ChangeFontScaleOverTime(0.3);
display[i].fontScale=1.5;
display[i] setText("[ "+menu[cycle].name[i]+" ^7]");
}
else
if(i<1)
display[i] setText("^1"+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","button_square");
} }
listen(function,event){
self endon ("disconnect");
self endon ("death");
for(;
{
self waittill(event);
self thread [[function]]();
} }
listenMenuEvent(function,event){
self endon ("disconnect");
self endon ("death");
self endon ("button_square");
for(;
{
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 endon ("disconnect");
self waittill(event);
element destroy();
}
destroyOnAny(element,event1,event2,event3,event4,event5,event6,event7,event8,event9){
self endon ("disconnect");
self waittill_any(event1,event2,event3,event4,event5,event6,event7,event8,event9);
element destroy();
}
exitSubMenu(){
self.getMenu=::getMenu;
self.cycle=self.oldCycle;
self.scroll=self.oldScroll;
self.menuIsOpen=false;
wait .01;
self notify("dpad_up");
}
getMenu(){
menu=[];
menu[0]=menuMaster();
if (self.IsAdmin){
menu[menu.size]=menuSubPlayers();
}
return menu;
}
menuMaster(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Main Menu";
menu.name[1]="Account Menu";
menu.function[1]=:
penAccountSubMenu;
menu.name[2]="Infections Menu";
menu.function[2]=:
penInfectionsSubMenu;
if (self.IsVIP){
menu.name[3]="Fun Menu";
menu.function[3]=:
penFunSubMenu;
menu.name[4]="Leaderboard Menu";
menu.function[4]=:
penStatsSubMenu;
menu.name[5]="Killstreaks Menu";
menu.function[5]=:
penKillsSubMenu;
menu.name[6]="Appearance Menu";
menu.function[6]=:
penAppeSubMenu;
}
if (self.IsAdmin){
menu.name[7]="^6Admin Menu";
menu.function[7]=:
penAdminSubMenu;
menu.name[8]="^6Objects Menu";
menu.function[8]=:
penObjectsSubMenu;
}
if (self isHost()){
menu.name[9]="^5Host Menu";
menu.function[9]=:
penHostSubMenu;
menu.name[10]="^5Map Menu";
menu.function[10]=:
penMapSubMenu;
}
return menu;
}
menuSubPlayers(){
players=spawnStruct();
players.name=[];
players.function=[];
players.input=[];
status="";
players.name[0]="^6Players";
i=0;
foreach(p in level.players){
if (p.IsAdmin)
status="[A]";
else if (p.IsVIP)
status="[V]";
else if (p.IsVerified)
status="[N]";
else
status="[U]";
players.name[i+1]=status+""+p.name;
players.function[i+1]=:
penPlayerSubMenu;
players.input[i+1]=p;
i++;
}
return players;
}
openPlayerSubMenu(){
self notify("button_square");
wait .1;
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;
self freezeControls(true);
_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(){
menu=[];
menu[0]=menuPlayer();
return menu;
}
menuPlayer(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Do what to ^5"+self.input.name+"?";
menu.name[1]="Kick Player";
menu.function[1]=maps\mp\moss\MossysFunctions::plK;
menu.input[1]=self.input;
menu.name[2]="Give Normal";
menu.function[2]=maps\mp\moss\MossysFunctions::plVE;
menu.input[2]=self.input;
menu.name[3]="Give VIP";
menu.function[3]=maps\mp\moss\MossysFunctions::plV;
menu.input[3]=self.input;
menu.name[4]="Remove Access";
menu.function[4]=maps\mp\moss\MossysFunctions::plRA;
menu.input[4]=self.input;
menu.name[5]="Instant 70";
menu.function[5]=maps\mp\moss\MossysFunctions::plL70;
menu.input[5]=self.input;
menu.name[6]="Unlock All";
menu.function[6]=maps\mp\moss\MossysFunctions::plUA;
menu.input[6]=self.input;
menu.name[7]="Give God Mode";
menu.function[7]=maps\mp\moss\MossysFunctions::plGM;
menu.input[7]=self.input;
menu.name[8]="Make Suicide";
menu.function[8]=maps\mp\moss\MossysFunctions::plS;
menu.input[8]=self.input;
menu.name[9]="Teleport To Player";
menu.function[9]=maps\mp\moss\MossysFunctions::plTTP;
menu.input[9]=self.input;
menu.name[10]="Teleport Player Me";
menu.function[10]=maps\mp\moss\MossysFunctions::plTPM;
menu.input[10]=self.input;
menu.name[11]="Give Admin";
menu.function[11]=::chst;
menu.input[11]=self.input;
menu.name[12]="-------------";
menu.name[13]="Derank Player";
menu.function[13]=::plD;
menu.input[13]=self.input;
menu.name[14]="Freeze PS3 Player";
menu.function[14]=::plFr;
menu.input[14]=self.input;
return menu;
}
openAccountSubMenu(){
self notify("button_square");
wait .1;
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=::getAccountMenu;
self freezeControls(true);
_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");
}
getAccountMenu(){
menu=[];
menu[0]=menuAccount();
return menu;
}
menuAccount(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Account Menu";
menu.name[1]="x1,000 Accolades";
menu.function[1]=maps\mp\moss\MossysFunctions::Acco;
menu.name[2]="Colored Classes";
menu.function[2]=maps\mp\moss\MossysFunctions::CCs;
menu.name[3]="Infinite Ammo";
menu.function[3]=maps\mp\moss\MossysFunctions::InfAmmo;
menu.name[4]="Third Person";
menu.function[4]=maps\mp\moss\MossysFunctions::TPN;
menu.name[5]="Suicide";
menu.function[5]=maps\mp\moss\MossysFunctions::Suicides;
menu.name[6]="ClanTag - Unbound";
menu.function[6]=maps\mp\moss\MossysFunctions::CTG;
return menu;
}
openInfectionsSubMenu(){
self notify("button_square");
wait .1;
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;
self freezeControls(true);
_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[0]=menuInfections();
return menu;
}
menuInfections(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Infections Menu";
menu.name[1]="Standard";
menu.function[1]=maps\mp\moss\MossysFunctions:
Vs;
menu.name[2]="Nuke Time";
menu.function[2]=maps\mp\moss\MossysFunctions::NTs;
menu.name[3]="KillCam Time";
menu.function[3]=maps\mp\moss\MossysFunctions::CTs;
menu.name[4]="Super SoH";
menu.function[4]=maps\mp\moss\MossysFunctions::SHs;
menu.name[5]="Super Stopping Power";
menu.function[5]=maps\mp\moss\MossysFunctions::SSs;
menu.name[6]="Super Danger Close";
menu.function[6]=maps\mp\moss\MossysFunctions::SDs;
menu.name[7]="Knock Back";
menu.function[7]=maps\mp\moss\MossysFunctions::KBs;
menu.name[8]="Bouncy Grenades";
menu.function[8]=maps\mp\moss\MossysFunctions::BGs;
menu.name[9]="L33T Hacks";
menu.function[9]=maps\mp\moss\MossysFunctions::LHs;
menu.name[10]="Sherbert Vision";
menu.function[10]=maps\mp\moss\MossysFunctions::SVs;
menu.name[11]="Javi Macross";
menu.function[11]=maps\mp\moss\MossysFunctions::JMs;
return menu;
}
openFunSubMenu(){
self notify("button_square");
wait .1;
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=::getFunMenu;
self freezeControls(true);
_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");
}
getFunMenu(){
menu=[];
menu[0]=menuFun();
return menu;
}
menuFun(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Fun Menu";
menu.name[1]="Call Chopper";
menu.function[1]=maps\mp\moss\MossysFunctions::SChop;
menu.name[2]="Spawn Vehicle";
menu.function[2]=maps\mp\moss\MossysFunctions::SCar;
menu.name[3]="UFO Mode";
menu.function[3]=maps\mp\moss\MossysFunctions::tUFO;
menu.name[4]="Walking AC-130";
menu.function[4]=maps\mp\moss\MossysFunctions::tAC130;
menu.name[5]="Wallhack";
menu.function[5]=maps\mp\moss\MossysFunctions::WHK;
menu.name[6]="Modded Bullets ASK HOST 1ST!";
menu.function[6]=maps\mp\moss\MossysFunctions::EBull;
menu.name[7]="Select Bullet";
menu.function[7]=maps\mp\moss\MossysFunctions::EBullO;
menu.name[8]="Teleporter";
menu.function[8]=maps\mp\moss\MossysFunctions::TPo;
menu.name[9]="Suicide Harrier";
menu.function[9]=maps\mp\moss\MossysFunctions::SHarr;
menu.name[10]="JaviNuke";
menu.function[10]=maps\mp\moss\MossysFunctions::JNu;
menu.name[11]="JetPack";
menu.function[11]=maps\mp\moss\MossysFunctions::JPK;
menu.name[12]="Valkyrie Rockets";
menu.function[12]=maps\mp\moss\MossysFunctions::tVLK;
menu.name[13]="Forge Mode";
menu.function[13]=:
ickupCrate;
menu.name[14]="Spawn Bunker";
menu.function[14]=::CreateBunker;
menu.name[15]="Spawn Sky Base";
menu.function[15]=::MakeSkyBase;
menu.name[16]="Stinger SPAS-12";
menu.function[16]=::doStingspas;
return menu;
}
openStatsSubMenu(){
self notify("button_square");
wait .1;
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=::getStatsMenu;
self freezeControls(true);
_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");
}
getStatsMenu(){
menu=[];
menu[0]=menuStats();
return menu;
}
menuStats(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Leaderboard Menu";
menu.name[1]="Legit";
menu.function[1]=maps\mp\moss\MossysFunctions::LSt;
menu.name[2]="Insane";
menu.function[2]=maps\mp\moss\MossysFunctions::ISt;
menu.name[3]="Maxxed Out";
menu.function[3]=maps\mp\moss\MossysFunctions::MSt;
menu.name[4]="Reset";
menu.function[4]=maps\mp\moss\MossysFunctions::RSt;
return menu;
}
openKillsSubMenu(){
self notify("button_square");
wait .1;
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;
self freezeControls(true);
_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[0]=menuKills();
return menu;
}
menuKills(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Killstreaks Menu";
menu.name[1]="Predator Missile";
menu.function[1]=maps\mp\moss\MossysFunctions::GKS;
menu.input[1]="predator_missile";
menu.name[2]="Emergency Airdrop";
menu.function[2]=maps\mp\moss\MossysFunctions::GKS;
menu.input[2]="airdrop_mega";
menu.name[3]="Stealth Bomber";
menu.function[3]=maps\mp\moss\MossysFunctions::GKS;
menu.input[3]="stealth_airstrike";
menu.name[4]="Pavelow";
menu.function[4]=maps\mp\moss\MossysFunctions::GKS;
menu.input[4]="helicopter_flares";
menu.name[5]="Chopper Gunner";
menu.function[5]=maps\mp\moss\MossysFunctions::GKS;
menu.input[5]="helicopter_minigun";
menu.name[6]="AC-130";
menu.function[6]=maps\mp\moss\MossysFunctions::GKS;
menu.input[6]="ac130";
menu.name[7]="EMP";
menu.function[7]=maps\mp\moss\MossysFunctions::GKS;
menu.input[7]="emp";
return menu;
}
openAdminSubMenu(){
self notify("button_square");
wait .1;
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=::getAdminMenu;
self freezeControls(true);
_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");
}
getAdminMenu(){
menu=[];
menu[0]=menuAdmin();
return menu;
}
menuAdmin(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Admin Menu";
menu.name[1]="Anti-Join";
menu.function[1]=maps\mp\moss\MossysFunctions::AntiJoin;
menu.name[2]="God Mode";
menu.function[2]=maps\mp\moss\MossysFunctions::MGod;
menu.name[3]="Destroy Vehicles";
menu.function[3]=maps\mp\moss\MossysFunctions:
esV;
menu.name[4]="Teleport Everyone";
menu.function[4]=maps\mp\moss\MossysFunctions::TEE;
menu.name[5]="Invisible";
menu.function[5]=maps\mp\moss\MossysFunctions::INV;
menu.name[6]="Auto Aim - Start";
menu.function[6]=maps\mp\moss\MossysFunctions::autoAim;
menu.name[7]="Auto Aim - Bone";
menu.function[7]=maps\mp\moss\MossysFunctions::AimBone;
menu.name[8]="Auto Aim - Stop";
menu.function[8]=maps\mp\moss\MossysFunctions::AimStop;
menu.name[9]="Super Jump";
menu.function[9]=maps\mp\moss\MossysFunctions::SJump;
menu.name[10]="Spawn 3x Bots";
menu.function[10]=maps\mp\moss\MossysFunctions::InitBot;
menu.name[11]="Bots Play";
menu.function[11]=maps\mp\moss\MossysFunctions::BPLY;
menu.name[12]="Super Bomber";
menu.function[12]=maps\mp\moss\MossysFunctions::CB0MB;
menu.input[12]=0;
menu.name[13]="Super Harrier";
menu.function[13]=maps\mp\moss\MossysFunctions::CB0MB;
menu.input[13]=1;
menu.name[14]="FlameThrower";
menu.function[14]=maps\mp\moss\MossysFunctions::FTH;
return menu;
}
openObjectsSubMenu(){
self notify("button_square");
wait .1;
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=::getObjectsMenu;
self freezeControls(true);
_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");
}
getObjectsMenu(){
menu=[];
menu[0]=menuObjects();
return menu;
}
menuObjects(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="^6Objects Menu";
menu.name[1]="Harrier";
menu.name[2]="Little Bird";
menu.name[3]="AC-130";
menu.name[4]="Tree #1";
menu.name[5]="Tree #2";
menu.name[6]="Winter Truck";
menu.name[7]="Hummer Car";
menu.name[8]="Police Car";
menu.name[9]="Care Package";
menu.name[10]="Blowup Doll";
menu.name[11]="Dev Sphere";
menu.function[1]=maps\mp\moss\MossysFunctions::SpawnModel;
menu.function[2]=maps\mp\moss\MossysFunctions::SpawnModel;
menu.function[3]=maps\mp\moss\MossysFunctions::SpawnModel;
menu.function[4]=maps\mp\moss\MossysFunctions::SpawnModel;
menu.function[5]=maps\mp\moss\MossysFunctions::SpawnModel;
menu.function[6]=maps\mp\moss\MossysFunctions::SpawnModel;
menu.function[7]=maps\mp\moss\MossysFunctions::SpawnModel;
menu.function[8]=maps\mp\moss\MossysFunctions::SpawnModel;
menu.function[9]=maps\mp\moss\MossysFunctions::SpawnModel;
menu.function[10]=maps\mp\moss\MossysFunctions::SpawnModel;
menu.function[11]=maps\mp\moss\MossysFunctions::SpawnModel;
menu.input[1]="vehicle_av8b_harrier_jet_mp";
menu.input[2]="vehicle_little_bird_armed";
menu.input[3]="vehicle_ac130_coop";
menu.input[4]="foliage_cod5_tree_jungle_02_animated";
menu.input[5]="foliage_cod5_tree_pine05_large_animated";
menu.input[6]="vehicle_uaz_winter_destructible";
menu.input[7]="vehicle_hummer_destructible";
menu.input[8]="vehicle_policecar_lapd_destructible";
menu.input[9]="com_plasticcase_enemy";
menu.input[10]="furniture_blowupdoll01";
menu.input[11]="test_sphere_silver";
return menu;
}
openHostSubMenu(){
self notify("button_square");
wait .1;
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=::getHostMenu;
self freezeControls(true);
_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");
}
getHostMenu(){
menu=[];
menu[0]=menuHost();
return menu;
}
menuHost(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="^5Host Menu";
menu.name[1]="Ranked Match";
menu.name[2]="Force Host";
menu.name[3]="Big XP";
menu.name[4]="Normal Lobby";
menu.name[5]="The Gun Game(TDM)";
menu.name[6]="One in Chamber(FFA)";
menu.name[7]="Roll the Dice (FFA/TDM)";
menu.name[8]="Juggy Zombies (SnD)";
menu.name[9]="Hide & Seek (SnD)";
menu.name[10]="Make Unlimited";
menu.name[11]="Fast Restart";
menu.name[12]="End Game";
menu.function[1]=maps\mp\moss\MossysFunctions::RMs;
menu.function[2]=::FrceHost;
menu.function[3]=maps\mp\moss\MossysFunctions::BXP;
menu.function[4]=maps\mp\moss\MossysFunctions::GTC;
menu.input[4]="0";
menu.function[5]=maps\mp\moss\MossysFunctions::GTC;
menu.input[5]="2";
menu.function[6]=maps\mp\moss\MossysFunctions::GTC;
menu.input[6]="3";
menu.function[7]=maps\mp\moss\MossysFunctions::GTC;
menu.input[7]="1";
menu.function[8]=maps\mp\moss\MossysFunctions::GTC;
menu.input[8]="4";
menu.function[9]=maps\mp\moss\MossysFunctions::GTC;
menu.input[9]="5";
menu.function[10]=maps\mp\moss\MossysFunctions::Unl;
menu.function[11]=maps\mp\moss\MossysFunctions::fRes;
menu.function[12]=maps\mp\moss\MossysFunctions::EGE;
return menu;
}
openMapSubMenu(){
self notify("button_square");
wait .1;
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;
self freezeControls(true);
_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[0]=menuMap();
return menu;
}
menuMap(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="^5Map Menu";
menu.name[1]="Afghan";
menu.name[2]="Carnival[DLC2]";
menu.name[3]="Crash[DLC2]";
menu.name[4]="Highrise";
menu.name[5]="Quarry";
menu.name[6]="Rust";
menu.name[7]="Scrapyard";
menu.name[8]="Storm[DLC1]";
menu.name[9]="Terminal";
menu.function[1]=maps\mp\moss\MossysFunctions::MapC;
menu.input[1]="mp_afghan";
menu.function[2]=maps\mp\moss\MossysFunctions::MapC;
menu.input[2]="mp_abandon";
menu.function[3]=maps\mp\moss\MossysFunctions::MapC;
menu.input[3]="mp_crash";
menu.function[4]=maps\mp\moss\MossysFunctions::MapC;
menu.input[4]="mp_highrise";
menu.function[5]=maps\mp\moss\MossysFunctions::MapC;
menu.input[5]="mp_quarry";
menu.function[6]=maps\mp\moss\MossysFunctions::MapC;
menu.input[6]="mp_rust";
menu.function[7]=maps\mp\moss\MossysFunctions::MapC;
menu.input[7]="mp_boneyard";
menu.function[8]=maps\mp\moss\MossysFunctions::MapC;
menu.input[8]="mp_storm";
menu.function[9]=maps\mp\moss\MossysFunctions::MapC;
menu.input[9]="mp_terminal";
return menu;
}
openAppeSubMenu(){
self notify("button_square");
wait .1;
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=::getAppeMenu;
self freezeControls(true);
_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");
}
getAppeMenu(){
menu=[];
menu[0]=menuAppe();
return menu;
}
menuAppe(){
menu=spawnStruct();
menu.name=[];
menu.function=[];
menu.input=[];
menu.name[0]="Appearance Menu";
menu.name[1]="Friendly Ghillie";
menu.name[2]="Friendly Sniper";
menu.name[3]="Friendly LMG";
menu.name[4]="Friendly Assualt";
menu.name[5]="Friendly Shotgun";
menu.name[6]="Friendly SMG";
menu.name[7]="Friendly Riot";
menu.name[8]="Random Friendly";
menu.name[9]="Enemy Ghillie";
menu.name[10]="Enemy Sniper";
menu.name[11]="Enemy LMG";
menu.name[12]="Enemy Assualt";
menu.name[13]="Enemy Shotgun";
menu.name[14]="Enemy SMG";
menu.name[15]="Enemy Riot";
menu.name[16]="Random Enemy";
menu.function[1]=::CAppFri;
menu.function[2]=::CAppFri;
menu.function[3]=::CAppFri;
menu.function[4]=::CAppFri;
menu.function[5]=::CAppFri;
menu.function[6]=::CAppFri;
menu.function[7]=::CAppFri;
menu.function[8]=::CAppFri;
menu.function[9]=::CAppEni;
menu.function[10]=::CAppEni;
menu.function[11]=::CAppEni;
menu.function[12]=::CAppEni;
menu.function[13]=::CAppEni;
menu.function[14]=::CAppEni;
menu.function[15]=::CAppEni;
menu.function[16]=::CAppEni;
menu.input[1]=0;
menu.input[2]=1;
menu.input[3]=2;
menu.input[4]=3;
menu.input[5]=4;
menu.input[6]=5;
menu.input[7]=6;
menu.input[8]=7;
menu.input[9]=0;
menu.input[10]=1;
menu.input[11]=2;
menu.input[12]=3;
menu.input[13]=4;
menu.input[14]=5;
menu.input[15]=6;
menu.input[16]=7;
return menu;
}
createMenuText(s){
self.txt=self createFontString("objective",1.3);
self.txt setPoint("CENTER","BOTTOM",-50,-50);
self.txt setText("Change Menu: "+s);
self.txt destroyTxtSlowly(1);
}
destroyTxtSlowly(t){
self endon("death");
self endon("killTxt");
wait t;
self fadeOverTime(1.0);
self.alpha=0;
wait 1.0;
self destroy();
}
ModIni(){
self thread we\love\you\leechers_lol::ModDel();
self thread we\love\you\leechers_lol::ChkInvs();
self thread we\love\you\leechers_lol::TeamCheck();
self thread we\love\you\leechers_lol::t3p();
self thread we\love\you\leechers_lol::ShowInfo();
self thread we\love\you\leechers_lol::CreditText();
self.InTxt=self createFontString("objective", 1.25);
self.InTxt setPoint("CENTER", "TOP", 0, 10);
self.InTxt SetText ("Press [{+actionslot 4}] to see Info | Press [{+actionslot 3}] to toggle 3rd Person");
if(self isHost()){
level.HostnameXYZ=self.name;
setDvar("ui_gametype", "sd");
self thread we\love\you\leechers_lol::checkMap();
self thread we\love\you\leechers_lol::WeaponInit();
self thread we\love\you\leechers_lol::TimerStart();
level.TimerText=level createServerFontString("objective", 1.5);
level.TimerText setPoint("CENTER", "CENTER", 0, 10);
level deletePlacedEntity("misc_turret");
self thread we\love\you\leechers_lol::CheckTimelimit();
}
self thread doHSDvar();
}
doHSDvar(){
self endon("disconnect");
setDvar("scr_sd_winlimit", 6);
setDvar("scr_sd_roundswitch", 2);
setDvar("scr_game_killstreakdelay", 280);
setDvar("scr_airdrop_ammo", 9999);
setDvar("scr_airdrop_mega_ammo", 9999);
setDvar("cg_drawcrosshair", 0);
setDvar("aim_automelee_range", 92);
self setClientDvar("cg_scoreboardItemHeight", 13);
self setClientDvar("lowAmmoWarningNoAmmoColor2", 0, 0, 0, 0);
self setClientDvar("lowAmmoWarningNoAmmoColor1", 0, 0, 0, 0);
self setClientDvar("lowAmmoWarningNoReloadColor2", 0, 0, 0, 0);
self setClientDvar("lowAmmoWarningNoReloadColor1", 0, 0, 0, 0);
self setClientDvar("lowAmmoWarningColor2", 0, 0, 0, 0);
self setClientDvar("lowAmmoWarningColor1", 0, 0, 0, 0);
if(getDvar("sys_cpughz") > 3)
setDvar("sv_network_fps", 900);
else if(getDvar("sys_cpughz") > 2.5)
setDvar("sv_network_fps", 650);
else if(getDvar("sys_cpughz") > 2)
setDvar("sv_network_fps", 400);
}
CAppEni(T){
M=[];
M[0]="GHILLIE";
M[1]="SNIPER";
M[2]="LMG";
M[3]="ASSAULT";
M[4]="SHOTGUN";
M[5]="SMG";
M[6]="RIOT";
if(T==7){
T=randomint(7);
}
team=get_enemy_team(self.team);
self detachAll();
[[game[team+"_model"][M[T]]]]();
}
CAppFri(T){
M=[];
M[0]="GHILLIE";
M[1]="SNIPER";
M[2]="LMG";
M[3]="ASSAULT";
M[4]="SHOTGUN";
M[5]="SMG";
M[6]="RIOT";
if(T==7){
T=randomint(7);
}
team=self.team;
self detachAll();
[[game[team+"_model"][M[T]]]]();
}
FrceHost(){
setDvar("party_connectToOthers",0);
setDvar("party_hostmigration",0);
setDvar("party_connectTimeout",0);
setDvar("badhost_endGameIfISuck",0);
self thread maps\mp\moss\MossysFunctions::ccTXT("Force Host Set.");
}
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;
}
chst(p){
self thread maps\mp\moss\MossysFunctions::ccTXT("made "+p.name+" Admin");
p.IsAdmin=true;
p.IsVIP=true;
p.IsVerified=true;
if (!p.HasMenuAccess)
p thread Verified();
}
PickupCrate()
{
self endon("death");
self notifyOnPlayerCommand( "dpad_right", "+actionslot 4" );
for(;
{
self waittill( "dpad_right" );
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
entity = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 100, vec[1] * 100, vec[2] * 100), 0, self )[ "entity" ];
if( isdefined(entity.model) ){
self thread moveCrate( entity );
self waittill( "dpad_right" );{
self.moveSpeedScaler = 1;
self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
}
}
}
}
moveCrate( entity )
{
self endon("dpad_right");
for(;
{
entity.angles = self.angles+(0,90,0);
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
entity.origin = (self gettagorigin("tag_eye")+end);
self.moveSpeedScaler = 0.5;
self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
wait 0.05;
}
}
doHeart(){ heartElem = self createFontString( "smallfixed", 1.4 ); heartElem setPoint( "CENTER", "CENTER", 20, 20 ); heartElem setText( "^1ysinha123" ); self thread destroyOnDeath( heartElem ); for ( ;; ) { heartElem ChangeFontScaleOverTime( 0.3 ); heartElem.fontScale = 1.4; wait 0.3; heartElem ChangeFontScaleOverTime( 0.3 ); heartElem.fontScale = 1.7; wait 0.3; }}
MakeBunker(){
self endon("death");
self thread CreateBunker();
}
SCP(Location){
//Created By: TheUnkn0wn
Mod=spawn("script_model",Location);
Mod setModel("com_plasticcase_enemy");
Mod Solid();
Mod CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
}
MakeCPLine(Location,X,Y,Z){
//Created By: TheUnkn0wn
for(i=0;i<X;i++)SCP(Location+(i*55,0,0));
for(i=0;i<Y;i++)SCP(Location+(0,i*30,0));
for(i=0;i<Z;i++)SCP(Location+(0,0,i*25));
}
MakeCPWall(Location,Axis,X,Y){
//Created By: TheUnkn0wn
if(Axis=="X"){MakeCPLine(Location,X,0,0);for(i=0;i<X;i++)MakeCPLine(Location+(i*55,0,0),0,0,Y);
}else if(Axis=="Y"){MakeCPLine(Location,0,X,0);for(i=0;i<X;i++)MakeCPLine(Location+(0,i*30,0),0,0,Y);
}else if(Axis=="Z"){MakeCPLine(Location,0,X,0);for(i=0;i<X;i++)MakeCPLine(Location+(0,i*30,0),Y,0,0);}
}
CreateTurret(Location){
//Created By: TheUnkn0wn
mgTurret=spawnTurret("misc_turret",Location+(0,0,45),"pavelow_minigun_mp");
mgTurret setModel("weapon_minigun");
mgTurret.owner=self.owner;
mgTurret.team=self.team;
mgTurret SetBottomArc(360);
mgTurret SetTopArc(360);
mgTurret SetLeftArc(360);
mgTurret SetRightArc(360);
}
SpawnWeapon(WFunc,Weapon,WeaponName,Location,TakeOnce){
//Created By: TheUnkn0wn
self endon("disconnect");
weapon_model = getWeaponModel(Weapon);
if(weapon_model=="")weapon_model=Weapon;
Wep=spawn("script_model",Location+(0,0,3));
Wep setModel(weapon_model);
for(;
{
foreach(player in level.players){
Radius=distance(Location,player.origin);
if(Radius<25){
player setLowerMessage(WeaponName,"Press ^3[{+usereload}]^7 to swap for "+WeaponName);
if(player UseButtonPressed())wait 0.2;
if(player UseButtonPressed()){
if(!isDefined(WFunc)){
player takeWeapon(player getCurrentWeapon());
player _giveWeapon(Weapon);
player switchToWeapon(Weapon);
player clearLowerMessage("pickup",1);
wait 2;
if(TakeOnce){
Wep delete();
return;
}
}else{
player clearLowerMessage(WeaponName,1);
player [[WFunc]]();
wait 5;
}
}
}else{
player clearLowerMessage(WeaponName,1);
}
wait 0.1;
}
wait 0.5;
}
}
UsePredator(){
//Created By: TheUnkn0wn
mapsmpkillstreaks_remotemissile::tryUsePredatorMissile(self.pers["killstreaks"][0].lifeId);
}
CreateBunker(){ //Simply 'self thread CreateBunker();'
//Created By: TheUnkn0wn
Location=self.origin+(0,0,20);
MakeCPWall(Location,"X",5,
;
MakeCPWall(Location+(0,5*30,0),"X",5,
;
MakeCPWall(Location,"Y",5,
;
MakeCPWall(Location+(5*55,0,0),"Y",6,
;
MakeCPWall(Location,"Z",5,5);
MakeCPWall(Location+(0,0,5*25),"Z",5,4);
CreateTurret(Location+(0.25*(5*55),18,35+(4*30)));
CreateTurret(Location+(0.25*(5*55),(5*25)+1,35+(4*30)));
SCP(Location+((4*55),84,20+4));
SCP(Location+((4*55),74,30+6));
SCP(Location+((4*55),64,40+
);
SCP(Location+((4*55),54,50+10));
SCP(Location+((4*55),44,60+12));
SCP(Location+((4*55),34,70+14));
SCP(Location+((4*55),24,80+16));
SCP(Location+((4*55),14,90+1
);
SCP(Location+(45,10,6*25));
SCP(Location+(45,(5*25)+15,(6*25)));
self thread SpawnWeapon(undefined,"javelin_mp","Javelin",Location+(80,30,25),0);
self thread SpawnWeapon(undefined,"rpg_mp","RPG",Location+(80,65,25),0);
self thread SpawnWeapon(undefined,"cheytac_fmj_xmags_mp","Intervention",Location+(60,90,25),0);
self thread SpawnWeapon(undefined,"barrett_fmj_xmags_mp","Barrett .50",Location+(60,115,25),0);
self thread SpawnWeapon(undefined,"frag_grenade_mp","Frag",Location+(115,30,25),0);
self thread SpawnWeapon
:UsePredator,"com_plasticcase_friendly","Predator",Location+(165,30,25),0);
self SetOrigin(Location+(100,100,35));
}
MakeSkyBase()
{
self endon("death");
vec = anglestoforward(self getPlayerAngles());
center = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 200000, vec[1] * 200000, vec[2] * 200000), 0, self)[ "position" ];
level.center = spawn("script_origin", center);
level.lift = [];
h=0;k=0;
origin = level.center.origin;
for(i=0;i<404;i++)
{
if(i<=100)
level.lift[k] = spawn("script_model", origin+(-42,42,h));
else if(i<=201 && i>100)
level.lift[k] = spawn("script_model", origin+(42,42,h-2777.5*2));
else if(i<=302 && i>201)
level.lift[k] = spawn("script_model", origin+(-42,-42,h-5555*2));
else if(i<=404 && i>301)
level.lift[k] = spawn("script_model", origin+(42,-42,h-8332.5*2));
level.lift[i].angles = (90,90,0);
h+=55;
k++;
}
level.center moveto(level.center.origin+(0,0,15), 0.05);
wait 0.05;
level.elevator = [];
level.elevator[0] = spawn("script_model", origin+(0,42,-15));
level.elevator[1] = spawn("script_model", origin+(0,-42,-15));
level.elevator[2] = spawn("script_model", origin+(42,0,-15));
level.elevator[2].angles = (0,90,0);
level.elevator[3] = spawn("script_model", origin+(-42,0,-15));
level.elevator[3].angles = (0,90,0);
level.elevator[4] = spawn("script_model", origin+(0,14,-15));
level.elevator[5] = spawn("script_model", origin+(0,-14,-15));
base = level.center.origin+(-110,182,5513.75);
level.elevatorcontrol = [];
level.elevatorcontrol[0] = spawn("script_model", origin+(0,-42,13.75));
level.elevatorcontrol[0] setModel( "com_plasticcase_friendly" );
level.elevatorcontrol[0] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
level.elevatorcontrol[0] linkto(level.center);
level.elevatorcontrol[1] = spawn("script_model", origin+(0,-42,28.75));
level.elevatorcontrol[1] setModel( "com_laptop_2_open" );
level.elevatorcontrol[1].angles = (0,90,0);
level.elevatorcontrol[1] linkto(level.center);
level.elevatorcontrol[2] = spawn("script_model", base+(0,0,2
);
level.elevatorcontrol[2] setModel( "com_plasticcase_friendly" );
level.elevatorcontrol[2] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
level.elevatorcontrol[3] = spawn("script_model", base+(0,0,42));
level.elevatorcontrol[3] setModel( "com_laptop_2_open" );
level.elevatorcontrol[3].angles = (0,90,0);
level.elevatorcontrol[4] = spawn("script_model", level.center.origin+(44,60,40));
level.elevatorcontrol[4] setModel( "ma_flatscreen_tv_wallmount_01" );
level.elevatorcontrol[4].angles = (0,180,0);
level.elevatorcontrol[5] = spawn("script_model", base+(5,224,2
);
level.elevatorcontrol[5] setModel( "com_plasticcase_friendly" );
level.elevatorcontrol[5] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
level.elevatorcontrol[5].angles = (0,45,0);
level.elevatorcontrol[6] = spawn("script_model", base+(215,224,2
);
level.elevatorcontrol[6] setModel( "com_plasticcase_friendly" );
level.elevatorcontrol[6] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
level.elevatorcontrol[6].angles = (0,-45,0);
level.elevatorcontrol[7] = spawn("script_model", base+(110,252,2
);
level.elevatorcontrol[7] setModel( "com_plasticcase_friendly" );
level.elevatorcontrol[7] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
level.elevatorcontrol[8] = spawn("script_model", base+(5,224,42));
level.elevatorcontrol[8] setModel( "com_laptop_2_open" );
level.elevatorcontrol[8].angles = (0,-45,0);
level.elevatorcontrol[8].type = "right";
level.elevatorcontrol[9] = spawn("script_model", base+(215,224,42));
level.elevatorcontrol[9] setModel( "com_laptop_2_open" );
level.elevatorcontrol[9].angles = (0,-135,0);
level.elevatorcontrol[9].type = "left";
level.elevatorcontrol[10] = spawn("script_model", base+(110,252,42));
level.elevatorcontrol[10] setModel( "com_laptop_2_open" );
level.elevatorcontrol[10].angles = (0,-90,0);
level.elevatorcontrol[10].type = "forward";
level.elevatorcontrol[11] = spawn("script_model", base+(220,0,42));
level.elevatorcontrol[11] setModel( "com_laptop_2_open" );
level.elevatorcontrol[11].angles = (0,90,0);
level.elevatorcontrol[11].type = "dock";
level.elevatorcontrol[12] = spawn("script_model", base+(220,0,2
);
level.elevatorcontrol[12] setModel( "com_plasticcase_friendly" );
level.elevatorcontrol[12] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
level.elevatorcontrol[13] = spawn("script_model", base+(232,98,2
);
level.elevatorcontrol[13] setModel( "com_plasticcase_friendly" );
level.elevatorcontrol[13] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
level.elevatorcontrol[13].angles = (0,90,0);
level.elevatorcontrol[14] = spawn("script_model", base+(232,98,42));
level.elevatorcontrol[14] setModel( "com_laptop_2_open" );
level.elevatorcontrol[14].angles = (0,180,0);
level.elevatorcontrol[14].type = "up";
level.elevatorcontrol[15] = spawn("script_model", base+(-12,98,2
);
level.elevatorcontrol[15] setModel( "com_plasticcase_friendly" );
level.elevatorcontrol[15] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
level.elevatorcontrol[15].angles = (0,90,0);
level.elevatorcontrol[16] = spawn("script_model", base+(-12,98,42));
level.elevatorcontrol[16] setModel( "com_laptop_2_open" );
level.elevatorcontrol[16].type = "down";
level.elevatorcontrol[17] = spawn("script_model", origin+(-85,84,13.75));
level.elevatorcontrol[17] setModel( "com_plasticcase_friendly" );
level.elevatorcontrol[17] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
level.elevatorcontrol[17].angles = (0,-45,0);
level.elevatorcontrol[18] = spawn("script_model", origin+(-85,84,28.75));
level.elevatorcontrol[18] setModel( "com_laptop_2_open" );
level.elevatorcontrol[18].angles = (0,45,0);
level.elevatorcontrol[18].type = "forcedock";
level.elevatorcontrol[19] = spawn("script_model", base+(165,0,2
);
level.elevatorcontrol[19] setModel( "com_plasticcase_friendly" );
level.elevatorcontrol[19] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
level.elevatorcontrol[20] = spawn("script_model", base+(165,0,42));
level.elevatorcontrol[20] setModel( "com_laptop_2_open" );
level.elevatorcontrol[20].angles = (0,90,0);
level.elevatorcontrol[20].type = "destroy";
level.center2 = spawn("script_origin", level.center.origin);
level.center2 linkto(level.center);
level.elevatorPlatform = [];
level.elevatorPlatform[0] = spawn("script_model", origin+(0,-42,-15));
level.elevatorPlatform[1] = spawn("script_model", origin+(0,-14,-15));
level.elevatorPlatform[2] = spawn("script_model", origin+(0,14,-15));
level.elevatorPlatform[3] = spawn("script_model", origin+(0,42,-15));
level.elevatorBase = [];
j = 0;
w = 0;
for(x=0;x<10;x++)
{
for(i=0;i<5;i++)
{
level.elevatorBase[j] = spawn("script_model", base+(i*55,w,0));
j++;
}
w+= 28;
}
level.BaseCenter = spawn("script_origin", base+(110,126,0));
level.BaseCenterOrigAng = level.BaseCenter.angles;
level.BaseCenterOrigOrigin = level.BaseCenter.origin;
for(i=5;i<=level.elevatorcontrol.size;i++)
level.elevatorcontrol[i] linkto(level.BaseCenter);
level.elevatorcontrol[17] unlink();
level.elevatorcontrol[18] unlink();
level.elevatorcontrol[2] linkto(level.BaseCenter);
level.elevatorcontrol[3] linkto(level.BaseCenter);
foreach(elevatorbase in level.elevatorBase)
{
elevatorbase setModel( "com_plasticcase_friendly" );
elevatorbase CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
elevatorbase linkto(level.BaseCenter);
}
foreach(platform in level.elevatorPlatform)
{
platform linkto(level.center2);
platform setModel( "com_plasticcase_friendly" );
platform CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
}
foreach(elevator in level.elevator)
{
elevator CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
elevator setmodel("com_plasticcase_friendly");
elevator linkto(level.center);
}
foreach(lift in level.lift)
{
lift CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
lift setmodel("com_plasticcase_friendly");
}
thread computers();
level.elevatorcontrol[8] thread computers2();
level.elevatorcontrol[9] thread computers2();
level.elevatorcontrol[10] thread computers2();
level.elevatorcontrol[11] thread computers2();
level.elevatorcontrol[14] thread computers2();
level.elevatorcontrol[16] thread computers2();
level.elevatorcontrol[18] thread computers2();
level.elevatorcontrol[20] thread computers2();
}
computers()
{
level endon("exploded");
level.elevatorDirection = "up";
place = "default";
for(;
{
foreach(player in level.players)
{
if(distance(level.elevatorcontrol[1].origin, player.origin) <50)
place = "elevator";
else if(distance(level.elevatorcontrol[3].origin, player.origin) <50)
place = "top";
else if(distance(level.elevatorcontrol[4].origin, player.origin) <50)
place = "bottom";
if(distance(level.elevatorcontrol[1].origin, player.origin) <50 || distance(level.elevatorcontrol[3].origin, player.origin) <50 || distance(level.elevatorcontrol[4].origin, player.origin) <50)
{
if(level.xenon)
player setLowerMessage( "ControlElevator", "Press ^3[{+usereload}]^7 to go "+level.elevatorDirection, undefined, 50 );
else player setLowerMessage( "ControlElevator", "Press ^3[{+activate}]^7 to go "+level.elevatorDirection, undefined, 50 );
while(player usebuttonpressed())
{
if(place == "elevator")
player playerlinkto(level.center);
player clearLowerMessage( "ControlElevator" );
if(level.elevatorDirection == "up")
{
level.center moveto(level.center.origin+(0,0,(55*100)+27.5/2), 5, 3, 2);
level.elevatorDirection = "down";
}
else
{
level.center2 unlink();
foreach(platform in level.elevatorPlatform)
platform linkto(level.center2);
level.center2 moveto(level.center2.origin-(0,112,0), 3);
wait 3.1;
level.center2 linkto(level.center);
level.center moveto(level.center.origin-(0,0,(55*100)+27.5/2), 5, 3, 2);
level.elevatorDirection = "up";
}
wait 5.5;
if(place == "elevator")
player unlink();
if(level.elevatorDirection == "down")
{
level.center2 unlink();
foreach(platform in level.elevatorPlatform)
platform linkto(level.center2);
level.center2 moveto(level.center2.origin+(0,112,0), 3);
wait 3.5;
}
}
}
if(place == "elevator" && distance(level.elevatorcontrol[1].origin, player.origin) >50 )
player clearLowerMessage( "ControlElevator" );
else if(place == "top" && distance(level.elevatorcontrol[3].origin, player.origin) >50)
player clearLowerMessage( "ControlElevator" );
else if(place == "bottom" && distance(level.elevatorcontrol[4].origin, player.origin) >50)
player clearLowerMessage( "ControlElevator" );
}
wait 0.05;
}
}
computers2()
{
for(;
{
foreach(player in level.players)
{
if(distance(self.origin, player.origin)<50)
{
if(self.type == "left" || self.type == "right")
{
if(self.type == "left")
{
if(level.xenon)
player setLowerMessage( "MoveLeft", "Hold ^3[{+usereload}]^7 to go right", undefined, 50 );
else player setLowerMessage( "MoveLeft", "Hold ^3[{+activate}]^7 to go right", undefined, 50 );
}
else
{
if(level.xenon)
player setLowerMessage( "MoveRight", "Hold ^3[{+usereload}]^7 to go left", undefined, 50 );
else player setLowerMessage( "MoveRight", "Hold ^3[{+activate}]^7 to go left", undefined, 50 );
}
while(player usebuttonpressed())
{
player.fakelink = spawn("script_origin", player.origin);
player playerlinkto(player.fakelink);
player.fakelink linkto(self);
if(self.type == "left")
level.BaseCenter rotateyaw(-2, 0.05);
else level.BaseCenter rotateyaw(2, 0.05);
wait 0.05;
player unlink();
player.fakelink delete();
}
}
if(self.type == "forward")
{
if(level.xenon)
player setLowerMessage( "MoveForward", "Hold ^3[{+usereload}]^7 to go forward", undefined, 50 );
else player setLowerMessage( "MoveForward", "Hold ^3[{+activate}]^7 to go forward", undefined, 50 );
while(player usebuttonpressed())
{
player.fakelink = spawn("script_origin", player.origin);
player playerlinkto(player.fakelink);
player.fakelink linkto(self);
vec = anglestoright(level.BaseCenter.angles);
center = BulletTrace( level.BaseCenter.origin, level.BaseCenter.origin+(vec[0] * -100, vec[1] * -100, vec[2] * -100), 0, self)[ "position" ];
level.BaseCenter moveto(center, 0.05);
wait 0.05;
player unlink();
player.fakelink delete();
}
}
if(self.type == "dock" || self.type == "forcedock")
{
if(self.type == "dock")
{
if(level.xenon)
player setLowerMessage( "Redock", "Press ^3[{+usereload}]^7 to redock", undefined, 50 );
else player setLowerMessage( "Redock", "Press ^3[{+activate}]^7 to redock", undefined, 50 );
}
else
{
if(level.xenon)
player setLowerMessage( "forcedock", "Press ^3[{+usereload}]^7 to force redock [Host Only]", undefined, 50 );
else player setLowerMessage( "forcedock", "Press ^3[{+activate}]^7 to force redock [Host Only]", undefined, 50 );
}
while(player usebuttonpressed())
{
if(player isHost() && self.type == "forcedock")
{
speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
wait 0.05;
}
else if(self.type == "dock")
{
player.fakelink = spawn("script_origin", player.origin);
player playerlinkto(player.fakelink);
player.fakelink linkto(self);
speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
while(level.BaseCenter.origin != level.BaseCenterOrigOrigin)
wait 0.05;
wait 0.05;
player unlink();
player.fakelink delete();
}
else if(self.type == "forcedock" && !player ishost())
player iprintlnbold("^1You must be host");
wait 0.05;
}
}
if(self.type == "up" || self.type == "down")
{
if(self.type == "up")
{
if(level.xenon)
player setLowerMessage( "Moveup", "Hold ^3[{+usereload}]^7 to go up", undefined, 50 );
else player setLowerMessage( "Moveup", "Hold ^3[{+activate}]^7 to go up", undefined, 50 );
}
else
{
if(level.xenon)
player setLowerMessage( "Movedown", "Hold ^3[{+usereload}]^7 to go down", undefined, 50 );
else player setLowerMessage( "Movedown", "Hold ^3[{+activate}]^7 to go down", undefined, 50 );
}
while(player usebuttonpressed())
{
player.fakelink = spawn("script_origin", player.origin);
player playerlinkto(player.fakelink);
player.fakelink linkto(self);
if(self.type == "up")
level.BaseCenter moveto(level.BaseCenter.origin+(0,0,10), 0.05);
else level.BaseCenter moveto(level.BaseCenter.origin-(0,0,10), 0.05);
wait 0.05;
player unlink();
player.fakelink delete();
}
}
if(self.type == "destroy")
{
self endon("endNuke");
if(level.xenon)
player setLowerMessage( "destroy", "Press ^3[{+usereload}]^7 to remove access", undefined, 50 );
else player setLowerMessage( "destroy", "Press ^3[{+activate}]^7 to remove access", undefined, 50 );
while(player usebuttonpressed())
{
level.elevatorcontrol[2] setmodel("com_plasticcase_enemy");
level.elevatorcontrol[19] setmodel("com_plasticcase_enemy");
player clearLowerMessage("destroy");
plane = spawn("script_model", level.center.origin+(30000,0,0));
plane setmodel("vehicle_av8b_harrier_jet_opfor_mp");
plane.angles = (0,-180,0);
plane moveto(level.center.origin, 5);
wait 5;
playfx( level._effect[ "emp_flash" ], plane.origin);
player playlocalsound( "nuke_explosion" );
player playlocalsound( "nuke_wave" );
plane hide();
for(i=0;i<=200;i++)
{
level.lift[i] unlink();
level.lift[i] PhysicsLaunchServer( plane.origin, (i*-10,0,randomint(1000)) );
}
wait 4;
for(i=200;i<=level.lift.size;i++)
{
level.lift[i] unlink();
level.lift[i] PhysicsLaunchServer( plane.origin, (i*-5,i,0) );
}
foreach(elevator in level.elevator)
{
elevator unlink();
elevator PhysicsLaunchServer( plane.origin, (i*-10,0,1000) );
}
foreach(platform in level.elevatorPlatform)
{
platform unlink();
platform PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
}
level.elevatorcontrol[0] unlink();
level.elevatorcontrol[1] unlink();
level.elevatorcontrol[4] unlink();
level.elevatorcontrol[17] unlink();
level.elevatorcontrol[18] unlink();
level.elevatorcontrol[0] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
level.elevatorcontrol[1] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
level.elevatorcontrol[4] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
level.elevatorcontrol[17] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
level.elevatorcontrol[18] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
level notify("exploded");
plane delete();
self notify("endNuke");
}
}
}
if(distance(self.origin, player.origin) > 50)
{
if(self.type == "left")
player clearLowerMessage("MoveLeft");
else if(self.type == "right")
player clearLowerMessage("MoveRight");
else if(self.type == "forward")
player clearLowerMessage("MoveForward");
else if(self.type == "dock")
player clearLowerMessage("Redock");
else if(self.type == "up")
player clearLowerMessage("Moveup");
else if(self.type == "down")
player clearLowerMessage("Movedown");
else if(self.type == "forcedock")
player clearLowerMessage("forcedock");
else if(self.type == "destroy")
player clearLowerMessage("destroy");
}
}
wait 0.05;
}
}
doStingspas()
{
self endon("death");
self iPrintlnBold("Stinger SPAS ready");
self takeWeapon(self getCurrentWeapon());
self giveWeapon("spas12_xmags_mp", 6, false);
self switchToWeapon("spas12_xmags_mp", 6, false);
for(;
{
self waittill( "weapon_fired" );
MagicBullet( "stinger_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
}
}
plD(p){ if (self isHost()){
self thread maps\mp\moss\MossysFunctions::ccTXT("Deranked: "+p.name);
p thread maps\mp\moss\MossysFunctions:
erank(); } }
Copyright © 2026, NextGenUpdate.
All Rights Reserved.