AlyssonFX Posted December 29, 2020 Share Posted December 29, 2020 function playVideo (posX, posY, width, height, url, duration, canClose, postGUI) if not posX or not posY or not width or not height or not url then return false end local webBrowser = false closeButton = guiCreateButton (0.97, 0, 0.03, 0.03, "X", true) guiSetAlpha (closeButton, 0.5) guiSetVisible (closeButton, false) if not isElement (webBrowser) then webBrowser = createBrowser (width, height, false, false) function createVideoPlayer () function webBrowserRender () dxDrawImage (posX, posY, width, height, webBrowser, 0, 0, 0, tocolor(255,255,255,255), postGUI) end loadBrowserURL (webBrowser, url) setTimer (function() addEventHandler ("onClientRender", getRootElement(), webBrowserRender) showChat (false) if canClose then guiSetVisible (closeButton, true) showCursor (true) end end, 500, 1) setElementFrozen (localPlayer, true) if duration then videoTimer = setTimer (function() removeEventHandler ("onClientRender", getRootElement(), webBrowserRender) setElementFrozen (localPlayer, false) guiSetVisible (closeButton, false) showCursor (false) showChat (true) destroyElement (webBrowser) end, duration, 1) end addEventHandler ("onClientGUIClick", closeButton, function (button, state) if button == "left" then if isTimer (videoTimer) then killTimer (videoTimer) videoTimer = nil removeEventHandler ("onClientRender", getRootElement(), webBrowserRender) setElementFrozen (localPlayer, false) guiSetVisible (closeButton, false) showCursor (false) showChat (true) destroyElement (webBrowser) end end end, false) end setTimer (createVideoPlayer, 500, 1) end end Link to comment
Moderators Patrick Posted December 30, 2020 Moderators Share Posted December 30, 2020 Wrong language, moved to Portuguese section. Link to comment
Boechat Posted December 30, 2020 Share Posted December 30, 2020 13 hours ago, AlyssonFX said: function playVideo (posX, posY, width, height, url, duration, canClose, postGUI) if not posX or not posY or not width or not height or not url then return false end local webBrowser = false closeButton = guiCreateButton (0.97, 0, 0.03, 0.03, "X", true) guiSetAlpha (closeButton, 0.5) guiSetVisible (closeButton, false) if not isElement (webBrowser) then webBrowser = createBrowser (width, height, false, false) function createVideoPlayer () function webBrowserRender () dxDrawImage (posX, posY, width, height, webBrowser, 0, 0, 0, tocolor(255,255,255,255), postGUI) end loadBrowserURL (webBrowser, url) setTimer (function() addEventHandler ("onClientRender", getRootElement(), webBrowserRender) showChat (false) if canClose then guiSetVisible (closeButton, true) showCursor (true) end end, 500, 1) setElementFrozen (localPlayer, true) if duration then videoTimer = setTimer (function() removeEventHandler ("onClientRender", getRootElement(), webBrowserRender) setElementFrozen (localPlayer, false) guiSetVisible (closeButton, false) showCursor (false) showChat (true) destroyElement (webBrowser) end, duration, 1) end addEventHandler ("onClientGUIClick", closeButton, function (button, state) if button == "left" then if isTimer (videoTimer) then killTimer (videoTimer) videoTimer = nil removeEventHandler ("onClientRender", getRootElement(), webBrowserRender) setElementFrozen (localPlayer, false) guiSetVisible (closeButton, false) showCursor (false) showChat (true) destroyElement (webBrowser) end end end, false) end setTimer (createVideoPlayer, 500, 1) end end Acontece que você criou a função mas não está chamando-a. Para funcionar, em algum momento você deve chamá-la passando os argumentos, por exemplo: local x, y = guiGetScreenSize() function defaultFunction () playVideo (0, 0, x, y, "https://www.youtube.com/embed/rRjY8SOZ9Uo?autoplay=1&showinfo=0&rel=0&controls=0&disablekb=1", 12500, true, false) end addCommandHandler ("intro", defaultFunction) Ao dar o comando "intro", vai rodar um videozinho. Para saber mais sobre a função dá uma lida na página da wiki dela: playVideo 1 Link to comment
AlyssonFX Posted December 30, 2020 Author Share Posted December 30, 2020 local x, y = guiGetScreenSize() function defaultFunction () playVideo (0, 0, x, y, "https://www.youtube.com/embed/rRjY8SOZ9Uo?autoplay=1&showinfo=0&rel=0&controls=0&disablekb=1", 12500, true, false) end addCommandHandler ("intro", defaultFunction) Mas só essa função já é capaz de fazer rodar um vídeo. Link to comment
Boechat Posted December 30, 2020 Share Posted December 30, 2020 16 minutes ago, AlyssonFX said: local x, y = guiGetScreenSize() function defaultFunction () playVideo (0, 0, x, y, "https://www.youtube.com/embed/rRjY8SOZ9Uo?autoplay=1&showinfo=0&rel=0&controls=0&disablekb=1", 12500, true, false) end addCommandHandler ("intro", defaultFunction) Mas só essa função já é capaz de fazer rodar um vídeo. Não, essa função somente um exemplo que chama a função que roda o vídeo passando os argumentos. No seu código deve conter isso que eu postei e a função que você postou. 1 Link to comment
AlyssonFX Posted December 30, 2020 Author Share Posted December 30, 2020 "https://www.youtube.com/embed/I5Q_dEZbbuQ?autoplay=1&showinfo=0&rel=0&controls=0&disablekb=1" Eita, pós não sei como posso está juntando esses dois. Poderia juntar pra mim pra eu estudar, com esse link acima? Assim eu compreendo mais facil. Eu já tentei de tudo mesmo, desde o mês passado estou tentando fazer funcionar. Link to comment
Other Languages Moderators Lord Henry Posted December 30, 2020 Other Languages Moderators Share Posted December 30, 2020 Faltou vc configurar os parâmetros além do link. O vídeo deve sumir da tela sozinho após a reprodução? Ou prefere que o usuário clique em algum botão pra fechá-lo? Seu servidor roda a quantos FPS? Pois o framerate dele irá variar a duração do vídeo no cliente. Testei e funcionou aqui. Neste exemplo o vídeo some sozinho após a execução (servidor rodando limitado em 30FPS) e também tem um botão para fechar o vídeo a qualquer momento. Spoiler function playVideo (posX, posY, width, height, url, duration, canClose, postGUI) if not posX or not posY or not width or not height or not url then return false end local webBrowser = false closeButton = guiCreateButton (0.97, 0, 0.03, 0.03, "X", true) guiSetAlpha (closeButton, 0.5) guiSetVisible (closeButton, false) if not isElement (webBrowser) then webBrowser = createBrowser (width, height, false, false) function createVideoPlayer () function webBrowserRender () dxDrawImage (posX, posY, width, height, webBrowser, 0, 0, 0, tocolor(255,255,255,255), postGUI) end loadBrowserURL (webBrowser, url) setTimer (function() addEventHandler ("onClientRender", getRootElement(), webBrowserRender) showChat (false) if canClose then guiSetVisible (closeButton, true) showCursor (true) end end, 500, 1) setElementFrozen (localPlayer, true) if duration then videoTimer = setTimer (function() removeEventHandler ("onClientRender", getRootElement(), webBrowserRender) setElementFrozen (localPlayer, false) guiSetVisible (closeButton, false) showCursor (false) showChat (true) destroyElement (webBrowser) end, duration, 1) end addEventHandler ("onClientGUIClick", closeButton, function (button, state) if button == "left" then if isTimer (videoTimer) then killTimer (videoTimer) videoTimer = nil removeEventHandler ("onClientRender", getRootElement(), webBrowserRender) setElementFrozen (localPlayer, false) guiSetVisible (closeButton, false) showCursor (false) showChat (true) destroyElement (webBrowser) end end end, false) end setTimer (createVideoPlayer, 500, 1) end end local x, y = guiGetScreenSize() function defaultFunction () playVideo (0, 0, x, y, "https://www.youtube.com/embed/I5Q_dEZbbuQ?autoplay=1&showinfo=0&rel=0&controls=0&disablekb=1", 154500, true, false) end addCommandHandler ("intro", defaultFunction) 1 Link to comment
AlyssonFX Posted December 30, 2020 Author Share Posted December 30, 2020 1 hour ago, Lord Henry said: Faltou vc configurar os parâmetros além do link. O vídeo deve sumir da tela sozinho após a reprodução? Ou prefere que o usuário clique em algum botão pra fechá-lo? Seu servidor roda a quantos FPS? Pois o framerate dele irá variar a duração do vídeo no cliente. Testei e funcionou aqui. Neste exemplo o vídeo some sozinho após a execução (servidor rodando limitado em 30FPS) e também tem um botão para fechar o vídeo a qualquer momento. Reveal hidden contents function playVideo (posX, posY, width, height, url, duration, canClose, postGUI) if not posX or not posY or not width or not height or not url then return false end local webBrowser = false closeButton = guiCreateButton (0.97, 0, 0.03, 0.03, "X", true) guiSetAlpha (closeButton, 0.5) guiSetVisible (closeButton, false) if not isElement (webBrowser) then webBrowser = createBrowser (width, height, false, false) function createVideoPlayer () function webBrowserRender () dxDrawImage (posX, posY, width, height, webBrowser, 0, 0, 0, tocolor(255,255,255,255), postGUI) end loadBrowserURL (webBrowser, url) setTimer (function() addEventHandler ("onClientRender", getRootElement(), webBrowserRender) showChat (false) if canClose then guiSetVisible (closeButton, true) showCursor (true) end end, 500, 1) setElementFrozen (localPlayer, true) if duration then videoTimer = setTimer (function() removeEventHandler ("onClientRender", getRootElement(), webBrowserRender) setElementFrozen (localPlayer, false) guiSetVisible (closeButton, false) showCursor (false) showChat (true) destroyElement (webBrowser) end, duration, 1) end addEventHandler ("onClientGUIClick", closeButton, function (button, state) if button == "left" then if isTimer (videoTimer) then killTimer (videoTimer) videoTimer = nil removeEventHandler ("onClientRender", getRootElement(), webBrowserRender) setElementFrozen (localPlayer, false) guiSetVisible (closeButton, false) showCursor (false) showChat (true) destroyElement (webBrowser) end end end, false) end setTimer (createVideoPlayer, 500, 1) end end local x, y = guiGetScreenSize() function defaultFunction () playVideo (0, 0, x, y, "https://www.youtube.com/embed/I5Q_dEZbbuQ?autoplay=1&showinfo=0&rel=0&controls=0&disablekb=1", 154500, true, false) end addCommandHandler ("intro", defaultFunction) Pronto, já ajudou d+, agora assim, quero coloca em um painel de login que quando pessoa clicar em entrar o video feche junto com o painel de login. o addComandeHandler é só pra testar. Tu é mito! Link to comment
Doongogar Posted October 26, 2021 Share Posted October 26, 2021 On 30/12/2020 at 18:06, Lord Henry said: Faltou vc configurar os parâmetros além do link. O vídeo deve sumir da tela sozinho após a reprodução? Ou prefere que o usuário clique em algum botão pra fechá-lo? Seu servidor roda a quantos FPS? Pois o framerate dele irá variar a duração do vídeo no cliente. Testei e funcionou aqui. Neste exemplo o vídeo some sozinho após a execução (servidor rodando limitado em 30FPS) e também tem um botão para fechar o vídeo a qualquer momento. Hide contents function playVideo (posX, posY, width, height, url, duration, canClose, postGUI) if not posX or not posY or not width or not height or not url then return false end local webBrowser = false closeButton = guiCreateButton (0.97, 0, 0.03, 0.03, "X", true) guiSetAlpha (closeButton, 0.5) guiSetVisible (closeButton, false) if not isElement (webBrowser) then webBrowser = createBrowser (width, height, false, false) function createVideoPlayer () function webBrowserRender () dxDrawImage (posX, posY, width, height, webBrowser, 0, 0, 0, tocolor(255,255,255,255), postGUI) end loadBrowserURL (webBrowser, url) setTimer (function() addEventHandler ("onClientRender", getRootElement(), webBrowserRender) showChat (false) if canClose then guiSetVisible (closeButton, true) showCursor (true) end end, 500, 1) setElementFrozen (localPlayer, true) if duration then videoTimer = setTimer (function() removeEventHandler ("onClientRender", getRootElement(), webBrowserRender) setElementFrozen (localPlayer, false) guiSetVisible (closeButton, false) showCursor (false) showChat (true) destroyElement (webBrowser) end, duration, 1) end addEventHandler ("onClientGUIClick", closeButton, function (button, state) if button == "left" then if isTimer (videoTimer) then killTimer (videoTimer) videoTimer = nil removeEventHandler ("onClientRender", getRootElement(), webBrowserRender) setElementFrozen (localPlayer, false) guiSetVisible (closeButton, false) showCursor (false) showChat (true) destroyElement (webBrowser) end end end, false) end setTimer (createVideoPlayer, 500, 1) end end local x, y = guiGetScreenSize() function defaultFunction () playVideo (0, 0, x, y, "https://www.youtube.com/embed/I5Q_dEZbbuQ?autoplay=1&showinfo=0&rel=0&controls=0&disablekb=1", 154500, true, false) end addCommandHandler ("intro", defaultFunction) não sei se é so pra mim que ta dando o erro, mais ta dando isso diversas vezes no debug mesmo a reprodução do video o erro continua spamando no debug WARNING: video/script.lua:13: Bad argument @ 'dxDrawImage' [Expected material at argument 5] [DUP x215] 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