chore(coding-style): change tabs to space

This commit is contained in:
Romain Lanz
2017-09-30 15:26:15 +02:00
parent 4bf26770d7
commit d283aa3bd2
8 changed files with 306 additions and 299 deletions
+9
View File
@@ -0,0 +1,9 @@
root = true
[*]
indent_size = 2
indent_style = space
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
+15 -17
View File
@@ -1,26 +1,24 @@
resource_manifest_version '44febabe-d386-4d18-afbe-5e627f4af937'
description 'ESX Skin'
version '1.0.1'
server_scripts {
'@es_extended/locale.lua',
'config.lua',
'locales/de.lua',
'locales/br.lua',
'locales/en.lua',
'locales/fr.lua',
'@mysql-async/lib/MySQL.lua',
'server/main.lua'
'@es_extended/locale.lua',
'config.lua',
'locales/de.lua',
'locales/br.lua',
'locales/en.lua',
'locales/fr.lua',
'@mysql-async/lib/MySQL.lua',
'server/main.lua',
}
client_scripts {
'@es_extended/locale.lua',
'config.lua',
'locales/de.lua',
'locales/br.lua',
'locales/en.lua',
'locales/fr.lua',
'client/main.lua'
'@es_extended/locale.lua',
'config.lua',
'locales/de.lua',
'locales/br.lua',
'locales/en.lua',
'locales/fr.lua',
'client/main.lua',
}
+228 -228
View File
@@ -2,361 +2,361 @@ ESX = nil
local FirstSpawn = true
local LastSkin = nil
local PlayerLoaded = false
local cam = nil
local cam = nil
local isCameraActive = false
local zoomOffset = 0.0
local camOffset = 0.0
local heading = 90.0
local zoomOffset = 0.0
local camOffset = 0.0
local heading = 90.0
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Citizen.Wait(0)
end
end)
function OpenMenu(submitCb, cancelCb, restrict)
local playerPed = GetPlayerPed(-1)
local playerPed = GetPlayerPed(-1)
TriggerEvent('skinchanger:getSkin', function(skin)
LastSkin = skin
end)
TriggerEvent('skinchanger:getSkin', function(skin)
LastSkin = skin
end)
TriggerEvent('skinchanger:getData', function(components, maxVals)
TriggerEvent('skinchanger:getData', function(components, maxVals)
local elements = {}
local _components = {}
local elements = {}
local _components = {}
-- Restrict menu
if restrict == nil then
for i=1, #components, 1 do
_components[i] = components[i]
end
else
for i=1, #components, 1 do
-- Restrict menu
if restrict == nil then
for i=1, #components, 1 do
_components[i] = components[i]
end
else
for i=1, #components, 1 do
local found = false
local found = false
for j=1, #restrict, 1 do
if components[i].name == restrict[j] then
found = true
end
end
for j=1, #restrict, 1 do
if components[i].name == restrict[j] then
found = true
end
end
if found then
table.insert(_components, components[i])
end
if found then
table.insert(_components, components[i])
end
end
end
end
end
-- Insert elements
for i=1, #_components, 1 do
-- Insert elements
for i=1, #_components, 1 do
local value = _components[i].value
local componentId = _components[i].componentId
local value = _components[i].value
local componentId = _components[i].componentId
if componentId == 0 then
value = GetPedPropIndex(playerPed, _components[i].componentId)
end
if componentId == 0 then
value = GetPedPropIndex(playerPed, _components[i].componentId)
end
local data = {
label = _components[i].label,
name = _components[i].name,
value = value,
min = _components[i].min,
textureof = _components[i].textureof,
zoomOffset= _components[i].zoomOffset,
camOffset = _components[i].camOffset,
type = 'slider'
}
local data = {
label = _components[i].label,
name = _components[i].name,
value = value,
min = _components[i].min,
textureof = _components[i].textureof,
zoomOffset= _components[i].zoomOffset,
camOffset = _components[i].camOffset,
type = 'slider'
}
for k,v in pairs(maxVals) do
if k == _components[i].name then
data.max = v
end
end
for k,v in pairs(maxVals) do
if k == _components[i].name then
data.max = v
end
end
table.insert(elements, data)
table.insert(elements, data)
end
end
CreateSkinCam()
zoomOffset = _components[1].zoomOffset
camOffset = _components[1].camOffset
CreateSkinCam()
zoomOffset = _components[1].zoomOffset
camOffset = _components[1].camOffset
ESX.UI.Menu.Open(
'default', GetCurrentResourceName(), 'skin',
{
title = _U('skin_menu'),
align = 'top-left',
elements = elements
},
function(data, menu)
ESX.UI.Menu.Open(
'default', GetCurrentResourceName(), 'skin',
{
title = _U('skin_menu'),
align = 'top-left',
elements = elements
},
function(data, menu)
TriggerEvent('skinchanger:getSkin', function(skin)
LastSkin = skin
end)
TriggerEvent('skinchanger:getSkin', function(skin)
LastSkin = skin
end)
submitCb(data, menu)
DeleteSkinCam()
end,
function(data, menu)
submitCb(data, menu)
DeleteSkinCam()
end,
function(data, menu)
menu.close()
menu.close()
DeleteSkinCam()
DeleteSkinCam()
TriggerEvent('skinchanger:loadSkin', LastSkin)
TriggerEvent('skinchanger:loadSkin', LastSkin)
if cancelCb ~= nil then
cancelCb(data, menu)
end
if cancelCb ~= nil then
cancelCb(data, menu)
end
end,
function(data, menu)
end,
function(data, menu)
TriggerEvent('skinchanger:getSkin', function(skin)
TriggerEvent('skinchanger:getSkin', function(skin)
zoomOffset = data.current.zoomOffset
camOffset = data.current.camOffset
zoomOffset = data.current.zoomOffset
camOffset = data.current.camOffset
if skin[data.current.name] ~= data.current.value then
if skin[data.current.name] ~= data.current.value then
-- Change skin element
TriggerEvent('skinchanger:change', data.current.name, data.current.value)
-- Change skin element
TriggerEvent('skinchanger:change', data.current.name, data.current.value)
-- Update max values
TriggerEvent('skinchanger:getData', function(components, maxVals)
-- Update max values
TriggerEvent('skinchanger:getData', function(components, maxVals)
for i=1, #elements, 1 do
for i=1, #elements, 1 do
local newData = {}
newData.max = maxVals[elements[i].name]
local newData = {}
if elements[i].textureof ~= nil and data.current.name == elements[i].textureof then
newData.value = 0
end
newData.max = maxVals[elements[i].name]
menu.update({name = elements[i].name}, newData)
if elements[i].textureof ~= nil and data.current.name == elements[i].textureof then
newData.value = 0
end
end
menu.update({name = elements[i].name}, newData)
menu.refresh()
end
end)
menu.refresh()
end
end)
end)
end
end,
function()
DeleteSkinCam()
end
)
end)
end)
end,
function()
DeleteSkinCam()
end
)
end)
end
function CreateSkinCam()
if not DoesCamExist(cam) then
cam = CreateCam('DEFAULT_SCRIPTED_CAMERA', true)
end
SetCamActive(cam, true)
RenderScriptCams(true, true, 500, true, true)
isCameraActive = true
SetCamRot(cam, 0.0, 0.0, 270.0, true)
SetEntityHeading(playerPed, 90.0)
if not DoesCamExist(cam) then
cam = CreateCam('DEFAULT_SCRIPTED_CAMERA', true)
end
SetCamActive(cam, true)
RenderScriptCams(true, true, 500, true, true)
isCameraActive = true
SetCamRot(cam, 0.0, 0.0, 270.0, true)
SetEntityHeading(playerPed, 90.0)
end
function DeleteSkinCam()
isCameraActive = false
SetCamActive(cam, false)
RenderScriptCams(false, true, 500, true, true)
cam = nil
isCameraActive = false
SetCamActive(cam, false)
RenderScriptCams(false, true, 500, true, true)
cam = nil
end
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
if isCameraActive then
DisableControlAction(2, 30, true)
DisableControlAction(2, 31, true)
DisableControlAction(2, 32, true)
DisableControlAction(2, 33, true)
DisableControlAction(2, 34, true)
DisableControlAction(2, 35, true)
while true do
Citizen.Wait(0)
if isCameraActive then
DisableControlAction(2, 30, true)
DisableControlAction(2, 31, true)
DisableControlAction(2, 32, true)
DisableControlAction(2, 33, true)
DisableControlAction(2, 34, true)
DisableControlAction(2, 35, true)
DisableControlAction(0, 25, true) -- Input Aim
DisableControlAction(0, 24, true) -- Input Attack
DisableControlAction(0, 25, true) -- Input Aim
DisableControlAction(0, 24, true) -- Input Attack
local playerPed = GetPlayerPed(-1)
local coords = GetEntityCoords(playerPed)
local playerPed = GetPlayerPed(-1)
local coords = GetEntityCoords(playerPed)
local angle = heading * math.pi / 180.0
local theta = {
x = math.cos(angle),
y = math.sin(angle)
}
local pos = {
x = coords.x + (zoomOffset * theta.x),
y = coords.y + (zoomOffset * theta.y),
}
local angle = heading * math.pi / 180.0
local theta = {
x = math.cos(angle),
y = math.sin(angle)
}
local pos = {
x = coords.x + (zoomOffset * theta.x),
y = coords.y + (zoomOffset * theta.y),
}
local angleToLook = heading - 140.0
if angleToLook > 360 then
angleToLook = angleToLook - 360
elseif angleToLook < 0 then
angleToLook = angleToLook + 360
end
angleToLook = angleToLook * math.pi / 180.0
local thetaToLook = {
x = math.cos(angleToLook),
y = math.sin(angleToLook)
}
local posToLook = {
x = coords.x + (zoomOffset * thetaToLook.x),
y = coords.y + (zoomOffset * thetaToLook.y),
}
local angleToLook = heading - 140.0
if angleToLook > 360 then
angleToLook = angleToLook - 360
elseif angleToLook < 0 then
angleToLook = angleToLook + 360
end
angleToLook = angleToLook * math.pi / 180.0
local thetaToLook = {
x = math.cos(angleToLook),
y = math.sin(angleToLook)
}
local posToLook = {
x = coords.x + (zoomOffset * thetaToLook.x),
y = coords.y + (zoomOffset * thetaToLook.y),
}
SetCamCoord(cam, pos.x, pos.y, coords.z + camOffset)
PointCamAtCoord(cam, posToLook.x, posToLook.y, coords.z + camOffset)
SetCamCoord(cam, pos.x, pos.y, coords.z + camOffset)
PointCamAtCoord(cam, posToLook.x, posToLook.y, coords.z + camOffset)
SetTextComponentFormat("STRING")
AddTextComponentString(_U('use_rotate_view'))
DisplayHelpTextFromStringLabel(0, 0, 0, -1)
end
end
SetTextComponentFormat("STRING")
AddTextComponentString(_U('use_rotate_view'))
DisplayHelpTextFromStringLabel(0, 0, 0, -1)
end
end
end)
Citizen.CreateThread(function()
local angle = 90
while true do
Citizen.Wait(0)
if isCameraActive then
if IsControlPressed(0, 108) then
angle = angle - 1
elseif IsControlPressed(0, 109) then
angle = angle + 1
end
if angle > 360 then
angle = angle - 360
elseif angle < 0 then
angle = angle + 360
end
heading = angle + 0.0
end
end
local angle = 90
while true do
Citizen.Wait(0)
if isCameraActive then
if IsControlPressed(0, 108) then
angle = angle - 1
elseif IsControlPressed(0, 109) then
angle = angle + 1
end
if angle > 360 then
angle = angle - 360
elseif angle < 0 then
angle = angle + 360
end
heading = angle + 0.0
end
end
end)
function OpenSaveableMenu(submitCb, cancelCb, restrict)
TriggerEvent('skinchanger:getSkin', function(skin)
LastSkin = skin
end)
TriggerEvent('skinchanger:getSkin', function(skin)
LastSkin = skin
end)
OpenMenu(function(data, menu)
OpenMenu(function(data, menu)
menu.close()
menu.close()
DeleteSkinCam()
DeleteSkinCam()
TriggerEvent('skinchanger:getSkin', function(skin)
TriggerEvent('skinchanger:getSkin', function(skin)
TriggerServerEvent('esx_skin:save', skin)
TriggerServerEvent('esx_skin:save', skin)
if submitCb ~= nil then
submitCb(data, menu)
end
if submitCb ~= nil then
submitCb(data, menu)
end
end)
end)
end, cancelCb, restrict)
end, cancelCb, restrict)
end
AddEventHandler('playerSpawned', function()
Citizen.CreateThread(function()
Citizen.CreateThread(function()
while not PlayerLoaded do
Citizen.Wait(0)
end
while not PlayerLoaded do
Citizen.Wait(0)
end
if FirstSpawn then
if FirstSpawn then
ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin)
ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin)
if skin == nil then
TriggerEvent('skinchanger:loadSkin', {sex = 0}, OpenSaveableMenu)
else
TriggerEvent('skinchanger:loadSkin', skin)
end
if skin == nil then
TriggerEvent('skinchanger:loadSkin', {sex = 0}, OpenSaveableMenu)
else
TriggerEvent('skinchanger:loadSkin', skin)
end
end)
end)
FirstSpawn = false
FirstSpawn = false
end
end
end)
end)
end)
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(xPlayer)
PlayerLoaded = true
PlayerLoaded = true
end)
AddEventHandler('esx_skin:getLastSkin', function(cb)
cb(LastSkin)
cb(LastSkin)
end)
AddEventHandler('esx_skin:setLastSkin', function(skin)
LastSkin = skin
LastSkin = skin
end)
RegisterNetEvent('esx_skin:openMenu')
AddEventHandler('esx_skin:openMenu', function(submitCb, cancelCb)
OpenMenu(submitCb, cancelCb, nil)
OpenMenu(submitCb, cancelCb, nil)
end)
RegisterNetEvent('esx_skin:openRestrictedMenu')
AddEventHandler('esx_skin:openRestrictedMenu', function(submitCb, cancelCb, restrict)
OpenMenu(submitCb, cancelCb, restrict)
OpenMenu(submitCb, cancelCb, restrict)
end)
RegisterNetEvent('esx_skin:openSaveableMenu')
AddEventHandler('esx_skin:openSaveableMenu', function(submitCb, cancelCb)
OpenSaveableMenu(submitCb, cancelCb, nil)
OpenSaveableMenu(submitCb, cancelCb, nil)
end)
RegisterNetEvent('esx_skin:openSaveableRestrictedMenu')
AddEventHandler('esx_skin:openSaveableRestrictedMenu', function(submitCb, cancelCb, restrict)
OpenSaveableMenu(submitCb, cancelCb, restrict)
OpenSaveableMenu(submitCb, cancelCb, restrict)
end)
RegisterNetEvent('esx_skin:requestSaveSkin')
AddEventHandler('esx_skin:requestSaveSkin', function()
TriggerEvent('skinchanger:getSkin', function(skin)
TriggerServerEvent('esx_skin:responseSaveSkin', skin)
end)
TriggerEvent('skinchanger:getSkin', function(skin)
TriggerServerEvent('esx_skin:responseSaveSkin', skin)
end)
end)
Citizen.CreateThread(function()
while true do
while true do
Citizen.Wait(0)
Citizen.Wait(0)
local playerPed = GetPlayerPed(-1)
local playerPed = GetPlayerPed(-1)
if IsEntityDead(playerPed) then
HasLoadedModel = false
end
if IsEntityDead(playerPed) then
HasLoadedModel = false
end
end
end
end)
+4 -4
View File
@@ -1,8 +1,8 @@
Locales['br'] = {
['skin_menu'] = 'Skin Menu',
['use_rotate_view'] = 'Use ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ e ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ para girar a visão.',
['skin'] = 'Trocar',
['saveskin'] = 'Salvar',
['skin_menu'] = 'Skin Menu',
['use_rotate_view'] = 'Use ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ e ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ para girar a visão.',
['skin'] = 'Trocar',
['saveskin'] = 'Salvar',
}
+4 -4
View File
@@ -1,8 +1,8 @@
Locales['de'] = {
['skin_menu'] = 'Skin Menü',
['use_rotate_view'] = 'benutze ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ und ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ um die Sicht zu drehen.',
['skin'] = 'Skin ändern',
['saveskin'] = 'Skin speichern',
['skin_menu'] = 'Skin Menü',
['use_rotate_view'] = 'benutze ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ und ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ um die Sicht zu drehen.',
['skin'] = 'Skin ändern',
['saveskin'] = 'Skin speichern',
}
+4 -4
View File
@@ -1,8 +1,8 @@
Locales['en'] = {
['skin_menu'] = 'Skin Menu',
['use_rotate_view'] = 'use ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ and ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ to rotate the view.',
['skin'] = 'change skin',
['saveskin'] = 'save skin to a file',
['skin_menu'] = 'Skin Menu',
['use_rotate_view'] = 'use ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ and ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ to rotate the view.',
['skin'] = 'change skin',
['saveskin'] = 'save skin to a file',
}
+4 -4
View File
@@ -1,8 +1,8 @@
Locales['fr'] = {
['skin_menu'] = 'Skin Menu',
['use_rotate_view'] = 'utilisez ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ et ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ pour tourner la vue.',
['skin'] = 'changer de skin',
['saveskin'] = 'sauvegarder skin dans un fichier',
['skin_menu'] = 'Skin Menu',
['use_rotate_view'] = 'utilisez ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ et ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ pour tourner la vue.',
['skin'] = 'changer de skin',
['saveskin'] = 'sauvegarder skin dans un fichier',
}
+38 -38
View File
@@ -5,68 +5,68 @@ TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
RegisterServerEvent('esx_skin:save')
AddEventHandler('esx_skin:save', function(skin)
local xPlayer = ESX.GetPlayerFromId(source)
local xPlayer = ESX.GetPlayerFromId(source)
MySQL.Async.execute(
'UPDATE users SET `skin` = @skin WHERE identifier = @identifier',
{
['@skin'] = json.encode(skin),
['@identifier'] = xPlayer.identifier
}
)
MySQL.Async.execute(
'UPDATE users SET `skin` = @skin WHERE identifier = @identifier',
{
['@skin'] = json.encode(skin),
['@identifier'] = xPlayer.identifier
}
)
end)
RegisterServerEvent('esx_skin:responseSaveSkin')
AddEventHandler('esx_skin:responseSaveSkin', function(skin)
local file = io.open('resources/[esx]/esx_skin/skins.txt', "a")
file:write(json.encode(skin) .. "\n\n")
file:flush()
file:close()
local file = io.open('resources/[esx]/esx_skin/skins.txt', "a")
file:write(json.encode(skin) .. "\n\n")
file:flush()
file:close()
end)
ESX.RegisterServerCallback('esx_skin:getPlayerSkin', function(source, cb)
local xPlayer = ESX.GetPlayerFromId(source)
local xPlayer = ESX.GetPlayerFromId(source)
MySQL.Async.fetchAll(
'SELECT * FROM users WHERE identifier = @identifier',
{
['@identifier'] = xPlayer.identifier
},
function(users)
MySQL.Async.fetchAll(
'SELECT * FROM users WHERE identifier = @identifier',
{
['@identifier'] = xPlayer.identifier
},
function(users)
local user = users[1]
local skin = nil
local user = users[1]
local skin = nil
local jobSkin = {
skin_male = xPlayer.job.skin_male,
skin_female = xPlayer.job.skin_female
}
local jobSkin = {
skin_male = xPlayer.job.skin_male,
skin_female = xPlayer.job.skin_female
}
if user.skin ~= nil then
skin = json.decode(user.skin)
end
if user.skin ~= nil then
skin = json.decode(user.skin)
end
cb(skin, jobSkin)
cb(skin, jobSkin)
end
)
end
)
end)
-- Commands
TriggerEvent('es:addGroupCommand', 'skin', 'admin', function(source, args, user)
TriggerClientEvent('esx_skin:openSaveableMenu', source)
TriggerClientEvent('esx_skin:openSaveableMenu', source)
end, function(source, args, user)
TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, 'Insufficient permissions!')
TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, 'Insufficient permissions!')
end, {help = _U('skin')})
TriggerEvent('es:addGroupCommand', 'saveskin', 'admin', function(source, args, user)
TriggerClientEvent('esx_skin:requestSaveSkin', source)
TriggerClientEvent('esx_skin:requestSaveSkin', source)
end, function(source, args, user)
TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficient Permissions.")
end, {help = _U('saveskin')})
TriggerClientEvent('chatMessage', source, "SYSTEM", {255, 0, 0}, "Insufficient Permissions.")
end, {help = _U('saveskin')})