Scripts/resources/[il]/illenium-appearance/game/nui.lua

137 lines
3.9 KiB
Lua
Raw Permalink Normal View History

2024-12-29 19:49:12 +00:00
local client = client
RegisterNUICallback("appearance_get_locales", function(_, cb)
cb(Locales[GetConvar("illenium-appearance:locale", "en")].UI)
end)
RegisterNUICallback("appearance_get_settings", function(_, cb)
cb({ appearanceSettings = client.getAppearanceSettings() })
end)
RegisterNUICallback("appearance_get_data", function(_, cb)
Wait(250)
local appearanceData = client.getAppearance()
if appearanceData.tattoos then
client.setPedTattoos(cache.ped, appearanceData.tattoos)
end
cb({ config = client.getConfig(), appearanceData = appearanceData })
end)
RegisterNUICallback("appearance_set_camera", function(camera, cb)
cb(1)
client.setCamera(camera)
end)
RegisterNUICallback("appearance_turn_around", function(_, cb)
cb(1)
client.pedTurn(cache.ped, 180.0)
end)
RegisterNUICallback("appearance_rotate_camera", function(direction, cb)
cb(1)
client.rotateCamera(direction)
end)
RegisterNUICallback("appearance_change_model", function(model, cb)
local playerPed = client.setPlayerModel(model)
SetEntityHeading(cache.ped, client.getHeading())
SetEntityInvincible(playerPed, true)
TaskStandStill(playerPed, -1)
cb({
appearanceSettings = client.getAppearanceSettings(),
appearanceData = client.getPedAppearance(playerPed)
})
end)
RegisterNUICallback("appearance_change_component", function(component, cb)
client.setPedComponent(cache.ped, component)
cb(client.getComponentSettings(cache.ped, component.component_id))
end)
RegisterNUICallback("appearance_change_prop", function(prop, cb)
client.setPedProp(cache.ped, prop)
cb(client.getPropSettings(cache.ped, prop.prop_id))
end)
RegisterNUICallback("appearance_change_head_blend", function(headBlend, cb)
cb(1)
client.setPedHeadBlend(cache.ped, headBlend)
end)
RegisterNUICallback("appearance_change_face_feature", function(faceFeatures, cb)
cb(1)
client.setPedFaceFeatures(cache.ped, faceFeatures)
end)
RegisterNUICallback("appearance_change_head_overlay", function(headOverlays, cb)
cb(1)
client.setPedHeadOverlays(cache.ped, headOverlays)
end)
RegisterNUICallback("appearance_change_hair", function(hair, cb)
client.setPedHair(cache.ped, hair)
cb(client.getHairSettings(cache.ped))
end)
RegisterNUICallback("appearance_change_eye_color", function(eyeColor, cb)
cb(1)
client.setPedEyeColor(cache.ped, eyeColor)
end)
RegisterNUICallback("appearance_apply_tattoo", function(data, cb)
local paid = not data.tattoo or not Config.ChargePerTattoo or lib.callback.await("illenium-appearance:server:payForTattoo", false, data.tattoo)
if paid then
client.addPedTattoo(cache.ped, data.updatedTattoos or data)
end
cb(paid)
end)
RegisterNUICallback("appearance_preview_tattoo", function(previewTattoo, cb)
cb(1)
client.setPreviewTattoo(cache.ped, previewTattoo.data, previewTattoo.tattoo)
end)
RegisterNUICallback("appearance_delete_tattoo", function(data, cb)
cb(1)
client.removePedTattoo(cache.ped, data)
end)
RegisterNUICallback("appearance_wear_clothes", function(dataWearClothes, cb)
cb(1)
client.wearClothes(dataWearClothes.data, dataWearClothes.key)
end)
RegisterNUICallback("appearance_remove_clothes", function(clothes, cb)
cb(1)
client.removeClothes(clothes)
end)
RegisterNUICallback("appearance_save", function(appearance, cb)
cb(1)
client.wearClothes(appearance, "head")
client.wearClothes(appearance, "body")
client.wearClothes(appearance, "bottom")
client.exitPlayerCustomization(appearance)
end)
RegisterNUICallback("appearance_exit", function(_, cb)
cb(1)
client.exitPlayerCustomization()
end)
RegisterNUICallback("rotate_left", function(_, cb)
cb(1)
client.pedTurn(cache.ped, 10.0)
end)
RegisterNUICallback("rotate_right", function(_, cb)
cb(1)
client.pedTurn(cache.ped, -10.0)
end)
RegisterNUICallback("get_theme_configuration", function(_, cb)
cb(Config.Theme)
end)