Narutimmy Posted June 4, 2016 Share Posted June 4, 2016 Buenas gente, estoy tratando de mejorar un script que un usuario publico hace unos dias ya que hace mucho queria hacer algo asi pero no sabia por donde comenzar. Todo funciona bien pero quiero mostrar en el chat el Titulo de la cancion que se esta reproduciendo... Cliente: --[[ Script: Radio en vehiculos. Autor: Blue Pie Servidor: Las Venturas Roleplay. Version: 1.0 ]]-- local sonido = {} function radioOn ( vehicle, link ) local x, y, z = getElementPosition(vehicle) local interior, dimension = getElementInterior ( vehicle ), getElementDimension ( vehicle ) if vehicle and link then if not sonido[vehicle] then sonido[vehicle] = playSound3D("http://www.youtubeinmp3.com/fetch/?video="..link, x, y, z, false) fetchRemote("www.youtubeinmp3.com/fetch/?format=JSON&video="..link, function (data, err) if err == 0 then json = fromJSON(data) outputChatBox("Se Esta Reproduciendo "..json.title, 255, 5, 0 ) else error("Error ["..tostring(err).."] on get MP3 from Youtube URL") end end) if isSoundPaused ( sonido[vehicle] ) then outputChatBox ( "Servicio No Disponible - Intenta mas Tarde!", 255, 5, 0 ) return end setElementDimension ( sonido[vehicle], dimension ) setElementInterior ( sonido[vehicle], interior ) setSoundMaxDistance ( sonido[vehicle], 50 ) attachElements ( sonido[vehicle], vehicle ) else stopSound ( sonido[vehicle] ) sonido[vehicle] = playSound3D("http://www.youtubeinmp3.com/fetch/?video="..link, x, y, z, false) fetchRemote("www.youtubeinmp3.com/fetch/?format=JSON&video="..link, function (data, err) if err == 0 then json = fromJSON(data) outputChatBox("Se Esta Reproduciendo "..json.title, 255, 5, 0 ) else error("Error ["..tostring(err).."] on get MP3 from Youtube URL") end end) if isSoundPaused ( sonido[vehicle] ) then outputChatBox ( "Servicio No Disponible - Intenta mas Tarde!", 255, 5, 0 ) return end setElementDimension ( sonido[vehicle], dimension ) setElementInterior ( sonido[vehicle], interior ) setSoundMaxDistance ( sonido[vehicle], 50 ) attachElements ( sonido[vehicle], vehicle ) end end end addEvent ( "onEncenderRadio", true ) addEventHandler ( "onEncenderRadio", root, radioOn ) Ademas el servidor de musica se satura mucho quiero que mande a imprimir un mensaje de error si no logra conseguir el mp3.... una ayuda ? Link to comment
Discord Moderators AlexTMjugador Posted June 4, 2016 Discord Moderators Share Posted June 4, 2016 ¿Cómo es posible que te "funcione bien" si es un código del lado del cliente y usa fetchRemote con una web ajena al servidor? Has puesto el código mal o el título del tema mal, porque algo falla ahí. Link to comment
aka Blue Posted June 4, 2016 Share Posted June 4, 2016 Puedes hacer un triggerServerEvent para realizar un pedido a la parte server, sacar el título de la canción y ya de ahí devolver los valores al cliente con triggerClientEvent. O simplemente al iniciar la canción (que en el script está en parte servidor el comando), una tabla que almacene el título que haya introducido el jugador. Link to comment
Narutimmy Posted June 4, 2016 Author Share Posted June 4, 2016 ¿Cómo es posible que te "funcione bien" si es un código del lado del cliente y usa fetchRemote con una web ajena al servidor? Has puesto el código mal o el título del tema mal, porque algo falla ahí. pero... Shared function es shared, deberia funcionar en ambos Link to comment
Narutimmy Posted June 4, 2016 Author Share Posted June 4, 2016 Puedes hacer un triggerServerEvent para realizar un pedido a la parte server, sacar el título de la canción y ya de ahí devolver los valores al cliente con triggerClientEvent. O simplemente al iniciar la canción (que en el script está en parte servidor el comando), una tabla que almacene el título que haya introducido el jugador. voy a probar asi, gracias Link to comment
Discord Moderators AlexTMjugador Posted June 4, 2016 Discord Moderators Share Posted June 4, 2016 Shared function es shared, deberia funcionar en ambos Pero eso no implica que funcione de igual manera. Lee el recuadro azul que dice "Note" en el artículo de fetchRemote del wiki. Por el motivo que se explica en ese recuadro debes pedir la canción en el servidor y transferirla al cliente de alguna manera, ya que no puedes descargarla directamente desde el cliente. Link to comment
Narutimmy Posted June 4, 2016 Author Share Posted June 4, 2016 Shared function es shared, deberia funcionar en ambos Pero eso no implica que funcione de igual manera. Lee el recuadro azul que dice "Note" en el artículo de fetchRemote del wiki. Por el motivo que se explica en ese recuadro debes pedir la canción en el servidor y transferirla al cliente de alguna manera, ya que no puedes descargarla directamente desde el cliente. de echo la cancion si funciona y la pido desde el cliente... para eso no ocupo fechremote, lo ocupo para obtener el titulo que esta en un json PD: Ya lo hice funcionar solo pase el fech a Server, sin usar trigle desde ahi mande todo EDIT: Alguien conoce otra web con API que aga lo mismo? esta se satura mucho Link to comment
Sasu Posted June 5, 2016 Share Posted June 5, 2016 A mi me funciona perfectamente, lo que pasa es que algunos videos deben ser procesadas por primera vez y tardan, pero luego de unos segundos puedes volver a reproducir el video y funciona. Link to comment
Narutimmy Posted June 5, 2016 Author Share Posted June 5, 2016 A mi me funciona perfectamente, lo que pasa es que algunos videos deben ser procesadas por primera vez y tardan, pero luego de unos segundos puedes volver a reproducir el video y funciona. si pero, habeces se satura por horarios, de echo si entras a la web y pones un videos sale que esta saturado que pruebes mas tarde, por eso quiero otro, o que mande un error de pruebas mas tarde. En otras ocaciones cuando esta saturado se oye cortada la cancion. Link to comment
Recommended Posts