AI Core
API başvurusuLib: shared ve fivem

Araçlar

plateOf, normalizePlate, vehicleTypeOfClass, toVehicleProps ve toVehicleSetup: anahtar olarak plakalar, spawn tipleri ve güvenilmeyen veriden araç görünümleri.

TypeScript
import { plateOf } from "@aicore-fivem/lib/fivem"; // /client ve /server’da da var
import { normalizePlate, vehicleTypeOfClass, toVehicleProps, toVehicleSetup } from "@aicore-fivem/lib/shared";

Plakalar

GTA plakaları boşluklarla 8 karaktere tamamlar (" AI 1 "). Plaka başına veri tutan her script (anahtarlar, yakıt, garajlar) anahtar olarak kırpılmış büyük harfli plakayı kullanır; böylece aynı araç her yerde eşleşir.

plateOf

Anahtarların kullandığı haliyle bir aracın plakası: entity’den okunur, kırpılır, büyük harfe çevrilir.

Taraf: Client ve server · Bekler: hayır

Signature
plateOf(vehicle: number): string

Lua: karşılığı yok; GetVehicleNumberPlateText(vehicle):match('^%s*(.-)%s*$'):upper() kullan.

Parametreler

Prop

Type

Dönüş değeri

string: plaka, kırpılmış ve büyük harfli.

Örnek

resource/server/index.ts
import { plateOf, vehicleOf } from "@aicore-fivem/lib/server";

function plateOfPlayerVehicle(source: number): string | null {
  const vehicle = vehicleOf(source);
  return vehicle === 0 ? null : plateOf(vehicle);
}

normalizePlate

Zaten metin olarak elinde olan bir plaka (bir oyuncunun yazdığı, bir veritabanında saklanan, başka bir script’in gönderdiği) için aynı kırpma ve büyük harf.

Taraf: Client, server ve NUI · Bekler: hayır

Signature
normalizePlate(plate: string): string

Lua: karşılığı yok; plate:match('^%s*(.-)%s*$'):upper() kullan.

Parametreler

Prop

Type

Dönüş değeri

string: kırpılmış, büyük harfli.

Örnek

import { normalizePlate } from "@aicore-fivem/lib/shared";

normalizePlate("  ai 123 "); // "AI 123"

Araç oluşturma

vehicleTypeOfClass

Bir GTA araç sınıfını (GetVehicleClassFromName) CreateVehicleServerSetter’ın ihtiyaç duyduğu tipe çevirir: "bike", "boat", "heli", "plane", "train" ya da "automobile". Lib’in spawnVehicle’ı bunu senin için yapar; bunu yalnızca CreateVehicleServerSetter’ı kendin çağırdığında kullan.

Taraf: Client, server ve NUI · Bekler: hayır

Signature
vehicleTypeOfClass(vehicleClass: number): string

Lua: karşılığı yok.

Parametreler

Prop

Type

Dönüş değeri

string: spawn tipi. Yukarıda listelenmeyen her sınıf "automobile"’dır.

Örnek

resource/client/index.ts
import { vehicleTypeOfClass } from "@aicore-fivem/lib/shared";

const type = vehicleTypeOfClass(GetVehicleClassFromName("frogger")); // "heli"

GetVehicleClassFromName bir client native’idir. Server bir modelin tipini bir client’tan öğrenir (lib’in spawnVehicle’ı senin için ai-core’un client’ına sorar).

Güvenilmeyen veriden görünümler

toVehicleProps

Saklanan ya da alınan araç props’unu kontrol eder ve temiz bir VehicleProps nesnesi ya da veri o biçimde değilse null döndürür. Eksik isteğe bağlı parçalar varsayılanları alır (stok modlar, livery yok, tam sağlık); bilinmeyen alanlar atılır; plaka 8 karaktere kesilir.

Taraf: Client, server ve NUI · Bekler: hayır

Signature
toVehicleProps(value: unknown): VehicleProps | null

Lua: karşılığı yok.

Parametreler

Prop

Type

Dönüş değeri

VehicleProps ya da value bir nesne değilse, v 1 değilse, model veya plate yoksa ya da colors, extraColors, neonColor, tyreSmoke, mods, extras, neon’dan biri eksikse veya uzunluğu yanlışsa null.

Örnek

resource/server/index.ts
import { optionalExport } from "@aicore-fivem/lib/server";
import { toVehicleProps } from "@aicore-fivem/lib/shared";

function storedColors(vehicleId: number): [number, number] | null {
  const vehicle = optionalExport("ai-vehicles")?.GetVehicle(vehicleId);
  const props = toVehicleProps(vehicle?.props);
  return props ? props.colors : null;
}

toVehicleSetup

Alınan bir VehicleSetup’ı alan alan kontrol eder: yanlış alanlar atılır, doğru olanlar tutulur. Bir client’tan ya da başka bir resource’tan gelen bir kurulumu spawnVehicle’a geçirmeden önce bunu kullan.

Taraf: Client, server ve NUI · Bekler: hayır

Signature
toVehicleSetup(value: unknown): VehicleSetup | null

Lua: karşılığı yok.

Parametreler

Prop

Type

Dönüş değeri

Yalnızca geçerli alanlarla VehicleSetup (renkler 0-255, livery 0-100, windowTint 0-6, dirt 0-15; maxed ve engineOn yalnızca tam olarak true iken). value bir nesne değilse null.

Örnek

import { toVehicleSetup } from "@aicore-fivem/lib/shared";

toVehicleSetup({ colors: [27, 27], windowTint: 9, maxed: "yes" });
// { colors: [27, 27], windowTint: undefined, maxed: undefined, ... }: hatalı alanlar atılır

Bir client, karşılığını ödediği bir araç için asla maxed: true ya da serbest bir renk seçmemelidir: kurulumun içerdiği şeyler için fiyatı server’da kontrol et.

Bu sayfada