110 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
-- Export used for ox_inventory
 | 
						|
exports('UseBag', function(event, item, inventory)
 | 
						|
    -- Player is attempting to use the item.
 | 
						|
    if event == 'usingItem' then
 | 
						|
        local player = inventory.id
 | 
						|
        TriggerClientEvent('kq_outfitbag2:client:place', player, item.name, item.name)
 | 
						|
        return true
 | 
						|
    end
 | 
						|
end)
 | 
						|
 | 
						|
 | 
						|
RegisterServerEvent('kq_outfitbag2:server:log')
 | 
						|
AddEventHandler('kq_outfitbag2:server:log', function(outfit, name)
 | 
						|
    local data = '{\n'
 | 
						|
    
 | 
						|
    data = data .. '  name = "' .. name .. '",\n'
 | 
						|
    data = data .. '  model = ' .. GetEntityModel(GetPlayerPed(source)) .. ',\n'
 | 
						|
    data = data .. '  drawable = {\n'
 | 
						|
    
 | 
						|
    for k, drawable in pairs(outfit.drawable) do
 | 
						|
        data = data .. '    ' .. k .. ' = { drawable = ' .. drawable.drawable ..  ', texture = ' .. drawable.texture .. ', palette = ' .. drawable.palette .. ' }, \n'
 | 
						|
    end
 | 
						|
    
 | 
						|
    data = data .. '  },\n'
 | 
						|
    data = data .. '  props = {\n'
 | 
						|
    
 | 
						|
    for k, drawable in pairs(outfit.props) do
 | 
						|
        data = data .. '    ' .. k .. ' = { prop = ' .. drawable.prop ..  ', texture = ' .. drawable.texture .. ' }, \n'
 | 
						|
    end
 | 
						|
    
 | 
						|
    data = data .. '  },\n},'
 | 
						|
    
 | 
						|
    SaveResourceFile(GetCurrentResourceName(), 'outfit-outputs/' .. name .. '.txt', data, -1)
 | 
						|
end)
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
local sqlDriver = Config.sql.driver
 | 
						|
 | 
						|
function GetSavedPlayerOutfits(player)
 | 
						|
    local identifier = _GetPlayerIdentifier(player)
 | 
						|
 | 
						|
    local query = 'SELECT * FROM kq_extra WHERE `tag` = @tag AND `player` = @player ORDER BY `id`'
 | 
						|
    local data = {
 | 
						|
        ['@tag'] = DB_TAG,
 | 
						|
        ['@player'] = identifier,
 | 
						|
    }
 | 
						|
 | 
						|
    return SqlQuery(query, data)
 | 
						|
end
 | 
						|
 | 
						|
function SaveOutfit(player, outfit)
 | 
						|
    local identifier = _GetPlayerIdentifier(player)
 | 
						|
 | 
						|
    local mutation = 'INSERT INTO kq_extra (`player`, `tag`, `data`) VALUES(@player, @tag, @data);'
 | 
						|
    local data = {
 | 
						|
        ['@player'] = identifier,
 | 
						|
        ['@tag'] = DB_TAG,
 | 
						|
        ['@data'] = json.encode(outfit),
 | 
						|
    }
 | 
						|
    
 | 
						|
    SqlMutate(mutation, data)
 | 
						|
end
 | 
						|
 | 
						|
function DeleteOutfit(player, outfitId)
 | 
						|
    local identifier = _GetPlayerIdentifier(player)
 | 
						|
 | 
						|
    local mutation = 'DELETE FROM kq_extra WHERE `player` = @player AND `tag` = @tag AND `id` = @id;'
 | 
						|
    local data = {
 | 
						|
        ['@player'] = identifier,
 | 
						|
        ['@tag'] = DB_TAG,
 | 
						|
        ['@id'] = outfitId,
 | 
						|
    }
 | 
						|
 | 
						|
    SqlMutate(mutation, data)
 | 
						|
end
 | 
						|
 | 
						|
function SqlQuery(query, data)
 | 
						|
    if sqlDriver == 'mysql' then
 | 
						|
        return MySQL.Sync.fetchAll(query, data or {})
 | 
						|
    end
 | 
						|
 | 
						|
    if sqlDriver == 'oxmysql' then
 | 
						|
        if Config.sql.newOxMysql then
 | 
						|
            return exports[sqlDriver]:fetchSync(query, data)
 | 
						|
        end
 | 
						|
        return exports[sqlDriver]:query_async(query, data)
 | 
						|
    else
 | 
						|
        return exports[sqlDriver]:executeSync(query, data)
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
function SqlMutate(query, data)
 | 
						|
    if sqlDriver == 'mysql' then
 | 
						|
        MySQL.Sync.insert(query, data)
 | 
						|
        return
 | 
						|
    end
 | 
						|
 | 
						|
    if sqlDriver == 'oxmysql' then
 | 
						|
        exports[sqlDriver]:insertSync(query, data)
 | 
						|
    else
 | 
						|
        exports[sqlDriver]:executeSync(query, data)
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
if not Config.esxSettings.enabled and not Config.qbSettings.enabled then
 | 
						|
    function _GetPlayerIdentifier(player)
 | 
						|
        return GetPlayerIdentifierByType(player, 'license')
 | 
						|
    end
 | 
						|
end
 |