Сегодня 19 марта, среда ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7279
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Каталог сообществ
Hard TM - Читерский форум без хайдов - Античиты и дополнения
 

Advanced Experience System Система опыта и рангов.

2015-03-11 18:06:35 (читать в оригинале)

Advanced Experience System
Версия: 0.4 (04.02.2014)
Автор: serfreeman1337

Скачать - https://yadi.sk/d/hUiwHLv5fBHW3


Описание:
Несколько плагинов, которые организуют систему опыта и рангов игроков. Есть система бонусов за определенные действия.
Система состоит из:
  • Основная часть [ aes_main.amxx ] отвечает за:
    • хранение и обработка статистики
    • определение количества уровнейt
  • Сборщик статистики [ aes_exp_cstrike.amxx ] за:
    • определяет как игроки будут повышать свой опыт и получать бонусные очки
    • сбор опыта из csstats.dat файла
  • Система бонусов [ aes_bonus_system.amxx ] за:
    • задает на что игроки могут потратить свои очки бонуса
    • команда /anew
  • Редактор опыта [ aes_exp_editor.amxx ] за:
    • возможность задать игроку опыт, уровень, бонусы через админ меню


Требования:
AMXX 1.8.2 hg26 или выше.

Что-бы заставить AES работать на старых версиях достаточно заменить библиотеку amxmodx_i386.so (amxmodx_mm.dll)
на версию 1.8.2. Скачать последнюю версию вы можете тут.

Установка:
Активируйте необходимые вам плагины в файле plugins-aes.ini.

Использование CSStats:
AES умеет считать опыт и формировать звания на основе статистики CSStats.
Для это подключите сборщик статистики aes_exp_cstrike и установите aes_db_type в 0.
Редактирование опыта в данном случае не будет работать.

Режим форматирования информера:
В этом режиме вы можете настроить информационные сообщения как вам угодно.
Работает замена по шаблону. Шаблоны находятся в словаре aes.txt.
  • AES_HUD_TPL - HUD информер для игрока.
  • AES_HUD_TPL_D - HUD информер для наблюдателя (или если игрок был убит).
  • AES_NEWLEVEL_TPL - сообщение о повышении уровня игроку.
  • AES_NEWLEVEL_ALL_TPL - сообщение о повышении уровня всем.

Замена:
  • <exp> - количество текущего опыта.
  • <levelexp> - количество опыта для уровня.
  • <needexp> - разница между levelexp и exp.
  • <level> - числовое значение уровня.
  • <maxlevel> - числовое значение максимального уровня.
  • <rank> - звание игрока.
  • <name> - имя игрока.
  • <steamid> - SteamID игрока.
  • \n - символ перевода на новую строку.


Максимальное кол-во символов: около 300.

Команды:
Для игроков:
  • /anew - открыть меню бонусов.
  • /aenable - вкл/выкл HUD информеров.


Для администраторов:
  • aes_recalc - выполнить перерасчет уровней игроков. [RCON]
  • aes_exp_menu - открыть меню редактирования опыта игроков. [CVAR]
  • aes_exp_menu_set "<name, steamid or id>" "<опыт>" - задать опыт игроку. [СVAR]
  • aes_exp_menu_level "<name, steamid or id>" "<уровень>" - задать уровень игроку. [CVAR]



Компиляция с AMXX 1.8.3:
Плагин использует colorchat библиотеку от ConnorMcLeod для цветного чата.
В AMXX 1.8.3 уже реализован такой функционал.

2 пути компиляции с новым AMXX:
  • Закомментить в amxmodx.inc строчку с native client_print_color(index, sender, const message[], any:...); и перекомпилить плагин.
  • Закомментить #include <colorchat> и в lang файле править ключи (!n,!t,!g). на указатели (^1,^3,^4).


Словари без управляющих символов находятся в архиве dictionary_noCTRLchars.7z (архив в архиве)

Конфигурация:

Развернуть для просмотра

Код:
// -- aes_main.amxx -- //

// Настройка сохранения статистики.
// 0 - не сохранять.
// 1 - сохранять в файл /amxmodx/data/aes/stats.ini
// 2 - использовать SQL базу данных
aes_db_type "1"

// Удаление неактивных игроков.
// Количество дней, через которые из статистики будут удаляться неактивные игроки.
// Значение 0 выключает эту возможность.
aes_db_prune_days "0"

// Ключ сохранения. По какому параметру вести учет игроков?
// 0 - Ник
// 1 - SteamID
// 2 - IP
aes_track_mode "1"

// Настройка званий.
// Какое количество опыта должен набрать игрок для определенного звания.
// Первая цифра отвечает за количество опыта для звания "Рядовой", вторая за звания "Ефрейтор" и так далее.
// Первая цифра соответственно должна быть равна НУЛЮ!
// Писать в кавычках!
//  ВАЖНО! Сколько Вы здесь напишите чисел, столько званий у Вас и будет!  Не забудьте отредактировать ланг файл, под Ваше количество званий! 
aes_level "0 20 40 60 100 150 200 300 400 600 1000 1500 2100 2700 3400 4200 5100 5900 7000 10000"

// Задержка перед загрузкой опыта игрока.
// Увеличьте это значение при проблемах с загрузкой опыта.
aes_load_delay "0.0"

// Сохранение бонусных очков.
aes_save_bonus "1"

// -- aes_exp_cstrike.amxx -- //

// Сколько опыта будет даваться за одно убийство
aes_xp_frag "1"
// Сколько опыта будет давать за убийство хедшотов
aes_xp_hs "2"
// Кол-во опыта за установку бомбы
aes_xp_c4_plant "1"
// Кол-во опыта за подрыв бомбы
aes_xp_c4_explode "3"
// Кол-во опыта за дефьюз бомбы
aes_xp_c4_defused "4"
// Опыт за вывод заложников
aes_xp_hostage_got "1"
// Опыт за спасение заложников
aes_xp_hostage_rescue "1"
// Опыт за спасение как V.I.P.
aes_xp_vip_escaped "4"
// Опыт за убийство V.I.P.
aes_xp_vip_killed "4"
// Опыт за смерть. Используйте отрицательные значения чтобы вычитать.
aes_xp_death "0"

// Минимальное кол-во игроков, при которых будет начисляться бонус за выполнение действий карты.
// Действии с заложниками, бомбой и VIP.
aes_xp_goal_min_players "4"

// Включен режим FFA
aes_xp_ffa "0"

// Бонусы за количество фрагов, убийств в голову и прочего.
//  Формат записи: "<количество_фрагов>  <количество_бонуса_за_них> <количество_фрагов>  <количество_бонуса_за_них> и т.д."
// Бонусы дают доступ к меню /anew
// 0 - выключить. 

// Просто за фраги
aes_anew_frags "10 1 20 2 30 3 40 5"
// За убийство в голову
aes_anew_hs "7 1 14 2 20 3 30 4"
// За убийство с ножа
aes_anew_knife "1 1 2 1 3 1 4 1"
// За убийство с гранаты
aes_anew_he "4 1 5 1 6 1 7 2"

// Когда сбрасывать кол-фрагов и т.п.
// 0 - никогда
// 1 - при смерти
aes_anew_reset "1"

// Количество выдаваемых бонусов игроку за повышению по званию.
aes_bonus_levelup "3"

// -- aes_informer.amxx -- //

// Показывает сообщение о новом уровне. 1 - показывать игроку. 2 - только всем. 0 - отключить сообщение.
aes_newlevel_chat "2"

// Через сколько секунд обновлять hud сообщения?
aes_hud_update "1.5"

// По стандарту показывать информер? (Hud сообщение с текущим званием)
aes_hud_info_default "1"

// Тип информера. 1 - Hud. 0 - выключить
aes_hud_info_type "1"

// Цвет информера(r g b). Вводить три числа в одних кавычках!
// Или укажите random для задания случайного цвета.
aes_hud_info_color "60 60 60"

// Координаты информера(x y). Вводить два числа в одних кавычках!
aes_hud_info_pos "0.01 0.13"

// Тип сообщения /aNew. 1 - Hud. 0 - выключить
aes_hud_anew_type "1"

// Цвет сообщения /aNew (r g b). Вводить три числа в одних кавычках!
aes_hud_anew_color "100 100 100"

// Координаты сообщения /aNew (x y). Вводить два числа в одних кавычках!
aes_hud_anew_pos "-1.0 0.90"

// Отображать информер наблюдателям.
aes_hud_info_deafult_d "1"

// Цвет информера для наблюдателя.
// random - случайный цвет.
aes_hud_info_color_d "40 40 40"

// Позиция информера для наблюдателя.
aes_hud_info_pos_d "0.01 0.15"

// Режим форматирования.
aes_informer_tpl "0"

// -- aes_bonus_system.amxx -- //

// Вкл/Выкл системы бонусов
aes_bonus_enable "1"

// До какого раунда не выдавать все бонусы, включая /anew
aes_bonus_firstround "3"

// Ограничение времени использования команды /anew.
// 0.0 - без ограничения.
// больше 0.0 - задать своё время.
// -1.0 - использовать mp_buytime квар.
aes_bonus_time "-1.0"

// Список карт, на которых не будут действовать все бонусы.
aes_lockmap "35hp"
aes_lockmap "35hp_2"
aes_lockmap "35hp_gx"
aes_lockmap "35hp_gladiators_day"
aes_lockmap "most_wanted"
aes_lockmap "35hp_xmas"
aes_lockmap "35hp_3"
aes_lockmap "aim_afl_deagle"
aes_lockmap "awp_8bit"
aes_lockmap "awp_india"
aes_lockmap "awp_india_csp"
aes_lockmap "awp_pit"
aes_lockmap "ka_100x100"
aes_lockmap "ka_wintershank"

// -- aes_main.amxx -- //
//        > SQL <        //

// Настройки соединения с SQL сервером

// Хост для подключения.
aes_sql_host "localhost"

// Пользователь.
aes_sql_user "root"

// Пароль.
aes_sql_password ""

// База данных.
aes_sql_db "amxx"

// Таблица.
aes_sql_table "aes_stats"

// Максимальное кол-во неудачных попыток обращения к БД,
// после которых плагин перестает связываться с БД до конца карты.
aes_sql_maxfail "10"

// Драйвер БД.
// mysql или sqlite.
aes_sql_driver "mysql"
[свернуть]


Бонусы: [ addons/amxmodx/configs/aes/bonus.ini ]
Систему бонусов можно полностью перенастроить. Есть возможность задать что и на каком уровне будет выдаваться игроку на спавне, задать на что можно потратить бонусные очки.

Конфиг состоит из 2х блоков:
  • [spawn] - что и на каком уровне игроку будут выдываться предметы и пр.
  • [bonus_menu] - предметы в /anew меню.

Каждый новый новый предмет должен быть определен конструкцией <give> или <call>.

Конструкция <give> - выдача игроку предмета в определении item.
Конструкция <call> - вызов функции из другого плагина.

Определения:
  • item - класснейм предмета для выдачи в конструкции <give>
  • name - название предмета в меню, вы можете указать в начале LANG_ для использования значения из словаря aes.txt
  • levels - первая цифра отвечает за звание "Рядовой", вторая за "Ефрейтор" и так далее. Отвечает сколько предеметов выдавать в конструкции <give>. Передается в функцию 2ым параметром в конструкции <call>.
  • plugin - имя файла плагина для конструкции <call>
  • function - имя функции плагина в конструкции <call>. Первым параметром передается id игрока, 2ым - значение из levels. Используйте -1 чтобы не вызывать функцию.
  • points - кол-во очков бонуса, которые нужны для активации предмета.


Аддоны к плагину:

AES StatsX CSTRIKE


AES StatsX CSTRIKE
Скачать - https://yadi.sk/d/HgGe1VLHfBHiF
MOTD окна и сообщения о ранге от системы AES, с отображением ранга и опыта игрока.
С помощью кваров можно полностью перенастроить формирование мотд окн и сообщений.
HTML форматирование стиля через LANG файл (удачи тому кто будет разбираться как это работает).
Плагин перехватывает только команды /topX,/rankstats,/statsme,/rank. Остальной функционал зависит от вашего StatsX плагина.

Требования:
AES от 0.4.

Установка:
Ставить выше вашего плагина statsx в plugins.ini.

Конфигурация:

aes_statsx.cfg

Код:
// Отображение /top15, /rank и /astats
// ВАЖНО! Motd окно не может показывать больше 1534-х символов, а сообщение в чат больше 192-х.
//  Если что то отображается криво или не полностью, то нужно уменьшить  количество пунктов. (Топ не показывает больше 10-ти игроков)
//   * - Ранг
//   a - Ник (Only /top15)
//   b - Убийста
//   c - Смерти
//   d - Попаданий
//   e - Выстрелов
//   f - В голову
//   g - Точность
//   h - Эффективность
//   i - Скилл
//   j - Звание Army Ranks
*/
aes_statsx_top "*abcfij"
aes_statsx_rank "bcij"
aes_statsx_astats "aj"

// Настройка скилла. Значения схожи со значениями эффективности.
// Расчитывается при помощи соотношения убийств к смертям (K:D ratio).
// Значения: L- L L+ M- M M+ H- H H+ P (Low Middle High Pro)
aes_statsx_skill "35 40 45 50 55 65 70 75 80 90"

// Использовать расчет опыта и уровня на основании статистики из csstats.dat
// в случае если не удалось получить опыт из AES
aes_statsx_use_csstats "1"

// Использовать статистику игрока за все время для команды /astats.
aes_statsx_astats_global "1"

// Количество званий для отображения в /alist.
aes_statsx_alist "10"
[свернуть]

Скриншоты:

Развернуть для просмотра









[свернуть]

Changelog

v. 0.2 [04.02.14]
  • + Отображение статистики текущих игроков. Команда /astats
  • + Меню просмотра статистики. Команда /stats
  • + Отображение списка званий. Команда /alist
  • + Формирование опыта на основе csstats статистики.
  • + Регистронезависимость введенных команд.
  • - Исправлен баг с переполнением буфера.
[свернуть]


[свернуть]


AES Say Tag - префикс с текущим званием у игрока в чате. Скачать
AES Exp Editor - внутриигровой редактор опыта игроков. В релизе с 0.4.
История изменений:

Развернуть для просмотра


  • v. 0.4 [04.02.14]
    • + Можно выключить сохранение бонусов.
    • + Добавлена возможность указать задержку перед загрузкой опыта.
    • + Команда aes_recalc для перерасчета уровней всех игроков.
    • + Вероятность сохранения накопленного опыта при краше сервера.
    • + Защита от дублей для MySQL (например 2 новых игрока с одинаковыми никами подключились на разных серверах).
    • + Форвард aes_player_leveldown. Вызывается при понижении звания игрока.
    • + Натив aes_set_level_exp. Добавление новых уровней через API.
    • + aes_set_player_stats теперь умеет рассчитывать необходимые опыт и звание в зависимости от заданных параметров.
    • + Автоматическое создание папки data/aes при её отсутствии.
    • - Исправлено некорректное определение STEAM_ID_LAN и появление пустых записей.
    • - Правильное определение повышению или понижению по званию.
    • - Исправлено обновление даты последней игры при использовании MySQL.
    • + [ cstrike ] Бонусы за повешению по званию. Квар aes_bonus_levelup.
    • + [ cstrike ] Натив aes_get_exp_for_stats для рассчета опыта по статистике игрока из csstats.dat
    • + [ cstrike ] aes_xp_death можно указать сколько опыта добавить или отнять при смерти.
    • + [ informer ] Режим форматирования.
    • + [ informer ] Отдельные парарметры отображения для информера наблюдателя.
    • + [ informer ] Можно задать случайный цвет для информера.
    • + [ informer ] Возможность включать и выключать отображение информера командой /aenable.
    • - [ informer ] aNew HUD больше не отображается для наблюдателя.
    • + [ bonus cstrike ] Квар aes_bonus_time для настройки времени использования бонусов.
    • * [ bonus cstrike ] Время возможности использования /anew теперь задается индивидуально каждому игроку при спавне.
    • * [ bonus cstrike ] Оружие теперь дропается, а не удаляется из инвентаря. Фикс на возможный краш при взятии оружия через /anew.
  • v. 0.3 [12.01.14]
    • + Добавлена функция очищения БД статистики от неактивных игроков.
    • + Новый натив aes_get_stats для получения статистики любого игрока/ов.
    • * Переписан парсер значений кваров. Совместимость с AMXX 1.8.1. Тлён ваш 1.8.1.
    • [ cstrike ] + Возможность задать минимальное количество игроков, необходимых для начисления опыта за выполнение целей карты.
    • [ cstrike ] * Используется хук логов для определения действий с заложниками, вместо хука евентов.
    • [ cstrike ] - Исправлен баг с неправильным начислением бонус очков.
    • [ cstrike ] - Бонусы теперь не начисляются при отключенной системе бонусов.
    • [ cstrike ] - Исправлено условие определение FFA режима.
    • [ bonus cstrike ] + mp_buytime теперь влияет на возможность взятия бонусов. После истечения этого времени игрок не сможет приминить бонус очки до конца раунда.
    • [ bonus cstrike ] * Теперь используются биты для хранения указателей MegaDeagle и MegaGrenade.
    • [ bonus cstrike ] * Сброс указателей при смерти или отключении игрока.
    • [ bonus cstrike ] * Множитель урона супер гранаты уменьшен c 100.0 до 3.0
    • [ bonus cstrike ] - Правильное определение рестарта раунда.
  • v. 0.2 [27.11.13]
    • Добавлена поддержка SQL баз данных.
    • Возможность использовать свою базу данных.
    • В HUD информере появилась возможность видеть ранг и опыт игроков за которыми вы наблюдаете.
    • Подправлено оповещение о новом ранге.
    • Добавлена возможность заблокировать бонусы.
    • Исправлены баги с выходом за массивы.
    • Сообщение если не удалось загрузить статистику игрока.
    • Загрузка конфигурации из файла addons\amxmodx\configs\aes\aes.cfg.
    • Исправлена работа с API.
    • [ cstrike ] Можно задать до какого раунда не будут выдаваться все бонусы, включая /anew.
    • [ cstrike ] Опыт за вывод, спасение заложников. Опыт за спасение как V.I.P. и за убийство его.
    • [ cstrike ] Пофиксен баг при котором давался опыт за самоубийство.
    • [ cstrike ] В случае если не задано сохранение, будет браться статистика из csstats.dat файла.
    • Новые нативы: aes_set_player_stats, aes_get_level_for_exp, aes_get_max_level, aes_get_exp_to_next_level.
    • Новый форвард: aes_on_anew_command.
  • v. 0.1 [24.11.13]
    • Первый релиз.
[свернуть]

MySQL с 0.3 версии

Для удаления пустых записей выполните SQL запрос:
DELETE FROM `aes_stats` WHERE `trackId` = ''
[свернуть]




 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...