🖥️ Funções Client
Esta página documenta todas as funções disponíveis no lado do cliente que você pode usar ou personalizar.
📍 Blips (blips.lua)
Gerenciamento de blips no mapa durante as corridas.
Blips.create
Cria um blip no mapa para um checkpoint.
function Blips.create(blipConfigs, id, coords, last, route)
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|
blipConfigs | table | Configuração do blip |
id | number | ID do checkpoint |
coords | table | Coordenadas {x, y, z} |
last | boolean | Se é o último checkpoint |
route | boolean | Se deve marcar rota no mapa |
Retorno: number? - ID do blip criado ou nil
Blips.delete
Remove um blip do mapa.
function Blips.delete(blipId)
🎥 Câmera (camera.lua)
Animações cinematográficas de câmera.
Camera.raceStartAnimation
Executa a animação de câmera no início da corrida.
function Camera.raceStartAnimation()
A função cria 3 câmeras em diferentes ângulos e faz transições suaves entre elas:
- Câmera 1: Vista lateral do veículo
- Câmera 2: Vista frontal diagonal
- Câmera 3: Vista do outro lado
A animação só é executada se Config.raceStartCamAnim = true.
🎯 Checkpoints (checkpoints.lua)
Sistema de criação e gerenciamento de checkpoints.
Checkpoints.init
Inicializa o módulo com suas dependências.
function Checkpoints.init(particles, blips, props)
Checkpoints.draw
Desenha um checkpoint com todos seus elementos visuais.
function Checkpoints.draw(id, mode, last, coords, nCoords, drawNext)
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|
id | number | ID do checkpoint |
mode | string | "preview", "racing", "racing_next" |
last | boolean | Se é o último checkpoint |
coords | table | Coordenadas do checkpoint |
nCoords | table? | Coordenadas do próximo checkpoint |
drawNext | boolean | Se deve desenhar preview do próximo |
Checkpoints.clear
Remove um checkpoint e todos seus elementos.
function Checkpoints.clear(id)
Checkpoints.get
Obtém os dados de um checkpoint.
function Checkpoints.get(id)
Retorno: table? com estrutura:
{
checkpoint = number, -- ID do checkpoint visual
particleId = number?, -- ID da partícula
blipId = number?, -- ID do blip
propId = number? -- ID do prop
}
👻 Ghost Mode (ghost.lua)
Controle de colisões entre jogadores.
Ghost.toggle
Ativa ou desativa o modo fantasma.
function Ghost.toggle(toggle, vehicle, players)
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|
toggle | boolean | Ativar/desativar |
vehicle | number | Entity ID do veículo |
players | table | Lista de jogadores na corrida |
Implementação atual:
SetLocalPlayerAsGhost(toggle)
Você pode modificar esta função para implementar ghost mode apenas entre participantes da corrida em vez de global.
✅ Validators (validators.lua)
Funções de validação para ações do jogador.
Validators.canOpenPanel
Verifica se o jogador pode abrir o painel da corrida.
function Validators.canOpenPanel(raceId)
Validações:
- Jogador está em um veículo
- Jogador está no banco do motorista
Retorno: boolean
Validators.canEnterRace
Verifica se o jogador pode entrar na corrida.
function Validators.canEnterRace(raceId, allowedVehicles)
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|
raceId | number | ID da corrida |
allowedVehicles | table | Classes de veículos permitidas |
Classes de veículos disponíveis:
| Classe | IDs do GTA | Tipos |
|---|
cars | 0-7 | Compactos, Sedans, SUVs, Coupes, Muscle, Sports, Super |
trucks | 10, 11 | Caminhões, Utilitários |
motorcycles | 8, 9 | Motos, Quadriciclos |
bicycles | 13 | Bicicletas |
boats | 14 | Barcos |
helicopters | 15 | Helicópteros |
planes | 16 | Aviões |
service | 17, 18 | Veículos de serviço |
vans | 12 | Vans |
Não é possível adicionar novas classes de veículos. Utilize apenas as classes já existentes listadas acima. Essas classes são definidas pelo GTA V e não podem ser expandidas.
Retorno: boolean
🔊 Sons (sounds.lua)
Sistema de reprodução de sons.
Sons Configurados
Os sons são definidos em Config.Sounds:
Config.Sounds = {
reach_checkpoint = { enabled = true, name = "...", set = "..." },
finish_success = { enabled = true, name = "...", set = "..." },
regressive_countdown = { enabled = true, name = "...", set = "..." },
}
✨ Partículas (particles.lua)
Sistema de efeitos de partículas nos checkpoints.
Estrutura de Configuração
{
enabled = true,
dict = 'core',
name = 'ent_amb_steam',
scale = 1.5,
}
🏗️ Props (props.lua)
Sistema de objetos decorativos nos checkpoints.
Estrutura de Configuração
{
enabled = true,
model = "prop_offroad_tyres02",
offsetDistance = 4.0,
alpha = 255,
solo = false,
collision = false,
}
| Propriedade | Descrição |
|---|
solo | Se true, spawna apenas um prop (lado esquerdo) |
collision | Se true, o prop terá colisão física |
alpha | Transparência (0 = invisível, 255 = sólido) |
🖼️ Interface (ui.lua)
Funções de interface do usuário.
drawText (interno)
Desenha texto flutuante para indicar entrada na corrida.
local function drawText(raceCoords)
🎁 Itens Coletáveis Client (collectable_items.lua)
Sistema de power-ups no lado do cliente.
Efeitos Visuais
Cada item pode ter partículas configuradas:
local itemParticles = {
repair = {
dict = "core",
name = "ent_sht_electrical_box",
bone = "chassis",
offset = vector3(0.0, 0.0, 0.3),
rotation = vector3(0.0, 0.0, 0.0),
scale = 0.8,
color = {0, 255, 150}
},
-- ... outros itens
}
Funções de Uso
local function onUseNitro()
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
SetVehicleRocketBoostActive(vehicle, true)
SetVehicleNitroEnabled(vehicle, true)
SetVehicleBoostActive(vehicle, true)
ModifyVehicleTopSpeed(vehicle, 50.0)
-- Efeito de chamas no escapamento
CreateThread(function()
while usingNitro do
fireExaust(vehicle)
Wait(100)
end
end)
end
local function onUseRepair()
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
SetVehicleFixed(vehicle)
SetVehicleDeformationFixed(vehicle)
SetVehicleUndriveable(vehicle, false)
SetVehicleEngineOn(vehicle, true, true, false)
end