ReHLDS/HLDS Micro Army Rank System

Mozer

Заблокированные
Пользователь
Регистрация
18 Июн 2017
Сообщения
22
Симпатии
0
Пол
Мужской
плагин организаует и упрощает работу с рангами, учитывает статистику, взаимодействует с другими плагинами и собой. это по праву можно считать системой. это моё мнение, как автора плагина. спорить с вами никто не будет. пожалуйста, впредь упоминайте AES в рамках возможностей предоставляемых MARS.
Я уточнил, все таки модуль csx dummy, из за этого у меня плагин не совместим с aes statsx, в обнове будет поддержка или менять надо на csx стандартный ?
 

oqde

Пользователь
Регистрация
20 Окт 2017
Сообщения
47
Симпатии
14
Я уточнил, все таки модуль csx dummy, из за этого у меня плагин не совместим с aes statsx, в обнове будет поддержка или менять надо на csx стандартный ?
будет поддержка внутреннего обработчика событий, заместо форвардов csx (опционально) , также планируется поддержка ReAPI.
csx dummy не может мешать aes: statsx. возможно где-то что-то напутано в настройках.
 

Mozer

Заблокированные
Пользователь
Регистрация
18 Июн 2017
Сообщения
22
Симпатии
0
Пол
Мужской
будет поддержка внутреннего обработчика событий, заместо форвардов csx (опционально) , также планируется поддержка ReAPI.
csx dummy не может мешать aes: statsx. возможно где-то что-то напутано в настройках.
да вроде нет, с аес все работает, просто меняю аес на марс, топ15 не отображается, а остальное все работает
 

mamsin

Пользователь
Регистрация
17 Дек 2017
Сообщения
4
Симпатии
0
Добавьте пожалуйста в этот плагин как на скрине Уровень
3333.png
 

maloy7397

Пользователь
Регистрация
15 Авг 2017
Сообщения
2
Симпатии
0
Автор: Ge3eR
Версия
: 1.29Hz
Источник: Dev-Cs
Обнова: от 13.11.2017

Посмотреть вложение 3281

Описание:
Это самая миниатюрная и быстрая система званий (рангов) которую вы когда либо видели :)

Хранение рангов в специальном 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 уровней (рангов).
Найдите строку:
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 на несколько единиц.
также убедитесь, что ранги считываются из нужного вам плагина или модуля.

История версий:
  1. Мультиязычность, для файлов хранения рангов.
  2. Улучшена поддержка плагинов, работающих с AES.
  3. Поправлено отображение буквы skill для CSX.
  4. Устранены известные баги.
Исправлены баги:
  1. баг компиляции при READ_SATS 2
  2. баг неправильного подсчёта уровня поле его повышения, в следствии чего ранг больше не повышался
Переформирован lang файл. поддерживаемые языки: en, ru, ua, fr, de, md, ro

В режиме тестирования добавлена возможность показа 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 // задержка перед чтением статистики. (увеличить при плохом соединении с БД)
Внимание! Если вы используете плагин 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
// 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

Установка:
  1. Скачать архив, распаковать.
  2. Настроить конфиги и дефайны в самом плагине
  3. Скомпилировать плагин
  4. Залить на сервер, прописать в списке плагинов
Cкриншоты:

Посмотреть вложение 3282
команду для выдачи званий подскажите!
 

oqde

Пользователь
Регистрация
20 Окт 2017
Сообщения
47
Симпатии
14
команду для выдачи званий подскажите!
можете пользоваться aes_exp_editor для выдачи "фейковых" званий.
10 Янв 2018
Добавьте пожалуйста в этот плагин как на скрине Уровень
Посмотреть вложение 4276
весьма сомнительный функционал. вы можете сделать это сами, чуток подредактировав информер

например в lang файле изменить : MARS_HUD_EXP
на
MARS_HUD_EXP = Уровень : %d[%d/%d]
и заменить код
Код:
                , LANG_SERVER, "MARS_HUD_EXP"
                , stats[MARS_ST_EXP], max(stats[MARS_ST_EXP], stats[MARS_ST_NEXTEXP]) //Предела нет!
к примеру на такой
Код:
                , LANG_SERVER, "MARS_HUD_EXP"
                , client_level[watchid], stats[MARS_ST_EXP], max(stats[MARS_ST_EXP], stats[MARS_ST_NEXTEXP]) //Предела нет!
 

qRECORDp

Пользователь
Регистрация
7 Дек 2017
Сообщения
1
Симпатии
0
Подскажите пожалуйста , почему у меня не сразу обновляется в информере прибавка к опыту и скилл , какие могут быть причины ?