[ZM][RELEASE][PLUTO SCRIPT] Backspeed + game and round timer patch
-
After a request on Discord, I decided to release the script for everyone to use, because a lot of patches are being gatekept or not a lot of patchers release their stuff.
It's a pluto only version but I have a steam version also that I can release, it's just harder to customize if you don't know what you are doing:
Install instructions:
-
Turn on file extensions in your windows explorer, see this link if you don't know how
-
Press windows + r, a dialog box will open
-
Inside it type in %LOCALAPPDATA%\Plutonium\storage\t5\scripts\sp
-
Create a folder with the name of the map you want to play
-
Kino: zombie_theater
-
Asc: zombie_cosmodrome
-
Shang: zombie_temple
-
Moon: zombie_moon
-
Cotd: zombie_coast
Waw maps:
-
Nacht: zombie_cod5_prototype
-
Verruckt: zombie_cod5_asylum
-
Shi no: zombie_cod5_sumpf
-
Der riese: zombie_cod5_factory
-
Create a new file with the name of your choice, and make its file extension .gsc (example: patch.gsc)
-
copy and paste the code inside your gsc file
launch your game and enjoy !
I did not include the splash texts as some people don't like that, and I can understand, I'd just appreciate if you could leave a like on the post if my patch helped you
#include maps\_utility; #include common_scripts\utility; #include maps\_zombiemode_utility; init() { if ( GetDvar( #"zombiemode" ) == "1" ) { replacefunc(maps\_zombiemode::round_think, ::custom_round_think); level thread onPlayerConnect(); } } custom_round_think() { for( ;; ) { ////////////////////////////////////////// //designed by prod DT#36173 maxreward = 50 * level.round_number; if ( maxreward > 500 ) maxreward = 500; level.zombie_vars["rebuild_barrier_cap_per_round"] = maxreward; ////////////////////////////////////////// level.pro_tips_start_time = GetTime(); level.zombie_last_run_time = GetTime(); // Resets the last time a zombie ran level thread maps\_zombiemode_audio::change_zombie_music( "round_start" ); maps\_zombiemode::chalk_one_up(); // round_text( &"ZOMBIE_ROUND_BEGIN" ); maps\_zombiemode_powerups::powerup_round_start(); players = get_players(); array_thread( players, maps\_zombiemode_blockers::rebuild_barrier_reward_reset ); //array_thread( players, maps\_zombiemode_ability::giveHardpointItems ); level thread maps\_zombiemode::award_grenades_for_survivors(); bbPrint( "zombie_rounds: round %d player_count %d", level.round_number, players.size ); level.round_start_time = GetTime(); level thread [[level.round_spawn_func]](); level notify( "start_of_round" ); [[level.round_wait_func]](); level.first_round = false; level notify( "end_of_round" ); level thread maps\_zombiemode_audio::change_zombie_music( "round_end" ); UploadStats(); if ( 1 != players.size ) { level thread maps\_zombiemode::spectators_respawn(); //level thread last_stand_revive(); } // round_text( &"ZOMBIE_ROUND_END" ); level maps\_zombiemode::chalk_round_over(); // here's the difficulty increase over time area timer = level.zombie_vars["zombie_spawn_delay"]; if ( timer > 0.08 ) { level.zombie_vars["zombie_spawn_delay"] = timer * 0.95; } else if ( timer < 0.08 ) { level.zombie_vars["zombie_spawn_delay"] = 0.08; } // // Increase the zombie move speed level.zombie_move_speed = level.round_number * level.zombie_vars["zombie_move_speed_multiplier"]; level.round_number++; level notify( "between_round_over" ); } } game_timer() { hud = create_simple_hud( self ); hud.foreground = true; hud.sort = 1; hud.hidewheninmenu = true; hud.alignX = "left"; hud.alignY = "top"; hud.horzAlign = "user_left"; hud.vertAlign = "user_top"; hud.alpha = 1; //=======================CUSTOM SECTION============== hud.x = hud.x - -720; //This is for the position on X axis, decrease this number to move it further left, and increase it to go right. hud.y = hud.y + 35; //This is for the position on Y axis, decrease this number to move it down, and increase it to go up. hud.fontscale = 1.2; //This is for the font size, increase it by whatever you want and see what you like hud.color = (255, 255, 255); //This is for the color using RGB, use a website for that //========================================= time_text = string(GetTime() / 1000); flag_wait("all_players_spawned"); while (1){ hud setTimerUp(1); hud setTimer(time_text); } } round_timer() { timerHud = create_simple_hud( self ); timerHud.foreground = true; timerHud.sort = 1; timerHud.hidewheninmenu = true; timerHud.alignX = "left"; timerHud.alignY = "top"; timerHud.horzAlign = "user_left"; timerHud.vertAlign = "user_top"; //=======================CUSTOM SECTION============== timerHud.x = timerHud.x - -720; //This is for the position on X axis, decrease this number to move it further left, and increase it to go right. timerHud.y = timerHud.y + 45; //This is for the position on Y axis, decrease this number to move it down, and increase it to go up. timerHud.fontscale = 1.2; //This is for the font size, increase it by whatever you want and see what you like timerHud.color = (255, 0, 0); //This is for the color using RGB, use a website for that //========================================= timerHud.alpha = 1; flag_wait("all_players_spawned"); for (;;){ start_time = GetTime() / 1000; timerHud setTimerUp(0); level waittill("end_of_round"); end_time = GetTime() / 1000; time = end_time - start_time; set_time_frozen(timerHud, time); } } set_time_frozen(hud, time) { level endon("start_of_round"); time = time - 0.1; while(1) { hud settimer(time); wait(0.5); } } onPlayerConnect() { for(;;) { level waittill ("connecting", player); player thread onPlayerSpawned(); } } onPlayerSpawned() { for(;;) { self waittill("spawned_player"); self thread game_timer(); //Thread the global timer self thread round_timer(); //Thread the round timer self SetClientDvars("player_backSpeedScale", "1", "player_strafeSpeedScale", "1"); //Patch speed to be same as console } }
-
-
undefined bhfff referenced this topic on
-
works exactly as intended with no need of a download
-
Would this work for coop games? Shall all of us have the patch installed?
-
Would this work for coop games? Shall all of us have the patch installed?
Asmotoanico scripts are server side so only the server can load them, so here the server is the host
-
Asmotoanico scripts are server side so only the server can load them, so here the server is the host
Resxt Oh, nice. Thanks for the answer
-
Script works perfectly! Just wondering what the "custom Round Think" lines do? (lines 17-87) and if they're essential or just QoL fixes (Not very knowledgeable on these kinds of things so apologies if this is a silly question)
-
I was also able to move the timer location to be in the top left corner for people with 1080p monitors. Ive never used a 1440p monitor so you might have to tweak a little more for those
For the game timer fix the X-Y on lines 105 & 106 to:
hud.x = hud.x - 1;
hud.y = hud.y + -5;For the Round timer fix the X-Y on lines 130 & 131 to:
hud.x = hud.x - 1;
hud.y = hud.y + 9;I would also change the fontscale from 1.2 to 1.6 on lines 107 & 132 just so the timers can be a tad bigger.
I also changed "settimerup" from 1 to 0 on line 113 just so the timers can start together (Just personal preference)
The timer should now look like the photo I shared.
-
Script works perfectly! Just wondering what the "custom Round Think" lines do? (lines 17-87) and if they're essential or just QoL fixes (Not very knowledgeable on these kinds of things so apologies if this is a silly question)
@Hulkster So basically the custom round think is just so I could add in the notifiers for the round timer, I basically copy pasted the regular method, and added 2 notifiers lmao
-
@Hulkster So basically the custom round think is just so I could add in the notifiers for the round timer, I basically copy pasted the regular method, and added 2 notifiers lmao
AlexInVr Ohh I see. Thanks for clarifying! And thank you for the script as well!
-
@Hulkster you're welcome man, enjoy !
-
and for five is there a name for the folder?
-
Is there a script for just backspeed/strafe fix?
-
After a request on Discord, I decided to release the script for everyone to use, because a lot of patches are being gatekept or not a lot of patchers release their stuff.
It's a pluto only version but I have a steam version also that I can release, it's just harder to customize if you don't know what you are doing:
Install instructions:
-
Turn on file extensions in your windows explorer, see this link if you don't know how
-
Press windows + r, a dialog box will open
-
Inside it type in %LOCALAPPDATA%\Plutonium\storage\t5\scripts\sp
-
Create a folder with the name of the map you want to play
-
Kino: zombie_theater
-
Asc: zombie_cosmodrome
-
Shang: zombie_temple
-
Moon: zombie_moon
-
Cotd: zombie_coast
Waw maps:
-
Nacht: zombie_cod5_prototype
-
Verruckt: zombie_cod5_asylum
-
Shi no: zombie_cod5_sumpf
-
Der riese: zombie_cod5_factory
-
Create a new file with the name of your choice, and make its file extension .gsc (example: patch.gsc)
-
copy and paste the code inside your gsc file
launch your game and enjoy !
I did not include the splash texts as some people don't like that, and I can understand, I'd just appreciate if you could leave a like on the post if my patch helped you
#include maps\_utility; #include common_scripts\utility; #include maps\_zombiemode_utility; init() { if ( GetDvar( #"zombiemode" ) == "1" ) { replacefunc(maps\_zombiemode::round_think, ::custom_round_think); level thread onPlayerConnect(); } } custom_round_think() { for( ;; ) { ////////////////////////////////////////// //designed by prod DT#36173 maxreward = 50 * level.round_number; if ( maxreward > 500 ) maxreward = 500; level.zombie_vars["rebuild_barrier_cap_per_round"] = maxreward; ////////////////////////////////////////// level.pro_tips_start_time = GetTime(); level.zombie_last_run_time = GetTime(); // Resets the last time a zombie ran level thread maps\_zombiemode_audio::change_zombie_music( "round_start" ); maps\_zombiemode::chalk_one_up(); // round_text( &"ZOMBIE_ROUND_BEGIN" ); maps\_zombiemode_powerups::powerup_round_start(); players = get_players(); array_thread( players, maps\_zombiemode_blockers::rebuild_barrier_reward_reset ); //array_thread( players, maps\_zombiemode_ability::giveHardpointItems ); level thread maps\_zombiemode::award_grenades_for_survivors(); bbPrint( "zombie_rounds: round %d player_count %d", level.round_number, players.size ); level.round_start_time = GetTime(); level thread [[level.round_spawn_func]](); level notify( "start_of_round" ); [[level.round_wait_func]](); level.first_round = false; level notify( "end_of_round" ); level thread maps\_zombiemode_audio::change_zombie_music( "round_end" ); UploadStats(); if ( 1 != players.size ) { level thread maps\_zombiemode::spectators_respawn(); //level thread last_stand_revive(); } // round_text( &"ZOMBIE_ROUND_END" ); level maps\_zombiemode::chalk_round_over(); // here's the difficulty increase over time area timer = level.zombie_vars["zombie_spawn_delay"]; if ( timer > 0.08 ) { level.zombie_vars["zombie_spawn_delay"] = timer * 0.95; } else if ( timer < 0.08 ) { level.zombie_vars["zombie_spawn_delay"] = 0.08; } // // Increase the zombie move speed level.zombie_move_speed = level.round_number * level.zombie_vars["zombie_move_speed_multiplier"]; level.round_number++; level notify( "between_round_over" ); } } game_timer() { hud = create_simple_hud( self ); hud.foreground = true; hud.sort = 1; hud.hidewheninmenu = true; hud.alignX = "left"; hud.alignY = "top"; hud.horzAlign = "user_left"; hud.vertAlign = "user_top"; hud.alpha = 1; //=======================CUSTOM SECTION============== hud.x = hud.x - -720; //This is for the position on X axis, decrease this number to move it further left, and increase it to go right. hud.y = hud.y + 35; //This is for the position on Y axis, decrease this number to move it down, and increase it to go up. hud.fontscale = 1.2; //This is for the font size, increase it by whatever you want and see what you like hud.color = (255, 255, 255); //This is for the color using RGB, use a website for that //========================================= time_text = string(GetTime() / 1000); flag_wait("all_players_spawned"); while (1){ hud setTimerUp(1); hud setTimer(time_text); } } round_timer() { timerHud = create_simple_hud( self ); timerHud.foreground = true; timerHud.sort = 1; timerHud.hidewheninmenu = true; timerHud.alignX = "left"; timerHud.alignY = "top"; timerHud.horzAlign = "user_left"; timerHud.vertAlign = "user_top"; //=======================CUSTOM SECTION============== timerHud.x = timerHud.x - -720; //This is for the position on X axis, decrease this number to move it further left, and increase it to go right. timerHud.y = timerHud.y + 45; //This is for the position on Y axis, decrease this number to move it down, and increase it to go up. timerHud.fontscale = 1.2; //This is for the font size, increase it by whatever you want and see what you like timerHud.color = (255, 0, 0); //This is for the color using RGB, use a website for that //========================================= timerHud.alpha = 1; flag_wait("all_players_spawned"); for (;;){ start_time = GetTime() / 1000; timerHud setTimerUp(0); level waittill("end_of_round"); end_time = GetTime() / 1000; time = end_time - start_time; set_time_frozen(timerHud, time); } } set_time_frozen(hud, time) { level endon("start_of_round"); time = time - 0.1; while(1) { hud settimer(time); wait(0.5); } } onPlayerConnect() { for(;;) { level waittill ("connecting", player); player thread onPlayerSpawned(); } } onPlayerSpawned() { for(;;) { self waittill("spawned_player"); self thread game_timer(); //Thread the global timer self thread round_timer(); //Thread the round timer self SetClientDvars("player_backSpeedScale", "1", "player_strafeSpeedScale", "1"); //Patch speed to be same as console } }
This post is deleted! -
-
-
This post is deleted!
-
what do i do with the folder i created? do i put the gsc file in it?
-
nvm i got it