AI Core

Warstwy i most

Jak AI Core działa między skryptami - warstwy integracji, zamienniki i most ESX / QB / Qbox.

Warstwy integracji

Skrypt nigdy nie wywołuje eksportów innego skryptu dla wspólnego zadania. Wywołuje lib, lib wywołuje AI Core, a AI Core przekazuje wywołanie do skryptu, którego serwer używa do tego zadania. Każda warstwa wybiera adapter przy starcie (panel administratora może to nadpisać) i ponownie, gdy kandydat się uruchamia lub zatrzymuje.

WarstwaLibAdaptery
Ekwipunekinventoryai-inventory, ox_inventory, qb-inventory, tgiann-inventory i inne
Klucze pojazdówvehicleKeysai-vehiclekeys, qbx_vehiclekeys i inne
Dispatchdispatch.alertai-policealert i skrypty alertów
Telefonphonetgiann-phone, lb-phone
Pogoda i czasworldAPI qb-weathersync (ai-weathersync, qb-weathersync, Renewed), cd_easytime; wstrzymania liczone według powodu
Więzienieprisonai-prison, qb-prison
Wyglądappearanceai-appearance, tgiann-clothing
Leczeniemedicalai-death, qbx_medical, qb-ambulancejob, esx_ambulancejob, ars_ambulancejob
Menu radialneradialai-radialmenu, qb-radialmenu, ox_lib
Gestygesturesai-smallresources, tgiann-emotes
HUDhud, keyHintsai-hud, tgiann-lumihud
Godziny szczytuisPrimeTimetgiann-policealert, w przeciwnym razie godziny z panelu

Dodanie skryptu do warstwy to jeden plik adaptera i jedna linia w rejestrze.

Most

ai-core robi provide dla es_extended, qb-core i qbx_core i odpowiada na ich API z plików Lua w bridge/:

  • obiekty core (exports['qb-core']:GetCoreObject(), ESX = exports.es_extended:getSharedObject(), starsze zdarzenia), eksporty Qbox;
  • obiekty graczy (xPlayer, QB Player) odwzorowywane ze zdarzeń zmian AI Core, nigdy przez pytanie AI Core przy każdym odczycie;
  • PlayerData po stronie klienta budowane z własnego kanału danych gracza AI Core;
  • zdarzenia frameworków z tymi samymi argumentami i w tym samym momencie (QBCore:Client:OnPlayerLoaded, esx:setJob...);
  • callbacki, używalne przedmioty, komendy (wymienione w panelu), powiadomienia, menu, podpowiedzi tekstowe i paski postępu rysowane UI AI Core;
  • dołączane pliki (@qb-core/shared/locale.lua, @es_extended/imports.lua, @qbx_core/modules/playerdata.lua).

Most działa na kopii strony Lua z ai-lib, więc funkcje pomocnicze frameworków (streaming, strefy, skróty klawiszowe, postęp, limity częstotliwości) współdzielą kod lib.

Na tej stronie