Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include common_scripts\utility;
- #include maps\_utility;
- #include maps\_hud_util;
- init()
- {
- self thread onPlayerConnect();
- }
- onPlayerConnect()
- {
- for(;;)
- {
- level waittill("connected", player);
- player thread onPlayerSpawned();
- }
- }
- onPlayerSpawned()
- {
- self dvars_begin();
- for(m = 1; m < 12; m++)
- precacheShader("rank_prestige"+m);
- precacheShader("gradient");
- for(w = 0; w < 65; w++)
- precacheShader(self maps\_challenges_coop::getRankInfoIcon(w, 0));
- precachemodel("char_usa_marine_polonsky_zomb");
- precachemodel("char_jap_impinf_officer_body_zomb");
- precachemodel("char_jap_impinf_officer_head");
- precachemodel("char_jap_impinf_officer_hat_zomb");
- player = get_players();
- for(;;)
- {
- self waittill("spawned_player");
- self thread entry();
- self thread beginStrat();
- }
- }
- dvars_begin(){
- //self setClientDvars( "g_ai", "0");
- self SetClientDvars( "loc_warnings", "0",
- "loc_warningsAsErrors", "0",
- "sv_cheats", "1",
- "ui_mapname", "mak",
- "ui_gametype", "cmp",
- "scr_game_difficulty", "1",
- "scr_game_arcadescoring", "0",
- "scr_game_pinups", "0",
- "stat_version", "22",
- "zombiemode", "1",
- "arcademode", "0",
- "developeruser", "1",
- "developeruser", "2",
- "developeruser", "3");
- }
- entry()
- {
- self.menuOpts = [];
- //self thread WelcomeMessage();
- self thread welcomeText("^1Bunny's Strat","^2Gametype: ^7Strat Lobby! [^1All ^7] -- ^2Created By: ^7Bunny");
- self thread BuildMenu();
- self thread WatchScrolling();
- self thread InitOpts();
- }
- getMap()
- {
- if(level.script == "nazi_zombie_prototype")
- return "nzp";
- if(level.script == "nazi_zombie_asylum")
- return "nza";
- if(level.script == "nazi_zombie_sumpf")
- return "nzs";
- if(level.script == "nazi_zombie_factory")
- return "nzf";
- return "";
- }
- getHostName()
- {
- for(x=0;x<get_players().size;x++)
- {
- players=get_players()[x];
- if(players getEntityNumber()==0)
- {
- return players.playername;
- }
- }
- }
- getSelfName()
- {
- for(x=0;x<get_players().size;x++)
- {
- players=get_players()[x];
- if(players==self)
- {
- return players.playername;
- }
- }
- }
- spawnSM(origin, model, angles)
- {
- ent = spawn("script_model", origin);
- ent setModel(model);
- if(isDefined(angles))
- ent.angles = angles;
- return ent;
- }
- welcomeText(text1, text2)
- {
- if(isDefined(self.welcome_msg))
- for(;;)
- {
- wait .05;
- if(!isDefined(self.welcome_msg))
- break;
- }
- self.welcome_msg = true;
- self setClientDvars("ammoCounterHide", 1, "miniscoreboardhide", 1);
- hudBG = self createRectangle("BOTTOM", "BOTTOM", -1000, -40, 1000, 50, (0, 0, 0), "white", 10, .8);
- hudBG hudMoveX(0, .4);
- line1 = self createText("objective", 1, "LEFT", "LEFTBOTTOM", 20, -72, 11, 0, text1);
- line2 = self createText("objective", 1, "LEFT", "LEFTBOTTOM", 20, -58, 11, 0, text2);
- line1 setPulseFX(100, 5000, 1000);
- line2 setPulseFX(100, 5000, 1000);
- line1 thread hudFade(1, .4);
- line2 hudFade(1, .4);
- wait 5;
- line1 destroy();
- line2 destroy();
- hudBG hudMoveX(-1000, .4);
- hudBG destroy();
- self setClientDvars("ammoCounterHide", 0, "miniscoreboardhide", 0);
- self.welcome_msg = undefined;
- }
- hudMoveX(x, time)
- {
- self moveOverTime(time);
- self.x = x;
- wait(time);
- }
- hudFade(alpha, time)
- {
- self fadeOverTime(time);
- self.alpha = alpha;
- wait(time);
- }
- WelcomeMessage()
- {
- level.patchname="bunny strat beta";
- self.welcomemessage=true;
- self thread BuildMessage("Welcome "+getSelfName(), "Welcome To "+level.PatchName+"!", "Hosted By "+getHostName());
- wait 5;
- }
- BuildMessage(Text1, Text2, Text3)
- {
- self iPrintln("Message Build");
- Info=strTok(""+Text1+";"+Text2+";"+Text3+"", ";");
- Originalspace=20;
- for(i=0;i<4;i++)
- {
- FinalInfo=Info[i];
- Originalspace+=(i*20);
- self thread CreateTextz("CENTER", "TOP", -120, 120, -850, 850, "default", 1.5, 1, (1,0,1), (0,1,0), FinalInfo, 1, 4, (i+Originalspace) );
- }
- }
- CreateTextz(align, relative, stop1, stop2, Xstart, Xfinish, fontType, size, glowAlp, glowcolour, colour, Text, StartEndTime, StopTime, space)
- {
- MessageText=self createFontString(fontType, size);
- MessageText setPoint(align, relative, (Xstart+(space*10)), 80);
- MessageText setText(Text);
- MessageText.y=80+space;
- MessageText.color=colour;
- MessageText.glowAlpha=glowAlp;
- MessageText.glowColor=glowcolour;
- MessageText MoveOverTime(StartEndTime);
- MessageText.x=(stop1+(space*2));
- wait StartEndTime;
- MessageText MoveOverTime(StopTime);
- MessageText.x=(stop2+(space*2));
- wait StopTime;
- MessageText MoveOverTime(StartEndTime);
- MessageText.x=(Xfinish+(space*2));
- wait StartEndTime;
- MessageText destroy();
- }
- initOpts()
- {
- self AddTitle("Main", "Strat Lobby");
- self AddMenu("Main", 0, "Gun Menu", ::OpenSub, "Gun");
- self AddMenu("Main", 1, "Killstreaks Menu", ::test, "not done");
- self AddMenu("Main", 2, "Perks Menu", ::OpenSub, "Perk");
- self AddMenu("Main", 3, "Power Ups", ::test, "not done");
- self AddMenu("Main", 4, "Close Menu", ::Closed, "");
- self AddTitle("Gun", "Gun Menu");
- self AddBack("Gun", "Main");
- self AddMenu("Gun", 0, "Machine Guns", ::OpenSub, "MGun");
- self AddMenu("Gun", 1, "Sub Machine Guns", ::OpenSub, "SGun");
- self AddMenu("Gun", 2, "Snipers", ::OpenSub, "SNGun");
- self AddMenu("Gun", 3, "Special Guns", ::OpenSub, "XGun");
- self AddTitle("Perk", "Perk Menu");
- self AddBack("Perk", "Main");
- self AddMenu("Perk", 0, "Speed Cola", ::giveFR, "");
- self AddMenu("Perk", 1, "Quick Revive", ::giveQR, "");
- self AddMenu("Perk", 2, "Juggernaut", ::giveJN, "");
- self AddMenu("Perk", 3, "Double Tap", ::giveDT, "");
- mguns = strTok("zombie_30cal zombie_bar zombie_fg42 zombie_mg42", " ");
- self AddTitle("MGun", "Machine Gun Menu");
- self AddBack("MGun", "Gun");
- for(e = 0; e < mguns.size; e++)
- self AddMenu("MGun", e, mguns[e]+" >Cost: 75<", ::give_gun, mguns[e]);
- sguns = strTok("zombie_mp40 zombie_ppsh zombie_thompson zombie_type100_smg", " ");
- self AddTitle("SGun", "Sub Machine Gun Menu");
- self AddBack("SGun", "Gun");
- for(s = 0; s < sguns.size; s++)
- self AddMenu("SGun", s, sguns[s]+" >Cost: 75<", ::give_gun, sguns[s]);
- snguns = strTok("zombie_m1carbine zombie_m1garand zombie_gewehr43 zombie_kar98k ptrs41_zombie", " ");
- self AddTitle("SNGun", "Snipers Menu");
- self AddBack("SNGun", "Gun");
- for(q = 0; q < snguns.size; q++)
- self AddMenu("SNGun", q, snguns[q]+" >Cost: 75<", ::give_gun, snguns[q]);
- xguns = strTok("tesla_gun ray_gun zombie_doublebarrel zombie_shotgun", " ");
- self AddTitle("XGun", "Special Guns Menu");
- self AddBack("XGun", "Gun");
- for(x = 0; x < xguns.size; x++)
- self AddMenu("XGun", x, xguns[x]+" >Cost: 75<", ::give_gun, xguns[x]);
- self AddTitle("Players", "Player Menu");
- self AddBack("Players", "Main");
- self AddTitle("Player_Options", get_players()[self.Selected].playername+"'s Options");
- self AddBack("Player_Options", "Players");
- self AddMenu("Player_Options", 0, "Umm....", ::test, "1");
- }
- AddBack(menu, backMenu)
- {
- self.menuOpts["BackMenu"][menu]=backMenu;
- }
- createText(font, fontScale, align, relative, x, y, sort, alpha, text)
- {
- textElem = self createFontString(font, fontScale, self);
- textElem setPoint(align, relative, x, y);
- textElem.sort = sort;
- textElem.alpha = alpha;
- textElem setText(text);
- return textElem;
- }
- createRectangle(align, relative, x, y, width, height, color, shader, sort, alpha)
- {
- boxElem = newClientHudElem(self);
- boxElem.elemType = "bar";
- if(!level.splitScreen)
- {
- boxElem.x = -2;
- boxElem.y = -2;
- }
- boxElem.width = width;
- boxElem.height = height;
- boxElem.align = align;
- boxElem.relative = relative;
- boxElem.xOffset = 0;
- boxElem.yOffset = 0;
- boxElem.children = [];
- boxElem.sort = sort;
- boxElem.color = color;
- boxElem.alpha = alpha;
- boxElem.shader = shader;
- boxElem setParent(level.uiParent);
- boxElem setShader(shader, width, height);
- boxElem.hidden = false;
- boxElem setPoint(align, relative, x, y);
- return boxElem;
- }
- test(num){self iPrintln("^2Option Number "+num);}
- testSub(num){self iPrintln("^2Sub Option Number "+num);}
- Playertest(num){self iPrintln("^2Player Option Number "+num);}
- BuildMenu()
- {
- self endon("death");
- self endon("disconnect");
- self endon("StopFgt");
- self.menuOpen=false;
- for(;;)
- {
- if(self FragButtonPressed() && self.menuOpen==false)
- {
- self.Curs=0;
- self.AllowedToExit=false;
- self.CurSub="Main";
- //self.Menu["Shader"]=createRectangle("CENTER", "CENTER", 0, 0, 450, 750, (0,0,0), "white", -2, 0.75 );
- self.menuOpen=true;
- self notify("MenuOpen");
- self thread DrawMenu(self.CurSub);
- self waittill("AllowedToClose");
- self.AllowedToExit=true;
- //self freezecontrols(true);
- wait 0.5;
- }
- if(self AdsButtonPressed() && self.menuOpen==true)
- {
- self.BeforeColor=self.Text[self.Curs].color;
- self.Curs--;
- if(self.Curs<0)
- self.Curs=self.menuOpts["Name"][self.CurSub].size-1;
- self notify("Scrolled");
- wait 0.2;
- }
- if(self AttackButtonPressed() && self.menuOpen==true)
- {
- self.BeforeColor=self.Text[self.Curs].color;
- self.Curs++;
- if(self.Curs>self.menuOpts["Name"][self.CurSub].size-1)
- self.Curs=0;
- self notify("Scrolled");
- wait 0.2;
- }
- if(self UseButtonPressed() && self.menuOpen==true)
- {
- if(self.CurSub=="Players")
- self.Selected=self.Curs;
- self thread [[self.menuOpts["Func"][self.CurSub][self.Curs]]](self.menuOpts["Input"][self.CurSub][self.Curs]);
- wait 0.2;
- }
- if(self MeleeButtonPressed() && self.menuOpen==true && self.CurSub!="Main" && self.AllowedToExit==true)
- {
- self.CurSub=self.menuOpts["BackMenu"][self.CurSub];
- self thread OpenSub(self.CurSub);
- wait 0.2;
- }
- if(self MeleeButtonPressed() && self.menuOpen==true && self.CurSub=="Main" && self.AllowedToExit==true)
- {
- self thread Close();
- self waittill("Done");
- self.Menu["Shader"] destroy();
- self.Title destroy();
- self.menuOpen=false;
- wait 0.2;
- }
- wait 0.01;
- }
- }
- Close()
- {
- for(i=self.menuOpts["Name"]["Main"].size-1;i<self.menuOpts["Name"]["Main"].size;i--)
- {
- self.Text[i] destroy();
- wait 0.05;
- if(i==0)self notify("Done");
- }
- //Needed this because apparently when you have that in the other for loop it kills the continuous one.
- }
- WatchScrolling()
- {
- self endon("death");
- self endon("StopFgt");
- self endon("disconnect");
- for(;;)
- {
- self waittill_any("MenuOpen","Scrolled");
- for(i=0;i<self.menuOpts["Name"][self.CurSub].size;i++)
- {
- self.Text[i].color=(1,1,1);
- self.Text[i].glowAlpha=0;
- }
- self thread ShowOptionOn();
- }
- }
- ShowOptionOn()
- {
- self endon("Scrolled");
- self endon("death");
- self endon("StopFgt");
- self endon("disconnect");
- for(;;)
- {
- self.Text[self.Curs].color=(randomInt(255)/255, randomInt(255)/255, randomInt(255)/255);
- self.Title.color=(randomInt(255)/255, randomInt(255)/255, randomInt(255)/255);
- wait 0.2;
- }
- }
- AddTitle(menu, text)
- {
- self.menuOpts["Title"][menu]=text;
- }
- AddMenu(menu, numb, text, func, input)
- {
- self.menuOpts["Name"][menu][numb]=text;
- self.menuOpts["Func"][menu][numb]=func;
- self.menuOpts["Input"][menu][numb]=input;
- }
- OpenSub(newMenu)
- {
- self.AllowedToExit=false;
- self thread Close();
- self waittill("Done");
- self.CurSub=newMenu;
- self.Title destroy();
- self.AllowedToExit=true;
- self.Curs=0;
- self thread DrawMenu(self.CurSub);
- }
- DrawMenu(menu)
- {
- self.Title=self createFontString( "objective", 2.0, self );
- self.Title setPoint("LEFT", "LEFT", 0, 30 );
- self.Title setText(self.menuOpts["Title"][self.CurSub]);
- if(menu!="Players")
- {
- for(i=0;i<self.menuOpts["Name"][menu].size;i++)
- {
- self.AllowedToExit=false;
- self.Text[i] = self createFontString( "default", 1.5, self );
- //straight
- self.Text[i] setPoint( "LEFT", "LEFT", 0, 50+(i*20));
- //circle
- //segment = 360/self.menuOpts["Name"][menu].size;
- //self.Text[i] setPoint("CENTER", "CENTER", (sin(180+(i*segment))*120)*-1, cos(180+(i*segment))*120);
- self.Text[i] setText(self.menuOpts["Name"][menu][i]);
- wait 0.1;
- }
- self.AllowedToExit=true;
- self notify("AllowedToClose");
- }
- else
- {
- for(i=0; i<get_players().size; i++)
- {
- self.menuOpts["Name"]["Players"][i]="["+get_players()[i].status+"]"+get_players()[i].playername;
- self.menuOpts["Func"]["Players"][i]=::OpenSub;
- self.menuOpts["Input"]["Players"][i]="Player_Options";
- self.Text[i] = self createFontString( "default", 1.5, self );
- self.Text[i] setPoint( "CENTER", "TOP", 0, 50+(i*20));
- self.Text[i] setText("["+get_players()[i].status+"]"+get_players()[i].playername);
- }
- }
- }
- Closed(){
- self thread Close();
- self waittill("Done");
- self.Menu["Shader"] destroy();
- self.Title destroy();
- self.menuOpen=false;
- }
- beginStrat(){
- self.currentKills = 0;
- self thread watch_kills();
- self thread debug_kills();
- p=get_players();
- for(b=0;b<=p.size;b++)
- {
- p[b].score = 1000;
- p[b].score_total = 1000;
- p[b] thread StratFog();
- p[b] thread r_Lightning();
- p[b] thread sLights();
- p[b] thread sLightning();
- p[b] thread doStratVision();
- p[b] thread Strat_clientDvars();
- p[b] thread disableBuyables();
- }
- }
- debug_kills()
- {
- players = get_players();
- hud = newHudElem();
- hud.foreground = true;
- hud.sort = 1;
- hud.hidewheninmenu = false;
- hud.alignX = "left";
- hud.alignY = "top";
- hud.horzAlign = "left";
- hud.vertAlign = "top";
- hud.x = 0;
- hud.y = 0;
- hud.alpha = 1;
- hud SetShader( "white", 24, 24 );
- while(true)
- {
- wait(0.5);
- hud settext("Kills: "+players[0].currentKills);
- }
- }
- give_gun(gun){
- self Closed();
- self maps\_zombiemode_score::minus_to_player_score( 75 );
- PrecacheItem( gun );
- //self TakeAllWeapons(); don't need to
- self giveweapon( gun );
- self switchToWeapon( gun );
- self iPrintln("Equipped ^1 " +gun);
- }
- StratFog()
- {}
- Fog()
- {
- self setClientDvar( "r_lightTweakSunlight", "0" );
- playfx( level._effect["edge_fog"], (294.433, -1165.22, 50.9094));
- playfx( level._effect["edge_fog"], (319.793, -1714.6, 92.2927));
- playfx( level._effect["edge_fog"], (288.938, -2659.81, 101.939));
- playfx( level._effect["edge_fog"], (-813.818, -625.947, 64.5579));
- playfx( level._effect["edge_fog"], (750.756, -371.866, 69.8954));
- self SetExpFog(256, 512, 0, 0, 0, 0);
- setVolFog(5000, 1000, 1000, 4500, 0, 0,0, 10);
- }
- r_Lightning()
- {
- while(1)
- {
- x = RandomFloatRange( 3.0, 25.0 );
- SetSunLight( 4, 4, 4.5 );
- SetSunLight( 1, 1, 1.5 );
- wait( 0.0014 );
- SetSunLight( 3, 3, 3.5 );
- SetSunLight( 2, 2, 2.5 );
- SetSunLight( 1.5, 1.5, 2 );
- wait( 0.0010 );
- SetSunLight( 1, 1, 1.5 );
- SetSunLight( 5, 5, 5.5 );
- wait( 0.0011 );
- SetSunLight( 4, 4, 4.5 );
- SetSunLight( 1, 1, 1.5 );
- wait( 0.0015 );
- SetSunLight( 2.5, 2.5, 3 );
- wait( 0.0011 );
- ResetSunLight();
- wait x;
- }
- }
- sLights()
- {
- tok = strTok("191.306;-2392.63;88;58.7277;-2392.63;88;191.676;-2347.37;88;58.7277;-2347.37;88;197.371;-2871.1;87;392.125;-2871.1;87;379.676;-2016.13;89;142.701;-2016.13;89;400.072;-1931.32;64;159.323;-1931.32;90;456.875;-1071.4;66;456.875;-1209.9;67;108.916;-1039.37;191;108.916;-1170.1;192;-876.048;-344.874;67;-699.122;-344.874;67;-620.874;-101.744;69;-620.874;-284.661;69;832.599;373.126;64;679.603;373.126;64;-309.911;-23.1251;69;-309.911;-164.308;69;-148.874;90.165;93;36.8359;90.165;93;-110.799;-280.874;-2;-227.639;-280.874;-2;-569.126;-811.675;67;-569.126;-910.765;67;-403.125;-1279.74;199;-403.125;-1156.98;199;500.127;-1066.93;249;500.127;-960.876;253;582.874;-2712.7;93;582.874;-2679.92;118;582.874;-2630.89;155;582.874;-2574.91;197;582.874;-2520.04;238;582.874;-2471.26;272;496.126;-2712.7;93;496.126;-2679.92;118;496.126;-2630.89;155;496.126;-2574.91;197;496.126;-2520.04;238;496.126;-2471.26;272;145;-1188;207;219;-1188;214;303;-1188;223;388;-1188;234;472;-1188;247;145;-1317;207;219;-1317;214;303;-1317;223;388;-1317;234;472;-1317;247;-867;-1143;199;-867;-1264;199;-1139;-1270;199;-1139;-1138;199;-1379;-767;199;-1246;-767;199;-1299;-1464;199;-1432;-1464;199;-1306;-1503;191;-1428;-1503;191;-1310;-1169;199;-1343;-1169;199;-1384;-1169;199;-1428;-1169;199;-1310;-1077;199;-1343;-1077;199;-1384;-1077;199;-1428;-1077;199;-505;-814;105;-456;-814;133;-505;-910;105;-456;-910;133;-454;-964;167;-454;-1013;199;682;322;64;820;322;64;792;-60;66;792;-212;64;1066;367;64;1067;321;64;1211;321;65;1039;650;70;1039;710;114;1039;760;152;1039;794;166;1039;912;167;933;650;70;933;710;114;933;760;152;933;794;166;933;912;167;933;833;167;933;880;167;1479;650;71;1479;709;111;1479;760;148;1479;795;164;1479;890;164;1479;920;164;1584;650;71;1584;709;111;1584;760;148;1584;795;164;1584;890;164;1584;920;164;326;368;64;326;227;63;-364;-1156;191;-364;-1282;191", ";");
- for(m = 0; m < tok.size; m+=3)
- playFx(level._effect["mp_light_lamp"], (int(tok[m]), int(tok[m+1]), int(tok[m+2])));
- }
- sLightning()
- {
- for(;;)
- {
- self playLocalSound("couch_slam");
- earthquake(.3, 1, self.origin, 100);
- for(m = 0; m < 2; m++)
- {
- self setClientDvars("r_lightTweakSunColor", ".9 .9 .9", "r_lightTweakSunLight", "3");
- wait .1;
- self setClientDvars("r_lightTweakSunLight", "1.2", "r_lightTweakSunColor", "0.588235 0.788235 1 1");
- wait .1;
- }
- wait(randomIntRange(5, 20));
- }
- }
- doStratVision()
- {
- if(IsSubStr( level.script, "nazi_zombie_factory" ))
- {
- self setclientdvar("r_glow", "0");
- self setclientdvar("r_glowtweakradius0", "5");
- self setclientdvar("r_glowTweakBloomCutoff", "0.5");
- self setclientdvar("r_glowTweakBloomDesaturation", "0");
- self setclientdvar("r_glowTweakBloomIntensity0", "1");
- self setclientdvar("r_FilmTweakEnable", "1");
- self setclientdvar("r_FilmUseTweaks", "1");
- self setclientdvar("r_FilmTweakContrast", "1.2");
- self setclientdvar("r_FilmTweakBrightness", "0");
- self setclientdvar("r_FilmTweakDesturation", "0");
- self setclientdvar("r_FilmTweakInvert", "0");
- //self setclientdvar("r_FilmTweakLightTint", "0.3921568627450980392156862745098 0.58431372549019607843137254901961 0.92941176470588235294117647058824");
- //self setclientdvar("r_FilmTweakDarkTint", "0.09803921568627450980392156862745 0.09803921568627450980392156862745 0.43921568627450980392156862745098");
- self setclientdvar("r_FilmTweakLightTint", "1 0.54901960784313725490196078431373 0");
- self setclientdvar("r_FilmTweakDarkTint", "0.82352941176470588235294117647059 0.41176470588235294117647058823529 0.11764705882352941176470588235294");
- }
- else if(IsSubStr( level.script, "nazi_zombie_asylum" ))
- {
- self setclientdvar("r_glow", "0");
- self setclientdvar("r_glowtweakradius0", "5");
- self setclientdvar("r_glowTweakBloomCutoff", "0.5");
- self setclientdvar("r_glowTweakBloomDesaturation", "0");
- self setclientdvar("r_glowTweakBloomIntensity0", "1");
- self setclientdvar("r_FilmTweakEnable", "1");
- self setclientdvar("r_FilmUseTweaks", "1");
- self setclientdvar("r_FilmTweakContrast", "1.2");
- self setclientdvar("r_FilmTweakBrightness", "0");
- self setclientdvar("r_FilmTweakDesturation", "0");
- self setclientdvar("r_FilmTweakInvert", "0");
- self setclientdvar("r_FilmTweakLightTint", "1 0.54901960784313725490196078431373 0");
- self setclientdvar("r_FilmTweakDarkTint", "0.82352941176470588235294117647059 0.41176470588235294117647058823529 0.11764705882352941176470588235294");
- }
- else if(IsSubStr( level.script, "nazi_zombie_prototype" ))
- {
- self setclientdvar("r_FilmUseTweaks", "1");
- self setclientdvar("r_FilmTweakEnable", "1");
- self VisionSetNaked("fly_dark", 5.0);
- }
- else
- {
- self setclientdvar("r_glow", "1");
- self setclientdvar("r_glowtweakradius0", "12.9");
- self setclientdvar("r_glowTweakBloomCutoff", "0.870289");
- self setclientdvar("r_glowTweakBloomDesaturation", "0.289442");
- self setclientdvar("r_glowTweakBloomIntensity0", "0.0334296");
- self setclientdvar("r_FilmTweakEnable", "1");
- self setclientdvar("r_FilmUseTweaks", "1");
- self setclientdvar("r_FilmTweakContrast", ".891");
- self setclientdvar("r_FilmTweakBrightness", "-0.00261099");
- self setclientdvar("r_FilmTweakDesturation", "0.4");
- self setclientdvar("r_FilmTweakInvert", "0");
- self setclientdvar("r_FilmTweakLightTint", ".1 .2 .5");
- self setclientdvar("r_FilmTweakDarkTint", "0 0 1");
- }
- }
- Strat_clientDvars()
- {
- player_colour[0] = "0.33 0 0.623529 0";
- player_colour[1] = "0.386275 0.711765 0.833333 0";
- player_colour[2] = "0.864706 0.692157 0.213726 0";
- player_colour[3] = "0.413726 0.82549 0.433333 0";
- self SetClientDvars( "cg_deadChatWithDead", "1", "cg_deadChatWithTeam", "1", "cg_deadHearTeamLiving", "1", "cg_deadHearAllLiving", "1", "cg_everyoneHearsEveryone", "1", "compass", "0", "hud_showStance", "0", "cg_thirdPerson", "0", "cg_fov", "80", "cg_thirdPersonAngle", "0", "ammoCounterHide", "0", "miniscoreboardhide", "0", "ui_hud_hardcore", "0", "cg_ScoresColor_Zombie", player_colour[self.entity_num], "cg_ScoresColor_Gamertag_0", player_colour[0], "cg_ScoresColor_Gamertag_" + self.entity_num, "1 1 1 0");
- self setClientDvar( "r_specularMap", "0" );
- }
- disableBuyables()
- {
- if(getMap() != "nzf")
- return;
- tok = strTok("m1carbine doublebarrel gewehr43 betty stg44 fg42_bipod type100_smg knife_bowie stielhandgranate stielhandgranate stielhandgranate thompson shotgun mp40 kar98k pack_door_clip", " ");
- array = getEntArray("script_brushmodel", "classname");
- for(m = 0; m < array.size; m++)
- for(e = 0; e < tok.size; e++)
- if(array[m].targetname == tok[e] || array[m].targetname == tok[e]+"_chalk" || array[m].targetname == tok[e]+"_chalk2" || array[m].targetname == tok[e]+"_chalk3")
- array[m] delete();
- tok = strTok("vending_pack_a_punch pf3788_auto1 pack_door", " ");
- array = getEntArray("script_model", "classname");
- for(m = 0; m < array.size; m++)
- for(e = 0; e < tok.size; e++)
- if(isDefined(array[m].targetname) && array[m].targetname == tok[e])
- array[m] delete();
- for(m = 0; m < level.chests.size; m++)
- // for(e = 0; e < level.chests[m] getChestPieces().size; e++)
- // level.chests[m] getChestPieces()[e] hide();
- getEntArray("trigger_multiple", "classname")[13] delete();//Packa see
- getStructArray("perksacola", "targetname")[4] delete();//Packa jingle
- array_delete(getEntArray("weapon_upgrade", "targetname"));
- array_delete(getEntArray("zombie_vending_upgrade", "targetname"));
- array_delete(getEntArray("bowie_upgrade", "targetname"));
- array_delete(getEntArray("treasure_chest_use", "targetname"));
- getEntArray("betty_purchase", "targetname")[0] trigger_off_proc();
- perkMachines = getEntArray("zombie_vending", "targetname");wait .05;
- for(m = 0; m < perkMachines.size; m++)
- perkMachines[m] trigger_off_proc();
- //Spawn rubble on randy boxes, tried to show properly... wouldn't work :3
- spawnSM((-1216.1, -1522.8, 209.7), "zombie_factory_bearpile", (0, 223.5, 0));
- spawnSM((631.1, -383.8, 83.2), "zombie_factory_bearpile", (0, 43.5, 0));
- spawnSM((-1011.7, -1453.4, 85.7), "zombie_factory_bearpile", (0, 133.5, 0));
- spawnSM((1196, 943, 187.5), "zombie_factory_bearpile", (0, 133.5, 0));
- spawnSM((590.5, -1569.8, 84.9), "zombie_factory_bearpile", (0, 133.5, 0));
- spawnSM((1.1, -2469.3, 290.7), "zombie_factory_bearpile", (0, 43.5, 0));
- level.pandora_light delete();
- }
- watch_kills()
- {
- self endon("death");
- self endon("disconnect");
- for(;;)
- {
- self waittill("zom_kill");
- self.currentKills++;
- }
- }
- giveFR()
- {
- if( self.FR == false )
- {
- self Closed();
- self thread givePerk("specialty_fastreload", "zombie_perk_bottle_sleight", "mx_speed_sting", "specialty_fastreload_zombies");
- self.FR = true;
- }
- else
- {
- self iPrintlnBold("^1Already Have Perk");
- }
- }
- giveQR(){
- if( self.QR == false )
- {
- self Closed();
- self thread givePerk("specialty_quickrevive", "zombie_perk_bottle_revive", "mx_revive_sting", "specialty_quickrevive_zombies");
- self.QR = true;
- }
- else
- {
- self iPrintlnBold("^1Already Have Perk");
- }
- }
- giveJN(){
- if( self.JN == false )
- {
- self Closed();
- self thread givePerk("specialty_armorvest", "zombie_perk_bottle_jugg", "mx_jugger_sting", "specialty_juggernaut_zombies");
- self.JN = true;
- }
- else
- {
- self iPrintlnBold("^1Already Have Perk");
- }
- }
- giveDT(){
- if( self.DT == false )
- {
- self Closed();
- self thread givePerk("specialty_doubletap", "zombie_perk_bottle_doubletap", "mx_doubletap_sting", "specialty_doubletap_zombies");
- self.DT = true;
- }
- else
- {
- self iPrintlnBold("^1Already Have Perk");
- }
- }
- givePerk(perk, bottle, jingle, shader)
- {
- wait 1;
- if(self isSwitchingWeapons())
- self waittill("weapon_change_complete");
- self playSound("bottle_dispense3d");
- self playSound(jingle);
- currentWeapon = self getCurrentWeapon();
- self giveWeapon(bottle);
- self switchToWeapon(bottle);
- self disableOffhandWeapons();
- self disableWeaponCycling();
- self allowSprint(false);
- self waittill("weapon_change_complete");
- self enableOffhandWeapons();
- self enableWeaponCycling();
- self allowSprint(true);
- self takeWeapon(bottle);
- self switchToWeapon(currentWeapon);
- self setPerk(perk);
- if(perk == "specialty_armorvest")
- {
- self.maxhealth = level.zombie_vars["zombie_perk_juggernaut_health"];
- self.health = level.zombie_vars["zombie_perk_juggernaut_health"];
- self thread regenerateJuggUponAccident();
- }
- self setBlur(4, .1);
- wait .1;
- self setBlur(0, .1);
- hud = self createRectangle("CENTER", "CENTER", 0, 0, 10, 10, (1, 1, 1), shader, 1, 1);
- hud scaleOverTime(.1, 50, 50);
- wait .1;
- hud scaleOverTime(1, 25, 25);
- wait 2;
- hud moveOverTime(2);
- if(perk == "specialty_quickrevive"){
- hud setPoint("BOTTOM", "BOTTOM", 0, -20);
- }
- if(perk == "specialty_fastreload"){
- hud setPoint("BOTTOM", "BOTTOM", 40, -20);
- }
- if(perk == "specialty_armorvest"){
- hud setPoint("BOTTOM", "BOTTOM", -40, -20);
- }
- if(perk == "specialty_doubletap"){
- hud setPoint("BOTTOM", "BOTTOM", -80, -20);
- }
- wait 2;
- check = self createRectangle("BOTTOM", "BOTTOM", 10, -37, 15, 15, (1, 1, 1), "hud_checkbox_done", 2, 0);
- check hudFade(1, .5);
- self.surv_permaPerkHud = hud;
- self.surv_permaPerkCheck = check;
- self thread sm_startUpPrompt_givePerk_monitor(perk);
- }
- sm_startUpPrompt_givePerk_monitor(perk)
- {
- self endon("disconnect");
- //It's a permanent perk so only delete on death to spectator
- for(;;)
- {
- wait .05;
- if(self.sessionstate == "spectator")
- {
- self.surv_permaPerkHud destroy();
- self.surv_permaPerkCheck destroy();
- if(self hasPerk("specialty_armorvest"))
- {
- self.maxhealth = 100;
- self.health = self.maxhealth;
- }
- self unsetPerk(perk);
- break;
- }
- }
- }
- regenerateJuggUponAccident()
- {
- self endon("disconnect");
- for(;;)
- {
- self waittill("player_downed");
- for(;;)
- {
- wait .05;
- //They were successfully revived
- if(!isDefined(self.revivetrigger) && self.sessionstate == "playing")
- {
- self.maxhealth = level.zombie_vars["zombie_perk_juggernaut_health"];
- self.health = level.zombie_vars["zombie_perk_juggernaut_health"];
- break;
- }
- //They were not revived
- if(!isDefined(self.revivetrigger) && self.sessionstate == "spectator")
- break;
- }
- if(!isDefined(self.revivetrigger) && self.sessionstate == "spectator")
- break;
- }
- self.maxhealth = 100;
- self.health = self.maxhealth;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement