Вам понадобится параметр oldstate из паблика OnPlayerStateChange. С помощью его вы проверяете: если в последний раз игрок находился в транспорте, то сравниваем его текущую анимацию, с помощью GetPlayerAnimationIndex.
Как проверять?
PHP код:
if(oldstate == PLAYER_STATE_DRIVER)
{
if(GetPlayerAnimationIndex(playerid) == <ID>) // вместо ID вписываете тот ID, который вам нужен
{
// если игрок упал с транспорта
}
}
Как же узнать этот "ID" ?
Код:
PHP код:
public OnPlayerUpdate(playerid)
{
new
tmp_str[13];
format(tmp_str, sizeof(str), "%i", GetPlayerAnimationIndex(playerid));
SendClientMessage(playerid, -1, tmp_str);
return 1;
}
При каждом обновлении игрока на сервере ( Frame Per Second ) вам будет выведено сообщение в чат о том, какая ваша анимация на текущий момент используется.
Попробуйте упасть, допустим, с мотоцикла и сразу уйти в AFK ( в режиме AFK паблик OnPlayerUpdate не вызывается ). После этого зайдите в чат-лог и вы увидите в чате последнее выведенное сообщение на сервере, то есть ID анимации падения с мотоцикла.