Skip to main content

Technical Reference

Archivos clave

  • fxmanifest.lua
  • config.lua
  • client/main.lua
  • server/main.lua
  • html/index.html
  • html/style.css
  • html/app.js
  • html/blips/*.png

Comandos

ComandoConfigFuncion
blipscreatorConfig.CommandPide al servidor abrir el creador
acv_reload_blipsfijo en server/main.luaRecarga la tabla SQL y resincroniza blips

Eventos

Server

  • acv_blips:requestBlips
  • acv_blips:openCreator
  • acv_blips:saveBlip
  • acv_blips:deleteBlip
  • acv_blips:updateBlip

Client

  • acv_blips:notify
  • acv_blips:setBlips
  • acv_blips:updateNUI
  • acv_blips:openNUI

NUI callbacks

  • close
  • saveBlip
  • updateBlip
  • deleteBlip

Tabla SQL

Nombre:

acv_blips

Esquema actual:

CREATE TABLE IF NOT EXISTS `acv_blips` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL,
`sprite` INT NOT NULL DEFAULT 1,
`color` INT NOT NULL DEFAULT 0,
`scale` FLOAT NOT NULL DEFAULT 1.0,
`x` DOUBLE NOT NULL,
`y` DOUBLE NOT NULL,
`z` DOUBLE NOT NULL,
`short_range` TINYINT(1) NOT NULL DEFAULT 1,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Estado en memoria

Server

  • blipsCache: copia de todos los blips cargados desde SQL.

Client

  • currentBlips: blips nativos creados en el mapa.

Flujo de datos real

  1. ensureTableAndLoad() crea tabla si falta y carga filas.
  2. requestBlips envia blipsCache a un cliente concreto.
  3. setBlips elimina blips anteriores y recrea todos los del mapa.
  4. saveBlip, updateBlip y deleteBlip modifican SQL y luego emiten setBlips.

Normalizacion de short_range

En cliente, setBlips acepta short_range como:

  • string
  • number
  • boolean

Y lo convierte a true o false antes de llamar a SetBlipAsShortRange.

Detalles tecnicos utiles

  • updateBlip no toca coordenadas.
  • saveBlip toma coordenadas del jugador, no de la NUI.
  • playerSpawned vuelve a pedir la lista de blips.
  • No hay exports documentables en esta version.
  • Config.DefaultShortRange existe en config, pero no participa en el guardado real.