Lib
@aicore-fivem/lib - funkcje pomocnicze, z których zbudowany jest każdy skrypt ai-*, oraz ai-lib dla Lua.
@aicore-fivem/lib zastępuje ox_lib w AI Core: wszystko, co skrypty pisałyby ręcznie, jest tutaj, zbudowane z myślą o skali i sprawdzone benchmarkami. Zasoby TypeScript go importują (@aicore-fivem/lib/client, /server, /shared); zasoby Lua wczytują go z ai-lib (shared_script '@ai-lib/init.lua', potem aiLib.<name>), a zasoby JavaScript bez bundlera wczytują @ai-lib/dist/client.js / server.js.
Wejście z klienta i serwera
| Funkcja | Co |
|---|---|
onClientCallback, onClientEvent | Żądania klienta przez bramkę: limit częstotliwości, warunki (isAdmin, hasCharacter, near), parser argumentów, jedno wywołanie naraz (lock). |
triggerServerCallback, callAction | Strona klienta; callAction sam pokazuje przetłumaczoną odmowę. |
fail("KEY"), ActionResult | Odmowy z kluczem tłumaczenia. |
readInt, readId, readText, readVec3, readVec4, oneArg | Ścisłe czytniki wartości od klienta. |
progressFor | Akcja z czasem, którą prowadzi serwer: pasek postępu ai-lib na kliencie gracza, true tylko wtedy, gdy tam dobiegł do końca, a na serwerze minęło dość czasu. |
minigameFor | Minigra potrzebna w przebiegu po stronie serwera (wytrych, test umiejętności): wygrana, przegrana albo złamanie, rozstrzygane na kliencie gracza, a serwer i tak sprawdza. |
PendingActions | Okna dialogowe, na które czeka serwer (tekst notatki): token, zwalniany po wyjściu gracza. |
PlayerMap, Cooldowns, KeyedCooldowns, onCharacter | Stan dla każdego gracza, który sam się czyści po wyjściu i zmianie postaci. |
Świat
| Funkcja | Co |
|---|---|
Points | Każde miejsce, z którego korzystają gracze: prompt lub target (wybór właściciela), NPC, blipy, punkty modeli (bankomaty, dystrybutory), punkty pojazdów. |
Zones, Blips, LocalPed | Obszary, blipy, lokalne pedy. |
hasJob, inGang, onDutyIn, onMembershipChange | Sprawdzanie członkostwa dla canShow. |
player, cache, onCache | Lokalny ped: teleport z wczytaniem kolizji, animacje, zamrożenie; zapamiętany ped, pojazd, miejsce, broń. |
spawnVehicle, vehicleKeys, vehicleFromNet, pedFromNet | Pojazdy serwerowe z tablicą, kluczami, paliwem, wyglądem i miejscami w jednym wywołaniu. |
EntityState, PlayerState, GlobalKey, GlobalGroup | State bagi bez kosztu każdego odczytu. |
raycast, groundZ, locationName, vehicleLabel, pedHeadshot | Sondy i nazwy. |
AreaStream, AreaFollower | Obiekty świata (przedmioty na ziemi, rośliny, ciała, propy) przesyłane graczom w pobliżu: najpierw migawka komórek wokół gracza, potem tylko zmiany. |
UI i przepływ
| Funkcja | Co |
|---|---|
notify, progress, menu, input, itemPicker | Wspólne UI rysowane przez ai-lib (wybierak przedmiotów przez ai-core). progress przyjmuje animację lub scenariusz, punkt, w który postać ma się obrócić, zablokowane sterowanie, zamrożenie, klawisz anulowania. |
skillCheck, lockpick | Minigry rysowane przez ai-lib: pierścień testu umiejętności (format trudności z ox_lib) i otwieranie zamka wytrychem (zapadki, zapas wytrychów). |
NuiScreen | Pełnoekranowa strona zasobu: fokus, ukryte HUD-y, wiadomość zamknięcia i callbacki strony w jednej klasie. |
Keybind, addCommand | Klawisze (pokazywane w panelu i na liście klawiszy) i komendy (sprawdzane przez ACE, wymienione w panelu). |
every(ms, fn) | Jeden harmonogram zasobu do pracy okresowej. |
hud, keyHints, radial, controls | Ukrywanie HUD przy pełnoekranowym UI, pomoc klawiszy, pozycje menu radialnego, wyłączone sterowanie. |
Przez AI Core
inventory, vehicleKeys, dispatch, phone, world (czas i pogoda), prison, medical, appearance, money.transfer, buckets, online (gracze, prace, służba, nazwy), isPrimeTime: każda przekazuje wywołanie do skryptu, którego serwer używa do danego zadania.
Pełna, aktualna lista jest w .claude/rules/lib.md w folderze serwera.