Araçlarai-vehiclesales
Geliştiriciler için ai-vehiclesales
ai-vehiclesales’in satıştaki araçları nasıl tuttuğu, tabloları ve iç event’leri.
ai-vehiclesales’in export’u yoktur. Diğer script’lerin bilmesi gereken, satıştaki bir aracın dışarıdan nasıl göründüğüdür.
ai-vehicles’ta satıştaki araçlar
Satıştaki bir araç ai-vehicles’ta aynı id, plaka, görünüş ve bagajla kalır. Satıştayken:
- sahibi
{ type: "resource", id: "ai-vehiclesales" }olur; - durumu garajsız (
garage: null)"garage"olur, böylece hiçbir garajda görünmez; - satıcıda ona ait anahtar olmaz.
Satın alma ya da geri alma, sahibi SetOwner ile karaktere ayarlar ve aracı pazarın teslim noktasında spawn eder.
import { resourceExport } from "@aicore-fivem/lib/server";
const vehicles = resourceExport("ai-vehicles");
// Bu plaka şu an bir ikinci el araç pazarında satışta mı?
export function isListed(plate: string): boolean {
const vehicle = vehicles.GetVehicle(plate);
return vehicle?.owner.type === "resource" && vehicle.owner.id === "ai-vehiclesales";
}Tablolar
| Tablo | Ne tutar |
|---|---|
ai_vehiclesales_listings | Satıştaki her araç için bir satır (benzersiz vehicle_id): pazar, satıcı, fiyat, açıklama. |
ai_vehiclesales_payouts | Araçları satıldığında çevrim dışı olan satıcıları bekleyen para. Bir sonraki girişlerinde ödenir ve silinir. |
Event’ler
ai-vehiclesales’in bütün event’leri iç kullanım içindir (kendi client’ı ve server’ı); başka script’lerden çağırma. İlanlar client’lara önce bir snapshot olarak, sonra sadece değişiklikler (delta) olarak ve sadece pazardaki ya da ekranı açık olan oyunculara gider.
| Ad | Tür | Ne yapar |
|---|---|---|
ai-vehiclesales:watch / unwatch | callback / client event’i | Bir pazara girerken ya da çıkarken park edilmiş araba güncellemelerini başlatır ya da durdurur. |
ai-vehiclesales:display | server’dan client’a | (lotId, puts, removes): park edilmiş ilanlar değişti. |
ai-vehiclesales:browse / unbrowse | callback / client event’i | Ekran güncellemelerini başlatır ya da durdurur. |
ai-vehiclesales:listings | server’dan client’a | (lotId, puts, removes): açık ekranın ilanları değişti. |
ai-vehiclesales:details | callback | (lotId, listingId): tek bir ilanın açıklaması ve görünüşü. |
ai-vehiclesales:list | callback | (lotId, netId, price, description): oyuncunun sürdüğü aracı satışa koy. |
ai-vehiclesales:quote / sellBack | callback | (lotId, netId): bayinin fiyatı ve bayiye satış. |
ai-vehiclesales:buy / takeBack | callback | (lotId, listingId): satın al ya da kendi ilanını geri al. |
ai-vehiclesales:testDrive / endTestDrive | callback | Test sürüşünü başlatır ya da bitirir. |
ai-vehiclesales:testDriveEnded | server’dan client’a | (lotId): test sürüşü bitti; oyuncu pazara geri döner. |