Jump to content

Ayuda con playSound usando addCommandHandler


Recommended Posts

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

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 by Matias_Montanna
Link to comment

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

  • Like 1
Link to comment

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 by #Dv^
  • Like 1
Link to comment

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

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 by #Dv^
  • Like 1
Link to comment
  • Recently Browsing   0 members

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