72 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
RegisterNetEvent(Config.InventoryPrefix .. ':client:UseWeapon', function(weaponData, shootbool)
 | 
						|
    if FiringWeapon then
 | 
						|
        SendTextMessage(Lang('INVENTORY_NOTIFICATION_STOP_FIRING'), 'error')
 | 
						|
        return false
 | 
						|
    end
 | 
						|
    local ped = PlayerPedId()
 | 
						|
    local weaponName = tostring(weaponData.name)
 | 
						|
    local weaponHash = joaat(weaponData.name)
 | 
						|
    for i = 1, #Config.WeaponTints do
 | 
						|
        if tostring(GetHashKey(weaponName)) == Config.WeaponTints[i].hash then
 | 
						|
            AddReplaceTexture(Config.WeaponTints[i].ytd, Config.WeaponTints[i].texture, Config.WeaponTints[i].ytd, Config.WeaponTints[i].texture)
 | 
						|
            break
 | 
						|
        end
 | 
						|
    end
 | 
						|
    if currentWeapon == weaponName then
 | 
						|
        TriggerEvent('weapons:client:DrawWeapon', nil)
 | 
						|
        SetCurrentPedWeapon(ped, `WEAPON_UNARMED`, true)
 | 
						|
        RemoveAllPedWeapons(ped, true)
 | 
						|
        TriggerEvent('weapons:client:SetCurrentWeapon', nil, shootbool)
 | 
						|
        currentWeapon = nil
 | 
						|
    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' then
 | 
						|
        TriggerEvent('weapons:client:DrawWeapon', weaponName)
 | 
						|
        GiveWeaponToPed(ped, weaponHash, 1, false, false)
 | 
						|
        SetPedAmmo(ped, weaponHash, 1)
 | 
						|
        SetCurrentPedWeapon(ped, weaponHash, true)
 | 
						|
        TriggerEvent('weapons:client:SetCurrentWeapon', weaponData, shootbool)
 | 
						|
        TriggerServerEvent(Config.InventoryPrefix .. ':server:RemoveItem', weaponName, 1)
 | 
						|
        currentWeapon = weaponName
 | 
						|
    elseif weaponName == 'weapon_snowball' then
 | 
						|
        TriggerEvent('weapons:client:DrawWeapon', weaponName)
 | 
						|
        GiveWeaponToPed(ped, weaponHash, 10, false, false)
 | 
						|
        SetPedAmmo(ped, weaponHash, 10)
 | 
						|
        SetCurrentPedWeapon(ped, weaponHash, true)
 | 
						|
        TriggerServerEvent(Config.InventoryPrefix .. ':server:snowball', 'remove')
 | 
						|
        TriggerEvent('weapons:client:SetCurrentWeapon', weaponData, shootbool)
 | 
						|
        currentWeapon = weaponName
 | 
						|
    elseif weaponName == 'weapon_petrolcan' then
 | 
						|
        GiveWeaponToPed(ped, weaponHash, 10, false, false)
 | 
						|
        SetPedAmmo(ped, weaponHash, weaponData.info.ammo or 4500)
 | 
						|
        SetCurrentPedWeapon(ped, weaponHash, true)
 | 
						|
        TriggerEvent('weapons:client:SetCurrentWeapon', weaponData, shootbool)
 | 
						|
        currentWeapon = weaponName
 | 
						|
    else
 | 
						|
        TriggerEvent('weapons:client:DrawWeapon', weaponName)
 | 
						|
        TriggerEvent('weapons:client:SetCurrentWeapon', weaponData, shootbool)
 | 
						|
        local ammo = tonumber(weaponData.info.ammo) or 0
 | 
						|
 | 
						|
        if weaponName == 'weapon_petrolcan' or weaponName == 'weapon_fireextinguisher' then
 | 
						|
            ammo = 4000
 | 
						|
        end
 | 
						|
 | 
						|
        GiveWeaponToPed(ped, weaponHash, ammo, false, false)
 | 
						|
        SetPedAmmo(ped, weaponHash, ammo)
 | 
						|
        SetCurrentPedWeapon(ped, weaponHash, true)
 | 
						|
 | 
						|
        if weaponData.info.attachments then
 | 
						|
            for _, attachment in pairs(weaponData.info.attachments) do
 | 
						|
                if attachment.tint then
 | 
						|
                    if attachment.urltint ~= 'none' then
 | 
						|
                        ChangeWeaponTintWithUrl(weaponHash, attachment.urltint)
 | 
						|
                    else
 | 
						|
                        SetPedWeaponTintIndex(ped, weaponHash, attachment.tint)
 | 
						|
                    end
 | 
						|
                else
 | 
						|
                    GiveWeaponComponentToPed(ped, weaponHash, joaat(attachment.component))
 | 
						|
                end
 | 
						|
            end
 | 
						|
        end
 | 
						|
 | 
						|
        currentWeapon = weaponName
 | 
						|
    end
 | 
						|
end)
 |