PDA

Просмотр полной версии : [Вопрос] Расстояние между игроками



Killer
06.03.2018, 17:16
if(Plaer_chase[i] >= 0)
{
// if(IsPlayerStream(1000.0, Plaer_chase[i], i, 1))
new Float:X, Float:Y, Float:Z;
GetPlayerPos(i, X, Y, Z);
if(IsPlayerInRangeOfPoint(Plaer_chase[i], 1000.0, X, Y, Z))
{
SendClientMessage(i, COLOR_RED, "Вы скрылись");
SendClientMessage(Plaer_chase[i], COLOR_RED, "Игрок скрылся.");
Officer_chase[Plaer_chase[i]] = 0;
Plaer_chase[i] = -1;
}
}

После ввода команды, я присваиваю значение в переменную Plaer_chase[i] , ID полицейского игроку. Затем, мне моментально пишет, что я скрылся. Хотя, я нахожусь с игроком совсем рядом. Как сделать, полноценную проверку между игроками, в расстоянии в 1000 м?

$continue$
06.03.2018, 17:25
vectorsize (http://pro-pawn.ru/showthread.php?6407-VectorSize)

Killer
06.03.2018, 19:16
Как проверить там расстояние между игроками?

DeimoS
06.03.2018, 19:42
Не очень вижу смысла в VectorSize в данном случае

if(Plaer_chase[i] >= 0)
{
// if(IsPlayerStream(1000.0, Plaer_chase[i], i, 1))
static Float:X, Float:Y, Float:Z, giveplayerid;
GetPlayerPos(i, X, Y, Z);
if(!IsPlayerInRangeOfPoint((giveplayerid = Plaer_chase[i]), 1000.0, X, Y, Z))
{
SendClientMessage(i, COLOR_RED, "Вы скрылись");
SendClientMessage(giveplayerid, COLOR_RED, "Игрок скрылся.");
Officer_chase[giveplayerid] = 0;
Plaer_chase[i] = -1;
}
}