29.04.2011, 03:46
Код:
public OpenCloseGates(playerid)
{
new Float: dist;
new gateID = GetClosestGate(playerid, dist);
if(dist < 10.0)
{
if(IsAllowedToUseGate(playerid, gateID))
{
ToggleGate(gateID);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "You dont have a remote to open this gate!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAY, "Youre not close to any gates!");
return 1;
}
}
Here is the other function
Код:
public GetClosestGate(playerid, &Float: distance)
{
new Float: pX1, Float: pY1, Float: pZ1;
GetPlayerPos(playerid, pX1, pY1, pZ1);
distance = 999999.9;
new Float: dist2;
new ret;
for(new i; i < MAX_GATES; i++)
{
dist2 = Distance(pX1, pY1, pZ1, Gate[i][CloseX], Gate[i][CloseY], Gate[i][CloseZ]);
if(dist2 < distance && Gate[i][ParentId] == -1)
{
distance = dist2;
ret = i;
}
}
return ret;
}

