

- ultimate_flags.jpg (67.71 КБ) 7014 просмотров
Очень гибкий плагин, который поможет Вам выставить дополнительные флаги для игроков, не занося их в основные админы(в users.ini или в amxbans)
Плагин имеет несколько уникальных возможностей, все можно легко отключить или отредактировать в конфиге под свои нужды
Ночной VIP
В назначенный промежуток времени, каждый день, плагин будет выдавать флаги всем игрокам на сервере. Допустим у Вас на сервере за доступ к випке отвечает флаг "t", плагин будет выдавать в период, например с 23:00 до 09:00, всем игрокам флаг "t", тем самым ночной онлайн будет поддерживаться.
Если у игрока уже есть этот флаг, то никаких конфликтов не произойдет. Еще можно сделать так, если у игрока например есть флаг "a", то флаг "t" он не получит, сделано это на случай, если в Вашей вип системе на флаг "a" настроена более крутая випка.
Плагин может мгновенно снять у всех VIP, написать сообщение в hud/DHUD или chat, если ночной режим закончился, за это отвечает квар flags_remove
VIP на праздникиС помощью этой функции, можно устроить акционные дни, на праздники или просто так, когда всем игрокам будут выдаваться VIP флаги. Например все смогут получить випку в период новогодних праздников
Тестовый период випки/админкиМногие игроки не покупают VIP, потому что не знают всех ее возможностей. С помощью этой функции плагина, игрок сможет получить тестовый период на некоторое время
/viptest. Взять тест можно только 1 раз! Плагин записывает в
ultimate_flags.vault игроков, которые уже брали тест, и больше им он выдаваться не будет.
Тестовый период не только покажет и заинтересует игрока купить VIP, но и задержит его на сервере, пока на халяву, он может поиграть со всеми возможностями V.I.P.
Дополнительные флаги из файла ultimate_flags.iniКак Вы знаете, чтобы выдать випку или админку игроку, нужно добавить его в файл users.ini или в веб панель AMXBans/CSBans. Но бывают ситуации, когда крайне неудобно это делать.
Например: игрок выиграл ВИП в сундучках плагина BonusTime RBS, или игрок обменял поинты на админку/випку в плагине BonusMenu RBS, или выиграл в каком ни будь другом розыгрыше, или админ просто в игре хочет дать флаги игроку на пару минут, и еще можно вспомнить кучу других примеров
Так вот эта чудо функция заносит игрока в файл
ultimate_flags.ini, и выдает дополнительные флаги, будь то флаг "t" за выигрыш сундучков, флаг "a" за покупку иммунитета в BonusMenu RBS или все сразу.
Как только истек срок, строка удаляется из файла и флаги убираются.
Выдать/Удалить флаги можно консольными командами:
flags_add_user и
flags_del_user, подробное их описание смотрите в конфиге
За место консольных команд можно использовать нативы, будет приятным бонусом для разработчиков (см. ultimate_flags.inc)
Очень удобно будет работать плагин
BonusMenu RBS. В нем сможете поставить покупку иммунитета, покупки вип, покупку админа, покупку флагов для slay/slap и т.п. Игрок купит что ему будет нужно, или повторной покупкой продлит срок действия. Благодаря этому плагину, поинты /anew принимают новую ценность
Все очень гибко настраивается в конфиге. Можно выдавать как один флаг, так и несколько флагов. Плагин может удалить флаг "z" если это будет необходимо. Все это подробно описано в
ultimate_flags.cfgКонфигурационные файлы

ultimate_flags.cfg
// Лицензионный ключ вводить в файл amxmodx/data/fg_keys.ini (если файла нет, он создастся сам при рестарте/смены карты сервера)
// Выдавать флаги в определенное время
// Например выдавать vip'ку ночью
// <start> - время с которого начнется ночной режим
// <stop> - время после которого он закончится
// <flags> - флаг или несколько флагов, которые хотите выдавать
// <ignore> - опционально. Игнорировать игроков с этими флагами. Например не выдавать випку игрокам, у которых есть флаг "l"(rcon).
flags_night "23:00 09:00 t l"
// Укажите даты(диапазоны), в течении которых хотите игрокам выдавать флаги
// Например на праздники все получают випку
// "Начало дд.мм.гг чч:мм" "Конец дд.мм.гг чч:мм" "flags" "ignore"
flags_holiday "01.05.18 00:00" "02.05.18 00:00" "t" "" // 1 мая
flags_holiday "01.04.18 00:00" "02.04.18 00:00" "t" "" // 1 апреля
flags_holiday "30.12.18 00:00" "02.01.19 23:00" "t" "" // НГ
// Тестовый период для VIP
// Введя команду /viptest, игрок может получить флаги на определенное время
// <command> - команда в чате, для вызова меню с информацией и активирования VIP
// <time> - время в секундах, на которое дается VIP. 86400 - это один день.
// <flags> - флаг или несколько флагов, которые хотите выдать
// <ignore> - опционально. Игнорировать игроков с этими флагами. Например запретить тестовый период игрокам, у которых есть флаг "a".
flags_viptest "/viptest 86400 t a"
// Флаг админа, который имеет доступ к командам: flags_add_user, flags_del_user
flags_cmd_access "l"
// Удалять флаги в реальном времени
// Например если закончился ночной режим, или истек срок флагов в файле, то отнимать выданные флаги у игрока
// При этом игроку будет высвечиваться сообщение
// 0 - отнять флаги после смены карты (рекомендуется)
// 1 - вывести hud сообщение, когда флаги будут отняты
// 2 - вывести chat сообщение, когда флаги будут отняты
// 3 - и в hud и в chat
flags_remove "3"
// Покажет худ сообщение, если flags_remove равен 1 или 3
// r g b x y time dhud
// r g b - цвет
// x y - координаты
// time - как долго будет исчезать сообщение
// dhud - 1 для использование DHUD сообщения
flags_hud "255 0 0 -1.0 -1.0 10.0 1"
// Включите, если хотите вести лог ultimate_flags.log
flags_debug "0"
// Удалять флаг "z", если игрок имеет другие флаги
// Если не хотите видеть у игрока подобное: "tz", то включите квар
flags_z "1"
////////////////////////
// КОНСОЛЬНЫЕ КОМАНДЫ //
////////////////////////
// Добавить/Изменить строку
// flags_add_user <authid or nick or #userid> <+-flags> <+-expired> <name> <info>
// <authid or nick or #userid> - указывайте либо ник, либо #userid игрока(если он на онлайн). Либо authid
// <+-flags> - флаги
// +abc добавит флаги
// -abc отнимет флаги
// про abc установит флаги в строке
// <+-expired> - установить время окончания
// в формате "dd.mm.yy hh:mm:ss".
// или можно указать время в unixtime.
// или добавить секунды к текущему времени в строке, например +86400, или отнять -86400
// name - ник игрока (для удобства)
// info - описание (подробнее в ultimate_flags.ini)
// Пример: flags_add_user "STEAM_0:1:123456789" "t" "01.07.18 00:00:00" "SKAJIbnEJIb" "FreeVip"
// Пример: flags_add_user #123 "-t" "-86400" "SKAJIbnEJIb" "FreeVip"
// УДАЛИТЬ строку
// flags_del_user <authid or nick or #userid> <info>
// <authid or nick or #userid> - указывайте либо ник, либо #userid игрока(если он на онлайн). Либо authid
// info - описание (подробнее в ultimate_flags.ini)
// Пример: flags_del_user "STEAM_0:1:123456789" "FreeVip"

ultimate_flags.ini
;Список юзера и их дополнительные флаги
; <authid> <flags> <expired> <name> <info>
; <authid> - стим айди игрока, является идентификатором
; <flags> - флаги, которые будут добавлены игроку
; <expired> - время в формате unixtime, после которого игрок будет удален из файла. 0 - навсегда
; <name> - ник игрока (для удобства)
; <info> - описание, в связи с чем игроку были даны флаги.
; один игрок может быть в списке добавлен несколько раз, например флаг за бонусы, флаг за тестирование випки, флаг еще за что ни будь
;"STEAM_0:1:123456789" "t" "1519937412" "Player" "example"

ultimate_flags.txt
[ru]
FLAGS_CHAT_NIGHT = !n[!gVIP!n] !tНОЧНОЙ РЕЖИМ ЗАВЕРШЕН! !gVIP !tДОСТУП БЫЛ СНЯТ!
FLAGS_HUD_NIGHT = НОЧНОЙ РЕЖИМ ЗАВЕРШЕН!^n VIP ДОСТУП БЫЛ СНЯТ!
FLAGS_CHAT_HOLIDAY = !n[!gVIP!n] !tАКЦИЯ ЗАВЕРШЕНА! !gVIP !tДОСТУП БЫЛ СНЯТ!
FLAGS_HUD_HOLIDAY = АКЦИЯ ЗАВЕРШЕНА!^n VIP ДОСТУП БЫЛ СНЯТ!
FLAGS_CHAT_FILE = !n[!gVIP!n] !tСрок флагов !g%s!t(!g%s!t) !tподошел концу. Доступ был снят!
FLAGS_HUD_FILE = Срок флагов %s(%s) подошел концу^nДоступ был снят!
FLAGS_CON_BOT = [FLAGS] Не применимо для бота "%s"
FLAGS_CON_HLTV = [FLAGS] Не применимо для HLTV "%s"
FLAGS_CON_BADID = [FLAGS] Игрок имеет не корректный стим айди "%s"
FLAGS_CON_EXPIRED = [FLAGS] Дата "%s" уже прошла
FLAGS_CON_BADFLAGS = [FLAGS] Не корректные флаги
FLAGS_CON_NOTBASE = [FLAGS] Нельзя изменить, так как строки нет в базе
FLAGS_CON_ONLINE = [FLAGS] Найден онлайн игрок: %s
FLAGS_CON_ADDOK = [FLAGS] Строка была успешно %L
FLAGS_TEXT_ADD = добавлена
FLAGS_TEXT_CHANGE = изменена
FLAGS_TEXT_DELETE = УДАЛЕНА
FLAGS_VIPTEST_TITLE = \r[\yVIP\r] \wХотите получить тестовый период?
FLAGS_VIPTEST_INFO = \wБудут добавлены флаги "\y%s" \wсроком на \y%s^n\wТестовый период дается только \r1 раз!
FLAGS_VIPTEST_YES = Взять тестовый период
FLAGS_VIPTEST_BASE = !n[!gVIP!n] !tВы уже брали тестовый период!
FLAGS_VIPTEST_ALREADY = !n[!gVIP!n] !tУ Вас и так есть эти флаги!
FLAGS_VIPTEST_IGNORE = !n[!gVIP!n] !tУ Вас есть аналогичные флаги!
FLAGS_VIPTEST_BADID = !n[!gVIP!n] !tУ Вас не сгенерировался SteamID!
FLAGS_VIPTEST_VAULT = !n[!gVIP!n] !tОшибка! Не удалось открыть файл, попробуйте позже...
FLAGS_VIPTEST_ERROR = !n[!gVIP!n] !tНеизвестная ошибка(%d)! Попробуйте позже...
FLAGS_VIPTEST_ADDOK = !n[!gVIP!n] !tТестовый период выдан! Окончание: !g%s

ultimate_flags.inc
/* Ultimate Flags Functions
*
* by SKAJIbnEJIb
*
* This file is provided as is (no warranties).
*/
#if defined _ultimate_flags_included
#endinput
#endif
#define _ultimate_flags_included
#define UF_SUCCESS 1 // успешно
#define UF_ADDNEW -1 // добавлен новый юзер
#define UF_BADID -2 // не корректный AuthID
#define UF_BADFLAGS -3 // не корректные флаги
#define UF_BADEXPIRED -4 // не корректное время
#define UF_BADNOTBASE -5 // не найден в базе для редактирования
#define UF_ADDDEL -6 // удален юзер
// Добавить/Изменить строку
// Функция вернет либо ошибку(см. выше), либо идентификатор в Array массиве
// id - id игрока, не обязательно, но если игрок на сервере, то у него изменит флаги
// authid - authid юзера
// flags - флаги которые хотите добавить в числовом виде
// flags_type - 0:установить 1:добавить 2:отнять
// expired - время в формате unixtime
// expired_type - 0:установить 1:добавить секунды 2:отнять секунды
// name - ник игрока (для удобства)
// info - описание (подробнее в ultimate_flags.ini)
native flags_add_user(const id=0, const authid[], const flags, const flags_type=0, const expired, const expired_type=0, const name[], const info[]);
// УДАЛИТЬ строку
// Функция вернет либо ошибку(см. выше), либо UF_SUCCESS
// id - id игрока, не обязательно, но если игрок на сервере, то у него отнимет флаги
// authid - authid юзера
// info - описание (подробнее в ultimate_flags.ini)
native flags_del_user(const id=0, const authid[], const info[]);
Установка:1) Разархивируйте архив с плагином и закиньте файлы на CS сервер не меняя структуру папок.


- ftp_upload.gif (1.24 МБ) 7014 просмотров
2) Зайдите в
amxmodx/configs/plugins.ini и пропишите там
название_плагина.amxx3) Перезагрузить сервер Либо Смените карту.
Скриншоты:


- ultimate_flags1.jpg (52.63 КБ) 7014 просмотров
! | Сообщение от: Админа |
Покупка лицензионного ключа для плагина осуществляется через поддержку на хостинге host-v.ru Или на официальном сайте. Без ключа плагин работать не будет! |