Jump to content

CEF Browser Cinema


Recommended Posts

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! :D

Link to comment

Si allora io ho provato con un altra funzione e tutto worka perfettamente... :D

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
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 :lol:

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

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

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

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 :D

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...