На гите инклуд отсутствует, т.к. делюсь тут, и не запаривался с оформлением в самом теле инклуда.
Инклуд сам по себе не постоянно-юзабельный но может пригодится в некоторых случаях, если лень лезть в гугл.
Краткое описание
Библиотека используется для получения события когда игрок завершил анимацию.
Подключать инклуд в начале мода.
fi_ApplyAnimation(playerid, anim_library[], anim_name[], Float: fDelta = DEFAULT_PLAYBACK_SPEED, lockx, locky, freeze, time, forcesync = 0);

- playerid - ID игрока.
- anim_library[] - Название библиотеки анимаций.
- anim_name[] - Название анимации.
- Float: fDelta - См. в документации ApplyAnimation
- lockx, locky - См. в документации ApplyAnimation
- freeze - См. в документации ApplyAnimation
- time - См. в документации ApplyAnimation
- forcesync - См. в документации ApplyAnimation
- Возвращает 1 если анимация воспроизвелась, иначе 0.
Дополнительные функции
fi_GetAnimationDuration - получить длительность анимации в миллисекундах.
fi_GetAnimationDuration(animationid)

- animationid - ИД анимации.
- Возвращает длительность анимации в миллисекундах, иначе если ид анимации несуществующий то -1.
OnPlayerFinishAnimation - когда игрок завершил анимацию.
OnPlayerFinishAnimation(playerid, animationid, during_time)

- playerid - ID игрока.
- animationid - ИД Анимации которая была завершена.
- during_time - Длительность анимации в мс с момента её запуска.
Пример:
public OnPlayerStateChange(playerid, newstate, oldstate) { if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT) { fi_ApplyAnimation(playerid, "FOOD", "EAT_BURGER", 4.5, 0, 0, 0, 0, 1); } return 1; } public OnPlayerFinishAnimation(playerid, animationid, during_time) { new string[62 + (-2 + 5) + (-2 + 4) + 1]; format(string, sizeof string, "[fiAnimation]: Анимация завершена за [%i] мс | ИД Анимации: %d", during_time, animationid); SendClientMessage(playerid, -1, string); return 1; }

Прикрепленные файлы [Показать]
Сообщение отредактировал NoPressF: Вчера, 13:00