Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Donate
Collapse

Plutonium

  1. Home
  2. BO1 Modding Releases & Resources
  3. [ZM][RELEASE][PLUTO SCRIPT] Backspeed + game and round timer patch

[ZM][RELEASE][PLUTO SCRIPT] Backspeed + game and round timer patch

Scheduled Pinned Locked Moved BO1 Modding Releases & Resources
19 Posts 11 Posters 5.6k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • AlexInVrundefined AlexInVr

    @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

    Ktuluuundefined Offline
    Ktuluuundefined Offline
    Ktuluu
    wrote on last edited by
    #9

    AlexInVr Ohh I see. Thanks for clarifying! And thank you for the script as well!

    AlexInVrundefined 1 Reply Last reply
    0
    • Ktuluuundefined Ktuluu

      AlexInVr Ohh I see. Thanks for clarifying! And thank you for the script as well!

      AlexInVrundefined Offline
      AlexInVrundefined Offline
      AlexInVr
      wrote on last edited by
      #10

      @Hulkster you're welcome man, enjoy !

      1 Reply Last reply
      1
      • Claaarkundefined Offline
        Claaarkundefined Offline
        Claaark
        wrote on last edited by
        #11

        and for five is there a name for the folder?

        Sugah2undefined 1 Reply Last reply
        0
        • asherisisundefined Offline
          asherisisundefined Offline
          asherisis
          wrote on last edited by
          #12

          Is there a script for just backspeed/strafe fix?

          AlexInVrundefined 1 Reply Last reply
          0
          • AlexInVrundefined AlexInVr

            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
            	}
            }
            
            haki_markusundefined Offline
            haki_markusundefined Offline
            haki_markus
            wrote on last edited by
            #13
            This post is deleted!
            1 Reply Last reply
            0
            • asherisisundefined asherisis

              Is there a script for just backspeed/strafe fix?

              AlexInVrundefined Offline
              AlexInVrundefined Offline
              AlexInVr
              wrote on last edited by
              #14

              asherisis open console:

              player_strafeSpeedScale 1

              player_backSpeedScale 1

              1 Reply Last reply
              0
              • Claaarkundefined Claaark

                and for five is there a name for the folder?

                Sugah2undefined Offline
                Sugah2undefined Offline
                Sugah2
                wrote on last edited by
                #15
                This post is deleted!
                1 Reply Last reply
                0
                • Hatbat133undefined Offline
                  Hatbat133undefined Offline
                  Hatbat133
                  wrote on last edited by
                  #16

                  what do i do with the folder i created? do i put the gsc file in it?

                  1 Reply Last reply
                  0
                  • Hatbat133undefined Offline
                    Hatbat133undefined Offline
                    Hatbat133
                    wrote on last edited by
                    #17

                    nvm i got it

                    1 Reply Last reply
                    0
                    • 420swagundefined Offline
                      420swagundefined Offline
                      420swag
                      wrote last edited by 420swag
                      #18

                      seems to work fine if you just place in folder titled "zom" instead of making map specific folders.

                      here is mine, timers are scale 1.0 (small) and aligned top left on 1080p display. round timer color is electric blue, easy to change colors yourself on line 108/133. thanks for script.

                      #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 - -1; //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 + 0; //This is for the position on Y axis, decrease this number to move it down, and increase it to go up.
                      	hud.fontscale = 1; //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 - -1; //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 + 9; //This is for the position on Y axis, decrease this number to move it down, and increase it to go up.
                      	timerHud.fontscale = 1; //This is for the font size, increase it by whatever you want and see what you like
                      	timerHud.color =  (0, 255, 209); //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
                      	}
                      }
                      
                      
                      1 Reply Last reply
                      1
                      • AlexInVrundefined Offline
                        AlexInVrundefined Offline
                        AlexInVr
                        wrote last edited by
                        #19

                        420swag Welcome man, enjoy ! you can also place it into raw/sp/scripts/map_folder

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Donate