OnPlayerUpdate

Материал из Pro-Pawn Wiki
Версия от 22:34, 30 августа 2018; Daniel-Cortez (обсуждение | вклад) (Новая страница: «{{Description | Вызывается при обновлении состояния игрока. }} {{Params|playerid}} {{Param | playerid | ID игрока, с…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Описание:

Вызывается при обновлении состояния игрока.

Параметры:

(playerid)
playerid ID игрока, состояние которого сервер собирается обновить.


Возвращаемое значение:

  • В моде: При возврате 0 состояние игрока не будет обновлено.
  • В фильтрскриптах: При возврате 0 функция не будет вызвана в других фильтрскриптах и моде, а состояние игрока не будет обновлено.

Info rhombus.png
Примечание
Функция вызывается сначала в фильтрскриптах, затем в моде.
Частота вызова функции зависит от действий игрока. Так при бездействии игрока функция вызывается сравнительно редко (~1 раз в секунду), а при передвижении (как пешком, так и на т/с) или стрельбе - часто.


Exclamation.png
Внимание!
Данная функция может вызывается очень часто (до ~30 раз в секунду для каждого игрока) и поэтому в ней особо заметна нагрузка от пользовательского кода. Используйте эту функцию только в случае крайней необходимости (например, для античитов, чтобы вовремя рассинхронизировать читеров). Большинство типовых задач можно решить с помощью таймеров с меньшей периодичностью срабатывания.


Пример использования:

public OnPlayerUpdate(playerid)
{
    switch (GetPlayerWeapon(playerid))
    {
        // Пулемёт и гранатомёт не разрешены на сервере
        case WEAPON_ROCKETLAUNCHER, WEAPON_HEATSEEKER, WEAPON_MINIGUN:
            return 0; // Рассинхронизируем читера, чтобы он не мог нанести урон другим игрокам
    }
    return 1;
}