Skip to content
  • 0 Unread 0
  • 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
22 Posts 14 Posters 11.4k 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.
  • AlexInVr 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_markus Offline
    haki_markus Offline
    haki_markus
    wrote on last edited by
    #13
    This post is deleted!
    1 Reply Last reply
    0
    • asherisis asherisis

      Is there a script for just backspeed/strafe fix?

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

      asherisis open console:

      player_strafeSpeedScale 1

      player_backSpeedScale 1

      1 Reply Last reply
      0
      • Claaark Claaark

        and for five is there a name for the folder?

        Sugah2 Offline
        Sugah2 Offline
        Sugah2
        wrote on last edited by
        #15
        This post is deleted!
        1 Reply Last reply
        0
        • Hatbat133 Offline
          Hatbat133 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
          • Hatbat133 Offline
            Hatbat133 Offline
            Hatbat133
            wrote on last edited by
            #17

            nvm i got it

            TEE-TB 1 Reply Last reply
            0
            • 420swag Offline
              420swag Offline
              420swag
              wrote on 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
              • AlexInVr Offline
                AlexInVr Offline
                AlexInVr
                wrote on last edited by
                #19

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

                1 Reply Last reply
                0
                • LightSeaaa Offline
                  LightSeaaa Offline
                  LightSeaaa
                  wrote on last edited by
                  #20

                  why does nobody just make a video for this or make a simple file to drag and drop like the bo2 patch.

                  1 Reply Last reply
                  1
                  • DirkRockface Offline
                    DirkRockface Offline
                    DirkRockface
                    Contributor
                    wrote on last edited by
                    #21

                    because what is posted is a simple drag and drop... you put the script in the folder and boom, good to go!

                    It's already easy enough, making a video of someone dragging and dropping these scripts into the script folder would be kinda pointless.

                    1 Reply Last reply
                    0
                    • Hatbat133 Hatbat133

                      nvm i got it

                      TEE-TB Offline
                      TEE-TB Offline
                      TEE-TB
                      wrote last edited by
                      #22

                      Hatbat133 what did you do?

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • 1
                      • 2
                      • Login

                      • Don't have an account? Register

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