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
 | 
