- Поддерживаемые игры
-
- CS:GO
- CS:S
- Требования
-
SourceMod
Система боевого пропуска для серверов CS:GO/CSS.
Скачать uBP.inc
Скриптерам по запросу предоставляю исходники модулей для примера (как, в принципе, и со всеми моими плагинами).
Особенности:
Основные настройки плагина:
Настройка заданий:
Настройка магазина:
Скачать uBP.inc
Скриптерам по запросу предоставляю исходники модулей для примера (как, в принципе, и со всеми моими плагинами).
Особенности:
- Минимальная нагрузка на сервер.
- Ежедневные, еженедельные, сезонные задания.
- Три режима работы:
- Награды за повышение модулей.
- Награды за зарабатываемую валюту.
- Их одновременная работа.
- Возможность создания принимаемых заданий с таймером.
- Множество ограничений для заданий и возможность их создания.
- Множество отслеживаемых событий под различные игровые режимы и возможность их создания.
Основные настройки плагина:
Код:
"Settings"
{
"prefix" "{green}[uBP]{default}" //Префикс плагина в чате.
"cmd" "ubp;bp;quests" //Команды для открытия меню через ';'.
//Включает для бд кодировку utf8mb4, позволяя записывать все символы из ников игроков.
//Если отключено, некоторые символы (4x байтные) будут удаляться из ников игроков.
//Некоторые WEB-хостинги не предоставляют поддержку кодировки utf8mb4 для MySQL баз или имеют с ней проблемы.
"utf8mb4" "0"
"top" "1" //Топ игроков по количеству опыта.
"price" "100" //Цена пропуска.
"min_players" "4" //Минимальное количество игроков для выполнения заданий пропуска. Меньше 2 - откл.
"time_type" "1" //0 - Время будет отсчитываться после получения квеста игроком; 1 - Квесты для всех игроков будут завершаться в 00:00/каждый понедельник.
"poins_display" "1" //Отображение очков в меню.
"xp_display" "1" //Отображение опыта в меню.
"delete_old_seasons" "1" //Удаление информации об окончившихся сезонах из бд (кроме основной информации об игроке в сезоне).
"block_categories" "1" //Блокировать игрокам, не имеющим пропуска, доступ к недоступным им категориям заданий.
"start_without_pass" "1" //Возможность получить доступ к заданиям без покупки пропуска.
"bp_only_rewards" "0" //Получать награду за уровни могут только игроки с пропуском.
"bp_only_store" "0" //Покупать что-либо в магазине могут только игроки с пропуском.
"new_quests_menu" "1" //Добавить в меню пункт с новыми заданиями для игрока.
"connect_menu" "1" //Отображать меню с новыми заданиями игроку после подключения.
"display_rewards" "1" //Отображать меню уровней до начала пропуска игроком
"display_levels" "1" //Отображать информацию об уровнях в главном меню
}
Настройка заданий:
Код:
"Daily" //Ежедневные задания (Для отключения типа задания необходимо удалить его секцию (Daily, Weekly, Seasonal)
{
"count" "5" //Количество генерируемых заданий.
"bp_only" "0" //Доступ к выполнений заданий данного типа только для купивших пропуск.
"kills_quest_d" //Уникальное имя задания.
{
"bp_only" "0" //Доступ к выполнению данного задания будет только для купивших пропуск.
"xp" "1000" //Количество опыта за выполнение задания.
"points" "5" //Количество очков за выполнение задания.
"Conditions" //Условия для выполнения задания.
{
"kills" "30" //Созданное модулем событие.
"headshots" "10"
}
"Limits" //Ограничения на выполнение задания. Если ограничения не нужны, секцию необходимо удалить.
{
"time" "1200" //Ограничение по времени (задание можно будет выполнить только предварительно активировав в меню).
"map" "de_mirage" //Созданное модулем ограничение.
"server" "5,6"
}
}
Настройка магазина:
Код:
"Items"
{
"!vip_category" //Если 1 символ "!" - это категория (они могут быть и внутри других категорий).
{
"vip_30" //Уникальное имя предмета
{
"price" "5" //Цена предмета
"bp_only" "0" //Получить награду можно только купив пропуск.
"auto" "0" //Автоматическая выдача награды после повышения уровня.
"type" "vip" //Тип предмета.
"group" "premium" //Параметры предмета в зависимости от модуля.
"time" "500"
}
}
"1000cr"
{
"price" "1"
"bp_only" "0"
"auto" "1"
"type" "credits"
"amount" "1000"
}
}
- Команды
-
sm_reload_season - Перезагрузить информацию о текущем сезоне.
sm_new_season <season> <start timestamp> <end timestamp> - Добавляет новый сезон в очередь.
- Установка
-
Прописываем базу в databases.cfg:
Код:"uBP" { "driver" "mysql" "host" "sm.crystals.pw" "database" "uBP_db" "user" "uBP_db" "pass" "*****" }
Добавляем новый сезон:
- Создаем в addons/sourcemod/configs/uBP/seasons/(levels; quests; store) по файлу с одинаковым названием. Имя файла - идентификатор сезона в БД и плагине, поэтом использовать заглавные буквы, кириллицу или какие-либо нестандартные символы нельзя. Если не создавать/не заполнять файлы для магазина или уровней, то в плагине они использоваться не будут.
- Заполняем файлы по аналогии с примерами из архива.
- Не забываем проверить наличие на сервере модулей для работы использованных событий и типов предметов.
- Добавляем в addons/sourcemod/translations/uBP_events.phrases.txt переводы для всех использованных событий по аналогии с примерами.
- Добавляем в addons/sourcemod/translations/uBP_seasons.phrases.txt переводы для категорий, товаров, наград, заданий, идентификатора сезона.
- Запускаем сервер/плагин (если не запущен. если запущен, то запускать не надо).
- Открываем серверную консоль.
- Прописываем sm_new_season <season> <start timestamp> <end timestamp>, где <season> - идентификатор сезона (имя файла (без расширения)), <start timestamp> - дата начала сезона в timestamp (гугл в помощь), <end timestamp> - дата конца сезона все в том же timestamp.
- Готово!!!
Если вы загрузили/выгрузили/перезагрузили какой-либо модуль во время запущенного сезона, то необходимо использовать команду sm_reload_season. Ее же можно использовать после внесения каких-либо изменений в файлы сезона для их применения.
ЕСЛИ ВЫ НЕ СОЗДАЛИ/ЗАГРУЗИЛИ НИ ОДНОГО СЕЗОНА, ТО И МЕНЮ НЕ ОТКРОЕТСЯ (НЕОЖИДАННО, НЕ ПРАВДА ЛИ?)