Данная функция определяет, находится ли игрок в определённом радиусе от актёра.
Цитата
Подходит только для версии 0.3.7 SA:MP
Обязателен include a_actor
Использование функции:
PlayerToActor(радиус, ид игрока, ид актёра)
Функция:
Код
stock PlayerToActor(Float:radi, playerid, actorid)
{
if(IsPlayerConnected(playerid))
{
new Float:pos[3],Float:actpos[3],Float:temppos[3];
GetPlayerPos(playerid, actpos[0], actpos[1], actpos[2]);
GetActorPos(actorid, pos[0], pos[1], pos[2]);
temppos[0] = (actpos[0] -pos[0]); temppos[1] = (actpos[1] -pos[1]); temppos[2] = (actpos[2] -pos[2]);
if (((temppos[0] < radi) && (temppos[0] > -radi)) && ((temppos[1] < radi) && (temppos[1] > -radi)) && ((temppos[2] < radi) && (temppos[2] > -radi))) return true;
}
return false;
}
Пример использования:
Код
// Создаём актёра в 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;
}