Ezzel olyan szöveget lehet kiírni, hogy ha egy bizonyos távolságra vagy egy adott ponttól, akkor a szöveget más színnel írja ki.
Pl rp szervereken lehet jó, mert minnél messzebb vagy valakitõl, annál sötétebb színnel látja amit írsz.
function ProxDetector(radi, playerid, string,col1,col2,col3,col4,col5)
{
if(isPlayerConnected(playerid))
{
local oldpos = getPlayerCoordinates(playerid);
for(local i = 0; i < MAX_PLAYERS; i++)
{
if(isPlayerConnected(i))
{
local pos = getPlayerCoordinates(i);
local tempposx = (oldpos[0] -pos[0]);
local tempposy = (oldpos[1] -pos[1]);
local tempposz = (oldpos[2] -pos[2]);
if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
{
sendPlayerMessage(i, col1, string);
}
else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
{
sendPlayerMessage(i, col2, string);
}
else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
{
sendPlayerMessage(i, col3, string);
}
else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
{
sendPlayerMessage(i, col4, string);
}
else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
sendPlayerMessage(i, col5, string);
}
}
else
{
sendPlayerMessage(i, col1, string);
}
}
}
return 1;
}
Az imént említett kód az rp szerverekhez:
function onPlayerText(playerid,text)
{
ProxDetector(20.0,playerid, getPlayerName(playerid)+ \" mondja: \" + text,0xE6E6E6E6,0xC8C8C8C8,0xAAAAAAAA,0x8C8C8C8C,0x6E6E6E6E);
return 0;
}