Ir al contenido

Exports, eventos y hooks ​

El código está protegido con escrow, pero estos exports, eventos y hooks de la config dejan que tus otros scripts trabajen con ZAIDERS Appearance.

Exports del cliente ​

openShop ​

Abre un menú donde esté el jugador: el armario de una casa, el vestuario de un trabajo, una zona de ox_target en una tienda.

lua
exports.zaiders_appearance:openShop('clothing')                      -- la tienda de ropa
exports.zaiders_appearance:openShop('barber')                        -- la barbería
exports.zaiders_appearance:openShop('tattoo')                        -- la tienda de tatuajes
exports.zaiders_appearance:openShop('wardrobe')                      -- outfits y uniformes
exports.zaiders_appearance:openShop('wardrobe', { tab = 'job' })     -- directo a los uniformes del trabajo
exports.zaiders_appearance:openShop('wardrobe', { tab = 'gang' })    -- directo a los uniformes de la banda

Devuelve true cuando el tipo es válido y el menú va en camino, y false con un tipo desconocido. Las reglas de siempre se mantienen: el jugador no puede estar muerto, caído ni esposado, se consulta Config.CanOpenMenu, y el servidor revisa cada pago y cada guardado, abra donde abra el menú.

lua
-- Una zona de ox_target que abre el guardarropa de una comisaría
exports.ox_target:addBoxZone({
    coords = vec3(461.5, -998.1, 30.6),
    size = vec3(2, 2, 2),
    options = {
        {
            label = 'Vestuario',
            icon = 'fa-solid fa-shirt',
            groups = 'police',
            onSelect = function()
                exports.zaiders_appearance:openShop('wardrobe', { tab = 'job' })
            end,
        },
    },
})

isOpen ​

lua
if exports.zaiders_appearance:isOpen() then
    -- hay un menú abierto, o abriéndose
end

Exports del servidor ​

ownsPed ​

Si el personaje actual de un jugador tiene un ped de la tienda de peds (comprado, regalado o canjeado con un código):

lua
local tiene = exports.zaiders_appearance:ownsPed(source, 'a_c_chop')  -- true o false

Eventos del cliente ​

HUD ​

Se dispara al abrir y al cerrar un menú o el panel. Tu HUD lo puede escuchar para esconderse:

lua
-- hidden: true al abrir un menú, false al cerrarlo
-- menu: 'clothing', 'barber', 'tattoo', 'wardrobe', 'creator' o 'panel'
AddEventHandler('zaiders_appearance:hud', function(hidden, menu)
    -- tu HUD acá
end)

Si tu HUD tiene un export para mostrarse y esconderse, no hace falta código: agrégalo en Config.HideHud.resources. Ver la Referencia de la config.

Creador cerrado ​

Se dispara cuando se cierra el creador de personaje, normalmente justo después de guardar el personaje nuevo:

lua
AddEventHandler('zaiders_appearance:creator:closed', function()
    -- por ejemplo, mostrar tu selector de aparición
end)

Hooks de la config ​

shared/config.lua está abierto, así que puedes escribir ahí funciones chicas que corren en el juego del jugador.

Tus notificaciones ​

lua
Config.Notify = function(text, kind)
    -- kind: 'inform', 'success' o 'error'
    exports['mis_avisos']:Notify(text, kind)
end

Tu propia regla para abrir los menús ​

lua
Config.CanOpenMenu = function()
    -- devuelve false para no abrir el menú, por ejemplo en una persecución
    return not LocalPlayer.state.enPersecucion
end

Tu HUD ​

lua
Config.HideHud = {
    enabled = true,
    resources = {
        { resource = 'mi-hud', export = 'SetHudVisible' },                    -- recibe false al abrir, true al cerrar
        { resource = 'otro-hud', event = 'otro-hud:toggle', hide = false, show = true },
        { resource = 'tercer-hud', export = 'SetVisible', changed = 'tercer-hud:changed' },
    },
    custom = function(hidden, menu)
        -- cualquier otra cosa
    end,
}

Exports de otros menús de ropa ​

ZAIDERS Appearance también contesta los exports y eventos de illenium-appearance, fivem-appearance, qb-clothing y de skinchanger y esx_skin de ESX, mientras esos recursos no están prendidos. Los scripts hechos para ellos funcionan sin cambios. Ver Frameworks y compatibilidad.

El formato de la apariencia ​

La apariencia se guarda en el formato de apariencia de QBCore, el mismo JSON que usan illenium-appearance y qb-clothing, en playerskins.skin (QBCore y Qbox), o en el formato de skinchanger en users.skin (ESX). En el menú, Peds → JSON del personaje copia la apariencia de un personaje en ese formato. Los admins también pueden pegar uno ahí.

Relacionado ​

Soporte para los clothing packs y scripts de FiveM de Zaiders Store.