AI Core
Vehículosai-vehiclesales

ai-vehiclesales para desarrolladores

Cómo guarda ai-vehiclesales los vehículos a la venta, sus tablas y sus eventos internos.

ai-vehiclesales no tiene exports. Lo que otros scripts necesitan saber es cómo se ve desde fuera un vehículo a la venta.

Vehículos a la venta en ai-vehicles

Un vehículo a la venta se queda en ai-vehicles con el mismo id, matrícula, aspecto y maletero. Mientras está a la venta:

  • su dueño es { type: "resource", id: "ai-vehiclesales" };
  • su estado es "garage" sin garaje (garage: null), así que no aparece en ningún garaje;
  • el vendedor no tiene llave de él.

Comprarlo o retirarlo pone como dueño al personaje con SetOwner y lo hace aparecer en el punto de entrega de la compraventa.

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

const vehicles = resourceExport("ai-vehicles");

// ¿Está esta matrícula a la venta ahora mismo en una compraventa de usados?
export function isListed(plate: string): boolean {
  const vehicle = vehicles.GetVehicle(plate);
  return vehicle?.owner.type === "resource" && vehicle.owner.id === "ai-vehiclesales";
}

Tablas

TablaQué contiene
ai_vehiclesales_listingsUna fila por vehículo a la venta (vehicle_id único): compraventa, vendedor, precio, descripción.
ai_vehiclesales_payoutsDinero que espera a los vendedores que estaban desconectados cuando se vendió su vehículo. Se paga y se borra en su siguiente inicio de sesión.

Eventos

Todos los eventos de ai-vehiclesales son internos (su cliente y su servidor); no los llames desde otros scripts. Los anuncios llegan a los clientes como una instantánea y después solo los cambios (deltas), y solo a los jugadores que están en la compraventa o tienen la pantalla abierta.

NombreTipoQué hace
ai-vehiclesales:watch / unwatchcallback / evento de clienteEmpieza o deja de recibir actualizaciones de los coches aparcados al entrar o salir de una compraventa.
ai-vehiclesales:displayservidor a cliente(lotId, puts, removes): han cambiado los anuncios aparcados.
ai-vehiclesales:browse / unbrowsecallback / evento de clienteEmpieza o deja de recibir actualizaciones de la pantalla.
ai-vehiclesales:listingsservidor a cliente(lotId, puts, removes): han cambiado los anuncios de la pantalla abierta.
ai-vehiclesales:detailscallback(lotId, listingId): la descripción y el aspecto de un anuncio.
ai-vehiclesales:listcallback(lotId, netId, price, description): poner a la venta el vehículo que conduce el jugador.
ai-vehiclesales:quote / sellBackcallback(lotId, netId): el precio del concesionario, y la venta al concesionario.
ai-vehiclesales:buy / takeBackcallback(lotId, listingId): comprar, o retirar tu propio anuncio.
ai-vehiclesales:testDrive / endTestDrivecallbackEmpezar o terminar una prueba de conducción.
ai-vehiclesales:testDriveEndedservidor a cliente(lotId): terminó la prueba de conducción; el jugador vuelve a la compraventa.

En esta página