SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Funkcje klienta
  3. createBrowser

Funkcja

createBrowser

KlientPrzeglądarkaIdentyczna z MTA:SA

Tworzy przeglądarkę, czyli stronę HTML renderowaną do tekstury. Rysujesz ją przez dxDrawImage, a adres ładujesz dopiero w zdarzeniu onClientBrowserCreated.

Składnia

browser createBrowser(int width, int height, bool isLocal [, bool transparent = false])

Argumenty

widthint
Szerokość strony w pikselach.
heightint
Wysokość strony w pikselach.
isLocalbool
true: strony z plików zasobów (http://trilogy/local/...), false: strony z internetu z domen dozwolonych przez serwer i gracza.
transparentbool, opcjonalny = false
Czy przezroczyste tło strony ma być przezroczyste w grze.

Zwraca

Element przeglądarki albo false.

Przykład

Pełnoekranowy interfejs w HTML, który wysyła zdarzenie do Lua.

local sw, sh = guiGetScreenSize()
local browser = createBrowser(sw, sh, true, true)

addEventHandler("onClientBrowserCreated", browser, function()
    loadBrowserURL(browser, "http://trilogy/local/html/index.html")
end)

addEventHandler("onClientRender", root, function()
    dxDrawImage(0, 0, sw, sh, browser)
end)

setBrowserFunction(browser, "login", function(login, password)
    triggerServerEvent("tryLogin", localPlayer, login, password)
end)

Uwagi

Nie czeka na przeglądarkę. createBrowser od razu zwraca element, nawet gdy proces przeglądarki dopiero startuje (pierwsze wywołanie po wejściu na serwer). Ustawienia i adres podane wcześniej trafią do strony, gdy proces wstanie, a gotowość zgłasza onClientBrowserCreated. Można ją więc tworzyć w onClientResourceStart.

Osobny proces. Strony renderuje osobny proces Chromium. Gdy strona padnie, gra działa dalej, a przeglądarka wraca z ostatnim adresem.

Zaszyfrowane strony. <file src="html/index.html" protected="true" /> zapisuje plik strony (.html .htm .js .mjs .cjs .css .json .svg) w cache gracza zaszyfrowany, tak jak skrypty klienta. Treść dostaje tylko przeglądarka zasobu; fileOpen i fileCopy takiego pliku nie otworzą. Strona i tak musi dostać czysty kod, więc w narzędziach deweloperskich da się go podejrzeć.

Zobacz też