Автор: Ge3eR
Версия: 1.29Hz
Источник: Dev-Cs
Обнова: от 13.11.2017
Описание:
Это самая миниатюрная и быстрая система званий (рангов) которую вы когда либо видели
Хранение рангов в специальном ini файле. Теперь у вас нет органичений на их количество и содержание!
Основывается на статистике csx модуля (или сторонних плагинов), используя количество убийств в качестве единиц опыта.
Поддержка мультиязычности! используйте свой ini файл рангов для каждого языка.
Быстрый информер, который считывает данные о статистике игрока всего 1 раз, при его заходе на сервер. и
далее работает в оффлайн режиме, засчитывая убийства параллельно с модулем статистики csx (или стороним плагином). Это не Lite редакция AES, Army Ranks и т.д. ! Это с нуля написаный, и поддерживающий все основные функции плагин. Здесь нет транслита или поддержки префиксов, громоздких бонусов. Здесь нет и записи чего либо в nvalut. Здесь в hud не пишет Опыт [55/100][+5], а просто и понятно [60/100]. Здесь нет работы с базой данных. Этот функционал целиком и полностью переложен на плагин сбора статистики.
Оптимизация позволила сделать его нагрузку совсем незаметной, а значит игроки будут чувствовать себя комфортно.
Является полноценной и легковесной заменой других - подобных систем. Micro, намного лучше чем Lite
Хозяину на заметку:
История версий:
Требования:
mars_reload_list // горячая перезагрузка рангов из файла
mars_reload_stats // жесткая перезагрузка статистики
Настройка:
мультиязычность:
задайте язык сервера кваром amx_language
например
amx_language ru
тогда MARS будет использовать файл рангов из amxmodx/configs/mars_lists/mars_list_ru.ini
если файла с двухбуквенным префиксом языка не будет существовать, будет использоваться
файл по умолчанию amxmodx/configs/mars_list.ini
Внимание! Если вы используете плагин CSSTATSX SQL 0.7.4 и выше, убедитесь что он находится в режиме проброса форвардов csx! за это отвечает квар csstats_sql_forwards 1
Плагин должен быть прописан в plugins.ini после плагина сбора статистики!
MARS API:
native Float:mars_get_skill(player) // получение скилла игрока в Real-Time
AES API:
В данный момент плагин поддерживает (для совместимости) проброс некоторых API плагина AES 0.5 Vega, автора seerfreeman1337.
На данный момент точно известно, что MARS отлично ладит с lite_translit 2.8 и AES: STATSX CSTRIKE 0.5 Vega
Установка:
Версия: 1.29Hz
Источник: Dev-Cs
Обнова: от 13.11.2017
Описание:
Это самая миниатюрная и быстрая система званий (рангов) которую вы когда либо видели
Хранение рангов в специальном ini файле. Теперь у вас нет органичений на их количество и содержание!
Основывается на статистике csx модуля (или сторонних плагинов), используя количество убийств в качестве единиц опыта.
Поддержка мультиязычности! используйте свой ini файл рангов для каждого языка.
Быстрый информер, который считывает данные о статистике игрока всего 1 раз, при его заходе на сервер. и
далее работает в оффлайн режиме, засчитывая убийства параллельно с модулем статистики csx (или стороним плагином). Это не Lite редакция AES, Army Ranks и т.д. ! Это с нуля написаный, и поддерживающий все основные функции плагин. Здесь нет транслита или поддержки префиксов, громоздких бонусов. Здесь нет и записи чего либо в nvalut. Здесь в hud не пишет Опыт [55/100][+5], а просто и понятно [60/100]. Здесь нет работы с базой данных. Этот функционал целиком и полностью переложен на плагин сбора статистики.
Оптимизация позволила сделать его нагрузку совсем незаметной, а значит игроки будут чувствовать себя комфортно.
Является полноценной и легковесной заменой других - подобных систем. Micro, намного лучше чем Lite
Хозяину на заметку:
Могу ли я использовать совместимые с AES плагины вместе с MARS?
В версии 1.29Hz, улучшена поддержка native и forwards AES 0.5 Vega и AES 0.4.
Вы можете с уверенностью воспользоваться этим, отключив aes_main и aes_informer, которые с успехом заменяет MARS.
Большинство плагинов будут работать в штатном режиме.
Почему kills/deaths/skills не всегда соответствуют тому что показывает /rank ?
MARS ведёт подсчёт независимо, отображая в реальном времени. Модуль CSX, и в особенности плагины работающие с базой данных mysql/sqlite - далеко не всегда.
Есть вероятность, что некоторые события не будут вовремя отражены в базе. однако, они появятся там позже, без потерь. к примеру после смены карты, или так, как вы настроете плагин сбора статистики.
Почему когда я использую csstats sql 0.7.4, мой скилл в игре всегда отличается на несколько едениц от того что показывает информер? как повысить точность?
csstats sql 0.7.4 при сохранении скилла округляет его до 2х цифр после запятой (их всего 6). MARS же, учитывает все 6 цифр.
также в версии 0.7.4, в базе данных для сохранения skill используется параметр float что усугубляет положение.
Решение:
1. поле `skill` должно быть в формате decimal (9,6)
2. отредактируйте csstats_sql.sma найдя все строки %.2f и заменив их на %f
либо воспользоваться уже отредактированным и проверенным вариантом [C++] /* * CSStatsX SQL v. 0.7.4.2 * by serfreeman1337 http://1337.uz/ - Pastebin.com
Почему засчитывает 2 очка заместо одного?
Скорее всего вы используете плагин CSSTATSX SQL, который отвечает за сбор статистики. Также у вас подключён модуль CSX.
Если вы не поменяли CSX на CSX_DUMMY который служит "заглушкой", то при значении квара csstats_sql_forwards 1 возникнет конфликт!
Событие убийства игрока будет вызвано дважды! 1-й раз в модуле CSX, и 2-й раз в плагине CSSTATSX SQL.
MARS получив оба события, обработает их, засчитав каждое.
Решение: Поменять модуль CSX на CSX_DUMMY, либо сменить значение квара на csstats_sql_forwards 0 (и сменить карту)
Внимание: Значение квара csstats_sql_forwards 1 необходимо только тогда, когда у вас стоит модуль "заглушка" CSX_DUMMY
Почему засчитывает 2 и больше очка заместо одного?
M.A.R.S. версии 1.29Hz, при включённой совместимости c AES плагинами выполняет роль aes_main.
Если у вас есть пагины от aes, предназначенные для начисления бонусных очков и фрагов, они будут работать и записывать лишние фраги.
Решиние: Проверьте plugins.ini и plugins-aes.ini. закомментируйте эти плагины если они вам не нужны. Если это не поможет, удалите их из папки plugins/
У меня ReHLDS и ReAmxX, почему не засчитывает очки?
в CSX модуле ReAmxX отсутствует форвард события client_death, в результате чего, очки не засчитывает в реальном времени.
Решение: скомпилировать мини плагин по ссылке [C++] amxx forward - Pastebin.com и вставить (желательно чуть выше MARS) в plugins.ini
где и как я могу изменить количество опыта для уровней?
В данный момент, опыт задаётся в массиве mars_exp, в котором по умолчанию заданы лимиты для 30 уровней (рангов).
Найдите строку:
где в фигурных скобках, через запятую, заданы лимиты.
Вы можете изменить и количество опыта, и добавить или удалить новые лимиты.
к примеру вот так:
или так:
при добавлении последней записи, следите чтобы после неё небыло запятой.
заметьте, вы не сможете прокачать уровней больше чем записей опыта и наоборот.
Почему после захода у меня сбился опыт и звания?
Причины могут быть разными.
На csx проблем в этом плане не обнаружено, так что проверяйте подключение к базам данных в плагнинах.
Проверьте командой /rank, что статистика работает, и если это так, увеличьте параметр ONSTART_WAIT_TIME на несколько единиц.
также убедитесь, что ранги считываются из нужного вам плагина или модуля.
В версии 1.29Hz, улучшена поддержка native и forwards AES 0.5 Vega и AES 0.4.
Вы можете с уверенностью воспользоваться этим, отключив aes_main и aes_informer, которые с успехом заменяет MARS.
Большинство плагинов будут работать в штатном режиме.
Почему kills/deaths/skills не всегда соответствуют тому что показывает /rank ?
MARS ведёт подсчёт независимо, отображая в реальном времени. Модуль CSX, и в особенности плагины работающие с базой данных mysql/sqlite - далеко не всегда.
Есть вероятность, что некоторые события не будут вовремя отражены в базе. однако, они появятся там позже, без потерь. к примеру после смены карты, или так, как вы настроете плагин сбора статистики.
Почему когда я использую csstats sql 0.7.4, мой скилл в игре всегда отличается на несколько едениц от того что показывает информер? как повысить точность?
csstats sql 0.7.4 при сохранении скилла округляет его до 2х цифр после запятой (их всего 6). MARS же, учитывает все 6 цифр.
также в версии 0.7.4, в базе данных для сохранения skill используется параметр float что усугубляет положение.
Решение:
1. поле `skill` должно быть в формате decimal (9,6)
2. отредактируйте csstats_sql.sma найдя все строки %.2f и заменив их на %f
либо воспользоваться уже отредактированным и проверенным вариантом [C++] /* * CSStatsX SQL v. 0.7.4.2 * by serfreeman1337 http://1337.uz/ - Pastebin.com
Почему засчитывает 2 очка заместо одного?
Скорее всего вы используете плагин CSSTATSX SQL, который отвечает за сбор статистики. Также у вас подключён модуль CSX.
Если вы не поменяли CSX на CSX_DUMMY который служит "заглушкой", то при значении квара csstats_sql_forwards 1 возникнет конфликт!
Событие убийства игрока будет вызвано дважды! 1-й раз в модуле CSX, и 2-й раз в плагине CSSTATSX SQL.
MARS получив оба события, обработает их, засчитав каждое.
Решение: Поменять модуль CSX на CSX_DUMMY, либо сменить значение квара на csstats_sql_forwards 0 (и сменить карту)
Внимание: Значение квара csstats_sql_forwards 1 необходимо только тогда, когда у вас стоит модуль "заглушка" CSX_DUMMY
Почему засчитывает 2 и больше очка заместо одного?
M.A.R.S. версии 1.29Hz, при включённой совместимости c AES плагинами выполняет роль aes_main.
Если у вас есть пагины от aes, предназначенные для начисления бонусных очков и фрагов, они будут работать и записывать лишние фраги.
Решиние: Проверьте plugins.ini и plugins-aes.ini. закомментируйте эти плагины если они вам не нужны. Если это не поможет, удалите их из папки plugins/
У меня ReHLDS и ReAmxX, почему не засчитывает очки?
в CSX модуле ReAmxX отсутствует форвард события client_death, в результате чего, очки не засчитывает в реальном времени.
Решение: скомпилировать мини плагин по ссылке [C++] amxx forward - Pastebin.com и вставить (желательно чуть выше MARS) в plugins.ini
где и как я могу изменить количество опыта для уровней?
В данный момент, опыт задаётся в массиве mars_exp, в котором по умолчанию заданы лимиты для 30 уровней (рангов).
Найдите строку:
new mars_exp[] = {
00000, 00050, 00100, 00200, 00400,
00700, 01000, 02000, 03000, 04000,
05000, 06000, 07000, 08000, 09000,
10000, 11000, 12000, 13000, 14000,
15000, 16000, 17000, 18000, 19000,
20000, 25000, 30000, 40000, 50000
};
где в фигурных скобках, через запятую, заданы лимиты.
Вы можете изменить и количество опыта, и добавить или удалить новые лимиты.
к примеру вот так:
new mars_exp[] = { 0, 20, 40, 80, 100 };
или так:
new mars_exp[] = {
00000, 00050, 00100, 00200, 00400, 00700, 01000, 02000, 03000, 04000,
05000, 06000, 07000, 08000, 09000, 10000, 11000, 12000, 13000, 14000,
15000, 16000, 17000, 18000, 19000, 20000, 25000, 30000, 40000, 50000,
100000, 160000, 170000, 180000, 190000, 200000, 250000, 300000, 400000, 500000
};
при добавлении последней записи, следите чтобы после неё небыло запятой.
заметьте, вы не сможете прокачать уровней больше чем записей опыта и наоборот.
Почему после захода у меня сбился опыт и звания?
Причины могут быть разными.
На csx проблем в этом плане не обнаружено, так что проверяйте подключение к базам данных в плагнинах.
Проверьте командой /rank, что статистика работает, и если это так, увеличьте параметр ONSTART_WAIT_TIME на несколько единиц.
также убедитесь, что ранги считываются из нужного вам плагина или модуля.
История версий:
- Мультиязычность, для файлов хранения рангов.
- Улучшена поддержка плагинов, работающих с AES.
- Поправлено отображение буквы skill для CSX.
- Устранены известные баги.
Исправлены баги:
В режиме тестирования добавлена возможность показа Skill игрока в HUD (при READ_STATS 2, подсчёт идёт по The Elo Method)
Код дописан и более продуман. Для удобства, в верхней части кода добавлены более детальные настройки, в том числе включение/отключение совместимости с поддерживающими AES плагинами (частичная замена aes_main).
- баг компиляции при READ_SATS 2
- баг неправильного подсчёта уровня поле его повышения, в следствии чего ранг больше не повышался
В режиме тестирования добавлена возможность показа Skill игрока в HUD (при READ_STATS 2, подсчёт идёт по The Elo Method)
Код дописан и более продуман. Для удобства, в верхней части кода добавлены более детальные настройки, в том числе включение/отключение совместимости с поддерживающими AES плагинами (частичная замена aes_main).
Требования:
- AmxModX 1.8.2 либо AmxModX 1.8.3-dev.
- Модуль CSX или CSX Extended, либо плагины CSSTATS MYSQL или CSSTATSX SQL 0.7.4 и выше.
- Для компиляции на AmxModX 1.8.2, вам понадобится colorchat.inc от aghl
- Для компиляции в отличных от READ_STATS 0 режимах, вам понадобятся .inc файлы выбранных плагинов. убедитесь что они есть.
mars_reload_list // горячая перезагрузка рангов из файла
mars_reload_stats // жесткая перезагрузка статистики
Настройка:
мультиязычность:
задайте язык сервера кваром amx_language
например
amx_language ru
тогда MARS будет использовать файл рангов из amxmodx/configs/mars_lists/mars_list_ru.ini
если файла с двухбуквенным префиксом языка не будет существовать, будет использоваться
файл по умолчанию amxmodx/configs/mars_list.ini
/* -- READ_STATS
* Откуда будем считывать статистику?
* 0 - CSX
* 1 - CSSTATS MYSQL by SKAJIbnEJIb // не тестировалось
* 2 - CSSTATSX SQL by serfreeman1337 // учтите, что CSSTATSX SQL должен быть в режиме csstats_sql_forwards 1
*/
#define READ_STATS 0
/* Раскомментируйте для частичной поддержки AES нативов и форвардов */
//#define AES_COMPATIBLE
// Настройки отображения HUD информера
/* Раскомментируйте, для частичной поддержки AES нативов и форвардов */
//#define AES_PLUGINS_COMPATIBLE
/* Раскомментируйте, если хотите дополнить HUD инфой о скилле */
//#define WITH_SKILLS
/* -- READ_STATS
* Откуда будем считывать статистику?
* 0 - CSX or CSX Extended (Module)
* 1 - CSSTATS MYSQL by SKAJIbnEJIb // автором не тестировалось, но говорят норм )
* 2 - CSSTATSX SQL by serfreeman1337 + CSX_DUMMY Module// учтите, что CSSTATSX SQL должен быть в режиме csstats_sql_forwards 1
*/
#define READ_STATS 0
// Настройки отображения HUD информера
#define HUD_LIVE_COLOR_R 0
#define HUD_LIVE_COLOR_G 128
#define HUD_LIVE_COLOR_B 0
#define HUD_LIVE_AXIS_X 0.01
#define HUD_LIVE_AXIS_Y 0.22
#define HUD_SPEC_COLOR_R 28
#define HUD_SPEC_COLOR_G 90
#define HUD_SPEC_COLOR_B 28
#define HUD_SPEC_AXIS_X 0.01
#define HUD_SPEC_AXIS_Y 0.15
// Промежуток между сообщениями информера
#define HUD_REPEAT_TIME 1.5
/* -- LEVELUP_CONGRATULATION
* Оповещение о повышении уровня
* 0 - отключено
* 1 - включено (оповещает в чат, HUD и звуком)
*/
#define LEVELUP_CONGRATULATION 1
#if LEVELUP_CONGRATULATION == 1
// Настройки отображения HUD сообщения о повышении уровня
#define HUD_LEVELUP_COLOR_R 0
#define HUD_LEVELUP_COLOR_G 128
#define HUD_LEVELUP_COLOR_B 0
#define HUD_LEVELUP_AXIS_X -1.0
#define HUD_LEVELUP_AXIS_Y 0.15
#endif
#define ONSTART_WAIT_TIME /* CS */ 1.6 // задержка перед чтением статистики. (увеличить при плохом соединении с БД)
* Откуда будем считывать статистику?
* 0 - CSX
* 1 - CSSTATS MYSQL by SKAJIbnEJIb // не тестировалось
* 2 - CSSTATSX SQL by serfreeman1337 // учтите, что CSSTATSX SQL должен быть в режиме csstats_sql_forwards 1
*/
#define READ_STATS 0
/* Раскомментируйте для частичной поддержки AES нативов и форвардов */
//#define AES_COMPATIBLE
// Настройки отображения HUD информера
/* Раскомментируйте, для частичной поддержки AES нативов и форвардов */
//#define AES_PLUGINS_COMPATIBLE
/* Раскомментируйте, если хотите дополнить HUD инфой о скилле */
//#define WITH_SKILLS
/* -- READ_STATS
* Откуда будем считывать статистику?
* 0 - CSX or CSX Extended (Module)
* 1 - CSSTATS MYSQL by SKAJIbnEJIb // автором не тестировалось, но говорят норм )
* 2 - CSSTATSX SQL by serfreeman1337 + CSX_DUMMY Module// учтите, что CSSTATSX SQL должен быть в режиме csstats_sql_forwards 1
*/
#define READ_STATS 0
// Настройки отображения HUD информера
#define HUD_LIVE_COLOR_R 0
#define HUD_LIVE_COLOR_G 128
#define HUD_LIVE_COLOR_B 0
#define HUD_LIVE_AXIS_X 0.01
#define HUD_LIVE_AXIS_Y 0.22
#define HUD_SPEC_COLOR_R 28
#define HUD_SPEC_COLOR_G 90
#define HUD_SPEC_COLOR_B 28
#define HUD_SPEC_AXIS_X 0.01
#define HUD_SPEC_AXIS_Y 0.15
// Промежуток между сообщениями информера
#define HUD_REPEAT_TIME 1.5
/* -- LEVELUP_CONGRATULATION
* Оповещение о повышении уровня
* 0 - отключено
* 1 - включено (оповещает в чат, HUD и звуком)
*/
#define LEVELUP_CONGRATULATION 1
#if LEVELUP_CONGRATULATION == 1
// Настройки отображения HUD сообщения о повышении уровня
#define HUD_LEVELUP_COLOR_R 0
#define HUD_LEVELUP_COLOR_G 128
#define HUD_LEVELUP_COLOR_B 0
#define HUD_LEVELUP_AXIS_X -1.0
#define HUD_LEVELUP_AXIS_Y 0.15
#endif
#define ONSTART_WAIT_TIME /* CS */ 1.6 // задержка перед чтением статистики. (увеличить при плохом соединении с БД)
Плагин должен быть прописан в plugins.ini после плагина сбора статистики!
MARS API:
native Float:mars_get_skill(player) // получение скилла игрока в Real-Time
AES API:
В данный момент плагин поддерживает (для совместимости) проброс некоторых API плагина AES 0.5 Vega, автора seerfreeman1337.
На данный момент точно известно, что MARS отлично ладит с lite_translit 2.8 и AES: STATSX CSTRIKE 0.5 Vega
// AES 0.5 Vega
aes_get_player_level
aes_get_player_exp
aes_get_player_reqexp
aes_get_level_name
aes_get_level_reqexp
aes_get_max_level
aes_get_exp_level
// fake natives ?
aes_set_player_bonus
aes_get_player_bonus
aes_set_player_level
aes_set_player_exp
// mega fake native
aes_find_stats_thread
// Совместимость с AES 0.4
aes_get_stats
aes_get_player_stats
aes_get_exp_to_next_level
aes_get_level_for_exp
// aes_cstrike_exp for AES: STATSX CSTRIKE plugin
aes_get_exp_for_stats_f
aes_get_exp_for_stats
aes_get_player_level
aes_get_player_exp
aes_get_player_reqexp
aes_get_level_name
aes_get_level_reqexp
aes_get_max_level
aes_get_exp_level
// fake natives ?
aes_set_player_bonus
aes_get_player_bonus
aes_set_player_level
aes_set_player_exp
// mega fake native
aes_find_stats_thread
// Совместимость с AES 0.4
aes_get_stats
aes_get_player_stats
aes_get_exp_to_next_level
aes_get_level_for_exp
// aes_cstrike_exp for AES: STATSX CSTRIKE plugin
aes_get_exp_for_stats_f
aes_get_exp_for_stats
Установка:
- Скачать архив, распаковать.
- Настроить конфиги и дефайны в самом плагине
- Скомпилировать плагин
- Залить на сервер, прописать в списке плагинов
Вложения
-
10,1 KB Просмотры: 505
-
6 KB Просмотры: 105
Последнее редактирование: