Reproducir Música a Jugador Específico o Todos
function Trig_Detonador_sin_nombre_001_Actions takes nothing returns nothing
local player p = GetTriggerPlayer()
local sound s = CreateSound( "Units\\Human\\Footman\\FootmanWhat1.wav",false,false,true ,0 ,0 ,"")
if (p==GetLocalPlayer()) then
call StartSound(s)
call KillSoundWhenDone(s)
endif
set p = null
set s = null
endfunction
function InitTrig_Detonador_sin_nombre_001 takes nothing returns nothing
local integer i =0
set gg_trg_Detonador_sin_nombre_001 = CreateTrigger( )
loop
exitwhen i >= 12
call TriggerRegisterPlayerEvent(gg_trg_Detonador_sin_nombre_001, Player(i), EVENT_PLAYER_END_CINEMATIC)
set i = i+1
endloop
call TriggerAddAction( gg_trg_Detonador_sin_nombre_001, function Trig_Detonador_sin_nombre_001_Actions )
endfunction
Para reproducir el sonido que requieras reemplaza la ruta en la creacion del sonido en la linea local sound s = CreateSound( “Units\\Human\\Footman\\FootmanWhat1.wav”,false,false,true ,0 ,0 ,””)
El código que proporcionaste parece estar diseñado para reproducir un sonido específico para el jugador local cuando termina una cinemática. Sin embargo, veo un problema potencial que podría estar causando que el sonido solo se reproduzca para el jugador local y no para todos los jugadores en la partida.
El problema está en la condición dentro de la función Trig_Detonador_sin_nombre_001_Actions
. Actualmente, estás verificando si p
(que es el jugador asociado al desencadenador) es igual al jugador local (GetLocalPlayer()
). Si esta condición es verdadera, el sonido se reproducirá solo para el jugador asociado al desencadenador (p
).
Si deseas que el sonido se reproduzca para todos los jugadores en la partida, puedes eliminar esta condición y simplemente reproducir el sonido sin verificar si el jugador es el local o no. Aquí tienes el código modificado:
function Trig_Detonador_sin_nombre_001_Actions takes nothing returns nothing
local sound s = CreateSound( "Units\\Human\\Footman\\FootmanWhat1.wav", false, false, true, 0, 0, "")
call StartSound(s)
call KillSoundWhenDone(s)
endfunction
//===========================================================================
function InitTrig_Detonador_sin_nombre_001 takes nothing returns nothing
local integer i = 0
set gg_trg_Detonador_sin_nombre_001 = CreateTrigger()
loop
exitwhen i >= 12
call TriggerRegisterPlayerEvent(gg_trg_Detonador_sin_nombre_001, Player(i), EVENT_PLAYER_END_CINEMATIC)
set i = i + 1
endloop
call TriggerAddAction(gg_trg_Detonador_sin_nombre_001, function Trig_Detonador_sin_nombre_001_Actions)
endfunction
Con esta modificación, el sonido se reproducirá para todos los jugadores en la partida cuando finalice la cinemática.