AI Core
Veículosai-fuel

ai-fuel para desenvolvedores

Como ler e definir o combustível com o ai-fuel rodando, seus state bags e seus eventos internos.

O ai-fuel não tem exports. O combustível de um veículo é o state bag de entidade fuel (0-100), mantido pelo servidor.

Leia e defina o combustível com fuel.get(vehicle) e fuel.set(vehicle, level) da lib (servidor; fuel.get também no cliente). Eles passam pela camada de combustível do ai-core (em Lua, chame os exports GetVehicleFuel e SetVehicleFuel do ai-core), que lê e escreve o bag fuel enquanto o ai-fuel roda e conversa com o outro script de combustível quando o servidor roda um no lugar dele. Assim seu script funciona com qualquer script de combustível.

Lendo e definindo o combustível

import { fuel } from "@aicore-fivem/lib/server";

// Enche um veículo que o jogador acabou de pagar em um posto personalizado.
export function fillUp(vehicle: number): void {
  const before = fuel.get(vehicle);
  fuel.set(vehicle, 100);
  console.log(`fuel ${before} -> 100`);
}

Não escreva o bag fuel a partir de um cliente: o servidor recusa escritas de clientes (modo estrito de state bags), e de qualquer forma o ai-fuel só aceita valores menores vindos do cliente do motorista.

State bags

BagEmTipoSignificado
fuelentidade do veículonumberCombustível 0-100. Definido pelo servidor. O ai-vehicles o inicializa quando cria um veículo próprio.
aiFuelNozzlejogador{ x, y, z, netId } | undefinedA bomba cujo bico o jogador segura (x, y, z) e o id de rede do veículo em que ele está encaixado (netId, null enquanto está na mão). Todo cliente por perto o usa para desenhar o bico e a mangueira.
Lua (client)
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local level = Entity(vehicle).state.fuel -- número 0-100, ou nil antes da primeira definição

Eventos

Estes são os eventos próprios do ai-fuel do cliente para o servidor. Eles estão listados para você reconhecê-los nos logs; não os chame a partir de outros scripts.

NomeTipoO que faz
ai-fuel:consumeevento do cliente(netId, fuel): o motorista informa um nível menor. Limitado a 2 por segundo; só valores menores são aceitos.
ai-fuel:takeNozzlecallback do cliente(x, y, z): pega o bico de uma bomba. Limitado a 1 por segundo.
ai-fuel:plugcallback do cliente(netId | null): encaixa o bico em um veículo, ou o retira. Limitado a 2 por segundo.
ai-fuel:returnNozzleevento do clientePendura o bico de volta. Limitado a 1 por segundo.
ai-fuel:refuelcallback do clienteRoda a barra de progresso, cobra e enche o tanque.

Nesta página