Aquн tienes el plugin que puede hacer йso y de forma mбs "profesional": https://sampforum.blast.hk/showthread.php?tid=82162
Aunque puedes crear el sonido siguiendo los parбmetros de la funciуn PlayAudioStreamForPlayer y combinarla con IsPlayerInRangeOfPoint. Saludos. |
public OnGameModeInit()
{
SetTimer("callback_sonidos", 1000, true);
return true;
}
forward callback_sonidos();
public callback_sonidos()
{
foreach(new i : Player) // Si no tienes foreach, usa un loop normal para llamar jugadores.
{
if(IsPlayerInRangeOfPoint(i, 10.0, CoordenadaX, CoordenadaY, CoordenadaZ))
{
PlayAudioStreamForPlayer(playerid, url[], CoordenadaX, CoordenadaY, CoordenadaZ, 10.0, 1)
}
}
return true;
}
Claro:
PHP код:
Si es por plugin ya es mбs complicado explicarlo.., si el sistema que piensas hacer es simple usa las funciones que ya trae nativamente el sa:mp, si es mбs profesional usa el plugin mencionado. |
forward callback_sonidos();
public callback_sonidos()
{
foreach(new i : Player) // Si no tienes foreach, usa un loop normal para llamar jugadores.
{
if(IsPlayerInRangeOfPoint(i, 10.0, 765.82, -37.04, 1000.61))
{
PlayAudioStreamForPlayer(playerid, https://a.tumblr.com/tumblr_olak2bNh8j1w35cyio1.mp3[], 765.82, -37.04, 1000.61, 10.0, 1)
}
}
return true;
}
// public OnPlayerConnect(playerid)
public OnPlayerSpawn(playerid)
// o donde quieras que empiece a ejecutarse
{
PlayAudioStreamForPlayer(playerid, " https://a.tumblr.com/tumblr_olak2bNh8j1w35cyio1.mp3", 765.82, -37.04, 1000.61, 10.0, 1);
// NOTA: activando el parбmetro usepos solo se necesita ejecutar el PlayAudioStreamForPlayer una vez sola.
return true;
}
// ** Declaraciуn de variable bool para verificar si el usuario ya se encuentra escuchando la mъsica.
new bool:musica_on[MAX_PLAYERS];
// ** Timer...
public OnGameModeInit()
{
SetTimer("callback_sonidos", 1000, true);
return true;
}
// ** OnPlayerConnect/OnPlayerDisconnect o en donde estйs reiniciando las variables del jugador:
public OnPlayerConnect(playerid)
{
musica_on[playerid] = false;
return true;
}
// ** Callback para el sonido:
forward callback_sonidos();
public callback_sonidos()
{
foreach(new i : Player) // Si no tienes foreach, usa un loop normal para llamar jugadores.
{
if(!musica_on[i] && IsPlayerInRangeOfPoint(i, 10.0, 765.82, -37.04, 1000.61))
{
PlayAudioStreamForPlayer(i, "https://a.tumblr.com/tumblr_olak2bNh8j1w35cyio1.mp3", 765.82, -37.04, 1000.61, 10.0, 1);
musica_on[i] = true;
}
else
{
if(musica_on[i])
{
StopAudioStreamForPlayer(playerid);
musica_on[i] = false;
}
}
}
return true;
}