Client JavaScript overview
Client resources запускают JavaScript через Varion client runtime. Runtime инжектит global varion object, native bridge и resource/manifest helpers.
Полный справочник по
varion.*— на странице Client JS API. Отдельные страницы: WebView и GTA natives.
Resource config
enabled = true
type = "js"
main = "server/main.js"
client-type = "js"
client-main = "client/main.js"
client-files = [ "client/**" ]Server manifest содержит client resources, а client runtime загружает configured client-main из resource cache.
Events
varion.on('resourceStart', (name) => varion.log(`start ${name}`));
varion.onServer('chat:addMessage', (author, message) => {});
varion.emitServer('chat:message', 'hello');varion.onServerUnreliable и varion.emitServerUnreliable также реализованы.
RPC
const result = await varion.callServer('inventory:get');
varion.onRpc('client:ping', async () => {
return { pong: true };
});Resources and HTTP
const config = varion.getResourceConfig('mymode');
const path = varion.getResourcePath('mymode', 'client/main.js');
const url = varion.assetUrl('ui-pack', 'index.html');
const response = await varion.Http.getJson('/server-info.json');varion.HttpClient validates protocol, host и port against server manifest and asset bases.
Storage
varion.LocalStorage.set('token', 'value');
varion.LocalStorage.save();Local storage cached in client runtime и flushed on resource stop.
См. также
- Client JS API — полный справочник runtime (события, сущности, голос, аудио, HTTP, файлы, WebSocket, разрешения, статистика, утилиты и т.д.).
- WebView — overlay/DUI UI, методы и события WebView.
- GTA natives — вызов GTA-нативов из client JS.
Source backing
Страница основана на src/network/CNetworkManager.cpp, client/src/scripting/CClientScriptRuntime.cpp, sdk/client-js-runtime/injected/events-bootstrap.js, sdk/client-js-runtime/injected/mvalue-bootstrap.js и sdk/client-js-runtime/injected/services-bootstrap.js.