Jump to content

[Suggestion] Packing Ammo up


idblackdragoon

Recommended Posts

I was thinking that packing ammo up into crates is a logical path.This can help with micro management. I wrote some code for the cfgmagazine, just a thought.

 

*Update*

I add the ability to pack 6 ammo of what ever type into crates , then you can combine those 2 packs in a single large crate of 12x ammo, or if you have 12 ammo of whatever type you can make a crate with 12x in it.

I wasn't to sure if I should have made it so that its added to the menu of the bulk_empty. I know you add a bunch of stuff to the supple crate menu, so I put on the ammo it self.

*Update*

I made this so that you can't just make a crate of ammo without a bulk_empty. Also you can either add 6 more magazines or combine 2 6x crates. Combining the 2 crates wiil yeild you a crate with 12x magazines and 1 bulk_empty. Pretty much your take ammo out of one crate and fill the other one up, which will leave you one empty crate. Unpacking the crates will leave you with the amount of ammo you packed and 1 empty crate.

    class 30_Rnd545x39_AK;
    class 30_30Rnd_556x45_Stanag;
    class 20Rnd_762x51_DMR;
    class 10Rnd_762x54_SVD;
    
    class 30Rnd_545x39_AK : CA_Magazine // <-- not to sure if this is correct?
    {    displayName = "30Rnd 545x39 AK";
        class ItemActions
        {
            class Crafting
            {
                text = "Pack 6 AK Mags";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_small_30Rnd_545x39_AK",1}};
                input[] = {{"30Rnd_545x39_AK",6},{"bulk_empty",1}};
            };
        };
    };
    
    class 30Rnd_556x45_Stanag : CA_Magazine
    {    displayName = "30Rnd 556x45 Stanag";
        class ItemActions
        {
            class Crafting
            {
                text = "Pack 6 Stanag Mags";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_small_30Rnd_556x45_Stanag",1}};
                input[] = {{"30Rnd_556x45_Stanag",6},{"bulk_empty",1}};
            };
        };
    };
    
    class 20Rnd_762x51_DMR : CA_Magazine
    {    displayName = "20Rnd 762x51 DMR";
        class ItemActions
        {
            class Crafting
            {
                text = "Pack 6 DMR Mags";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_small_20Rnd_762x51_DMR",1}};
                input[] = {{"20Rnd_762x51_DMR",6},{"bulk_empty",1}};
            };
        };
    };

    class 10Rnd_762x54_SVD : CA_Magazine
    {    displayName = "20Rnd 762x51 DMR";
        class ItemActions
        {
            class Crafting
            {
                text = "Pack 6 SVD Mags";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_small_10Rnd_762x54_SVD",1}};
                input[] = {{"10Rnd_762x54_SVD",6},{"bulk_empty",1}};
            };
        };
    };
    
    
    
    class bulk_small_30Rnd_545x39_AK: bulk
    {
        descriptionShort = "6x 30Rnd545x39_AK";
        
        class ItemActions
        {
            class Crafting
            {
                text = "Add 6x AK Mags";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_30Rnd_545x39_AK",1}};
                input[] = {{"bulk_small_30Rnd_545x39_AK",1},{"30Rnd_545x39_AK",6}};
            };        
            class Crafting
            {
                text = "Combine 2 Packs of 6x Magazines";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_30Rnd_545x39_AK",1},{"bulk_empty",1}};
                input[] = {{"bulk_small_30Rnd_545x39_AK",2}};
            };    
            class CreateMags
            {
                text = "Open %1";
                script = "spawn player_loadCrate;";
                output[] = {"30Rnd545x39_AK",6,"magazine"},{"bulk_empty",1,"magazine"};
            };
        };
    };
    
    class bulk_30Rnd_545x39_AK: bulk
    {
        descriptionShort = "12x 30Rnd545x39_AK";
        
        class ItemActions
        {        
            class CreateMags
            {
                text = "Open %1";
                script = "spawn player_loadCrate;";
                output[] = {"30Rnd545x39_AK",12,"magazine"},{"bulk_empty",1,"magazine"};
            };
        };
    };
    
    class bulk_small_30Rnd_556x45_Stanag: bulk
    {
        descriptionShort = "6x 30Rnd_556x45_Stanag";
        
        class ItemActions
        {
            class Crafting
            {
                text = "Add 6x Stanag Mags";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_30Rnd_556x45_Stanag",1}};
                input[] = {{"bulk_small_30Rnd_556x45_Stanag",1},{"30Rnd_556x45_Stanag",6};
            };        
            class Crafting
            {
                text = "Combine 2 Packs of 6x Magazines";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_30Rnd_556x45_Stanag",1},{"bulk_empty",1}};
                input[] = {{"bulk_small_30Rnd_556x45_Stanag",2}};
            };        
            class CreateMags
            {
                text = "Open %1";
                script = "spawn player_loadCrate;";
                output[] = {"30Rnd_556x45_Stanag",6,"magazine"},{"bulk_empty",1,"magazine"};
            };
        };
    };
    
    class bulk_30Rnd_556x45_Stanag: bulk
    {
        descriptionShort = "12x 30Rnd_556x45_Stanag";
        
        class ItemActions
        {
            class CreateMags
            {
                text = "Open %1";
                script = "spawn player_loadCrate;";
                output[] = {"30Rnd_556x45_Stanag",12,"magazine"},{"bulk_empty",1,"magazine"};
            };
        };
    };

    class bulk_small_20Rnd_762x51_DMR: bulk
    {
        descriptionShort = "6x 20Rnd_762x51_DMR";
        
        class ItemActions
        {
            class Crafting
            {
                text = "Add 6x DMR Mags";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_20Rnd_762x51_DMR",1}};
                input[] = {{"bulk_small_20Rnd_762x51_DMR",1},{"20Rnd_762x51_DMR",6}};
            };        
            class Crafting
            {
                text = "Combine 2 Packs of 6x Magazines";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_20Rnd_762x51_DMR",1},{"bulk_empty",1}};
                input[] = {{"bulk_small_20Rnd_762x51_DMR",2}};
            };            
            class CreateMags
            {
                text = "Open %1";
                script = "spawn player_loadCrate;";
                output[] = {"20Rnd_762x51_DMR",6,"magazine"},{"bulk_empty",1,"magazine"};
            };
        };
    };    
    
    class bulk_20Rnd_762x51_DMR: bulk
    {
        descriptionShort = "12x 20Rnd_762x51_DMR";
        
        class ItemActions
        {
            class CreateMags
            {
                text = "Open %1";
                script = "spawn player_loadCrate;";
                output[] = {"20Rnd_762x51_DMR",12,"magazine"},{"bulk_empty",1,"magazine"};
            };
        };
    };

    class bulk_small_10Rnd_762x54_SVD: bulk
    {
        descriptionShort = "6x 10Rnd_762x54_SVD";
        
        class ItemActions
        {
            class Crafting
            {
                text = "Add 6x SVD Mags";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_10Rnd_762x54_SVD",1}};
                input[] = {{"bulk_small_10Rnd_762x54_SVD",1},{"10Rnd_762x54_SVD"},6};
            };        
            class Crafting
            {
                text = "Combine 2 Packs of 6x Magazines";
                script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
                neednearby[] = {"workshop"};
                requiretools[] = {"ItemToolbox"};
                output[] = {{"bulk_10Rnd_762x54_SVD",1},{"bulk_empty",1}};
                input[] = {{"bulk_small_10Rnd_762x54_SVD",2}};
            };
            class CreateMags
            {
                text = "Open %1";
                script = "spawn player_loadCrate;";
                output[] = {"10Rnd_762x54_SVD",6,"magazine"},{"bulk_empty",1,"magazine"};
            };
        };
    };    
    
    class bulk_10Rnd_762x54_SVD: bulk
    {
        descriptionShort = "12x 10Rnd_762x54_SVD";
        
        class ItemActions
        {
            class CreateMags
            {
                text = "Open %1";
                script = "spawn player_loadCrate;";
                output[] = {"10Rnd_762x54_SVD",12,"magazine"},{"bulk_empty",1,"magazine"};
            };
        };
    };   

Edited by idblackdragoon
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Discord

×
×
  • Create New...