Всем привет. В общем, бороздил просторы интернета найти нормальный сток для отправки сообщений в чат (для RP сервера), наткнулся на такую вещь:
PHP код:
stock ProxDetector(Float:radius = 30.0, playerid, text[], col1 = 0xFFFFFFFF, col2 = 0xCCCCCCFF, col3 = 0x999999FF, col4 = 0x666666FF, col5 = 0x333333FF)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
new Float:dist, virtualworld = GetPlayerVirtualWorld(playerid), interior = GetPlayerInterior(playerid);
tforeach(i)
{
if(virtualworld != GetPlayerVirtualWorld(i) || interior != GetPlayerInterior(i)) continue;
dist = GetPlayerDistanceFromPoint(i, x, y, z);
if(dist < radius / 16) SCM(i, col1, text);
else if(dist < radius / 8) SCM(i, col2, text);
else if(dist < radius / 4) SCM(i, col3, text);
else if(dist < radius / 2) SCM(i, col4, text);
else if(dist < radius) SCM(i, col5, text);
}
return 1;
}
И вот ещё один:
PHP код:
stock ProxDetector(playerid, Float:radi, string[], col1,col2,col3,col4,col5)
{
new Float: Pos[3], Float: Radius;
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
new i;
foreach(i)
{
Radius = GetPlayerDistanceFromPoint(i, Pos[0], Pos[1], Pos[2]);
if (Radius < radi / 16) SendClientMessage(i, col1, string);
else if(Radius < radi / 8) SendClientMessage(i, col2, string);
else if(Radius < radi / 4) SendClientMessage(i, col3, string);
else if(Radius < radi / 2) SendClientMessage(i, col4, string);
else if(Radius < radi) SendClientMessage(i, col5, string);
}
return 1;
}
Они схожи, но вопрос всё равно один и тот же (ниже)
Нормальны ли они в плане кода? Просто видел намного больше (< официальный форум SA:MP), и эти два, по-моему более красиво смотрятся.