public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, fX, fY, fZ)
{
new Float:myX, Float:myY, Float:myZ;
GetPlayerPos(playerid, myX, myY, myZ);
new Float:closestDist = 10000.0;
new closestPlayer = INVALID_PLAYER_ID;
new Float:tempX, Float:tempY, Float:tempZ;
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (i == playerid || !IsPlayerConnected(i)) continue;
GetPlayerPos(i, tempX, tempY, tempZ);
new Float:dist = floatsqroot(
(myX - tempX) * (myX - tempX) +
(myY - tempY) * (myY - tempY) +
(myZ - tempZ) * (myZ - tempZ)
);
if (dist < closestDist)
{
closestDist = dist;
closestPlayer = i;
}
}
if (closestPlayer != INVALID_PLAYER_ID)
{
GetPlayerPos(closestPlayer, tempX, tempY, tempZ);
PlayerPlaySound(playerid, 1085, tempX, tempY, tempZ);
}
return 1;
}