// -- aes_main.amxx -- //
// Ключ сохранения. По какому параметру вести учет игроков?
// -1 - Расчитывать опыт на основе статистики csx (требуется плагин aes_exp_cstrike)
// 0 - Ник
// 1 - SteamID
// 2 - IP
aes_track_mode "1"
// Драйвер БД.
// mysql, sqlite или bans - подключение берется из вашей бан-системы (поддерживаются FreshBans и AmxBans. При выборе заполнять данные БД не нужно).
aes_sql_driver "mysql"
// Хост для подключения.
aes_sql_host "localhost"
// Пользователь.
aes_sql_user "root"
// Пароль.
aes_sql_pass ""
// База данных. Или название файла для SQLite.
aes_sql_name "amxx"
// Таблица.
aes_sql_table "aes_stats"
// Максимальное кол-во неудачных попыток обращения к БД,
// после которых плагин перестает связываться с БД до конца карты.
aes_sql_maxfail "10"
// Автоматически отправлять запрос на создание таблицы в БД в начале карты.
aes_sql_create_db "1"
// Настройка званий.
// Какое количество опыта должен набрать игрок для определенного звания.
// Первая цифра отвечает за количество опыта для звания "Рядовой", вторая за звания "Ефрейтор" и так далее.
// Первая цифра соответственно должна быть равна НУЛЮ!
// Писать в кавычках!
// ВАЖНО! Сколько Вы здесь напишите чисел, столько званий у Вас и будет! Не забудьте отредактировать ланг файл, под Ваше количество званий!
aes_level "0.0 20.0 40.0 60.0 100.0 150.0 200.0 300.0 400.0 600.0 1000.0 1500.0 2100.0 2700.0 3400.0 4200.0 5100.0 5900.0 7000.0 10000.0"
// Приостановить учет опыта.
aes_track_pause "0"
// Считать ли опыт у ботов.
aes_track_bots "1"
// -- aes_exp_cstrike.amxx -- //
// Сколько опыта будет даваться за одно убийство
aes_xp_frag "1.0"
// Сколько опыта будет давать за убийство хедшотов
aes_xp_hs "2.0"
// Кол-во опыта за установку бомбы
aes_xp_c4_plant "1.0"
// Кол-во опыта за подрыв бомбы
aes_xp_c4_explode "3.0"
// Кол-во опыта за дефьюз бомбы
aes_xp_c4_defused "4.0"
// Опыт за вывод заложников
aes_xp_hostage_got "1.0"
// Опыт за спасение заложников
aes_xp_hostage_rescue "1.0"
// Опыт за спасение как V.I.P.
aes_xp_vip_escaped "4.0"
// Опыт за убийство заложника
aes_xp_hostage_kill "-5.0"
// Опыт за убийство V.I.P.
aes_xp_vip_killed "4.0"
// Опыт за смерть. Используйте отрицательные значения чтобы вычитать.
aes_xp_death "0.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_default_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"
// Выдача бонусов на спавне
// 0 - нет бонусов на спавне
// 1 - выдавать всегда
// 2 - выдать только один раз за раунд
aes_bonus_spawn "1"
// Список карт, на которых не будут действовать все бонусы.
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"
;
; Advanced Experinece System
; by serfreeman1337
;
;
; Расположение файла: addons/amxmodx/configs/aes/bonus.ini
;
; [menu] - меню
; <menu> - регистрация нового меню
; title - заголовок меню, используйте приставку LANG_ для словаря
; say - команда в чате для вызова меню
; console - команда в консоли для вызова этого меню
; list - список предметов в этом меню из [items]
;
; [items] - предметы для меню
; <call> - регистрация предмета с вызовом функции другого плагина
; name - название предмета в пункте меню, используйте приставку LANG_ для словаря
; plugin - название файла плагина
; function - название функции в плагине
; points - кол-во бонусов (число)
; exp - требуемый опыт (float или число)
; level - требуемый уровень (число)
; time - в течении скольки секунд с начала раунда доступен предмет
; round - раунд, с которого будет доступен этот предмет (число)
; flag - флаг, допускающий выдачу (t - выдавать только имеющим флаг t, ~t - выдавать всем, кроме, тех у кого есть флаг t, a~t - выдавать только имеющим флаг a, но не имеющим флаг t)
; <give> - регистрация предмета с функцией give
; name - название предмета в пункте меню, используйте приставку LANG_ для словаря
; item - название предмета
; points - кол-во бонусов (число)
; exp - требуемый опыт (float или число)
; level - требуемый уровень (число)
; time - в течении скольки секунд с начала раунда доступен предмет
; round - раунд, с которого будет доступен этот предмет (число)
; flag - флаг, допускающий выдачу (t - выдавать только имеющим флаг t, ~t - выдавать всем, кроме, тех у кого есть флаг t, a~t - выдавать только имеющим флаг a, но не имеющим флаг t)
; [spawn] - бонусы на спавне
; <call> - регистрация предмета с вызовом функции другого плагина
; name - название предмета в пункте меню, используйте приставку LANG_ для словаря
; plugin - название файла плагина
; function - название функции в плагине
; points - кол-во бонусов (число)
; exp - требуемый опыт (float или число)
; level - требуемый уровень (число)
; levels - кол-во для каждого уровня (все уровни через пробел)
; round - раунд, с которого будет доступен этот предмет (число)
; flag - флаг, допускающий выдачу (t - выдавать только имеющим флаг t, ~t - выдавать всем, кроме, тех у кого есть флаг t, a~t - выдавать только имеющим флаг a, но не имеющим флаг t)
; <give> - регистрация предмета с функцией give
; name - название предмета в пункте меню, используйте приставку LANG_ для словаря
; item - название предмета
; points - кол-во бонусов (число)
; exp - требуемый опыт (float или число)
; level - требуемый уровень (число)
; levels - кол-во для каждого уровня (все уровни через пробел)
; round - раунд, с которого будет доступен этот предмет (число)
; flag - флаг, допускающий выдачу (t - выдавать только имеющим флаг t, ~t - выдавать всем, кроме, тех у кого есть флаг t, a~t - выдавать только имеющим флаг a, но не имеющим флаг t)
;
;
; Значения levels:
; 0 - не давать
; для item = weapon_* кол-вопатрон(гранат)
; для дамагера 1 - обычный, 2 - показывается лишь если противник виден
; для roundBonus_GiveArmor 1 - выдать kevlar 100, 2 - полная броня 100, > 2 полная броня свое значение
[menu]
<menu>
title = LANG_AES_BONUS_MENU
say = /anew
console = anew
list = 1 2 3 4 5 6 7
[items]
<give>
item = weapon_m4a1
name = LANG_AES_BONUS_M4A1
points = 1
<give>
item = weapon_ak47
name = LANG_AES_BONUS_AK47
points = 1
<give>
item = weapon_awp
name = LANG_AES_BONUS_AWP
points = 1
<call>
plugin = aes_bonus_cstrike.amxx
name = 123 брони
function = GiveArmor
value = 123
points = 1
<call>
plugin = aes_bonus_cstrike.amxx
name = 22000$
function = GiveMoney
value = 22000
points = 1
flag = ~t
<call>
plugin = aes_bonus_cstrike.amxx
name = 200 HP
function = GiveHP
value = 200
points = 1
<call>
plugin = aes_bonus_cstrike.amxx
name = LANG_AES_BONUS_MEGAGRENADE
function = pointBonus_GiveMegaGrenade
points = 1
<call>
plugin = aes_bonus_cstrike.amxx
name = LANG_AES_BONUS_MEGADEAGLE
function = pointBonus_GiveMegaDeagle
points = 1
[spawn]
<give>
item = weapon_smokegrenade
name = Smoke
levels = 0 0 0 0 0 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2
<give>
item = weapon_hegrenade
name = HE
levels = 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3
<give>
item = weapon_flashbang
name = Flash
levels = 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 5 6 6
<give>
item = weapon_deagle
name = Deagle
levels = 0 0 0 0 0 0 21 21 21 35 35 35 35 35 35 35 35 35 35 35
;<give>
;item = weapon_ak47
;name = AK47
;levels = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 90
<call>
plugin = aes_bonus_cstrike.amxx
name = Damager
function = roundBonus_Dmgr
levels = 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
<call>
plugin = aes_bonus_cstrike.amxx
name = LANG_AES_BONUS_DEFKIT
function = roundBonus_GiveDefuser
levels = 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
<call>
plugin = aes_bonus_cstrike.amxx
name = LANG_AES_BONUS_NV
function = roundBonus_GiveNV
levels = 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
<call>
plugin = aes_bonus_cstrike.amxx
name = LANG_AES_BONUS_ARMOR
function = roundBonus_GiveArmor
levels = 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 120 150
<call>
plugin = aes_bonus_cstrike.amxx
name = LANG_AES_BOUNS_HP
function = roundBonus_GiveHP
levels = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 20 20
aes_informer_tpl "1"
в основной конфигурации.#define AES_MAX_LEVEL_LENGTH 64
enum _:
{
AES_RT_NO,
AES_RT_YES,
AES_RT_LEVEL_DOWN,
AES_RT_LEVEL_UP
};
/**
* Array structure for get stats with aes_find_stats_thread native
*/
enum _:aes_stats_struct
{
AES_S_NAME[32],
AES_S_STEAMID[30],
AES_S_IP[16],
Float:AES_S_EXP,
AES_S_LEVEL,
AES_S_BONUS,
AES_S_ID
};
/**
* Returns player experience
*
* @param player player id
*
* @return player experience or -1.0 if player not tracked yet
*/
native Float:aes_get_player_exp(player);
/**
* Sets player experience
*
* @param player player id
* @param exp experience value
* @param no_forward dont trigger forward functions on level up or level down
* @param force force even if track paused
*
* @return AES_RT_NO on track pause or player not tracked yet
* AES_RT_YES on success
* AES_RT_LEVLE_DOWN on level down
* AES_RT_LEVEL_UP on level up
*/
native aes_set_player_exp(player,Float:exp,bool:no_forward = false,bool:force = false);
/**
* Returns player required experience to next level
* @param player player id
*
* @return - required experience value
*/
native Float:aes_get_player_reqexp(player);
/**
* Returns player bonus points
*
* @param player player id
*
* @return player bonus points or -1 if player
*/
native aes_get_player_bonus(player);
/**
* Sets player bonus points
*
* @param player player id
* @param bonus bonus value
* @param force force even if track paused
*
* @return AES_RT_NO on track pause or player not tracked yet
* AES_RT_YES on success
*/
native aes_set_player_bonus(player,bonus,bool:force = false);
/**
* Returns current player level
*
* @param player player id
*
* @return current player level or -1 if player not tracked yet
*/
native aes_get_player_level(player);
/**
* Sets player level
*
* @param player player id
* @param level level
* @param force force even if track paused
*
* @return AES_RT_NO on track pause or player not tracked yet
* AES_RT_YES on success
*/
native aes_set_player_level(player,level,bool:force = false);
/**
* Returns maximum level
*
* @return level
*/
native aes_get_max_level();
/**
* Returns level name for level num.
*
* @param level level number
* @param level[] Buffer to copy level name output to
* @param len Maximum size of buffer
* @param idLang language id
*
* @return len
*/
native aes_get_level_name(level,level_name[],len,idLang = LANG_SERVER);
/**
* Returns level for experience
*
* @param exp experience value
*
* @return level num or -1 of fail
*/
native aes_get_exp_level(Float:exp);
/**
* Returns required experience to pass level
*
* @param lvl level
*
* @return required experience value or -1.0 on fail
*/
native Float:aes_get_level_reqexp(level);
/**
* Thread search for aes stats witch given array track_ids
*
* @param id player id
* @param track_ids dynamic array with track ids for search
* @param callback your callback function
* public my_callback(id,Array:aes_stats,stats_data[])
* @param data[] custom data
* @param data_size custom data size
*
* @return true or false
*/
native aes_find_stats_thread(id = 0,Array:track_ids,callback[],data[] = "",datasize = 0);
/**
* Called when player open bonus menu.
*
* @param id player id
*
* @return PLUGIN_CONTINUE to let the player open menu
* PLUGIN_HANDLED or higher to stop
*/
forward aes_on_anew_command(id)
/**
* Called when player data is loaded.
*
* @param id player id
*
* @noreturn
*/
forward aes_player_connect(id)
/**
* Called on player level up.
*
* @param id player id
* @param new_level new level
* @param old_level old level
*
* @noreturn
*/
forward aes_player_levelup(id,new_level,old_level);
/**
* Called on player level down.
*
* @param id player id
* @param new_level new level
* @param old_level old level
*
* @noreturn
*/
forward aes_player_leveldown(id,new_level,old_level);
#define aes_add_player_exp_f(%0,%1) aes_set_player_exp(%0,aes_get_player_exp(%0) + %1)
#define aes_add_player_bonus_f(%0,%1) aes_set_player_bonus(%0,aes_get_player_bonus(%0) + %1)