Функция проверяет находится ли игрок в воде.
Код
forward IsPlayerInWater(playerid);
public IsPlayerInWater(playerid)
{
new Float:FXF_wpos[3];
GetPlayerPos(playerid,FXF_wpos[0],FXF_wpos[1],FXF_wpos[2]);
if((FXF_wpos[2] > 0.00) || IsPlayerInZone(playerid,1808.2019,1424.5392,-2230.5024,-2347.7979)) { return 0; }
else if((FXF_wpos[2] < 0.00) && (FXF_wpos[2] > -1.00)) { return 1; }
else if(FXF_wpos[2] < -1.00) { return 2; }
return 0;
}
forward IsPlayerInZone(playerid, Float:minX, Float:minY, Float:maxX, Float:maxY);
public IsPlayerInZone(playerid, Float:minX, Float:minY, Float:maxX, Float:maxY)
{
new Float:FXF_ZoneX, Float:FXF_ZoneY, Float:FXF_ZoneZ;
GetPlayerPos(playerid, FXF_ZoneX, FXF_ZoneY, FXF_ZoneZ);
if((FXF_ZoneX >= minX && FXF_ZoneX <= maxX) && (FXF_ZoneY >= minY && FXF_ZoneY <= maxY) && FXF_ZoneZ <= 500)
{
return 1;
}
return 0;
}
Параметры:
(playerid) - id проверяемого игрока.
Пример:
Код
if(IsPlayerInWater(playerid))
{
SendClientMessage(playerid,-1,"Ты в воде");
return 1;
}