Skip to main content

🖥️ 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âmetroTipoDescrição
blipConfigstableConfiguração do blip
idnumberID do checkpoint
coordstableCoordenadas {x, y, z}
lastbooleanSe é o último checkpoint
routebooleanSe 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:
  1. Câmera 1: Vista lateral do veículo
  2. Câmera 2: Vista frontal diagonal
  3. 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âmetroTipoDescrição
idnumberID do checkpoint
modestring"preview", "racing", "racing_next"
lastbooleanSe é o último checkpoint
coordstableCoordenadas do checkpoint
nCoordstable?Coordenadas do próximo checkpoint
drawNextbooleanSe 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âmetroTipoDescrição
togglebooleanAtivar/desativar
vehiclenumberEntity ID do veículo
playerstableLista 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âmetroTipoDescrição
raceIdnumberID da corrida
allowedVehiclestableClasses de veículos permitidas
Classes de veículos disponíveis:
ClasseIDs do GTATipos
cars0-7Compactos, Sedans, SUVs, Coupes, Muscle, Sports, Super
trucks10, 11Caminhões, Utilitários
motorcycles8, 9Motos, Quadriciclos
bicycles13Bicicletas
boats14Barcos
helicopters15Helicópteros
planes16Aviões
service17, 18Veículos de serviço
vans12Vans
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,
}
PropriedadeDescrição
soloSe true, spawna apenas um prop (lado esquerdo)
collisionSe true, o prop terá colisão física
alphaTransparê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