PDA

Просмотр полной версии : [Function] IsPlayerInWater(playerid)



Mr_David
13.11.2013, 20:58
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;
}