Авторизироваться у нас на сайте можно только через STEAM. Если у Вас нет STEAM аккаунта, зарегистрируйте бесплатный на официальном сайте steamcommunity.com, после чего нажмите на кнопку ниже и войдите на сайт. Авторизированным пользователям доступны много разных функций, позволяющих с комфортом серфить по нашему магазину. Чтобы покупать плагины, менять IP и восстанавливать ключ, авторизация не нужна.
Мощный плагин ставок для сервера CS1.6. Когда остаются 1 на 1, мертвым выскакивает меню, в котором они могут поставить игровые деньги(или что-то еще) на одного из игроков. Как всегда, все функции можно настроить, если что-то из возможностей плагина вам не нужно, это можно отключить в конфиге.
С помощью нативов, можно добавить абсолютно любой тип ставки. Хоть опыт из AES, хоть бонусные очки из другого плагина. В инклуде есть пример добавления ставки в виде фрагов. Но тут конечно нужно знать элементарные основы скриптинга. В принципе в bets_rbs.inc все очень подробно расписано с примером
Меню. Удобное, быстрое и красивое меню с выбором ставки. Достаточно пары кликов, чтобы сделать ставку.
Тип меню. Так как в плагин можно запихать большое кол-во разных типов ставок, в настройках есть два типа меню:
после выбора игрока откроется меню с типами ставок, после выбора типа, откроется меню с уже кол-вом ставок данного типа
после выбора игрока откроется сразу меню с кол-вом ставок, но в него можно засунуть только 9 пунктов, этот тип меню сделан для быстроты, например если Вы захотите иметь только пару типов ставок(опыт и поинты), зачем показывать третье меню, когда все можно запихать в одно, тем самым сократив клики
Коэффициент. В меню написан коэффициент игрока и написана сумма при выигрыше
Умения. Ах да, плагин высчитывает коэффициент игрока(во сколько раз увеличится выигрыш) исходя из его умений. Если будет играть ПРО и НУБ, то у нуба будет больше коэффициент, соответственно поставив на него Вы выиграете больше
Время на ставку. У игроков есть определенное кол-во секунд на то, чтобы сделать ставку. При этом в меню идет отсчет времени
Откат. Победителю раунда можно выдать процент с проигравших ставок
Перебивание меню. Меню ставок не откроется автоматически, если у игрока уже открыто другое меню. В этом случае игроку появится сообщение, чтобы он написал /bets. Разумеется это все можно настроить в конфиге
Закрытие меню. Меню автоматически закроется, по истечению дуэли 1х1
Эффект в меню. После победы, в меню замигает строка с победившим игроком. Если меню не было открыто, то оно откроется. Показывать при победе меню можно как всем, так и только тем, кто сделал ставку
Логи. Каждую ставку игрока записывает в лог. В нем видно сколько он ставил, сколько у него было и сколько стало. Написан выигрыш, написан возврат. Нужно разумеется на случай споров, ведь плагин позволяет ставить серьезные вещи, поэтому нужен контроль
Сообщения. Можно настроить, как и какие выводить. Ну и как в любом другом нашем плагине, весь текст и цвет сообщений настраиваются в ланг файле
GameCMS логи. Все ставки связанные с балансом игрока записываются в личный кабинет на сайте GameCMS. Смотрите скриншоты.
Защита от умников. Разумеется найдутся игроки, которые будут набивать баланс на ставках. В плагине стоит защита от этого. Например нельзя делать ставку, если баланс игрока gamecms больше или равен 30руб(настраивается). Это ограничение во первых защищает от сговора игроков для набивания баланса, а во вторых увеличивает продажу услуг. Ведь игрок охотнее купит випку, если у него на баланса есть уже часть халявных средств. Так же есть квар, который устанавливает свой коэффициент для каждого типа ставок(чтоб много не выигрывали)
Нативы и форварды. Как уже упоминалось выше, есть возможность добавлять любые типы ставок, с помощью написания дополнительного плагина к Bets RBS. Так же есть другие форварды, благодаря которым можно отловить самые важные действия плагина. Например с их помощью можно отловить событие ставки, и запретить например делать ставки тем, кто не зарегистрирован на сайте, в общем придумать можно много чего 😉
Для плагина не обязательно наличие Army Ranks Ultimate или CsStats MySQL, он может работать и без них, но разумеется тогда нельзя будет делать ставку с опытом.
22.12.07BETA - обновить .amxx - обновлено ядро (gamecms функции и обнаружение gsclient) 21.08.23BETA - обновить .amxx - не помню что правил...беда 20.10.24BETA - обновить .amxx - исправлен баг в меню, при bets_menu_type "0"
20.06.06 - обновить .amxx - обновление ядра 20.03.06 - обновить .amxx - добавили .amxx под 190 - исправили момент, когда остается один контер с бомбой, на него можно было сделать ставку
// Лицензионный ключ вводить в файл amxmodx/data/fg_keys.ini (если файла нет, он создастся сам при рестарте/смены карты сервера)
// Тип вызова меню ставок
// 0 - выключить плагин
// 1 - автоматически вылетает меню (меню не покажется, если у игрока открыто другое меню, а напишет сообщение)
// 2 - пишет сообщение с информацией в чат (/bets)
bets_type "1"
// Включить запись логов?
// Будут записаны ставки, выигрыши и проигрыши всех игроков в файл amxmodx/logs/bets_rbs/BETSYYYYMMDD.log
bets_logs "1"
// Какие сообщения от плагина отображать?
// a - Сообщения всем в начале 1х1 (напиши /bets чтобы...)
// b - Сообщение всем игрокам при окончании 1х1 (выиграл Player, на него поставили 5 из 10...)
// c - Когда игрок сделал ставку, пишется только игроку
// d - Когда игрок сделал ставку, пишет всем в чат
// e - Сообщение всем, что победитель получает откат за сражение (при включенном bets_rollback)
bets_message "abce"
// Минимальное кол-во игроков, при котором можно сделать ставку(спектаторы не в счет)
// 0 - без ограничений
bets_minplayers "5"
// Сколько времени(в секундах) дается на то, чтобы поставить ставку
// 0 - без ограничений
bets_time "30"
// Во сколько раз увеличить ставку при победе?
bets_rate "2.0"
// Учитывать уровень умений игроков, и исходя из этого, множить значение bets_rate на коэффициент(умение игрока)
// чем лучше играет юзер, тем меньше денег Вы за него получите (эти данные берутся из статистики)
// 1 - включить
// 0 - выключить
bets_factor "1"
// Сколько процентов от проигравших ставок выдавать победившему игроку(кто выиграл 1х1)?
// 0 - отключить функцию
bets_rollback "10"
// После выигрыша 1х1, плагин открывает меню игрокам, чтобы было видно кто выиграл
// Меню разумеется не откроется, если у игрока открыто стороннее меню
// Спустя три секунды, меню автоматически закроется
// 0 - не открывать меню для показа
// 1 - открывает меню всем
// 2 - открывает меню только тем кто сделал ставку
bets_end_type "2"
// Через сколько секунд после выигрыша 1х1, плагин закроет меню?
// Минимальное значение 2.0 секунды
bets_end_time "4.0"
// Вывод ставок в меню
// После выборе игрока, открывается меню ставок. Этот квар настраивает поведение данного меню
// "1"
// сначала откроется подменю с выбором типа ставки, а потом уже меню с количеством
// "0"
// сразу откроется меню с количеством, НО оно не может содержать более 9-ти пунктов!
// не вместившиеся значение попросту не будут отображены
bets_menu_type "1"
///////////////////////////////
// СТАВКА ОБЫЧНЫХ ДЕНЕГ В КС //
///////////////////////////////
// Значения ставок
// Закомментируйте для отключения этого типа ставок
bets_money "100 1000 3000"
// Игрок не сможет сделать ставку, если на его счету больше этого кол-ва
// 0 - может ставить всегда
bets_money_max "0"
// Аналог квара bets_rate, но для текущего типа
// 0 - по умолчанию
bets_money_rate "0"
/////////////////////////////////////////////////////////////////////////
// СТАВКА ОПЫТА (требуется плагин Army Ranks Ultimate и CsStats MySQL) //
/////////////////////////////////////////////////////////////////////////
// Значения ставок
// Закомментируйте для отключения этого типа ставок
//bets_xp "5 10 100"
// Игрок не сможет сделать ставку, если на его счету больше этого кол-ва
// 0 - может ставить всегда
bets_xp_max "0"
// Аналог квара bets_rate, но для текущего типа
// 0 - по умолчанию
bets_xp_rate "0"
////////////////////////////////////////////////////////////////////////////
// Ставка поинтов /anew (требуется Army Ranks Ultimate или BonusMenu RBS) //
////////////////////////////////////////////////////////////////////////////
// Значения ставок
// Закомментируйте для отключения этого типа ставок
bets_anew "1 2 5 10"
// Игрок не сможет сделать ставку, если на его счету больше этого кол-ва
// 0 - может ставить всегда
bets_anew_max "30"
// Аналог квара bets_rate, но для текущего типа
// 0 - по умолчанию
bets_anew_rate "1.7"
///////////////////////////////////////////////////////////////////////////////////
// Ставка денег со баланса юзера на сайте gamecms (требуется плагин GameCMS API) //
///////////////////////////////////////////////////////////////////////////////////
// Значения ставок
// Закомментируйте для отключения этого типа ставок
//bets_balance "1 5 10 20"
// Игрок не сможет сделать ставку, если на его счету больше этого кол-ва
// 0 - может ставить всегда
bets_balance_max "30"
// Аналог квара bets_rate, но для текущего типа
// 0 - по умолчанию
bets_balance_rate "1.5"
// При включенном кваре, плагин будет записывать в личный кабинет юзера на сайте GameCMS информацию о ставках с личного счета
// При первом запуске сервера, он добавит в таблицу `money__actions_types` необходимые строки, изменить их можно в ланг файле BETS_GAMECMS_*
bets_gamecms_logs "0"
//////////////////////////////////////////////////////////////
// С помощью нативов, можно добавить другие вещи для ставки //
// Например опыт в каком ни будь стороннем плагине //
// Более подробно расписано в инклуде bets_rbs.inc //
//////////////////////////////////////////////////////////////
/* Bets RBS Functions
*
* by SKAJIbnEJIb
*
* This file is provided as is (no warranties).
*/
#if defined _bets_rbs_included
#endinput
#endif
#define _bets_rbs_included
#define BETS_MONEY 0 // обычные деньги в кс
#define BETS_XP 1 // опыт арми ранкс
#define BETS_ANEW 2 // поинты /anew
#define BETS_BALANCE 3 // баланс GameCMS
#define BETS_DEFAULT 4 // кол-во стандартных типов ставок
#define BETS_MAX 9 // максимальное кол-во типов ставок не должно превышать 9-ти!
#define BETS_ERROR_SUCCESS 0 // если все нормально
#define BETS_ERROR_LACK 1 // если у игрока не хватает средств
#define BETS_ERROR_MAXX 2 // если много средств, и ставку делать нельзя
#define BETS_ERROR_OTHER -1 // другая ошибка
#if defined BETS_RECURSION
#undef _bets_rbs_included
#endinput
#endif
// Вызывается, когда игрок сделал ставку, но чуть раньше чем bets_player_bet
// id - айди игрока
// player - на кого была сделана ставка (айди игрока)
// type - тип ставки (константы BETS_* или добавленный тип нативом bets_add_type)
// value - сумма ставки
// В этом форварде можно делает собственные проверки, и в случае необходимости заблочить ставку return PLUGIN_HANDLED
forward bets_player_pre(id, player, type, value);
// Вызывается, когда игрок сделал ставку
// id - айди игрока
// type - тип ставки (константы BETS_* или добавленный тип нативом bets_add_type)
// value - сумма ставки
forward bets_player_bet(id, type, value);
// Вызывается, если игрок выиграл ставку
// id - айди игрока
// type - тип выигрыша (константы BETS_* или добавленный тип нативом bets_add_type)
// value - сумма выигрыша
forward bets_player_win(id, type, value);
// Вызывается, если игрок проиграл ставку
// id - айди игрока
// type - тип ставки (константы BETS_* или добавленный тип нативом bets_add_type)
// value - сумма ставки
forward bets_player_los(id, type, value);
// Вызывается, если ставка была возвращена
// id - айди игрока
// type - тип ставки (константы BETS_* или добавленный тип нативом bets_add_type)
// value - сумма ставки
forward bets_player_ref(id, type, value);
// Добавляет новый тип ставки
// cvar_name - название квара(его потом надо будет вписать в bets_rbs.cfg для добавления значений, квары cvar_name_max и cvar_name_rate создадутся автоматически)
// lang_name - идентификатор для ланг файла BETS_NAME_*
// lang_lack - идентификатор для ланг файла BETS_LACK_*
// lang_maxx - идентификатор для ланг файла BETS_MAXX_*
// lang_chat - идентификатор для ланг файла BETS_CHAT_*
// идентификаторы ланг файла потом нужно будет вписать в bets_rbs.txt, аналогично тем что там уже есть
// вызывать натив нужно в plugin_init, позже вызывать бессмысленно
//
// Возвращаемые значения
// type - вернет айди нового типа
// -1 - ошибка (превышено кол-во типов, максимум 9 можно включая стандартные)
native bets_add_type(cvar_name[], lang_name[], lang_lack[], lang_maxx[], lang_chat[]);
// Вызывается когда игрок сделал не стандартную ставку (добавленную нативом bets_add_type)
// Соответственно в этом событии нужно производить функцию отнятия value
// id - игрок который сделал ставку
// player - на кого была сделана ставка (айди игрока)
// type - айди типа (получили его нативом bets_add_type)
// value - сама ставка
// data[2] - нужно для логов
// [0] - в эту ячейку записать сколько было
// [1] - в эту ячейку записать сколько стало
// это нужно для логов, например игрок поставил опыт AES, в [0] надо записать сколько опыта у него было,
// а в [1] записать сколько стало после отнятия value
// Что возвращать в return
// BETS_ERROR_SUCCESS - если все нормально
// BETS_ERROR_LACK - если не хватает средств(основной плагин напишет сообщение в чат)
// BETS_ERROR_MAXX - если средств много(основной плагин напишет сообщение в чат)
// BETS_ERROR_OTHER - сами напишите свое сообщение в чат, ставка при этом не поставится
forward bets_custom_bet(id, player, type, value, data[2]);
// Вызывается когда игрок выиграл ставку, или ставка была возвращена (только для типов добавленных через bets_add_type)
// Соответственно тут нужно будет добавить игроку value
// id - игрок который сделал ставку
// type - айди типа (получили его нативом bets_add_type)
// value - сама ставка
// data[2] - нужно для логов
// [0] - в эту ячейку записать сколько было
// [1] - в эту ячейку записать сколько стало
// это нужно для логов, например игроку возвращается опыт AES, в [0] надо записать сколько опыта у него было,
// а в [1] записать сколько стало после прибавления value
// Что возвращать в return
// PLUGIN_HANDLED если хотите заблокировать запись в лог
forward bets_custom_win(id, type, value, data[2]);
// Вызовется как только плагин прочитает квары
forward bets_custom_cvars(type, main[9], maxx, Float:rate);
// Пример плагина для добавления кастомных ставок
/*
#include <amxmodx>
#include "include/fakemeta_util.inc"
#include "include/bets_rbs.inc"
new g_TypeFrags, g_MaxxFrags;
public plugin_init()
{
register_plugin("Bets Addons", "1.0", "SKAJIbnEJIb")
g_TypeFrags = bets_add_type("bets_frags", "BETS_NAME_FRAGS", "BETS_LACK_FRAGS", "BETS_MAXX_FRAGS", "BETS_CHAT_FRAGS");
// Добавляем в конфиг bets_rbs.cfg новый квар:
// bets_frags "1 3 5 10"
// bets_frags_max "0"
// bets_frags_rate "0"
// Добавляем новые идентификаторы в ланг файл
// BETS_NAME_FRAGS = Фраги
// BETS_LACK_FRAGS = !n[!gСтавки!n] !tУ Вас недостаточно фрагов!
// BETS_MAXX_FRAGS = !n[!gСтавки!n] !tНельзя сделать ставку, если у Вас больше !g%d !nфрагов!
// BETS_CHAT_FRAGS = !g%d!nфраг
}
public bets_custom_cvars(type, main[9], maxx, Float:rate)
{
if (type==g_TypeFrags) { g_MaxxFrags=maxx; } // узнаем значение квара bets_frags_max
}
public bets_custom_bet(id, player, type, value, data[2]) // Игрок делает ставку
{
if (type==g_TypeFrags) // если вызывается тип ставки по фрагам
{
data[0]=fm_get_user_frags(id); // было фрагов
data[1]=data[0]-value; // станет фрагов
if (data[1] < 0) { return BETS_ERROR_LACK; } // не хватает фрагов для ставки, возвращаем BETS_ERROR_LACK, чтоб основной плагин уведомил игрока об этом
if (g_MaxxFrags && data[0] >= g_MaxxFrags) { return BETS_ERROR_MAXX; } // слишком много фрагов, квар bets_frags_max включен, возвращаем BETS_ERROR_MAXX, чтоб основной плагин уведомил игрока об этом
fg_set_user_frags(id, data[1]); // отняли у игрока фраги
}
return BETS_ERROR_SUCCESS;
}
public bets_custom_win(id, type, value, data[2]) // Игрок выиграл или возврат средств
{
if (type==g_TypeFrags) // если вызывается тип по фрагам
{
data[0]=fm_get_user_frags(id); // было фрагов
data[1]=data[0]+value; // станет фрагов
fg_set_user_frags(id, data[1]); // прибавили фраги игроку
}
}
stock fg_set_user_frags(id, frags) // Функция для установки фрагов
{
fm_set_user_frags(id, frags); // frags
static MsgScoreInfo; if (!MsgScoreInfo) { MsgScoreInfo = get_user_msgid("ScoreInfo"); }
message_begin(MSG_ALL, MsgScoreInfo);
write_byte(id);
write_short(frags);
write_short(fm_get_user_deaths(id));
write_short(0);
write_short(fm_get_user_team(id));
message_end();
}
*/