Matias_Montanna Posted December 12, 2016 Author Share Posted December 12, 2016 Sí, es mi error. Descubrí que sound:startSound estaba haciendo conflicto con otro recurso que usaba sound:startSound y yo le cambié el número. El script que publiqué arriba ahora funciona. El código que acabas de publicar lo voy a tener de referencia en caso de que falle por algo. Ahora he creado un par de botones con guieditor, les coloqué nombre a cada botón con una variable: reproducir1,2,3,4,5,etc. Y necesito ver cómo conecto al menos 1 botón a 1 sonido (por ejemplo: prueba1.mp3 de la carpeta sonidos) con BindKey para que con 1 tecla se active/desactive de la pantalla los botones que puedan ejecutar sonidos. Me estoy guiando con el código del gui que colocaste arriba. Link to comment
#Dv^ Posted December 12, 2016 Share Posted December 12, 2016 ¿Quieres que el sonido lo escuchen todos o sólo tú al presionar el botón? Link to comment
Matias_Montanna Posted December 12, 2016 Author Share Posted December 12, 2016 (edited) Todos. Aquí los botones que generé con el guieditor. Spoiler function botonessonido() reproducir2 = guiCreateButton(136, 333, 234, 37, "\"Audio2!\"", false) guiSetProperty(reproducir2, "NormalTextColour", "FFAAAAAA") reproducir1 = guiCreateButton(282, 235, 234, 37, "\"Audio1!\"", false) guiSetProperty(reproducir1, "NormalTextColour", "FFAAAAAA") reproducir3 = guiCreateButton(199, 430, 234, 37, "\"Audio3!\"", false) guiSetProperty(reproducir3, "NormalTextColour", "FFAAAAAA") reproducir4 = guiCreateButton(867, 445, 234, 37, "\"Audio4!\"", false) guiSetProperty(reproducir4, "NormalTextColour", "FFAAAAAA") reproducir5 = guiCreateButton(924, 356, 234, 37, "\"Audio5!\"", false) guiSetProperty(reproducir5, "NormalTextColour", "FFAAAAAA") reproducir6 = guiCreateButton(952, 260, 234, 37, "\"Audio6!\"", false) guiSetProperty(reproducir6, "NormalTextColour", "FFAAAAAA") reproducir7 = guiCreateButton(788, 176, 234, 37, "Audio7!", false) guiSetProperty(reproducir7, "NormalTextColour", "FFAAAAAA") reproducir8 = guiCreateButton(475, 176, 234, 37, "\"Audio8!\"", false) guiSetProperty(reproducir8, "NormalTextColour", "FFAAAAAA") showCursor (true) end Estaba recién comenzando, coloqué el showCursor que aún no tiene función con F7 para abrir o cerrar los botones en la pantalla. Edited December 12, 2016 by Matias_Montanna Link to comment
#Dv^ Posted December 12, 2016 Share Posted December 12, 2016 Toma, no sé si es lo que tratas de hacer, pero al presionar F7 aparecerán los botones de sonidos, te recuerdo que este script los sonidos se deben llamar de la misma manera que se llaman los botones de audios, es decir "Audio1.mp3", "Audio2.mp3", etc. Cliente reproducir2 = guiCreateButton(136, 333, 234, 37, "Audio2", false) guiSetProperty(reproducir2, "NormalTextColour", "FFAAAAAA") reproducir1 = guiCreateButton(282, 235, 234, 37, "Audio1", false) guiSetProperty(reproducir1, "NormalTextColour", "FFAAAAAA") reproducir3 = guiCreateButton(199, 430, 234, 37, "Audio3", false) guiSetProperty(reproducir3, "NormalTextColour", "FFAAAAAA") reproducir4 = guiCreateButton(867, 445, 234, 37, "Audio4", false) guiSetProperty(reproducir4, "NormalTextColour", "FFAAAAAA") reproducir5 = guiCreateButton(924, 356, 234, 37, "Audio5", false) guiSetProperty(reproducir5, "NormalTextColour", "FFAAAAAA") reproducir6 = guiCreateButton(952, 260, 234, 37, "Audio6", false) guiSetProperty(reproducir6, "NormalTextColour", "FFAAAAAA") reproducir7 = guiCreateButton(788, 176, 234, 37, "Audio7", false) guiSetProperty(reproducir7, "NormalTextColour", "FFAAAAAA") reproducir8 = guiCreateButton(475, 176, 234, 37, "Audio8", false) guiSetProperty(reproducir8, "NormalTextColour", "FFAAAAAA") guiSetVisible(reproducir1, false) guiSetVisible(reproducir2, false) guiSetVisible(reproducir3, false) guiSetVisible(reproducir4, false) guiSetVisible(reproducir5, false) guiSetVisible(reproducir6, false) guiSetVisible(reproducir7, false) guiSetVisible(reproducir8, false) viewPanel = false function openPanel() if ( viewPanel == false ) then guiSetVisible(reproducir1, true) guiSetVisible(reproducir2, true) guiSetVisible(reproducir3, true) guiSetVisible(reproducir4, true) guiSetVisible(reproducir5, true) guiSetVisible(reproducir6, true) guiSetVisible(reproducir7, true) guiSetVisible(reproducir8, true) showCursor(true) viewPanel = true else guiSetVisible(reproducir1, false) guiSetVisible(reproducir2, false) guiSetVisible(reproducir3, false) guiSetVisible(reproducir4, false) guiSetVisible(reproducir5, false) guiSetVisible(reproducir6, false) guiSetVisible(reproducir7, false) guiSetVisible(reproducir8, false) showCursor(false) viewPanel = false end end bindKey("F7", "down", openPanel) addEventHandler("onClientGUIClick", reproducir1, function () local name = guiGetText(reproducir1) triggerServerEvent("playSound", localPlayer, name) end ) addEventHandler("onClientGUIClick", reproducir2, function () local name = guiGetText(reproducir2) triggerServerEvent("playSound", localPlayer, name) end ) addEventHandler("onClientGUIClick", reproducir3, function () local name = guiGetText(reproducir3) triggerServerEvent("playSound", localPlayer, name) end ) addEventHandler("onClientGUIClick", reproducir4, function () local name = guiGetText(reproducir4) triggerServerEvent("playSound", localPlayer, name) end ) addEventHandler("onClientGUIClick", reproducir5, function () local name = guiGetText(reproducir5) triggerServerEvent("playSound", localPlayer, name) end ) addEventHandler("onClientGUIClick", reproducir6, function () local name = guiGetText(reproducir6) triggerServerEvent("playSound", localPlayer, name) end ) addEventHandler("onClientGUIClick", reproducir7, function () local name = guiGetText(reproducir7) triggerServerEvent("playSound", localPlayer, name) end ) addEventHandler("onClientGUIClick", reproducir8, function () local name = guiGetText(reproducir8) triggerServerEvent("playSound", localPlayer, name) end ) addEvent("startPlaySound", true) addEventHandler("startPlaySound", root, function(nameSound) local x, y, z = getElementPosition( localPlayer ) local sound = playSound3D( "sonidos/"..nameSound..".mp3", x, y, z ) setSoundVolume( sound, 1 ) setSoundMinDistance( sound, 1 ) setSoundMaxDistance( sound, 100 ) attachElements( sound, localPlayer, 0, 0, 0 ) end ) Servidor addEvent("playSound", true) addEventHandler("playSound", root, function(name) local nameSound = tostring(name) outputChatBox(nameSound) triggerClientEvent(source,"startPlaySound", source, nameSound ) end ) Si tienes algún problema o otra duda avísame 1 Link to comment
Matias_Montanna Posted December 12, 2016 Author Share Posted December 12, 2016 (edited) Y de otra manera que por ejemplo el sonido del botón no dependa de como se llame, si no así: X botón se llama [ Prueba sonido 1 ] y se ejecute sonido A y el otro [ Prueba sonido 2 ] que ejecute sonido B sin depender del nombre del botón. Edited December 12, 2016 by Matias_Montanna Link to comment
#Dv^ Posted December 12, 2016 Share Posted December 12, 2016 (edited) Simple, solo cambia esta línea, si el archivo de sonido que tienes se llama "stop.mp3", ejemplo: local name = "stop" --Nombre del archivo que tienes Quedaría algo así addEventHandler("onClientGUIClick", reproducir1, function () local name = "SonidoA" triggerServerEvent("playSound", localPlayer, name) end ) addEventHandler("onClientGUIClick", reproducir2, function () local name = "SonidoB" triggerServerEvent("playSound", localPlayer, name) end ) Edited December 12, 2016 by #Dv^ 1 Link to comment
Matias_Montanna Posted December 13, 2016 Author Share Posted December 13, 2016 Y si quiero regular el uso de los botones, por ejemplo: un jugador lo ejecuta mucho y yo quiero un timer o que X jugador no pueda reproducir otra vez el mismo sonido o otro botón hasta que termine de reproducirse el sonido que él mismo ejecutó. Pero que otro jugador no sea afectado por esta regulación hasta que haga lo mismo que X jugador. Link to comment
#Dv^ Posted December 13, 2016 Share Posted December 13, 2016 (edited) Espero esto te sirva, esto lo que hace es cuando un jugador presiona un botón, todos deben esperar 20 segundos para poder volver a escuchar el sonido Server tabla = { } tiempo = 20000 addEvent("playSound", true) addEventHandler("playSound", root, function(name) if (tabla[root]) then return outputChatBox( "Espera 20 segundos para usar el comando!", playerSource, 225,255,0, true ) end local nameSound = tostring(name) outputChatBox(nameSound) triggerClientEvent(source,"startPlaySound", source, nameSound ) tabla[root] = true setTimer( function() tabla[root] = false end, tiempo, 1) end ) Edited December 13, 2016 by #Dv^ 1 Link to comment
Recommended Posts