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

Plutonium

  1. Home
  2. BO2 Server Hosting Support
  3. Buried - Disable Timebomb to prevent Timebomb Glitch

Buried - Disable Timebomb to prevent Timebomb Glitch

Scheduled Pinned Locked Moved BO2 Server Hosting Support
5 Posts 3 Posters 293 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.
  • THS.Shiniriundefined Offline
    THS.Shiniriundefined Offline
    THS.Shiniri
    wrote on last edited by
    #1

    Hello everyone,

    I cant find any way to disable the Timebomb not in the configs neither as scripts.

    But the Timebom is abused to such a demand that players suffer from it on other Servers.
    So I want to get rid of it.

    Any Ideas

    Thank you

    Shiniri

    JezuzLizardundefined 1 Reply Last reply
    0
    • JezuzLizardundefined Offline
      JezuzLizardundefined Offline
      JezuzLizard Plutonium Staff
      replied to THS.Shiniri on last edited by
      #2

      THS.Shiniri

      Put this code in a script in scripts/zm/zm_buried:

      main()
      {
      	replaceFunc( maps/mp/zombies/_zm_weap_time_bomb::add_time_bomb_to_mystery_box, ::add_time_bomb_to_mystery_box_override );
      }
      
      add_time_bomb_to_mystery_box_override()
      {
      	return;
      }
      
      THS.Shiniriundefined 1 Reply Last reply
      1
      • THS.Shiniriundefined Offline
        THS.Shiniriundefined Offline
        THS.Shiniri
        replied to JezuzLizard on last edited by
        #3

        JezuzLizard said in Buried - Disable Timebomb to prevent Timebomb Glitch:

        scripts/zm/zm_buried

        So basically I create a .gsc like this:

        //Place into scripts/zm/zm_buried
        
        init() // entry point
        {
            level thread onplayerconnect();
        }
        
        onplayerconnect()
        {
            for(;;)
            {
                level waittill("connected", player);
                player thread onplayerspawned();
            }
        }
        
        onplayerspawned()
        {
            self endon("disconnect");
            for(;;)
            {
                self waittill("spawned_player");
            }
        }
        
        main()
        {
        	replaceFunc( maps/mp/zombies/_zm_weap_time_bomb::add_time_bomb_to_mystery_box, ::add_time_bomb_to_mystery_box_override );
        }
        
        add_time_bomb_to_mystery_box_override()
        {
        	return;
        }
        

        Compile it, place it into the given dir and it should remove the Timebomb entirely from the chest.

        Did I understand correctly, if yes damn you are my saviour !

        Ep00000GIF.gif

        JezuzLizardundefined 1 Reply Last reply
        0
        • JezuzLizardundefined Offline
          JezuzLizardundefined Offline
          JezuzLizard Plutonium Staff
          replied to THS.Shiniri on last edited by
          #4

          THS.Shiniri Should work yes.

          1 Reply Last reply
          0
          • ReuSundefined Offline
            ReuSundefined Offline
            ReuS
            wrote on last edited by
            #5

            I'm reviving this old thread, but if you want to disable points duplication while still allowing the timebomb (for EE or regular use), you can use this code, which simply disables points duping. 🙂
            in scripts/zm/zm_buried:

            #include common_scripts\utility;
            #include maps\mp\_utility;
            #include maps\mp\zombies\_zm_utility;
            #include maps\mp\gametypes_zm\_hud_util;
            #include maps\mp\zombies\_zm_weapons;
            #include maps\mp\_visionset_mgr;
            #include maps\mp\zombies\_zm_audio;
            #include maps\mp\zombies\_zm_blockers;
            #include maps\mp\zombies\_zm_laststand;
            #include maps\mp\zombies\_zm_weapon_locker;
            #include maps\mp\zombies\_zm_magicbox;
            #include maps\mp\zombies\_zm_perks;
            #include maps\mp\zombies\_zm_score;
            #include maps\mp\zombies\_zm_stats;
            #include maps\mp\zombies\_zm_equipment;
            #include maps\mp\zombies\_zm;
            #include maps\mp\zombies\_zm_spawner;
            #include maps\mp\animscripts\zm_death;
            #include maps\mp\zombies\_zm_ai_basic;
            
            
            main(){
                    replaceFunc(maps\mp\zombies\_zm_weap_time_bomb::_time_bomb_restores_player_data_internal, ::_time_bomb_restores_player_data_internal_override);
            }
            
            _time_bomb_restores_player_data_internal_override( save_struct )
            {
                self endon( "death" );
                self endon( "disconnect" );
            
                if ( self maps\mp\zombies\_zm_laststand::player_is_in_laststand() )
                {
                    debug_time_bomb_print( "TIMEBOMB >> " + self.name + " in last stand, reviving..." );
                    self maps\mp\zombies\_zm_laststand::auto_revive( self );
                }
                else if ( isdefined( self.sessionstate ) && self.sessionstate == "spectator" )
                {
                    self [[ level.spawnplayer ]]();
                    self thread refresh_player_navcard_hud();
                }
            
                if ( isdefined( self.is_drinking ) && self.is_drinking )
                {
                    if ( self has_packapunch_weapon() )
                        self.is_drinking++;
            
                    self thread maps\mp\zombies\_zm_perks::perk_abort_drinking( 0.1 );
                }
            
                if ( self can_time_bomb_restore_data_on_player( save_struct ) )
                {
                    debug_time_bomb_print( "TIMEBOMB >> restoring player " + self.name );
            
                    if ( !isdefined( self.time_bomb_save_data ) && !isdefined( save_struct ) )
                        self.time_bomb_save_data = spawnstruct();
            
                    if ( !isdefined( save_struct ) )
                        s_temp = self.time_bomb_save_data;
                    else
                        s_temp = save_struct.player_saves[self getentitynumber()];
            
                    self setorigin( s_temp.player_origin );
                    self setplayerangles( s_temp.player_angles );
                    self setstance( s_temp.player_stance );
                    self thread _restore_player_perks_and_weapons( s_temp );
                    n_difference_in_score = s_temp.points_current - self.score;
            
            
                    // Comment here to avoid points duplication
                    
                    // if ( n_difference_in_score > 0 )
                    //     self maps\mp\zombies\_zm_score::add_to_player_score( n_difference_in_score );
                    // else
                    //     self maps\mp\zombies\_zm_score::minus_to_player_score( abs( n_difference_in_score ) );
            
                    if ( is_weapon_locker_available_in_game() )
                    {
                        if ( isdefined( s_temp.weapon_locker_data ) )
                            self maps\mp\zombies\_zm_weapon_locker::wl_set_stored_weapondata( s_temp.weapon_locker_data );
                        else
                            self maps\mp\zombies\_zm_weapon_locker::wl_clear_stored_weapondata();
                    }
            
                    if ( isdefined( s_temp.account_value ) && isdefined( level.banking_map ) )
                    {
                        self.account_value = s_temp.account_value;
                        self maps\mp\zombies\_zm_stats::set_map_stat( "depositBox", self.account_value, level.banking_map );
                    }
            
                    s_temp.save_ready = 1;
            
                    if ( !isdefined( save_struct ) )
                        self.time_bomb_save_data = s_temp;
            
                    self ent_flag_wait( "time_bomb_restore_thread_done" );
                }
                else
                {
                    debug_time_bomb_print( "TIMEBOMB >> restoring player " + self.name + " FAILED. No matching save detected" );
                    self restore_player_to_initial_loadout();
                }
            
                self _give_revive_points( s_temp );
            }
            
            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