mrevens Posted September 19, 2021 Share Posted September 19, 2021 (edited) Появились проблемы при работе со скриптом, при последующем открытие и закрытии окна браузера, слетаю анимации на сайте и т.п. Как сделать, что бы при следующем открытии на кнопку , браузер перезапускался ? А еще нужно бы добавить управление клавиатурой, а то не работает ввод текста и т.п. Помогите пожалуйста! Вот сам код https://pastebin.com/hrE9tknM Edited September 19, 2021 by mrevens Ошибся в коде Link to comment
Scripting Moderators Sarrum Posted September 19, 2021 Scripting Moderators Share Posted September 19, 2021 . 7 hours ago, mrevens said: Как сделать, что бы при следующем открытии на кнопку , браузер перезапускался ? Есть функция reloadBrowserPage, которая позволяет перезагрузить любую страницу. Если слетают анимации, возможно проблема в самом коде веб-страницы, но эта функция поможет. 7 hours ago, mrevens said: А еще нужно бы добавить управление клавиатурой, а то не работает ввод текста и т.п. Нужно использовать focusBrowser для фокусировки браузера и появится возможность ввода. По коду, если нужно скрыть HUD, достаточно указать all (всё перечисленное на странице вики) для функции setPlayerHudComponentVisible и тогда все компоненты скроются, а не дублировать каждый компонент отдельно. С обработчиками событий можно поступить иначе, прикрепляя их только при отображении окна браузера, затем откреплять, когда они не нужны. Ну и есть небольшая проблема с форматированием кода (включая табуляцию), что плохо для себя самого и другим страшно на такое смотреть. Итоговый код будет примерно таким: local screenWidth, screenHeight = guiGetScreenSize() local webBrowser = createBrowser(screenWidth, screenHeight, true, true) local state addEventHandler("onClientBrowserCreated", webBrowser, function() loadBrowserURL(webBrowser, "http://mta/local/html/index.html") end ) function webBrowserRender() dxDrawImage(0, 0, screenWidth, screenHeight, webBrowser, 0, 0, 0, tocolor(255, 255, 255, 255), true) end function webBrowserClickHandler(button, state) if state == "down" then injectBrowserMouseDown(webBrowser, button) else injectBrowserMouseUp(webBrowser, button) end end function webBrowserCursorMove(relativeX, relativeY, absoluteX, absoluteY) injectBrowserMouseMove(webBrowser, absoluteX, absoluteY) end bindKey("F3", "down", function() state = not state if state then showCursor(true) setPlayerHudComponentVisible("all", false) reloadBrowserPage(webBrowser) focusBrowser(webBrowser) addEventHandler("onClientRender", root, webBrowserRender) addEventHandler("onClientClick", root, webBrowserClickHandler) addEventHandler("onClientCursorMove", root, webBrowserCursorMove) else showCursor(false) setPlayerHudComponentVisible("all", true) removeEventHandler("onClientRender", root, webBrowserRender) removeEventHandler("onClientClick", root, webBrowserClickHandler) removeEventHandler("onClientCursorMove", root, webBrowserCursorMove) end end ) 1 Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now