AI Core
Pojazdyai-vehiclesales

ai-vehiclesales dla deweloperów

Jak ai-vehiclesales przechowuje wystawione pojazdy, jego tabele i wewnętrzne zdarzenia.

ai-vehiclesales nie ma eksportów. Inne skrypty muszą wiedzieć, jak wystawiony pojazd wygląda z zewnątrz.

Wystawione pojazdy w ai-vehicles

Wystawiony pojazd pozostaje w ai-vehicles z tym samym ID, tablicą, wyglądem i bagażnikiem. Dopóki jest wystawiony:

  • jego właścicielem jest { type: "resource", id: "ai-vehiclesales" };
  • jego stan to "garage" bez garażu (garage: null), więc nie jest widoczny w żadnym garażu;
  • sprzedający nie ma do niego klucza.

Kupno lub zabranie z powrotem ustawia właściciela na postać przez SetOwner i tworzy pojazd w miejscu odbioru komisu.

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

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

// Czy ta tablica jest teraz wystawiona na sprzedaż w komisie używanych aut?
export function isListed(plate: string): boolean {
  const vehicle = vehicles.GetVehicle(plate);
  return vehicle?.owner.type === "resource" && vehicle.owner.id === "ai-vehiclesales";
}

Tabele

TabelaCo przechowuje
ai_vehiclesales_listingsJeden wiersz na wystawiony pojazd (unikalne vehicle_id): komis, sprzedający, cena, opis.
ai_vehiclesales_payoutsPieniądze czekające na sprzedających, którzy byli offline, gdy ich pojazd się sprzedał. Wypłacane i usuwane przy ich następnym logowaniu.

Zdarzenia

Wszystkie zdarzenia ai-vehiclesales są wewnętrzne (jego klient i jego serwer); nie wywołuj ich z innych skryptów. Ogłoszenia docierają do klientów jako migawka, a potem tylko zmiany (delty), i tylko do graczy w komisie lub z otwartym ekranem.

NazwaRodzajCo robi
ai-vehiclesales:watch / unwatchcallback / zdarzenie klientaZacznij lub zakończ aktualizacje zaparkowanych aut przy wejściu do komisu lub wyjściu z niego.
ai-vehiclesales:displayserwer do klienta(lotId, puts, removes): zmieniły się zaparkowane ogłoszenia.
ai-vehiclesales:browse / unbrowsecallback / zdarzenie klientaZacznij lub zakończ aktualizacje ekranu.
ai-vehiclesales:listingsserwer do klienta(lotId, puts, removes): zmieniły się ogłoszenia otwartego ekranu.
ai-vehiclesales:detailscallback(lotId, listingId): opis i wygląd jednego ogłoszenia.
ai-vehiclesales:listcallback(lotId, netId, price, description): wystaw pojazd, którym jedzie gracz.
ai-vehiclesales:quote / sellBackcallback(lotId, netId): cena dealera i sprzedaż dealerowi.
ai-vehiclesales:buy / takeBackcallback(lotId, listingId): kup albo zabierz z powrotem własne ogłoszenie.
ai-vehiclesales:testDrive / endTestDrivecallbackZacznij lub zakończ jazdę próbną.
ai-vehiclesales:testDriveEndedserwer do klienta(lotId): jazda próbna się skończyła; gracz wraca do komisu.

Na tej stronie