24.05.2009, 18:11
pawn Код:
stock IsPlayerInAreaEx(playerid, Float:...) //By kool
{
new Count = numargs();
new Float:xe[255], Float:ye[255];
new j=0;
for(new i=1; i<Count; i+=2)
{
xe[j] = Float:getarg(i);
ye[j] = Float:getarg(i+1);
j++;
}
xe[j] = xe[0];
ye[j] = ye[0];
new Lines;
new Float:xcut;
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for(new i=0; i<j; i++)
{
xcut = xe[i]+((y-ye[i])*(xe[i+1]-xe[i])/(ye[i+1]-ye[i]));
if(((y >= ye[i] && y <= ye[i+1]) || (y >= ye[i+1] && y <= ye[i])) && xcut < x)
{
Lines++;
}
}
if(Lines%2 == 1)
{
return 1;
}
return 0;
}