AI Core
API başvurusuai-core client export’ları

Hava ve saat senkronu

Script’in kendi havasını ve saatini ayarlarken (bir iç mekan, bir sahne) sunucunun hava ve saat senkronunu tek bir oyuncunun oyununda duraklat, devam ettir ve duraklatılıp duraklatılmadığını oku.

Hava script’i (ai-weathersync ya da üçüncü taraf biri) her oyuncuyu sunucunun havasında ve saatinde tutar. Script’inin tek bir oyuncunun ekranında kendi havasına ya da saatine ihtiyacı olduğunda (karanlık bir iç mekan, bir karakter oluşturucu, bir ara sahne) önce senkronu duraklat, yoksa hava script’i bir an sonra değerlerinin üzerine yazar.

Duraklatma HUD gibi sebeplerle çalışır: en az bir sebep ayarlıyken senkron duraklatılmış kalır ve sonuncusu temizlendiğinde yeniden çalışır. Sebepler onları ayarlayan resource’a aittir ve o durduğunda kaldırılır. ai-core hava script’ine kendi ai-core:client:worldSync client event’i ve üçüncü taraf hava script’lerinin dinlediği yaygın duraklatma event’leri üzerinden bildirir (qb-weathersync, cd_easytime, vSync, av_weather). Tersi yönde, bir script bu event’lerden birini kendisi gönderdiğinde ai-core onu da bir sebep sayar, böylece bir script’in devam ettirmesi asla başka bir script’in duraklatmasını bitirmez.

PauseWorldSync

Bu oyuncunun oyununda hava ve saat senkronunu resource’unun bir sebebiyle duraklatır.

Taraf: Client · Bekler: hayır

İmza
PauseWorldSync(reason: string): void
Lua
exports['ai-core']:PauseWorldSync(reason) -- ya da aiLib.world.pauseSync(reason)

Parametreler

Prop

Type

Dönüş değeri

Hiçbir şey. String olmayan bir reason yok sayılır.

Örnek

resource/client/interior.ts
import { world } from "@aicore-fivem/lib/client";

// Özel bir iç mekanın içinde karanlık, açık bir gece; çıkışta sunucunun havasına dönüş.
export function enterInterior(): void {
  world.pauseSync("interior"); // resourceExport("ai-core").PauseWorldSync("interior") ile aynı
  NetworkOverrideClockTime(23, 0, 0);
  SetWeatherTypeNowPersist("CLEAR");
}

export function leaveInterior(): void {
  NetworkClearClockTimeOverride();
  world.resumeSync("interior");
}

Duraklatma yalnızca senkronu durdurur. Kendi havanı ve saatini ayarlamak ve işin bitince onları temizlemek script’inin işidir.

ResumeWorldSync

Resource’unun tek bir duraklatma sebebini temizler. Hiçbir sebep kalmadığında senkron yeniden çalışır ve hava script’i sunucunun havasını ve saatini geri koyar.

Taraf: Client · Bekler: hayır

İmza
ResumeWorldSync(reason: string): void
Lua
exports['ai-core']:ResumeWorldSync(reason) -- ya da aiLib.world.resumeSync(reason)

Parametreler

Prop

Type

Dönüş değeri

Hiçbir şey.

Örnek

PauseWorldSync örneğine bak.

IsWorldSyncPaused

Senkronun şu an herhangi bir resource ya da üçüncü taraf duraklatma event’i tarafından duraklatılıp duraklatılmadığını söyler. Sonradan başlayan bir hava script’i bunu bir kez okur; sonrasında ai-core:client:worldSync client event’ini izler.

Taraf: Client · Bekler: hayır

İmza
IsWorldSyncPaused(): boolean
Lua
local paused = exports['ai-core']:IsWorldSyncPaused() -- boolean

Parametreler

Yok.

Dönüş değeri

boolean: en az bir sebep ayarlıyken true, senkron çalışırken false.

Örnek

resource/client/weather.ts
import { resourceExport } from "@aicore-fivem/lib/client";
import { CORE } from "@aicore-fivem/shared";

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

// Kendi hava script’in: duraklatılmışken sunucunun havasını uygulamayı bırak.
let paused = core.IsWorldSyncPaused();
on(CORE.clientWorldSyncEvent, (value: boolean) => {
  paused = value;
});

export const shouldApplyWeather = (): boolean => !paused;

Bu sayfada