So, let's begin

Open:
WarZ.sln


Search: void DropItem(int slotFrom);
add below
Code:
void DropAllItem(int slotFrom);//drop all

Search: void HUDPause::eventContextMenu_Action
add above

Code:
if (!plr->IsSwimming() )//drop all
{
var[0].SetString("$FR_PAUSE_INVENTORY_DROP_ALL_ITEM"); var[1].SetInt(HPA_DROP_ALL_ITEM); gfxMovie.Invoke("_root.api.Main.Inventory.addConte xtMenuOption", var, 2);
}

Search: if(actionID == HPA_DROP_ITEM)
add below
Code:
else if (actionID == HPA_DROP_ALL_ITEM)//drop all
{
plr->DropAllItem(slotID); updateSurvivorTotalWeight(); gfxMovie.Invoke("_root.api.backpackGridSwapSuccess ", "");
}
if (CurLoadout.Items[i].itemID == itemID) quantity += CurLoadout.Items[i].quantity;
}
if (quantity == 0) // check if that attm is equipped and if yes, remove it from weapon

Search: HPA_DISASSEMBLE_ITEM,
add below
Code:
HPA_DROP_ALL_ITEM, //drop all

Search: PKT_C2S_BackpackDrop,
add below
Code:
PKT_C2S_BackpackDropAll, //drop all

Search:void obj_Player::RemoveWpnAttm
add above
Code:

void obj_Player:ropAllItem(int slotFrom)
{
PKT_C2S_BackpackDropAll_s n; n.SlotFrom = slotFrom; n.pos = GetPosition() + GetvForw()*0.1f; p2pSendToHost(this, &n, sizeof(n));

int itemID = CurLoadout.Items[slotFrom].itemID;

//local logic //CurLoadout.Items[slotFrom].quantity--; CurLoadout.Items[slotFrom].Reset(); if (CurLoadout.Items[slotFrom].quantity <= 0) { CurLoadout.Items[slotFrom].Reset();
}

// fucked up attachment design!

const WeaponAttachmentConfig* wac = g_pWeaponArmory->getAttachmentConfig(itemID);
if (wac)
{
int quantity = CurLoadout.Items[slotFrom].quantity; // if attm is droppen, then here will be zero for (int i = 0; i < CurLoadout.BackpackSize; ++i)
{
if (quantity == 0) // check if that attm is equipped and if yes, remove it from weapon
{
uint32_t curAttm[WPN_ATTM_MAX] = { 0 };
if (m_Weapons[0])
{
m_Weapons[0]->getCurrentAttachmentIDs(curAttm); if (curAttm[wac->m_type] == itemID) RemoveWpnAttm(0, wac->m_type);
}
if (m_Weapons[1])
{
m_Weapons[1]->getCurrentAttachmentIDs(curAttm);
if (curAttm[wac->m_type] == itemID)
RemoveWpnAttm(1, wac->m_type);
}
}
}

OnBackpackChanged(slotFrom);

if(NetworkLocal)
{
const WeaponConfig* wc = g_pWeaponArmory->getWeaponConfig(itemID);
if(wc)
SoundSys.PlayAndForget(SoundSys.GetEventIDByPath(" Sounds/WarZ/PlayerSounds/PLAYER_DROPGUN"), GetPosition());
else
SoundSys.PlayAndForget(SoundSys.GetEventIDByPath(" Sounds/WarZ/PlayerSounds/PLAYER_ DROPITEM"), GetPosition());
}
}

Search: struct PKT_C2S_BackpackDrop_s
add below
Code:
struct PKT_C2S_BackpackDropAll_s : public DefaultPacketMixin<PKT_C2S_BackpackDropAll>{

Build and Close WarZ.sln

Step 2
Open WarZ_Servers

Search:void obj_ServerPlayer::OnNetPacket
add above
Code:
void obj_ServerPlayer::OnNetPacket(const PKT_C2S_BackpackDropAll_s& n){ if (!r3d_vector

SearchEFINE_GAMEOBJ_PACKET_HANDLER
add below
Code:
DEFINE_GAMEOBJ_PACKET_HANDLER(PKT_C2S_BackpackDrop All);//drop all

Search:void OnNetPacket
add below
Code:
void OnNetPacket(const PKT_C2S_BackpackDropAll_s& n);//drop all

Build and Close WarZ_Server.

Step 3

Go LangPack and open you language

Search $FR_PAUSE_INVENTORY_BACKPACK_TYPE=TYPE and add above
Code:
$FR_PAUSE_INVENTORY_DROP_ALL_ITEM=DROP ALL

Xong!!!