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.
| Warstwa | Lib | Adaptery |
|---|---|---|
| Ekwipunek | inventory | ai-inventory, ox_inventory, qb-inventory, tgiann-inventory i inne |
| Klucze pojazdów | vehicleKeys | ai-vehiclekeys, qbx_vehiclekeys i inne |
| Dispatch | dispatch.alert | ai-policealert i skrypty alertów |
| Telefon | phone | tgiann-phone, lb-phone |
| Pogoda i czas | world | API qb-weathersync (ai-weathersync, qb-weathersync, Renewed), cd_easytime; wstrzymania liczone według powodu |
| Więzienie | prison | ai-prison, qb-prison |
| Wygląd | appearance | ai-appearance, tgiann-clothing |
| Leczenie | medical | ai-death, qbx_medical, qb-ambulancejob, esx_ambulancejob, ars_ambulancejob |
| Menu radialne | radial | ai-radialmenu, qb-radialmenu, ox_lib |
| Gesty | gestures | ai-smallresources, tgiann-emotes |
| HUD | hud, keyHints | ai-hud, tgiann-lumihud |
| Godziny szczytu | isPrimeTime | tgiann-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, QBPlayer) odwzorowywane ze zdarzeń zmian AI Core, nigdy przez pytanie AI Core przy każdym odczycie; PlayerDatapo 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.