Synchronizacja pogody i czasu
Wstrzymaj synchronizację pogody i czasu serwera w grze jednego gracza, gdy twój skrypt ustawia własne (wnętrze, scena), wznów ją i sprawdź, czy jest wstrzymana.
Skrypt pogody (ai-weathersync albo zewnętrzny) trzyma każdego gracza na pogodzie i zegarze serwera. Gdy twój skrypt potrzebuje własnej pogody lub czasu na ekranie jednego gracza (ciemne wnętrze, kreator postaci, przerywnik), najpierw wstrzymaj synchronizację, w przeciwnym razie skrypt pogody chwilę później nadpisze twoje wartości.
Wstrzymywanie działa na powodach, jak w HUD: synchronizacja zostaje wstrzymana, dopóki ustawiony jest co najmniej jeden powód, i działa znowu, gdy ostatni zostanie wyczyszczony. Powody należą do zasobu, który je ustawił, i są usuwane, gdy się zatrzymuje. ai-core informuje skrypt pogody przez własne klienckie zdarzenie ai-core:client:worldSync oraz przez popularne zdarzenia wstrzymania, których nasłuchują zewnętrzne skrypty pogody (qb-weathersync, cd_easytime, vSync, av_weather). W drugą stronę, gdy skrypt sam wysyła jedno z tych zdarzeń, ai-core też liczy je jako powód, więc wznowienie jednego skryptu nigdy nie kończy wstrzymania innego.
PauseWorldSync
Wstrzymuje synchronizację pogody i czasu w grze tego gracza pod powodem twojego zasobu.
Strona: Klient · Czeka: nie
PauseWorldSync(reason: string): voidexports['ai-core']:PauseWorldSync(reason) -- albo aiLib.world.pauseSync(reason)Parametry
Prop
Type
Zwraca
Nic. reason, który nie jest stringiem, jest ignorowany.
Przykład
import { world } from "@aicore-fivem/lib/client";
// Ciemna, bezchmurna noc we własnym wnętrzu, powrót do pogody serwera przy wyjściu.
export function enterInterior(): void {
world.pauseSync("interior"); // to samo co resourceExport("ai-core").PauseWorldSync("interior")
NetworkOverrideClockTime(23, 0, 0);
SetWeatherTypeNowPersist("CLEAR");
}
export function leaveInterior(): void {
NetworkClearClockTimeOverride();
world.resumeSync("interior");
}Wstrzymanie tylko zatrzymuje synchronizację. Ustawienie własnej pogody i czasu oraz ich wyczyszczenie po skończeniu to zadanie twojego skryptu.
ResumeWorldSync
Czyści jeden powód wstrzymania twojego zasobu. Synchronizacja działa znowu, a skrypt pogody przywraca pogodę i zegar serwera, gdy nie zostaje żaden powód.
Strona: Klient · Czeka: nie
ResumeWorldSync(reason: string): voidexports['ai-core']:ResumeWorldSync(reason) -- albo aiLib.world.resumeSync(reason)Parametry
Prop
Type
Zwraca
Nic.
Przykład
Zobacz przykład PauseWorldSync.
IsWorldSyncPaused
Mówi, czy synchronizacja jest teraz wstrzymana przez dowolny zasób lub zewnętrzne zdarzenie wstrzymania. Skrypt pogody, który startuje później, czyta to raz; potem śledzi klienckie zdarzenie ai-core:client:worldSync.
Strona: Klient · Czeka: nie
IsWorldSyncPaused(): booleanlocal paused = exports['ai-core']:IsWorldSyncPaused() -- booleanParametry
Brak.
Zwraca
boolean: true, dopóki ustawiony jest co najmniej jeden powód, false, gdy synchronizacja działa.
Przykład
import { resourceExport } from "@aicore-fivem/lib/client";
import { CORE } from "@aicore-fivem/shared";
const core = resourceExport("ai-core");
// Własny skrypt pogody: przestań stosować pogodę serwera, dopóki synchronizacja jest wstrzymana.
let paused = core.IsWorldSyncPaused();
on(CORE.clientWorldSyncEvent, (value: boolean) => {
paused = value;
});
export const shouldApplyWeather = (): boolean => !paused;Skróty i podpowiedzi klawiszy
Odczytaj klawisz, z którym zarejestrowano Keybind liba, pokazuj i ukrywaj podpowiedzi klawiszy na HUD, odczytuj podpowiedzi pokazywane przez HUD i otwieraj ekran klawiszy.
Przedmioty
Otwórz ekwipunek gracza, sprawdź przedmiot, odczytaj broń w ręce i otwórz wybierak przedmiotów administratora, niezależnie od ekwipunku na serwerze.