Описание:
Данная функция определяет, находится ли игрок в определённом радиусе от актёра.
Параметры:
Float:radi - радиус
playerid - ID игрока
actorid - ID актёра
PHP код:
stock PlayerToActor(Float:radi, playerid, actorid)
{
if(IsPlayerConnected(playerid))
{
new Float:posx, Float:posy, Float:posz,Float:oldposx, Float:oldposy, Float:oldposz,Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
GetActorPos(actorid, posx, posy, posz);
tempposx = (oldposx -posx); tempposy = (oldposy -posy); tempposz = (oldposz -posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) return true;
}
return false;
}
Пример использования:
PHP код:
// Создаём актёра в OnGameModeInit
public OnGameModeInit()
{
new actorlool = CreateActor(.....);
}
// По команде узнаём расстояние от игрока до актёра.
CMD:itoactor(playerid, params[])
{
if(!PlayerToActor(10.0, 0, actorlool)) return SendClientMessage(playerid, -1, "Вы далеко от актёра!");
else SendClientMessage(playerid, -1, "Вы рядом с актёром!");
return true;
}
Автор: Oleg_Petrow