AI Core
Świat i narzędziaai-smallresources

ai-smallresources dla deweloperów

Eksporty klienta, zdarzenie pasa bezpieczeństwa, state bagi i metadane ai-smallresources.

Aby odczytać pas bezpieczeństwa lub gesty z własnego skryptu, używaj seatbelt.isOn() / seatbelt.onChange(fn) i gestures.isHandsUp() / gestures.isPointing() z biblioteki (klient; w Lua aiLib.seatbelt, aiLib.gestures). Przechodzą przez ai-core i działają z każdym działającym skryptem pasów lub emotek. Poniższe eksporty to to, co czyta ai-core, gdy odpowiada ai-smallresources.

Wszystkie trzy eksporty są na kliencie, synchroniczne i czytają lokalnego gracza. GetSeatbelt jest typowany jako AiSmallResourcesClientExports w @aicore-fivem/shared; IsHandsUp i IsPointing nie są typowane (używaj callExport).

TypeScript
import { resourceExport, callExport } from "@aicore-fivem/lib/client";
const small = resourceExport("ai-smallresources");

Eksporty klienta

GetSeatbelt

Czy lokalny gracz ma zapięty pas bezpieczeństwa.

Strona: klient · Czeka: nie

Sygnatura
GetSeatbelt(): boolean | null
Lua
local worn = exports['ai-smallresources']:GetSeatbelt() -- true, false albo nil

Zwraca

true, gdy zapięty, false, gdy nie. null, gdy funkcja Seatbelt jest wyłączona w panelu albo gracz nie jest w pojeździe z pasem bezpieczeństwa.

Przykład

import { seatbelt } from "@aicore-fivem/lib/client";

// Ikona pasa w HUD-zie: odczytaj raz, potem śledź zmiany.
let worn = seatbelt.isOn();
seatbelt.onChange((value) => {
  worn = value;
});

Odczytuj to przy akcji lub zmianie pojazdu, nigdy w każdej klatce.

IsHandsUp

Czy lokalny gracz ma ręce w górze (gest X).

Strona: klient · Czeka: nie

Sygnatura
IsHandsUp(): boolean
Lua
local up = exports['ai-smallresources']:IsHandsUp()

Zwraca

true, dopóki ręce są w górze, w przeciwnym razie false.

IsPointing

Czy lokalny gracz wskazuje palcem (gest B).

Strona: klient · Czeka: nie

Sygnatura
IsPointing(): boolean
Lua
local pointing = exports['ai-smallresources']:IsPointing()

Zwraca

true podczas wskazywania, w przeciwnym razie false.

Zdarzenia

ai-smallresources:seatbelt

Wywoływane na lokalnym kliencie, gdy zmienia się pas bezpieczeństwa. Nazwa to SEATBELT_EVENT w @aicore-fivem/shared. ai-core przekazuje je dalej jako własne zdarzenie pasa bezpieczeństwa, którego nasłuchuje seatbelt.onChange z biblioteki; wybieraj właśnie to.

Strona: klient (zdarzenie lokalne)

Prop

Type

Lua
AddEventHandler('ai-smallresources:seatbelt', function(worn)
  print('seat belt', worn)
end)

Każde inne zdarzenie ai-smallresources jest wewnętrzne (jego klient i jego serwer).

State bagi i metadane

NazwaNaTypZnaczenie
aiHoldgraczstring | falsePrzedmiot reporterski, który trzyma gracz (newscam, newsmic, newsboom).
aiCarryinggracznumberGracz kogoś niesie (jego ID na serwerze).
aiCarriedBygracznumberGracz jest przez kogoś niesiony (jego ID na serwerze).
aiDivinggraczbooleanGracz ma na sobie sprzęt do nurkowania.
aiRealPlatepojazdstringPrawdziwa tablica, gdy założona jest fałszywa.
aiMooredpojazdbooleanŁódź jest przycumowana.
diveOxygenmetadane postaci (ai-core)numberSekundy powietrza pozostałe w butli do nurkowania.
aiPlayerCount / aiMaxPlayersGlobalStatenumberGracze online i sloty, ustawiane, gdy Discord Rich Presence jest włączone.
// Serwer: prawdziwa tablica pojazdu, fałszywa czy nie.
export function realPlate(vehicle: number): string {
  const real = Entity(vehicle).state.aiRealPlate as string | undefined;
  return real ?? GetVehicleNumberPlateText(vehicle);
}

Przedmioty do użycia

Rejestrowane przez warstwę ekwipunku ai-core, więc działają z każdym działającym ekwipunkiem: binoculars, firework1-firework4, newscam, newsmic, newsboom, fakeplate, notepad, note (metadane text i description), diving_gear, diving_fill.

Na tej stronie