А может и не только две и не только на анимации. Тестируйте, проверяйте, дорабатывайте. Или нам за Вас это сделать?
Вид для печати
Примечания:PHP код:
new IsOnBike[MAX_PLAYERS char];
public OnPlayerExitVehicle(playerid, vehicleid)
{
IsOnBike{playerid} = 0;
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new tmp;
if newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER *then
if((tmp = GetVehicleModel(GetPlayerVehicleID(playerid))) == 448 || tmp == 461 || tmp == 462 ||
tmp == 463 || tmp == 468 || tmp == 471 || tmp == 481 || tmp == 509 || tmp == 510 || tmp == 521
|| tmp == 522 || tmp == 523 || tmp == 581 || tmp == 586) IsOnBike{playerid} = 1;
if oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER *then if IsOnBike{playerid} *then{
SendClientMessage(playerid, -1, "Ты упал с байка");
IsOnBike{playerid} = 0;
}
}
1. Проверка срабатывает моментально в момент падения.
2. Проверка работает для всех видах байков.
3. Проверка срабатывает как для водителя, так и для пассажира который упал с байка.
4. Проверка не срабатывает, если игрок сам слез с байка.
5. Проверка срабатывает, если игрока уберут из автомобиля (SetPlayerPos, RemovePlayerFromVehicle).