Punishment disabled screen

amxx reapi Punishment disabled screen 1.4.3

Нет прав для скачивания
Версия Дата выхода Скачиваний Оценка
1.4.3 82 0.00 звёзд 0 оценок
1.4.2 13 0.00 звёзд 0 оценок
1.4.1 2 0.00 звёзд 0 оценок
[Critical Fixes]:
  • Были проблемы с признаком игрока наказан/освобожден, чекеры стояли и переключались в других местах. Таким образом, в событие спавна наказанный игрок всегда освобождался (исправлено)
  • Добавлена защита от использования messagemode обычными игроками, так как, любой мог вписать в консоль messagemode и открылось бы меню наказания (времени и причины)
[Standart Fixes]:
  • Изменен способ отправки команды где это возможно (с client_cmd на amxclient_cmd)
[Small Fixes]:
  • Исправлен хардкодный способ использования (написания) пути до папки configs. :boast:
  • Не нравится
Реакции: d3m37r4
[Fixed]:
  • Убраны set_task_ex на выполнение функций, вместо этого сделано быстрое чтение cfg в plugin_init (до вызова функций)
  • Спасибо twisterniq за объяснения, а также Leonidddd за попытку донести.
[Fixes Lang]:

Исправлены ошибки в LANG файле.
  • Не нравится
Реакции: d3m37r4
[Added]:
  • Вместо многих настроек плагина в define, сделаны квары.
  • Добавлен эффект заморозки игрока (настройка кваром)
  • Вместо const массива с причинами, сделан конфигурационный файл (.ini), причины теперь указываются там. (без файла плагин работать не будет)
  • Добавлен define на авто-создание конфига + небольшая инструкция, что делать если описание к кварам получились не на нужном языке.
  • Сделаны новые функции обработчики, с учетом новых обновлений.
  • Добавлен макрос мультиязычности для описаний кваров и крит.ошибок работы плагина. (set_fail_state)
  • Дополнен LANG файл.
[Fixed]:
  • Был найден баг, когда через меню освобождался игрок, то освобождение не задействовалось. (исправлено)
[Optimized]:
  • Удалены лишние проверки по коду, вместо них проверятся по bool CheckPlayer (признак наказан/освобожден)
[Added]:
  • Реализована выдача наказаний/освобождений через меню.

    • Добавлен конст массив на команды для открытия меню (в plugin_init).
    • В главном меню необходимо выбрать что делать: Наказать или освободить.
    • После выбора нужного пункта, откроется следующее меню, с выбором игрока.
    • В случае выбора пункта наказать, будет еще 2 меню, с выбором времени и причины наказания.
    • В случае выбора пункта освобождения, нужно только нажать на игрока.
    • При пункте наказать, в меню времени, необходимо нажать на пункт, и вписать значение посредством messagemode
    • При пункте наказать, меню причин формируется основываясь на конст массиве REASONS_PUNISHMENT, необходимо только нажать на пункт.
    • Реализована защита от того, если игрок уже наказан/освобожден. (при нажатии не будет выполнено действие и будет оповещение)
    • Если наказание/освобождение прошло успешно, то также будет оповещение.
    • Наказание/освобождение работает через консольные команды, подставляются значения, выбранные в меню.
    • После наказания/освобождения через меню, происходит все то же самое, как и через консольные команды (пишутся логи и инфа в консоли)

  • Добавлена возможность очищать nVault записи, которые старше указанного значения (в днях) в define. (спасибо: CSBishop)
  • Переделаны многие оповещения связанные с новыми обновлениями. (добавлены новые аргументы)
  • Дополнен и изменен LANG файл.
  • Сделан define на выставления общего флага доступа к командам меню и консольным командам наказания/освобождения.
[Fixed]:
  • Сохранение AuthID игрока сделано в событие client_putinserver, дабы не узнавать каждый раз при спавне и тп. (спасибо: CSBishop)
  • Не нравится
  • Нравится
Реакции: d3m37r4 и DrStrange
[Added]:
  • Переделаны многие оповещения связанные с новыми обновлениями. (добавлены новые аргументы)
  • Дополнен и изменен LANG файл.
  • Созданы две новые константы массивы, для наименований консольных команд.

  • Разработана система добавления наказаний на время:

    • К основной команде добавился 3 аргумент - время.
    • Если время не будет введено, то будет оповещение об этом.
    • Если Вы введете вместо время, буквы и тп, то будет оповещение.
    • Вводить можно только целочисленные значения в минутах.
    • Если Вы введете "0" - то такое расценивается что наказание будет навсегда.
    • Наказанному игроку будет оповещение (если включен режим #define USE_HUD_MESSAGE), сколько времени ему осталось отбывать наказание.
    • После истечения времени, AuthID удаляется из сохраненных при новом спавне. (с оповещением что освобожден)
    • Каждый спавн время сверяется между временной отметкой nvailt 'timestamp' и системным временем (get_systime)
    • Теперь в логировании (если включен #define USE_LOG) время наказания указывается тоже.
    • Если у игрока остается чуть меньше 2 минут до освобождения, то в оповещение он будет видеть секунды до конца.

  • Разработана система причин наказаний:

    • К основной команде добавился 4 аргумент - номер причины.
    • Причины Вы вписываете сами в конст массив в исходнике сколько душе угодно..
    • Создана инструкция как что делать.
    • Сделана специальная команда на просмотр в консоли причин из конст массива с их номерами.
    • Что-бы активировать причину, нужно просто вписать допустимый номер из списка причин.
    • Что-бы активировать наказание без причины, нужно вписать "0".
    • Если Вы введете вместо причины: буквы || номер больше размера массива || вообще не введете ничего, будет оповещение.
    • В случае успеха игрок будет наказан с этой причиной (в логах это укажется).
    • Игроку будет оповещение с указание причины при выдаче наказания, или если его не будет на сервере, то при следующем заходе. (+кжд спавн)
    • Что-бы посмотреть причины самому с помощью команды в консоли, достаточно ввести команду и через пробел любое значение.
  • Не нравится
Реакции: d3m37r4
[Amendments]:
  • Теперь можно назвать файл лога в конст. (не учтено из предыдущего обновления)
  • Не нравится
Реакции: d3m37r4
[Added]:
  • Добавлено логирование наказаний/освобождений (дата, время, кого, от кого; спасибо: present)
  • Включить или отключить логирование можно дефайном.
  • Дополнен LANG файл.
Код:
L 01/19/2021 - 00:10:46: Игрок [GSclient] был освобожден | Освободил: [GSclient]
L 01/19/2021 - 00:10:46: Освобождение по AuthID игрока [STEAM_ID_LAN], прошло успешно | Удалено | Получено от: [GSclient]
L 01/19/2021 - 00:10:59: Игрок [GSclient] был наказан | Наказал: [GSclient]
L 01/19/2021 - 00:10:59: Наказание по AuthID игрока [STEAM_ID_LAN], прошло успешно | Сохранено | Получено от: [GSclient]
[Fixed]:
  • Обнаружен баг, когда использовав флешку (ослепляющую гранату) отключенный экран сбрасывался у игрока, исправлено, thx: Jumper
  • Убрана поддержка hamsandwich (в пользу reapi)
Сверху Снизу