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
17 Posts 10 Posters 3.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • AlexInVrundefined Offline
    AlexInVrundefined Offline
    AlexInVr
    wrote on last edited by
    #1

    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 1 Reply Last reply
    2
    • bhfffundefined bhfff referenced this topic on
    • AceyWacyundefined Offline
      AceyWacyundefined Offline
      AceyWacy
      wrote on last edited by
      #2

      works exactly as intended with no need of a download 👍

      1 Reply Last reply
      0
      • Asmotoanicoundefined Offline
        Asmotoanicoundefined Offline
        Asmotoanico
        wrote on last edited by
        #3

        Would this work for coop games? Shall all of us have the patch installed?

        Resxtundefined 1 Reply Last reply
        0
        • Resxtundefined Offline
          Resxtundefined Offline
          Resxt Plutonium Staff
          replied to Asmotoanico on last edited by
          #4

          Asmotoanico scripts are server side so only the server can load them, so here the server is the host

          Asmotoanicoundefined 1 Reply Last reply
          0
          • Asmotoanicoundefined Offline
            Asmotoanicoundefined Offline
            Asmotoanico
            replied to Resxt on last edited by
            #5

            Resxt Oh, nice. Thanks for the answer ❤

            1 Reply Last reply
            0
            • Hulksterundefined Offline
              Hulksterundefined Offline
              Hulkster
              wrote on last edited by
              #6

              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)

              AlexInVrundefined 1 Reply Last reply
              0
              • Hulksterundefined Offline
                Hulksterundefined Offline
                Hulkster
                wrote on last edited by
                #7

                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.20241006150607_1.jpg

                1 Reply Last reply
                1
                • AlexInVrundefined Offline
                  AlexInVrundefined Offline
                  AlexInVr
                  replied to Hulkster on last edited by
                  #8

                  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

                  Hulksterundefined 1 Reply Last reply
                  1
                  • Hulksterundefined Offline
                    Hulksterundefined Offline
                    Hulkster
                    replied to AlexInVr 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
                    • AlexInVrundefined Offline
                      AlexInVrundefined Offline
                      AlexInVr
                      replied to Hulkster 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
                          • haki_markusundefined Offline
                            haki_markusundefined Offline
                            haki_markus
                            replied to AlexInVr on last edited by
                            #13
                            This post is deleted!
                            1 Reply Last reply
                            0
                            • AlexInVrundefined Offline
                              AlexInVrundefined Offline
                              AlexInVr
                              replied to asherisis on last edited by
                              #14

                              asherisis open console:

                              player_strafeSpeedScale 1

                              player_backSpeedScale 1

                              1 Reply Last reply
                              0
                              • Sugah2undefined Offline
                                Sugah2undefined Offline
                                Sugah2
                                replied to Claaark 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

                                    • Login

                                    • Don't have an account? Register

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