You can log in to our site only via STEAM. If you don’t have a STEAM account, please register a free one on the official site steamcommunity.com, then click the button below to log in. Logged-in users have access to many features that make browsing our store more convenient. To purchase plugins, change your IP, or recover a key, logging in is not required.
By logging in to our website, you agree to the terms of our Privacy Policy
A powerful betting plugin for CS1.6 servers. When it’s 1v1, dead players get a menu where they can place bets using in-game money (or something else) on one of the players. As always, all features can be configured, and if some functionality is not needed, it can be disabled in the config.
Using natives, you can add any type of bet—experience from AES, bonus points from another plugin, etc. The bets_rbs.inc include provides detailed examples, including adding bets based on frags. Some basic scripting knowledge is needed.
Menu: Convenient, fast, and visually appealing menu for selecting bets. Only a few clicks are needed to place a bet.
Menu type: Since the plugin can include many types of bets, there are two menu styles:
After selecting a player, a menu opens with bet types. Selecting a type opens another menu with the bet amounts for that type.
After selecting a player, a menu opens immediately with the bet amounts, but only 9 options can be displayed. This type is faster if you only have a few bet types (e.g., experience and points) to reduce clicks.
Odds: The menu displays the player's odds and the potential win amount.
Skills: The plugin calculates a player’s odds based on skill level. If a pro plays against a noob, the noob will have higher odds, so betting on them yields a bigger payout.
Bet time: Players have a set number of seconds to place a bet. The menu displays a countdown.
Rakeback: A percentage of losing bets can be given to the round winner.
Menu conflicts: The betting menu won’t open automatically if the player already has another menu open. In that case, a message prompts them to type /bets. This can be configured.
Menu closing: The menu automatically closes at the end of a 1v1 duel.
Menu effects: After a win, the menu highlights the winning player’s row. If the menu wasn’t open, it will open. You can show this menu to everyone or only those who placed bets.
Logs: Each bet is recorded. Logs show the amount bet, the player’s balance before and after, winnings, and refunds—useful for disputes since serious items can be wagered.
Messages: Customizable. All text and colors can be edited in the language file, like other RBS plugins.
GameCMS logs: Bets involving a player’s balance are recorded in their GameCMS account.
Cheater protection: The plugin prevents balance manipulation. For example, players can’t bet if their GameCMS balance is ≥ 30 rubles (configurable). This protects against collusion and encourages purchasing VIPs. You can also set coefficients for each bet type to limit excessive winnings.
Natives and forwards: As mentioned, you can add custom bet types via an additional plugin for Bets RBS. Other forwards allow tracking important events, such as placing a bet, and restrict actions (e.g., betting for unregistered players). Lots of possibilities! 😉
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();
}
*/