shape1
shape2
shape3
shape4
shape7
shape8

(Де)кодировка бит шин


Статус
Закрыто для дальнейших ответов.

JoKeR2020

Гуру
Пользователь
26.11.2014
1 800
4
321
0
Эти две функции декодируют/кодируют биты шин которые возвращаются функцией 

GetVehicleDamageStatus или устанавливаются функцией UpdateVehicleDamageStatus.

Сами функции:

stock tiresDecode(ts, &t1, &t2, &t3, &t4)
{
t1 = ts & 1, t2 = ts >> 1 & 1, t3 = ts >> 2 & 1, t4 = ts >> 3 & 1;
return 1;
}
stock tiresEncode(t1, t2, t3, t4)
{
return t1 | (t2 << 1) | (t3 << 2) | (t4 << 3);
}

Пример использования (проколим машине две передних шины):

new panels, doors, lights, tires;
GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tiresEncode(1, 1, 0, 0));

Пример использования (узнаем статус шин):

Код:
new panels, doors, lights, tires, tire[4];
GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
tiresDecode(tires, tire[0], tire[1], tire[2], tire[3]);
/*
 * В tire[0] запишится статус первой шины.
 * В tire[1] запишится статус второй шины.
 * В tire[2] запишится статус третьей шины.
 * В tire[3] запишится статус четвертой шины.
 *
 * 0 - шина цела.
 * 1 - проколота.
 *
 */
 
Статус
Закрыто для дальнейших ответов.