VincenzoDrift Posted July 20, 2015 Share Posted July 20, 2015 Ciao a tutti, allora ho provato a creare un semplice Browser sulla mia gamemode e fin qui tutto ok. Pero' ho visto qualche video su youtube in cui qualcuno creava un vero e proprio cinema, facendo apparire l'immagine del browser su un object qualsiasi! Quali funzioni dovrei usare? dx...? Se si potete darmi una mano dicendomi più o meno come dovrei procedere? Grazie mille! Link to comment
xShocKz Posted July 21, 2015 Share Posted July 21, 2015 Credo che dovresti utilizare https://wiki.multitheftauto.com/wiki/En ... rldTexture non ho ancora provato quindi non so dirti. Link to comment
VincenzoDrift Posted July 21, 2015 Author Share Posted July 21, 2015 Si allora io ho provato con un altra funzione e tutto worka perfettamente... Il codice è questo: (mi sono aiutato con uno script trovato su internet) local webBrowser = createBrowser(1200, 675, false) function LoadURL(thePlayer, command) loadBrowserURL(webBrowser, "https://www.youtube.com/tv/#/watch?v=zJRT1HXyU14") end addCommandHandler("youtube", LoadURL) function drawBrowser() local x, y = 110.7, 1024.15 dxDrawMaterialLine3D(x, y, 23.25, x, y, 14.75, webBrowser, 18.2, tocolor(255, 255, 255, 255), x, y+1, 19) end addEventHandler("onClientPreRender", root, drawBrowser) Ora l'unico problema che mi rimane è che mi carica solo i video di youtube, mentre tutti gli altri siti no, perché non sono nella whitelist o non sono stati chiamati con la funziona request... Potresti dirmi come modificare lo script, perché io ci avevo già provato con onClientBrowserWhitelistChange e requestBrowserDomains, però non mi funziona Link to comment
xShocKz Posted July 21, 2015 Share Posted July 21, 2015 Beh, non vedo una funzione che ti permetta di caricare altri siti. Hai impostato come default quel video di youtube @ https://www.youtube.com/tv/#/watch?v=zJRT1HXyU14 . Quindi puoi cambiare quello, oppure fare un comando che ti carica un altro URL Link to comment
VincenzoDrift Posted July 21, 2015 Author Share Posted July 21, 2015 Beh, non vedo una funzione che ti permetta di caricare altri siti.Hai impostato come default quel video di youtube @ https://www.youtube.com/tv/#/watch?v=zJRT1HXyU14 . Quindi puoi cambiare quello, oppure fare un comando che ti carica un altro URL Forse non mi sono spiegato bene Tralasciando il fatto che perora l'url l'ho cambio io manualmente, quindi non in game.. Se inserisco qualsiasi altro sito non mi si carica proprio (funziona solo con il dominio di youtube). Se vuoi puoi provare lo script... Il video appare al cinema di fort carson Link to comment
xShocKz Posted July 23, 2015 Share Posted July 23, 2015 Altri siti tipo? Tutti eccetto youtube credo, non ho testato Link to comment
VincenzoDrift Posted July 24, 2015 Author Share Posted July 24, 2015 Alla fine mi sono scervellato ed ho trovato una risposta. Allora ci sono alcuni domini verificati tipo www.youtube.com e www.google.com (google.it non funge) che non hanno bisogno di richiedere il permesso per essere caricati sul browser perché sono appunto sicuri per cosi dire... Tutti gli altri domini hanno bisogno di ricevere il permesso. Comunque alla fine ho risolto così. N.B Ho aggiunto anche un comando per caricare url direttamente in game local webBrowser = createBrowser(1200, 675, false) local requestedURL = "" function LoadURL(command, url) url = "http://"..url loadBrowserURL(webBrowser, url) if isBrowserDomainBlocked(url, true) then outputChatBox(url.." is blocked! Now the browser add it to whitelist") requestedURL = url requestBrowserDomains({url}, true) showCursor(true) return else outputChatBox(url.." is not blocked!") end end addCommandHandler("url", LoadURL) function drawBrowser() local x, y = 110.7, 1024.15 dxDrawMaterialLine3D(x, y, 23.25, x, y, 14.75, webBrowser, 18.2, tocolor(255, 255, 255, 255), x, y+1, 19) end addEventHandler("onClientPreRender", root, drawBrowser) function whitelistChanged(whitelistedURLs) showCursor(false) for i, v in pairs(whitelistedURLs) do if requestedURL == v then loadBrowserURL(webBrowser, requestedURL) requestedURL = "" else outputChatBox(url.." failed to add to whitelist!") end end end addEventHandler("onClientBrowserWhitelistChange", root, whitelistChanged) Però sfortunatamente ho trovato un altro problema, che non ho notato giocando in locale. Se siamo in tanti nel server, il borwser viene caricato solo a chi ha digitato /url e non da tutti.. Suggerimenti? Link to comment
HunT Posted July 24, 2015 Share Posted July 24, 2015 Prima hai parlato di video poi di visualizzazione pagina. Spiegami precisamente cosa intendi fare. Per quanto riguarda l ultimo argomento e quasi logico perché lo script è client, quindi succede solo a chi va ad effettuare il comando. Per risolvere devi fare server e client. Purtroppo solo la sera sto al pc, stasera ti faccio un esempio. Link to comment
VincenzoDrift Posted July 24, 2015 Author Share Posted July 24, 2015 Si allora cercherò di spiegarmi meglio. Con questo script vorrei che accedendo al server e andando nel cinema a fort carson, tutti vedano il browser sullo schermo. Ora succede che se siamo in tanti nel server e io digito /url , il sito in questione lo vedo solo io (facciamo finta che sia youtube, perché principalmente lo devo usare per vedere i video). Ora io avevo pensato anche di fare qualcosa lato server, però non so come fare perché i comandi browser sono solo lato client 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