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
PauseWorldSync(reason: string): voidexports['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
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
ResumeWorldSync(reason: string): voidexports['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
IsWorldSyncPaused(): booleanlocal paused = exports['ai-core']:IsWorldSyncPaused() -- booleanParametreler
Yok.
Dönüş değeri
boolean: en az bir sebep ayarlıyken true, senkron çalışırken false.
Örnek
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;Keybind’lar ve tuş ipuçları
Bir lib Keybind’ının kaydedildiği tuşu oku, HUD’da tuş ipuçlarını göster ve gizle, HUD’ların gösterdiği ipuçlarını oku ve tuşlar ekranını aç.
Eşyalar
Sunucu hangi envanteri çalıştırırsa çalıştırsın; oyuncunun envanterini aç, bir eşyayı kontrol et, eldeki silahı oku ve admin eşya seçicisini aç.