PDA

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



Hidden
29.11.2013, 20:39
GetNearestVehicle(playerid) - функция, позволяющая определять машину, которая находится рядом с игроком.

Код функции:

stock GetNearestVehicle(playerid)
{
for(new i=1,Float:x,Float:y,Float:z; i<MAX_VEHICLES; ++i)
{
if(IsVehicleStreamedIn(i, playerid))
{
GetVehiclePos(i, x, y, z);
if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z)) return i;
}
}
return 0;
}

Использование:

new veh = GetNearestVehicle(playerid);
if(veh)
{
static const fmt_str[] = "ID машины, которая рядом: %d."
new string[sizeof(fmt_str)-2+4];
format(string, sizeof(string), fmt_str, veh);
SendClientMessage(playerid, -1, string);
}
else
SendClientMessage(playerid, -1, "Рядом с вами нет ни одной машины.");

Osetin
29.11.2013, 23:50
Молодец,иногда бывает нужно,но лучше собейтом)

Seregamil
08.12.2013, 07:15
не есть гуд.
ты просканируешь ВСЕ машины, будь то живые или мертвые, находящиеся в стриме или нет.
Проверки на IsValidVehicle и на IsVehicleStreamedIn добавь

Daniel_Cortez
08.12.2013, 12:21
1-й пост обновлён. Добавлена проверка IsVehicleStreamedIn. Проверка IsValidVehicle думаю будет лишней, т.к. IsVehicleStreamedIn вернёт 0 для несуществующих машин.

Заодно обновил пример использования.

Salvacore
08.12.2013, 19:10
1-й пост обновлён. Добавлена проверка IsVehicleStreamedIn. Проверка IsValidVehicle думаю будет лишней, т.к. IsVehicleStreamedIn вернёт 0 для несуществующих машин.

Заодно обновил пример использования.

не есть гуд.
ты просканируешь ВСЕ машины, будь то живые или мертвые, находящиеся в стриме или нет.
Проверки на IsValidVehicle и на IsVehicleStreamedIn добавь

Какие молодцы:D

Pop
08.12.2013, 19:16
Молодец,иногда бывает нужно,но лучше собейтом)

О_о если уж просто посмотреть id положение и место где авто спавнится и сколько место в ней есть команда /dl

а автор темы дал способ для вычисления авто в коде