Main/resources/[tools]/kq_outfitbag2/client/editable/editable.lua
2025-06-07 08:51:21 +02:00

97 lines
4 KiB
Lua

-- This function is responsible for creating the text shown on the bottom of the screen
function DrawMissionText(text, time)
SetTextEntry_2("STRING")
AddTextComponentString(text)
DrawSubtitleTimed(time or 30000, 1)
end
function TextInput(maxLen)
DisplayOnscreenKeyboard(10, "FMMC_KEY_TIP9N", "", "", "", "", "", maxLen or 16)
while (UpdateOnscreenKeyboard() == 0) do
DisableAllControlActions(0);
Wait(1);
end
if (GetOnscreenKeyboardResult()) then
return GetOnscreenKeyboardResult()
end
return nil
end
-- This function is responsible for drawing all the 3d texts ('Press [E] to open bag' e.g)
function Draw3DText(x, y, z, textInput, fontId, scaleX, scaleY)
local px, py, pz = table.unpack(GetGameplayCamCoords())
local dist = GetDistanceBetweenCoords(px, py, pz, x, y, z, true)
local scale = (1 / dist) * 20
local fov = (1 / GetGameplayCamFov()) * 100
scale = scale * fov
SetTextScale(scaleX * scale, scaleY * scale)
SetTextFont(fontId)
SetTextProportional(1)
SetTextDropshadow(1, 1, 1, 1, 255)
SetTextEdge(2, 0, 0, 0, 150)
SetTextDropShadow()
SetTextOutline()
SetTextEntry("STRING")
SetTextCentre(1)
AddTextComponentString(textInput)
SetDrawOrigin(x, y, z, 0)
DrawText(0.0, 0.0)
ClearDrawOrigin()
end
-- Triggered when bag gets opened
function OnBadOpened()
end
-- Triggered when bag gets closed
function OnBagClosed()
end
function OnPlayerApplyOutfit(oData, name)
--
if Config.clothingSystemSaving and Config.clothingSystemSaving.enabled then
local system = Config.clothingSystemSaving.system
if system == 'illenium-appearance' then
local appearance = exports['illenium-appearance']:getPedAppearance(PlayerPedId())
TriggerServerEvent("illenium-appearance:server:saveAppearance", appearance)
elseif system == 'fivem-appearance' then
local appearance = exports['fivem-appearance']:getPedAppearance(PlayerPedId())
TriggerServerEvent("fivem-appearance:server:saveAppearance", appearance)
elseif Contains({'qb-clothing', 'codem-appearance'}, system) then
local drawable = oData.drawable
local props = oData.props
local skin = {
outfitData = {
['t-shirt'] = { item = drawable.undershirt.drawable, texture = drawable.undershirt.texture },
['torso2'] = { item = drawable.tops.drawable, texture = drawable.tops.texture },
['ear'] = { item = props.ear.prop, texture = props.ear.texture },
['decals'] = { item = drawable.decals.drawable, texture = drawable.decals.texture },
['mask'] = { item = drawable.mask.drawable, texture = drawable.mask.texture },
['arms'] = { item = drawable.torso.drawable, texture = drawable.torso.texture },
['pants'] = { item = drawable.legs.drawable, texture = drawable.legs.texture },
['shoes'] = { item = drawable.feet.drawable, texture = drawable.feet.texture },
['hat'] = { item = props.helmet.drawable, texture = props.helmet.texture },
['accessory'] = { item = drawable.accessory.drawable, texture = drawable.accessory.texture },
['bag'] = { item = drawable.bag.drawable, texture = drawable.bag.texture },
['glass'] = { item = props.glasses.drawable, texture = props.glasses.texture },
['vest'] = { item = drawable.chest.drawable, texture = drawable.chest.texture },
}
}
TriggerEvent('qb-clothing:client:loadOutfit', skin)
end
end
end
if Config.debug then
RegisterCommand('outfit-output', function(source, args)
TriggerServerEvent('kq_outfitbag2:server:log', GetCurrentOutfitData(), args[1] or GetGameTimer())
end)
end