Skip to main content

Exports (Server-Side)

OpenShop

Abre a loja de skins para um jogador específico.
exports['rkt_skins']:OpenShop(playerId)
playerId
number
required
ID do jogador (source)
Exemplo:
-- Abrir loja para o jogador de ID 1
exports['rkt_skins']:OpenShop(1)

-- Abrir via comando custom
RegisterCommand('abrirlojadeskins', function(source)
    exports['rkt_skins']:OpenShop(source)
end)

Eventos (Server-Side)

rkt_skinshop:requestOpen

Solicita abertura da loja para o jogador que disparou o evento.
TriggerEvent('rkt_skinshop:requestOpen')

rkt_skinshop:openShop

Alias para requestOpen.
TriggerServerEvent('rkt_skinshop:openShop')

Eventos (Client-Side)

rkt_skinshop:addNotification

Adiciona uma notificação na UI.
TriggerClientEvent('rkt_skinshop:addNotification', playerId, {
    type = 'success',    -- 'success', 'error', 'info', 'warning'
    title = 'Título',
    message = 'Mensagem',
    timestamp = os.time() * 1000
})
type
string
required
Tipo da notificação: success, error, info, warning
title
string
required
Título da notificação
message
string
required
Mensagem da notificação

Bridge Functions

O sistema Bridge permite integração fácil com diferentes frameworks.

Server-Side

-- Obter identificador do jogador
local citizenid = Bridge.GetPlayerIdentifier(source)

-- Obter nome do jogador
local name = Bridge.GetPlayerName(source)

-- Verificar se é admin
local isAdmin = Bridge.IsPlayerAdmin(source)

-- Obter dinheiro
local cash = Bridge.GetPlayerMoney(source, 'cash')
local bank = Bridge.GetPlayerMoney(source, 'bank')
local coins = Bridge.GetPlayerMoney(source, 'coins')

-- Remover dinheiro
local success = Bridge.RemovePlayerMoney(source, 'cash', 1000)

-- Adicionar dinheiro
local success = Bridge.AddPlayerMoney(source, 'cash', 1000)

-- Enviar notificação
Bridge.Notify(source, 'Mensagem', 'success')

Client-Side

-- Obter dados do jogador
local playerData = BridgeClient.GetPlayerData()

-- Verificar se está logado
local isLoaded = BridgeClient.IsPlayerLoaded()

-- Enviar notificação
BridgeClient.Notify('Mensagem', 'success')

-- Obter arma atual
local weaponHash = BridgeClient.GetCurrentWeapon()

-- Verificar se possui arma
local hasWeapon = BridgeClient.HasWeapon(weaponHash)

-- Aplicar componente
BridgeClient.GiveWeaponComponent(weaponHash, componentHash)

-- Remover componente
BridgeClient.RemoveWeaponComponent(weaponHash, componentHash)

Exemplos de Integração

Abrir loja por comando

RegisterCommand('skins', function(source)
    exports['rkt_skins']:OpenShop(source)
end, false)

Abrir loja por target/interação

-- ox_target
exports.ox_target:addGlobalPed({
    {
        name = 'skin_vendor',
        icon = 'fas fa-paint-brush',
        label = 'Loja de Skins',
        onSelect = function()
            TriggerServerEvent('rkt_skinshop:openShop')
        end
    }
})

Notificação customizada

-- Server-side
TriggerClientEvent('rkt_skinshop:addNotification', source, {
    type = 'success',
    title = 'Skin Equipada!',
    message = 'Você equipou a skin Dragon Lore',
    timestamp = os.time() * 1000
})