From a59c3a984be62a6cb8dd05b15e45e7a8f989863f Mon Sep 17 00:00:00 2001 From: nlmarcio Date: Sat, 12 Aug 2017 23:06:22 +0200 Subject: [PATCH] Add Weapon pickup Allows you to drop your weapon from the inventory. Possibility to spawn the weapon on the ground by activating Config.EnableWeaponPickup in config.lua --- resources/[essential]/es_extended/client/main.lua | 11 ++++++++++- resources/[essential]/es_extended/config.lua | 1 + resources/[essential]/es_extended/server/main.lua | 9 +++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/resources/[essential]/es_extended/client/main.lua b/resources/[essential]/es_extended/client/main.lua index 66a26500..416db725 100644 --- a/resources/[essential]/es_extended/client/main.lua +++ b/resources/[essential]/es_extended/client/main.lua @@ -373,4 +373,13 @@ if Config.DisableWantedLevel then end end) -end \ No newline at end of file +end + +-- Pickup Weapon +RegisterNetEvent('esx:pickupWeapon') +AddEventHandler('esx:pickupWeapon', function(weaponPickup, weaponName) + local ped = GetPlayerPed(-1) + local playerPedPos = GetEntityCoords(ped, true) + CreateAmbientPickup(GetHashKey(weaponPickup), playerPedPos.x + 2.0, playerPedPos.y, playerPedPos.z + 0.5, 0, 999, 1, false, true) + +end) diff --git a/resources/[essential]/es_extended/config.lua b/resources/[essential]/es_extended/config.lua index b372f0eb..d87401a8 100644 --- a/resources/[essential]/es_extended/config.lua +++ b/resources/[essential]/es_extended/config.lua @@ -7,3 +7,4 @@ Config.ShowDotAbovePlayer = false Config.DisableWantedLevel = true Config.RemoveInventoryItemDelay = 5 * 60000 Config.Locale = 'fr' +Config.EnableWeaponPickup = false diff --git a/resources/[essential]/es_extended/server/main.lua b/resources/[essential]/es_extended/server/main.lua index 2523e3e8..1e1ffd03 100644 --- a/resources/[essential]/es_extended/server/main.lua +++ b/resources/[essential]/es_extended/server/main.lua @@ -479,17 +479,26 @@ AddEventHandler('esx:removeInventoryItem', function(type, itemName, itemCount) elseif type == 'item_weapon' then + local xPlayer = ESX.GetPlayerFromId(source) + local weaponLabel = itemName + local weaponName = nil + local weaponPickup = nil for i=1, #Config.Weapons, 1 do if Config.Weapons[i].name == itemName then weaponLabel = Config.Weapons[i].label + weaponName = Config.Weapons[i].name + weaponPickup = 'PICKUP_'..weaponName break end end SetTimeout(Config.RemoveInventoryItemDelay, function() xPlayer.removeWeapon(itemName) + if Config.EnableWeaponPickup then + TriggerClientEvent('esx:pickupWeapon', _source, weaponPickup, weaponName) + end TriggerClientEvent('esx:showNotification', _source, 'Vous avez ~r~jeté~s~ x1 ' .. ' ~g~' .. weaponLabel) end)