Exports (Server-Side)
OpenShop
Abre a loja de skins para um jogador específico.
exports['rkt_skins']:OpenShop(playerId)
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
})
Tipo da notificação: success, error, info, warning
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
})