OnPlayerUpdate - Вызывается при обновлении состояния игрока
Описание:
Вызывается при обновлении состояния игрока.
Параметры:
playerid | ID игрока, состояние которого сервер собирается обновить. |
Возвращаемое значение:
- В моде: При возврате 0 состояние игрока не будет обновлено.
- В фильтрскриптах: При возврате 0 функция не будет вызвана в других фильтрскриптах и моде, а состояние игрока не будет обновлено.
Примечание | Функция вызывается сначала в фильтрскриптах, затем в моде. Частота вызова функции зависит от действий игрока. Так при бездействии игрока функция вызывается сравнительно редко (~1 раз в секунду), а при передвижении (как пешком, так и на т/с) или стрельбе — часто. |
Внимание! | Данная функция может вызывается очень часто (до ~30 раз в секунду для каждого игрока) и поэтому в ней особо заметна нагрузка от пользовательского кода. Используйте эту функцию только в случае крайней необходимости (например, для античитов, чтобы вовремя рассинхронизировать читеров). Большинство типовых задач можно решить с помощью таймеров с меньшей периодичностью срабатывания. |
Код:
public OnPlayerUpdate(playerid)
{
switch (GetPlayerWeapon(playerid))
{
// Пулемёт и гранатомёт не разрешены на сервере
case WEAPON_ROCKETLAUNCHER, WEAPON_HEATSEEKER, WEAPON_MINIGUN:
return 0; // Рассинхронизируем читера, чтобы он не мог нанести урон другим игрокам
}
return 1;
}