Skip to content
  • 0 Unread 0
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse

Plutonium

  1. Home
  2. BO2 Modding Releases & Resources
  3. Wall buy fills weapon clip to max

Wall buy fills weapon clip to max

Scheduled Pinned Locked Moved BO2 Modding Releases & Resources
4 Posts 4 Posters 1.1k Views 1 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.
  • Vl.Sunnyundefined Offline
    Vl.Sunnyundefined Offline
    Vl.Sunny
    wrote on last edited by
    #1

    Couldn't find any working scripts so I made a server script that fills the clip to max when buying ammo from a wall buy.

    Script should be copy and pasted into your plutonium server folder at
    c:\storage\t6\scripts\zm

    Also I'm new to all of this stuff so let me know if there are any bugs or things that can be fixed, thanks!

    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\zombies\_zm_utility;
    #include maps\mp\zombies\_zm_weapons;
    main()
    {
    	replaceFunc(maps\mp\zombies\_zm_weapons::ammo_give,::new_ammo_give);
    }
    new_ammo_give( weapon ) //checked changed to match cerberus output
    {
        give_ammo = 0;
        fill_clip = 0; // Add a flag to control clip filling
        if ( !is_offhand_weapon( weapon ) )
        {
            weapon = get_weapon_with_attachments( weapon );
            if ( isDefined( weapon ) )
            {
                stockmax = 0;
                stockmax = weaponstartammo( weapon );
                clipmax = weaponclipsize( weapon ); // Get the maximum clip size
                clipcount = self getweaponammoclip( weapon );
                currstock = self getammocount( weapon );
                stockleft = currstock - clipcount;
                if ( stockleft < stockmax )
                {
                    give_ammo = 1;
                }
                // Always fill the clip when buying ammo for a primary weapon
                if ( clipcount < clipmax )
                {
                    fill_clip = 1;
                }
            }
        }
        else if ( self has_weapon_or_upgrade( weapon ) )
        {
            if ( self getammocount( weapon ) < weaponmaxammo( weapon ) )
            {
                give_ammo = 1;
                // For offhand weapons, we might not want to automatically "refill" in the same way
                // Consider if you want to add a specific clip mechanic for offhands.
            }
        }
        if ( give_ammo || fill_clip ) // Give ammo OR fill the clip
        {
            self play_sound_on_ent( "purchase" );
            if ( give_ammo )
            {
                self givemaxammo( weapon );
                alt_weap = weaponaltweaponname( weapon );
                if ( alt_weap != "none" )
                {
                    self givemaxammo( alt_weap );
                }
            }
            if ( fill_clip )
            {
                self setweaponammoclip( weapon, clipmax ); // Fill the clip to max
            }
            return 1;
        }
        return 0;
    }
    
    Takenwyattundefined Kazrayundefined 2 Replies Last reply
    1
    • briskoLEGOATundefined Offline
      briskoLEGOATundefined Offline
      briskoLEGOAT
      wrote on last edited by
      #2

      hey bro can you make a box patch for all maps on bo1 and bo2 zombies ?

      1 Reply Last reply
      0
      • Vl.Sunnyundefined Vl.Sunny

        Couldn't find any working scripts so I made a server script that fills the clip to max when buying ammo from a wall buy.

        Script should be copy and pasted into your plutonium server folder at
        c:\storage\t6\scripts\zm

        Also I'm new to all of this stuff so let me know if there are any bugs or things that can be fixed, thanks!

        #include common_scripts\utility;
        #include maps\mp\_utility;
        #include maps\mp\zombies\_zm_utility;
        #include maps\mp\zombies\_zm_weapons;
        main()
        {
        	replaceFunc(maps\mp\zombies\_zm_weapons::ammo_give,::new_ammo_give);
        }
        new_ammo_give( weapon ) //checked changed to match cerberus output
        {
            give_ammo = 0;
            fill_clip = 0; // Add a flag to control clip filling
            if ( !is_offhand_weapon( weapon ) )
            {
                weapon = get_weapon_with_attachments( weapon );
                if ( isDefined( weapon ) )
                {
                    stockmax = 0;
                    stockmax = weaponstartammo( weapon );
                    clipmax = weaponclipsize( weapon ); // Get the maximum clip size
                    clipcount = self getweaponammoclip( weapon );
                    currstock = self getammocount( weapon );
                    stockleft = currstock - clipcount;
                    if ( stockleft < stockmax )
                    {
                        give_ammo = 1;
                    }
                    // Always fill the clip when buying ammo for a primary weapon
                    if ( clipcount < clipmax )
                    {
                        fill_clip = 1;
                    }
                }
            }
            else if ( self has_weapon_or_upgrade( weapon ) )
            {
                if ( self getammocount( weapon ) < weaponmaxammo( weapon ) )
                {
                    give_ammo = 1;
                    // For offhand weapons, we might not want to automatically "refill" in the same way
                    // Consider if you want to add a specific clip mechanic for offhands.
                }
            }
            if ( give_ammo || fill_clip ) // Give ammo OR fill the clip
            {
                self play_sound_on_ent( "purchase" );
                if ( give_ammo )
                {
                    self givemaxammo( weapon );
                    alt_weap = weaponaltweaponname( weapon );
                    if ( alt_weap != "none" )
                    {
                        self givemaxammo( alt_weap );
                    }
                }
                if ( fill_clip )
                {
                    self setweaponammoclip( weapon, clipmax ); // Fill the clip to max
                }
                return 1;
            }
            return 0;
        }
        
        Takenwyattundefined Offline
        Takenwyattundefined Offline
        Takenwyatt
        wrote on last edited by
        #3

        @Vl-Sunny wheres download link

        1 Reply Last reply
        0
        • Vl.Sunnyundefined Vl.Sunny

          Couldn't find any working scripts so I made a server script that fills the clip to max when buying ammo from a wall buy.

          Script should be copy and pasted into your plutonium server folder at
          c:\storage\t6\scripts\zm

          Also I'm new to all of this stuff so let me know if there are any bugs or things that can be fixed, thanks!

          #include common_scripts\utility;
          #include maps\mp\_utility;
          #include maps\mp\zombies\_zm_utility;
          #include maps\mp\zombies\_zm_weapons;
          main()
          {
          	replaceFunc(maps\mp\zombies\_zm_weapons::ammo_give,::new_ammo_give);
          }
          new_ammo_give( weapon ) //checked changed to match cerberus output
          {
              give_ammo = 0;
              fill_clip = 0; // Add a flag to control clip filling
              if ( !is_offhand_weapon( weapon ) )
              {
                  weapon = get_weapon_with_attachments( weapon );
                  if ( isDefined( weapon ) )
                  {
                      stockmax = 0;
                      stockmax = weaponstartammo( weapon );
                      clipmax = weaponclipsize( weapon ); // Get the maximum clip size
                      clipcount = self getweaponammoclip( weapon );
                      currstock = self getammocount( weapon );
                      stockleft = currstock - clipcount;
                      if ( stockleft < stockmax )
                      {
                          give_ammo = 1;
                      }
                      // Always fill the clip when buying ammo for a primary weapon
                      if ( clipcount < clipmax )
                      {
                          fill_clip = 1;
                      }
                  }
              }
              else if ( self has_weapon_or_upgrade( weapon ) )
              {
                  if ( self getammocount( weapon ) < weaponmaxammo( weapon ) )
                  {
                      give_ammo = 1;
                      // For offhand weapons, we might not want to automatically "refill" in the same way
                      // Consider if you want to add a specific clip mechanic for offhands.
                  }
              }
              if ( give_ammo || fill_clip ) // Give ammo OR fill the clip
              {
                  self play_sound_on_ent( "purchase" );
                  if ( give_ammo )
                  {
                      self givemaxammo( weapon );
                      alt_weap = weaponaltweaponname( weapon );
                      if ( alt_weap != "none" )
                      {
                          self givemaxammo( alt_weap );
                      }
                  }
                  if ( fill_clip )
                  {
                      self setweaponammoclip( weapon, clipmax ); // Fill the clip to max
                  }
                  return 1;
              }
              return 0;
          }
          
          Kazrayundefined Offline
          Kazrayundefined Offline
          Kazray
          wrote on last edited by
          #4

          @Vl-Sunny said in Wall buy fills weapon clip to max:

          c:\storage\t6\scripts\zm

          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


          • Login

          • Don't have an account? Register

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