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
| Tabela | Co przechowuje |
|---|---|
ai_vehiclesales_listings | Jeden wiersz na wystawiony pojazd (unikalne vehicle_id): komis, sprzedający, cena, opis. |
ai_vehiclesales_payouts | Pienią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.
| Nazwa | Rodzaj | Co robi |
|---|---|---|
ai-vehiclesales:watch / unwatch | callback / zdarzenie klienta | Zacznij lub zakończ aktualizacje zaparkowanych aut przy wejściu do komisu lub wyjściu z niego. |
ai-vehiclesales:display | serwer do klienta | (lotId, puts, removes): zmieniły się zaparkowane ogłoszenia. |
ai-vehiclesales:browse / unbrowse | callback / zdarzenie klienta | Zacznij lub zakończ aktualizacje ekranu. |
ai-vehiclesales:listings | serwer do klienta | (lotId, puts, removes): zmieniły się ogłoszenia otwartego ekranu. |
ai-vehiclesales:details | callback | (lotId, listingId): opis i wygląd jednego ogłoszenia. |
ai-vehiclesales:list | callback | (lotId, netId, price, description): wystaw pojazd, którym jedzie gracz. |
ai-vehiclesales:quote / sellBack | callback | (lotId, netId): cena dealera i sprzedaż dealerowi. |
ai-vehiclesales:buy / takeBack | callback | (lotId, listingId): kup albo zabierz z powrotem własne ogłoszenie. |
ai-vehiclesales:testDrive / endTestDrive | callback | Zacznij lub zakończ jazdę próbną. |
ai-vehiclesales:testDriveEnded | serwer do klienta | (lotId): jazda próbna się skończyła; gracz wraca do komisu. |