ProxPlayAudioStreamForPlayer(Float:radi, playerid, Url[]);
ProxPlayAudioStreamForPlayer(30, playerid, ""http://Tu.Audio.Con/mp3");
forward ProxPlayAudioStreamForPlayer(Float:radi, playerid, Url[]); public ProxPlayAudioStreamForPlayer(Float:radi, playerid, Url[]) { if(IsPlayerConnected(playerid)) { new Float:posx, Float:posy, Float:posz; new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))) { GetPlayerPos(i, posx, posy, posz); tempposx = (oldposx -posx); tempposy = (oldposy -posy); tempposz = (oldposz -posz); if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16))) { PlayAudioStreamForPlayer(i, Url); } else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8))) { PlayAudioStreamForPlayer(i, Url); } else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4))) { PlayAudioStreamForPlayer(i, Url); } else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2))) { PlayAudioStreamForPlayer(i, Url); } else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { PlayAudioStreamForPlayer(i, Url); } } } } return 1; }
PlayAudio(Float:rango, playerid, url[]) //No la he testeado, pero deberнa funcionar igual.
{
new Float:Pos[3];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerInRangeOfPoint(i, rango, Pos[0], Pos[1], Pos[2]) && i != playerid)
{
PlayAudioStreamForPlayer(i, url);
}
}
PlayAudioStreamForPlayer(playerid, url);
return 1;
}
No es por fastidiar, pero:
pawn Код:
Saludos... |
pero el tuyo es mas ligero, pero el audio solo se escuchara en la pocision exacta y rango exacto , el mio no, se ira escuchando cuando te vas acercando y alejando :P ¬¬ xD
|
if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
{
PlayAudioStreamForPlayer(i, Url);
}
else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
{
PlayAudioStreamForPlayer(i, Url);
}
else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
{
PlayAudioStreamForPlayer(i, Url);
}
else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
{
PlayAudioStreamForPlayer(i, Url);
}
else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
PlayAudioStreamForPlayer(i, Url);
}
native PlayAudioStreamForPlayer(playerid, url[], Float:posX = 0.0, Float:posY = 0.0, Float:posZ = 0.0, Float:distance = 50.0, usepos = 0);
No sй si se dieron cuenta pero PlayAudioStreamForPlayer ya tiene parametros de X, Y, Z y radio.
https://sampwiki.blast.hk/wiki/PlayAudioStreamForPlayer pawn Код:
|
No es parecido al ProxDetector, ES el ProxDetector. Lo ъnico que hizo fue cambiar la funcion de mandar el mensaje a los jugadores que estбn cerca a mandar el audio a los que estбn cerca.
Buena idea |