Версия 1.14.0 (24 мар 2025г):
Добавлено:
- добавлен квар ls_add_points_multiplier, определяющий во сколько раз увеличится
кол-во начисляемых очков опыта. Значение квара можно менять в любое время
- добавлен квар ls_add_rank_points_for_kill_bots, отвечающий за начисление очков
опыта за убийство или нанесение урона боту
- добавлено описание квара ls_reset_ranks
- добавлена поддержка выдачи опыта в Jobs RBS (через эмуляцию Army Ranks Ultimate)
Изменено:
- настройки отображения информера сохраняются теперь в отдельный файла
level_system_s.vault
- удалена обратная совместимость со старой версией файла очков опыта
rank_points.vault
Исправлено:
- не регистрировались функции для первого zBot при смене карты/старте сервера
- исправлен бонус 'vest' (бронежилет без шлема) из level_system.ini
- при ls_accumulate_points_type 1, выдаваемое кол-во очков опыта равнялось кол-ву
нанесенного урона
- у ключей словаря LS_HUD_FRIEND_INFO и LS_HUD_ENEMY_INFO удален лишний перенос
строки
Обновившиеся файлы:
- addons/amxmodx/plugins/level_system.amxx
- addons/amxmodx/configs/level_system.cfg
- addons/amxmodx/data/lang/level_system.txt
Версия 1.13.0 (18 апр 2024г):
Добавлено:
- добавлена возможность кастомизации информеров верхнего (под радаром) и нижнего
(при наблюдении за игроком). Настраивается в 'lang/level_system.txt'
; Список контекстно-зависимых аргументов для HUD информеров:
; [lvl] - номер уровня
; [lvl_name] - название уровня
; [pts] - текущее кол-во опыта
; [max_pts] - верхняя граница текущего уровня
; [add_pts] - отображает на сколько увеличилось/уменьшилось кол-во опыта
; [name] - никнейм
; [money] - кол-во денег
; [hp] - кол-во единиц здоровья
; [ap] - кол-во единиц брони
; [skill] - скилл игрока
; [skill_l] - буквенное обозначение скилла игрока
; Внимание: Для аргументов [skill], [skill_l] требуется плагин
; Skill ELO от SKAJIbnEJIb или CSStatsX SQL от serfreeman1337
Изменено:
- плагин переименован с Level System by CSStats в Level System, так как теперь не
зависит ни от какой статистики
- повышено удобство чтения level_system.cfg (длина строк)
- в 'lang/level_system.txt' добавлена памятка о возможности отключать
сообщения
- плагин client_buy.amxx ставится на паузу и пишется лог, что данный плагин
нужен только на версии AMX Mod X 1.8.2 и меньше
Исправлено:
- команда ls_add_rank_points не сообщала что игрок не найден при попытке посмот-
реть количество очков опыта
- из-за рефакторинга, информер отображения уровня стал показывать статус наоборот,
при переключении (вмето ВКЛЮЧЕНО, показывал ОТКЛЮЧЕНО)
- нельзя было указывать в качестве бонуса серверную команду с несколькими
аргументами и кавычками в них
- при изменении количества очков опыта через команды ls_add_rank_points или
ls_set_rank_points, они не сохранялись если их было меньше ls_min_save_points
- очки опыта не загружались если плагин CsStats MySQL от SKAJIbnEJIb становился
на паузу из-за потери соединения с базой данных
Обновившиеся файлы:
- addons/amxmodx/plugins/level_system.amxx
- addons/amxmodx/configs/level_system.cfg
- addons/amxmodx/data/lang/level_system.txt
Версия 1.12.0 (26 мар 2023г):
Добавлено:
- добавлен квар ls_dmg_per_point, отвечающий за суммарное количество урона,
которое нужно нанести противнику чтобы получить 1 очко опыта при
ls_accumulate_points_type 1
- добавлен квар ls_points_per_minute, который задает количество очков опыта,
начисляемое игроку в минуту при ls_accumulate_points_type 2
- аргументу rank_points команды ls_set_rank_points добавлено спец. значение:
-1 - обнуляет очки опыта и загружает их из статистики, при условии что квар
ls_init_from_csstats равен 1
Изменено:
- количество уровней теперь неограниченно
- плагин теперь не зависит от какого-либо плагина статистики (исключение квар
ls_init_from_csstats)
Исправлено:
- название уровня не поддерживало мультиязычность
- правильное начисление урона при ls_accumulate_points_type 1. Больше не зависит
от какого-либо плагина статистики (исключение квар ls_init_from_csstats)
Обновившиеся файлы:
- addons/amxmodx/plugins/level_system.amxx
- addons/amxmodx/configs/level_system.cfg
Версия 1.11.0 (19 ноя 2022г):
Добавлено:
-
добавлена native функция ls_get_rank_points, с помощью которой можно получить
количество очков опыта игрока. Получение возможно по id игрока, если он в игре,
или по authid в противном случае (authid может быть steamid или nickname,
зависит от квара ls_authid_type)
Прототип функции:
native ls_get_rank_points(player, authid[34] = "");
Обновившиеся файлы:
- addons/amxmodx/plugins/level_system.amxx
Версия 1.10.0 (27 фев 2022г):
Добавлено:
- добавлен квар ls_authid_type, отвечающий за тип идентификатора, по которому
будут сохраняться очки опыта. Допустимые значения: 0 - по steamid, 1 - по нику
- добавлена native функция ls_set_rank_points, с помощью которой можно установить
игроку нужное количество очков опыта.
Прототип функции: native ls_set_rank_points(index, rank_points);
Функция возвращает очки опыта, которые были у игрока до изменения
- добавлены синонимы команд 'add_rank_points', 'set_rank_points'.
'ls_add_rank_points' и 'ls_set_rank_points' соответственно. Со временем
команды add_rank_points, set_rank_points будут удалены и останутся новые
названия команд
- для бонусов в виде гранат добавлена возможность указывать максимальное их
количество. Так как раньше если выдавалось 2 и более гранаты, то они
суммировались с неиспользованными в следующем раунде
- в конец файла 'addons/amxmodx/configs/level_system.cfg' добавлено описание
команд ls_add_rank_points и ls_set_rank_points
Изменено:
- у кваров 'ls_min_voice_access_points' и 'ls_min_chat_access_points' изменены
значения по умолчанию. Новое значение '0', так как игроков на серверах мало и
проблема спамеров уже не такая частая
- если бот успел набрать очки опыта, то при отключении квара 'ls_add_rank_points_bots'
и следующем подключении бота они будут обнулены
- значение квара 'ls_data_storage_time' теперь указывается в днях (ранее было в
секундах). Значение по умолчанию не изменилось и равно 1 месяц
Исправлено:
- в версии для сборки All Inclusive, если не был загружен основной плагин, конфиг
создавался относительно корневой папки мода (cstrike)
- со временем (через время указанное в кваре 'ls_data_storage_time') удалялся
сохраненный статус отображения верхнего и нижнего информеров
Удалено:
- удален квар ls_points_cmd_access_flags. Теперь доступ к командам настраивается
в стандартном cmdaccess.ini
Обновившиеся файлы:
- addons/amxmodx/plugins/level_system.amxx
- addons/amxmodx/configs/level_system.cfg
- addons/amxmodx/data/lang/level_system.txt
Версия 1.9.0 (23 ноя 2021г):
Добавлено:
-
добавлена поддержка возможности добавлять команды чата в список исключений,
который будет работать в плагинах использующих Plugins Core
pc_add_to_chat_white_list "text"
- text - текст, который будет добавлен в список исключений чата
Например: pc_add_to_chat_white_list "/rtv"
Изменено:
- для удобства изменен порядок кваров в level_system.cfg
Обновившиеся файлы:
- addons/amxmodx/plugins/level_system.amxx
- addons/amxmodx/configs/level_system.cfg
Версия 1.8.0 (11 ноя 2021г):
Добавлено:
- добавлен квар ls_add_rank_points_bots, который определяет будут (1) или нет (0)
начисляться rank points ботам
Изменено:
- переделан парсер аргументов команд 'add_rank_points' и 'set_rank_points'.
Теперь steamid не обязательно помещать в двойные кавычки
Исправлено:
- при 'ls_add_rank_points_bots 1' очки опыта ботам теперь сохраняются по их имени,
так как у ботов steamid у всех одинаковый ('BOT')
- добавлено уведомление при попытке сохранения очков опыта если их количество
меньше значения квара 'ls_min_save_points' при использовании команд
'add_rank_points' и 'set_rank_points'
Обновившиеся файлы:
- addons/amxmodx/plugins/level_system.amxx
- addons/amxmodx/configs/level_system.cfg
Версия 1.7.3 (03 авг 2021г):
Добавлено
-
добавлена возможность в level_system.ini указывать имена серверных команд в
качестве бонуса. Пригодится для интеграции с другими плагинами.
Пример: s: 'имя команды'. Одинарные кавычки нужны если команда имеет аргументы.
-
добавлены синонимы к бонусам 'cmd' и 'func' - 'c:' и 'f:' соответственно
Обновившиеся файлы:
- addons/amxmodx/plugins/level_system.amxx
- addons/amxmodx/configs/level_system.ini (только комментарии подсказки)
Версия 1.7.1 (06 апр 2021г):
Добавлено
- добавлено отладочное логирование загрузки / сохранения очков опыта
Изменено
- изменен код под внешнее ядро плагинов (plugins_core.amxx)
Версия 1.6.8 (03 сен 2019г):
Добавлено:
- добавлен квар ls_add_rank_points_min_players, отвечающий за минимальное
количество игроков, при котором включается начисление rank points.
Пригодится как средство борьбы с ночными "набивателями" опыта, когда игрок 1
на сервере, но заходит с 2-х клиентов игры и убивает второго неактивного игрока.
Если значение 0, то функция отключена
Изменено
- изменяет код для лучшей совместимости All Inclusive
- на версиях AMX Mod X 1.8.3 и выше, более не требуется дополнительный плагин
client_buy.amxx
1.6.6 (03 фев 2019г):
Добавлено:
-
добавлен квар ls_init_from_csstats, который определяет будут (1) или нет (0)
загружаться для новых игроков очки опыта из модуля (плагина) статистики с
учетом квара 'ls_accumulate_points_type'
-
добавлена native функция ls_get_rank_data, с помощью которой можно получить
данные о ранге по его индексу (название ранга и кол-во очков для его достижения)
/**
* Получает информацию о ранге по индексу
*
* @ param rank_index индекс ранга, информацию о котором нужно получить
* @ param rank_name массив под строку, в которую будет записано название ранга игрока
* @ param size количество символов, которые будут записаны в rank_name
*
* @ return количество очков необходимых для достижения этого ранга
*/
native ls_get_rank_data(rank_index, rank_name[], size);
Исправлено:
- исправлен недочет: неправильное отображение очков опыта при достижении
максимального уровня
1.6.2 (06 июл 2018г):
Добавлено:
- добавлен квар ls_accumulate_points_type, отвечающий за способ начисления очков опыта.
0 - по количеству убийств (стандарт),
1 - по урону (1 очко за 100HP),
2 - по времени игры (1 очко в минуту)
- добавлена поддержка плагина CsStats MySQL от SKAJIbnEJIb
Изменено:
- плагин больше не подгружает автоматически модули CSX или CSX Extended.
Если используется одни из этих моделей, то его нужно прописывать вручную в
modules.ini
1.6.0 (05 апр 2018г):
Исправлено:
- исправлен недочет: при наведении прицела на игрока, отображалось собственное
звание (косяк переноса кода)
Добавлено
- добавлена native функция ls_toggle_informer_visibility, с помощью которой
можно добавить игроку очки опыта. Функция возвращает текущее состояние информера
(0 - выкл, 1 - вкл)
Прототип функции:
native ls_toggle_informer_visibility(index);
- добавлена native функция ls_add_rank_points, с помощью которой можно добавить
игроку очки опыта. Функция возвращает результирующие очки опыта (с учетом тех
что добавлялись)
Прототип функции:
native ls_add_rank_points(index, rank_points);
- добавлен квар ls_headshot_bonus, отвечающий за количество дополнительных очков,
которые будут выдаваться игроку за убийство в голову
- автоматическое определение наличия главного плагина сборки Пушки Лазеры и
загрузка очков опыта из rank_points.vault (по стандарту из level_system.vault)
- автоматическое определение наличия главного плагина сборки Пушки Лазеры и
создание level_system.ini для него (отличается кардинально от стандартного)
- добавлен квр ls_player_info_hud_msg, отвечающий за RGB цвет и XY координаты
HUD сообщения, которое показывается при наведении на игрока
- в дополнение к именам функций в качестве бонуса, добавлена возможность указывать
2 целочисленных аргумента. Функция вызывается из другого плагина и передает
минимальное и максимальное значение
Пример:
func 'set_knife_kill_award 1 100'
- добавлена возможность в level_system.ini указывать имена функций в качестве
бонуса. Пригодится для интеграции с другими плагинами. Вызываемая функция должна
быть public и принимать id игрока в качестве аргумента
Пример:
func имя_функции_без_аргументов.
- добавлена возможность в level_system.ini указывать имена команд в качестве
бонуса. Пригодится для интеграции с другими плагинами. Одинарные кавычки нужны
если команда имеет аргументы
Пример:
cmd 'имя команды'
- добавлена поддержка плагина Admin Loader версии 3.2.6 и выше, для того чтобы
корректно работала выдача бонусных флагов доступа
- реклама в консоли игрока при подключении
Изменено
- бонусы здоровья и брони теперь выдаются без задержки, так как раньше видно
было изначальные цифры при возрождении (теперь как в сборке Пушки Лазеры)
- квары отвечающие за настройку HUD сообщений (оканчивающиеся на _pos и _color),
объединены в один квар где значение цвета и координат разделяется символом '|'
Версия 1.5.0 (03 ноя 2017г):
Добавлено:
- добавлен звук повышения уровня из Gungame, но в лучшем качестве. В связи с
этим изменено значение квара ls_level_up_sound с 'level_system/clapping.wav'
на 'level_system/smb_powerup.wav' (старый звук присутствует в архиве)
- добавлен квар ls_reset_ranks, который при значении 1 обнуляет все очки опыта и
статус отображения информеров, после возвращает значение в 0 (но не обнуляет
csstats.dat, данные по прежнему могут быть загружены из него)
- добавлен квар ls_data_storage_time, отвечающий за время хранения данных игрока
(в секундах) с момента последнего посещения (по умолчанию месяц)
- добавлен квар ls_toggle_informer_visibility_cmd, отвечающий за команду, которая
включает/отключает отображение верхнего и нижнего информеров (+ сообщение и звук
повышения уровня)
- добавлен квар ls_show_upper_hud_informer_alive_only, который задает отображение
верхнего информера только живым игрокам (1) или всем (0)
- добавлен квар ls_no_access_sound, отвечающий за путь к файлу звука (wav или mp3),
который будет проигрываться игроку если у него нет доступа к микрофону, чату
- добавлен квар ls_min_voice_access_points, отвечающий за минимальное количество
очков, с которого становится доступен микрофон
- добавлен квар ls_min_chat_access_points, отвечающий за минимальное количество
очков, с которого становится доступен чат
Изменено:
- изменен путь к файлам звуков плагина с 'sound/misc/level_system' на
'sound/level_system'
- максимальное значение очков в информере при его достижении становится равным
текущему значению очков игрока (раньше 10 001/10 000, теперь 10 001/ 10 001,
при условии что 10000 максимальное значение очков опыта)
- в верхнем информере добавлено отображение количества полученных очков с момента
последнего обновления
- игроку, который отключил отображение информеров, не проигрывается звук и не
показываются сообщения о получении игроками новых уровней. Сделано для тех кто
хочет играть без лишней информации (предложено Bullseye)
- плагин теперь работает в режиме интеграции с плагином Gag Me и блокирует голос
и чат через его API (тем самым уменьшая нагрузку). Плагин Level System не
требует наличие плагина Gag Me, все будет работать и без него
- требуется обновление (резервная копия + удаление)
'addons\amxmodx\configs\level_system.cfg' и 'addons\amxmodx\data\lang\level_system.txt'
Удалено:
- удалены квары ls_voice_access_start_level и ls_chat_access_start_level, так
как их заменили более функциональные квары ls_min_voice_access_points и
ls_min_chat_access_points
Версия 1.4.0 (29 июл 2017г):
Добавлено:
- добавлен квар ls_min_save_points, отвечающий за минимальное количество очков,
которое должен набрать игрок для их сохранения
- добавлен квар ls_points_cmd_access_flags, отвечающий за флаги доступа к
консольным командам, изменяющим очки опыта
- добавлен новый бонус 'add_money', с помощью которого можно добавлять игрокам
деньги в зависимости от уровня
- добавлен квар ls_max_money, отвечающий за максимальное количество денег у
игрока, которые не будут превышены бонусом 'add_money'
- добавлен новый бонус 'add_flags', с помощью которого можно добавлять игрокам
флаги доступа в зависимости от уровня
- добавлена консольная команда add_rank_points, с помощью которой можно добавлять
rank points по steamid игрока. Поддерживается работа как с игроками на сервере
так и с отключенными игрокам
- добавлена консольная команда set_rank_points, с помощью которой можно
устанавливать игроку rank points по steamid. Поддерживается работа как с
игроками на сервере так и с отключенными игрокам
- добавлено автоматическое создание конфигурационного файла level_system.ini
- добавлена native функция get_user_rank_data, с помощью которой можно получить
все данные о ранге игрока (кол-во очков, индекс ранга, название ранга)
/*
* Получает информацию о ранге игрока
*
* @ param index индекс игрока
* @ param rank_index индекс ранга игрока, который будет записан в переданную переменную по ссылке
* @ param rank_name массив под строку, в которую будет записано название ранга игрока
* @ param size количество символов, которые будут записаны в rank_name
*
* @ return количество rank points игрока, -1 если игрок не подключен
*/
native get_user_rank_data(index, &rank_index, rank_name[], size);
Изменено:
- максимальное число уровней увеличено с 50 до 512
- удален код блокирующий запуск плагина на ReHLDS серверах, но не проверялась
работоспособность
- расширена функциональность квара ls_level_up_sound, теперь звук может быть
двух форматов: wav и mp3
- бонусы связанные с основным оружием (винтовки, дробовики, пулеметы,
пистолеты-пулеметы), теперь выдаются только если у игрока нет хотя бы одного
из них
Исправлено:
- исправлен недочет: после переноса кода из более продвинутого level system
(из сборки пушки лазеры), сообщение о повышении ранга игрока оказывало
значение на единицу меньше
- исправлен недочет: из-за инструмента 'Заменить все' редактора кода команда
чата '/level', стала командой '/rank'
- исправлен недочет: после автоматического создания level_system.ini, загрузка
уровней не производилась (нужна была смена карты)
Версия 1.2.5 (05 дек 2016г):
Добавлено:
- добавлена поддержка CSstatsX SQL от serfreeman1337
- появилась возможность отключения любых сообщений с помощью
комментирования в level_system.txt ('//' или ';')
Изменено:
- отключена автоматическая подгрузка VoiceTranscoderApiProvider
- расширена функциональность кваров отвечающих за флаги доступа (см описание кваров)
Исправлено:
- исправлен недочет с количеством единиц бонуса flash
Версия 1.2.0 (15 июня 2016г):
Добавлено:
- добавлен квар ls_bonus_access_flags, отвечающий за флаги доступа, которые
должен иметь игрок чтобы получать бонус
- добавлен новый бонус add_hp, который позволяет выдавать указанное через пробел
количество единиц здоровья (Пример: add_hp 50)
- добавлена возможность указывать число единиц для следующих бонусов:
vest, vesthelm, hegren, flash, sgren, add_hp (см. level_system.ini)
- добавлена возможность компиляции плагина в режиме интеграции
(#define ADMIN_LOADER_INTEGRATION) с плагином admin_loader от mazdan (kanagava)
с целью получения флагов доступа через предоставляемое API
- добавлено автоматическое создание конфигурационного файла level_system.cfg,
если он не существует
- добавлен квар ls_give_bonus_start_round, отвечающий за номер раунда,
с которого начнут выдаваться бонусы
- добавлен квар ls_give_bonus, который определяет будут ли выдаваться бонусы
Изменено:
- плагин теперь самостоятельно сохраняет очки опыта и теперь можно не бояться
переполнения/обнуления общей или личной статистики
- плагин больше не нуждается в перекомпиляции под модуль CSX Extended
- данные о состоянии информеров, теперь сохраняются только если информеры
отключены (включены по умолчанию)
Версия 1.1.0 (19 апреля 2016г):
Добавлено:
-
добавлена возможность настраивать бонусы для каждого уровня в конфигурационном
файле level_system.ini
-
добавлена возможность компиляции плагина в режиме интеграции
(#define ADMIN_LOADER_INTEGRATION) с плагином Admin Loader версии 1.5 и выше
от neygomon с целью получения флагов доступа через предоставляемое API
-
добавлена поддержка мультиязычности ("addons/amxmodx/data/lang/level_system.txt")
-
добавлен квар ls_hud_informer_color, который отвечает за цвет информеров
-
добавлена возможность компиляции плагина в режиме совместимости с модулем
CSX Extended (проблема несинхронного обнуления и записи статистики за раунд)
-
добавлено информационное сообщение, которое показывается игроку не набравшему
необходимый уровень при попытке использовать микрофон (требуется VoiceTranscoder
AMXX API Provider)
Изменено:
- квар ls_level_up_sound теперь содержит путь к файлу звука, который будет
проигрываться всем при достижении нового уровня
Версия 1.0.5 (24 января 2016г):
Добавлено:
- добавлен третий бонус (Броня + Шлем) начинающийся с 40-го уровня
- добавлен звук оваций при получении нового уровня
- добавлен квар ls_level_up_sound, который включает и отключает проигрывание
звука при достижении нового уровня
Изменено:
- изменен порядок проверок, чтобы игрок которому запрещено писать в чат
все-таки мог отключить отображение уровней