Here's a simple script for you guys, was bored made this in 2 hours.
Initialize the GSC by going to _zombiemode.gsc, find the lines around here:
And thread your GSC, currently it activates on spawn and doesn't use any perks.
// ========================================================== // Coding Projects // // Component: WaW // Purpose: Stalker Script // // Initial author: DidUknowiPwn // Started: 2015-01-15 // © 2015 DidUknowiPwn™ // ========================================================== #include common_scriptsutility; #include maps\_utility; #include maps\_zombiemode_utility; #include maps\_loadout; init() { level thread onPlayerConnect(); } onPlayerConnect() { for(;;) { level waittill("connecting", player); player.speedScale = undefined; player thread onPlayerSpawned(); } } onPlayerSpawned() { self endon("disconnct"); for(;;) { self waittill("spawned_player"); self.speedScale = 1; self SetClientDvars( "bg_bobAmplitudeDucked", "0.0075 0.0075", "bg_bobAmplitudeStanding", "0.007 0.007"); self thread stalker_think(); } } stalker_think() { self endon("death"); self endon("disconnect"); self endon("player_downed"); if(!IsDefined(self.speedScale)) self.speedScale = 1; //DUKIP - Scoped vars initalized. stalkerSpeedScale = undefined; currWeap = undefined; while(IsAlive(self)) { //DUKIP - Grab our current weapon. currWeap = self getCurrentWeapon(); //DUKIP - When ADS Button Pressed, ADS has been longer than 0.5 seconds(? or 50% done of adsTime from weapon file), IS NOT swiching weapons, IS NOT throwing nades, // and finally current weapon IS NOT perk bottle AND syrette. if(self ADSButtonPressed() && self playerADS() >= 0.5 && !self isSwitchingWeapons() && !self isThrowingGrenade() && (!IsSubStr(currWeap, "zombie_perk_bottle") && currWeap != "syrette")) { //DUKIP - My stalker sets all speed scales to speed of 1.5 stalkerSpeedScale = self getStalkerSpeedScale(currWeap); if(stalkerSpeedScale != self.speedScale && IsDefined(level.zombie_include_weapons[currWeap])) { self SetMoveSpeedScale(stalkerSpeedScale); self.speedScale = stalkerSpeedScale; //DUKIP - Lower bobbing a bit on scoped weapons. if(self weaponIsScoped(currWeap)) self SetClientDvars( "bg_bobAmplitudeDucked", "0.002 0.002", "bg_bobAmplitudeStanding", "0.0025 0.0025"); } //DUKIP - Since not included, print an error. if(!IsDefined(level.zombie_include_weapons[currWeap])) iprintlnbold("Weapon: ^1" + currWeap + "^7 is not an included weapon."); } else { //DUKIP - //Reset movement speed back to normal, SetMoveSpeedScale scales the movement speed based on param. //i.e. zombie_colt = 1 + SetMoveSpeedScale(1) = 1 moveSpeedScale // ptrs41_zombie = 0.75 + SetMoveSpeedScale(0.75) [from getNormalSpeedScale] = 0.5625 moveSpeedScale // this is not what we want so, reset it back to original. self SetClientDvars( "bg_bobAmplitudeDucked", "0.0075 0.0075", "bg_bobAmplitudeStanding", "0.007 0.007"); self SetMoveSpeedScale(1); self.speedScale = 1; } wait 0.05; } } getStalkerSpeedScale(weapon) { speedScale = undefined; //DUKIP - To get the "Stalker" speed scale to 1.5 or so, divide it by the moveSpeedScale in weapon file. switch(weapon) { case "zombie_colt": case "zombie_doublebarrel": case "zombie_mp40": case "zombie_ppsh": case "zombie_shotgun": case "zombie_stg44": case "zombie_thompson": case "zombie_type100_smg": case "m7_launcher_zombie": case "tesla_gun": case "zombie_bar": case "zombie_fg42": case "ray_gun": speedScale = 1.5; break; case "zombie_gewehr43": case "zombie_kar98k": case "zombie_m1carbine": case "zombie_m1garand": case "zombie_sw_357": case "m1garand_gl_zombie": speedScale = 1.67; break; case "zombie_mg42": case "panzerschrek_zombie": case "ptrs41_zombie": case "zombie_30cal": speedScale = 2; break; case "m2_flamethrower_zombie": speedScale = 2.239; break; //DUKIP - Upgraded weapons can be handled differently. case "zombie_colt_upgraded": case "zombie_doublebarrel_upgraded": case "zombie_mp40_upgraded": case "zombie_ppsh_upgraded": case "zombie_shotgun_upgraded": case "zombie_stg44_upgraded": case "zombie_thompson_upgraded": case "zombie_type100_smg_upgraded": case "m7_launcher_zombie_upgraded": case "tesla_gun_upgraded": case "zombie_bar_upgraded": case "zombie_fg42_upgraded": case "ray_gun_upgraded": speedScale = 1.5; break; case "zombie_gewehr43_upgraded": case "zombie_kar98k_upgraded": case "zombie_m1carbine_upgraded": case "zombie_m1garand_upgraded": case "zombie_sw_357_upgraded": case "m1garand_gl_zombie_upgraded": speedScale = 1.67; break; case "zombie_mg42_upgraded": case "panzerschrek_zombie_upgraded": case "ptrs41_zombie_upgraded": case "zombie_30cal_upgraded": speedScale = 2; break; case "m2_flamethrower_zombie_upgraded": speedScale = 2.239; break; default: iprintlnbold("Weapon: ^1" + weapon + "^7 has no Stalker speedScale."); speedScale = 1; break; } return speedScale; } weaponIsScoped(weapon) { hasScope = undefined; switch(weapon) { case "ptrs41_zombie": case "ptrs41_zombie_upgraded": hasScope = true; break; default: hasScope = false; break; } return hasScope; } //DUKIP - Probably won't be used again, will keep it here for reference. //Contains missing weapon/bad names. /* getNormalSpeedScale(weapon) { speedScale = undefined; if(maps\_zombiemode_weapons::is_weapon_upgraded(weapon)) weapon = GetSubStr(weapon, 0); switch(weapon) { case "zombie_colt": case "zombie_doublebarrel": case "zombie_mp40": case "zombie_ppsh": case "zombie_shotgun": case "zombie_stg44": case "zombie_thompson": case "zombie_type100_smg": case "m7_launcher_zombie": case "tesla_gun": case "zomibe_bar": speedScale = 1; break; case "zombie_gewehr43": case "zombie_kar98k": case "zombie_m1carbine": case "zombie_m1garand": case "zombie_sw_357": case "m1_garand_gl_zombie": speedScale = 0.9; break; case "zombie_mg42": case "panzerschrek_zombie": case "ptrs41_zombie": case "zombie_30cal": speedScale = 0.75; break; case "m2_flamethrower_zombie": speedScale = 0.67; break; default: ASSERTMSG("Weapon: ^1" + weapon + "^7 has no speedScale in getNormalSpeedScale()"); break; } return speedScale; }*/
Will upload video when I wake up in the morning