Most vRP
Eksporty, których używa wbudowany most vRP ai-core - magazyn danych vRP, jego API bazy danych, mapowanie uprawnień i lista uprawnień.
ai-core uruchamia skrypty vRP przez swój wbudowany most vRP (robi provide dla vrp). Strona Lua mostu dociera do strony TypeScript ai-core przez eksporty z tej strony. Istnieją dla tego mostu: skrypt vRP używa własnego API vRP (vRP.getUData, vRP.query, vRP.hasPermission...), na które odpowiada most, a skrypt ai-* nigdy ich nie potrzebuje. Mapowanie vRP w panelu (uprawnienia, grupy, przedmioty) edytuje się w panelu administratora, nie przez te eksporty.
Są wymienione, aby dokumentacja była kompletna. Każdy odpowiada od razu albo przez callback, jak każdy eksport ai-core.
VrpGetData
Czyta jedną wartość z magazynu klucz-wartość vRP (to, co czytają getUData, getCData, getSData i getGData z vRP). Wartości podróżują jako tekst hex, aby każdy bajt przetrwał drogę między Lua a TypeScript.
Strona: Serwer · Czeka: nie (odpowiada przez done; od razu dla klucza w pamięci podręcznej) · Lib: brak (tylko most)
VrpGetData(kind: string, owner: string, key: string, done: (hex: string) => void): voidexports['ai-core']:VrpGetData('u', tostring(userId), 'myscript:data', function(hex) end)Parametry
Prop
Type
Zwraca
Nic. done dostaje wartość jako hex albo "", gdy klucz nie jest ustawiony lub argument jest zły. Dane wczytanych kont i postaci zostają w pamięci podręcznej, więc odpowiada od razu.
Przykład
Bez przykładu: skrypty vRP wywołują vRP.getUData i podobne, które most zamienia na ten eksport.
VrpSetData
Zapisuje jedną wartość w magazynie klucz-wartość vRP. Jest zapisywana do bazy danych (ai_core_vrp_data) w ciągu sekundy i gdy jej postać jest zwalniana.
Strona: Serwer · Czeka: nie · Lib: brak (tylko most)
VrpSetData(kind: string, owner: string, key: string, hex: string): booleanlocal ok = exports['ai-core']:VrpSetData('u', tostring(userId), 'myscript:data', hex)Parametry
Prop
Type
Zwraca
boolean: true, gdy wartość została zapisana. false (z ostrzeżeniem w konsoli), gdy argument jest zły albo hex nie jest poprawnym tekstem hex.
Przykład
Bez przykładu: skrypty vRP wywołują vRP.setUData i podobne.
VrpQuery
API bazy danych vRP (vRP.query, vRP.execute, vRP.scalar dla przygotowanych zapytań) na puli bazy danych ai-core. Placeholdery @name są wypełniane z tabeli parametrów; kilka zapytań w jednym tekście działa po kolei w jednej transakcji, a odpowiada ostatnie.
Strona: Serwer · Czeka: nie (odpowiada przez done) · Lib: brak (tylko most)
VrpQuery(
sql: string,
params: unknown,
mode: "query" | "execute" | "scalar",
done: (error: string | null, ...answer: unknown[]) => void,
): voidexports['ai-core']:VrpQuery('SELECT 1 AS n', {}, 'scalar', function(err, value) end)Parametry
Prop
Type
Zwraca
Nic. done dostaje, po miejscu na błąd: dla query wiersze i liczbę zmienionych wierszy; dla execute liczbę zmienionych wierszy; dla scalar pierwszą kolumnę pierwszego wiersza (lub null). Przy niepowodzeniu done dostaje tylko tekst błędu ("empty query" dla pustego sql).
Przykład
Bez przykładu: skrypty vRP wywołują vRP.prepare i vRP.query. Inne zasoby używają @aicore-fivem/mysql (skrypty ai-*) albo API oxmysql z ai-mysql.
GetVrpConfig
Mapowanie vRP z panelu (data/vrp.json): które prace, gangi, stopnie i administratorzy ai-core mają które uprawnienia vRP, co znaczą nazwy grup vRP i którym przedmiotem ekwipunku jest każde id przedmiotu vRP.
Strona: Serwer · Czeka: nie · Lib: brak (tylko most)
GetVrpConfig(): VrpConfiglocal config = exports['ai-core']:GetVrpConfig()Parametry
Brak.
Zwraca
VrpConfig: defaults (wbudowane reguły prefiksów), permissions (reguły), groups (nazwa grupy vRP na pracę / gang / stopień / administratora) i items (id przedmiotu vRP na nazwę przedmiotu). Zobacz VrpConfig. Po zmianie w panelu ai-core wysyła serwerowe zdarzenie ai-core:vrp:config z tym samym kształtem.
Przykład
Bez przykładu: most czyta to, aby odpowiadać na vRP.hasPermission i vRP.hasGroup.
VrpPermissionAsked
Zapisuje string uprawnienia, o który zapytał skrypt vRP, aby panel mógł wyświetlić każde uprawnienie używane przez skrypty serwera, a właściciel mógł je zmapować.
Strona: Serwer · Czeka: nie · Lib: brak (tylko most)
VrpPermissionAsked(permission: string): booleanlocal new = exports['ai-core']:VrpPermissionAsked('police.armory')Parametry
Prop
Type
Zwraca
boolean: true, gdy uprawnienie było nowe i jest teraz zapisane. false, gdy było już znane, nie jest poprawnym tekstem albo zapisana lista jest pełna.
Przykład
Bez przykładu: most wywołuje to z vRP.hasPermission.
Panel administratora i komendy
Eksporty za panelem administratora ai-core - rejestracja panelu, zmiany w panelu, karta Commands, listy wyszukiwania i ekrany ustawień innych skryptów na dashboardzie.
Eksporty klienckie ai-core
Czym są eksporty klienckie ai-core, jak je wywoływać z TypeScript i Lua oraz która funkcja pomocnicza liba opakowuje każdy z nich.