If you use a framework or an inventory script, you may need to make some changes to allow the stungrenade to work as an item.
IMPORTANT NOTE: If you use an escrowed inventory that doesnβt support addon-throwing weapons then I canβt help you. Itβs a problem with the inventory script, not with this script.
QB-Core (qb-core)
Note: This is for version 1.2.6 of qb-core (March 2023).
Set Config.UseGameEvent to false in Config.lua inside the stungrenade resource.
NOTE: This step (3) can be skipped if you are using OX Inventory.
If you are using an older version (pre-February 16th 2023 / v. 1.2.0) then do the following:
Add the following code to the prison:server:checkThrowable callback in server/main.lua:
And add weapon_stungrenade inside Config.DurabilityMultiplier in the config.lua file.
Or if you are using a newer version (version 1.2.1 or newer) then do the following:
Add stungrenade inside Config.Throwables and weapon_stungrenade inside Config.DurabilityMultiplier in the config.lua file.
Thanks to psycomantisx for providing info on adding throwable weapons to qs-inventory!
Similar to both ps and qb inventory you need to add the following: or weaponName == "weapon_stungrenade" then inside qs-inventory/client/custom/misc/UseWeapon.lua. If you are unsure of what line this is on then search for weapon_grenade and copy-paste it and replace the weapon name with weapon_stungrenade.
Add stungrenade inside the Config.Throwables table inside qs-inventory/config/weapons.lua.
Add weapon_stungrenade inside qs-inventory/config/weapons.lua, again you can search for and copy-paste the weapon_grenade entry.
Add weapon_stungrenade inside qs-inventory/shared/items.lua, again you can search and copy-paste weapon_grenade and then simply replace the needed data.
Add weapon_stungrenade inside qs-inventory/shared/weapons.lua (again use the search and copy-paste tactic).
Qbox (qbx_core)
Note 13.03.2024: This guide is outdated! I will update it soon!
Note: Since Qbox is in active development the following steps may be different in the future. This was last tested in late November 2023. The following steps are pretty close to the qbcore steps as of now.
Set Config.UseGameEvent to false in Config.lua inside the stungrenade resource.
Then add ["weapon_stungrenade"] = "Stun Grenade", and ["ammo_stungrenade"] = "stun grenade(s)", inside your preferred localization file (es_extended/locales/en.lua for example). You can skip this step if you put the text directly into the config.weapons.lua file (replacing the TranslateCap functions), however, I do recommend that you use esx's localization system if you can.
OX Inventory
Only add WEAPON_STUNGRENADE as a weapon, and NOT an item.
Set Config.OxInventory to true inside Config.lua inside the stungrenade resource.
Add 'WEAPON_STUNGRENADE' inside ox_inventory/data/weapons.lua like so (inside the Weapons table, NOT the Ammo table!):
elseif weaponName == 'weapon_stickybomb' or weaponName == 'weapon_pipebomb' or weaponName == 'weapon_smokegrenade' or weaponName == 'weapon_flare' or weaponName == 'weapon_proxmine' or weaponName == 'weapon_ball' or weaponName == 'weapon_molotov' or weaponName == 'weapon_grenade' or weaponName == 'weapon_bzgas' or weaponName == 'weapon_stungrenade' then
elseif weaponName == "weapon_stickybomb" or weaponName == "weapon_pipebomb" or weaponName == "weapon_smokegrenade" or weaponName == "weapon_flare" or weaponName == "weapon_proxmine" or weaponName == "weapon_ball" or weaponName == "weapon_molotov" or weaponName == "weapon_grenade" or weaponName == "weapon_bzgas" or weaponName == "weapon_stungrenade" then