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
| Tabla | Qué contiene |
|---|---|
ai_vehiclesales_listings | Una fila por vehículo a la venta (vehicle_id único): compraventa, vendedor, precio, descripción. |
ai_vehiclesales_payouts | Dinero 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.
| Nombre | Tipo | Qué hace |
|---|---|---|
ai-vehiclesales:watch / unwatch | callback / evento de cliente | Empieza o deja de recibir actualizaciones de los coches aparcados al entrar o salir de una compraventa. |
ai-vehiclesales:display | servidor a cliente | (lotId, puts, removes): han cambiado los anuncios aparcados. |
ai-vehiclesales:browse / unbrowse | callback / evento de cliente | Empieza o deja de recibir actualizaciones de la pantalla. |
ai-vehiclesales:listings | servidor a cliente | (lotId, puts, removes): han cambiado los anuncios de la pantalla abierta. |
ai-vehiclesales:details | callback | (lotId, listingId): la descripción y el aspecto de un anuncio. |
ai-vehiclesales:list | callback | (lotId, netId, price, description): poner a la venta el vehículo que conduce el jugador. |
ai-vehiclesales:quote / sellBack | callback | (lotId, netId): el precio del concesionario, y la venta al concesionario. |
ai-vehiclesales:buy / takeBack | callback | (lotId, listingId): comprar, o retirar tu propio anuncio. |
ai-vehiclesales:testDrive / endTestDrive | callback | Empezar o terminar una prueba de conducción. |
ai-vehiclesales:testDriveEnded | servidor a cliente | (lotId): terminó la prueba de conducción; el jugador vuelve a la compraventa. |