Русское сообщество по скриптингу

Money-Roulette

Утвержденные плагины для AMX Mod X администратором/модератором форума.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только работоспособных плагинов для AMX Mod X. Новые плагины нужно выкладывать в разделе "Новые плагины".

Money-Roulette

Сообщение WellasGooD » 05 мар 2020, 19:24

plugin-logo.jpg

Автор: wellasgood
Версия: 2.6.3
Краткое описание: Получение игроками денег в виде рулетки.

Данный плагин, может быть изюминкой на Вашем сервере!

Суть плагина в том, что любой зашедший игрок, может написать команду в чат, далее ему выдается рандомное кол-во денег (% соотношение настраивается). После того, как игрок запустит рулетку, одновременно стартует таймер, на то время, после которого рулетку можно будет использовать еще раз (время настраивается кваром). Есть ограничители, например на использование команды на карту (все настраивается), а также, другие ништяки (например: гибкая настройка информирования, как в чате, так и в Hud).
Amx Mod X 1.9.0, Amx Mod X 1.10.0 dev
RU, EN, RO, ES
w0w, voed, Mistrick, Minni, zhorzh78, RevCrew
/start-roulette - использование в чате, активация функций плагина для всех игроков.
/str - использование в чате, активация функций плагина для всех игроков. (укороченная)
/gm - использование в чате, активация функций плагина для Гл.Админа.
  1. Скомпилируйте плагин.
  2. Скопируйте скомпилированный файл .amxx в директорию: amxmodx/plugins/
  3. Пропишите .amxx в файле amxmodx/configs/plugins.ini
  4. Скопируйте словарь плагина .txt в директорию amxmodx/data/lang/
  5. Скопируйте файлы .wav в директорию sound/money_roulette/
  6. Смените карту или перезапустите сервер.
В . sma:
Код: Выделить всё

//Автосоздание конфига
#define MAKING_CONFIG

//Дефайны с биндом флагов (глобальные настройки)
#define MAIN_ADMIN_FLAG ADMIN_CFG //Бинд флага Гл.Админа (оповещение Гл. Админа об использовании кем-то рулетки)
#define ADMIN_FLAG ADMIN_BAN //Бинд флага Админа
#define VIP_FLAG ADMIN_LEVEL_E //Бинд флага Вип
#define USER_FLAG ADMIN_USER //Бинд флага Юзера

//Дефайны с биндом флагов для алгоритма (проверки), с последующим внедрением в разные функции
#define MULTI_FLAGS_ONE (ADMIN_FLAG|VIP_FLAG) //флаг до и флаги через черточку будут фигурировать в алгоритме совпадения флагов. (можно добавить своих (для отдельной функции)
#define MULTI_FLAGS_TWO (VIP_FLAG|USER_FLAG) //флаг до и флаги через черточку будут фигурировать в алгоритме совпадения флагов. (можно добавить своих (для отдельной функции)
#define MULTI_FLAGS_THREE (ADMIN_FLAG|VIP_FLAG|USER_FLAG) //флаг до и флаги через черточку будут фигурировать в алгоритме совпадения флагов. (можно добавить своих (для отдельной функции)

//Дефайн для plugin_precache (проверка), закомментировать если нехотим что бы работала и скачивалась музыка..
#define MR_SOUND

В .cfg:
Код: Выделить всё

// This file was auto-generated by AMX Mod X (v1.9.0.5263)
// Cvars for plugin "Money-Roulette" by "wellasgood" (Money-Roulette.amxx, v2.6.2)


// Plugin on/off (1/0)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
mn_enabled "1"

// Number of times the chat info was shown. (limit)
// -
// Default: "15"
mn_count "15"

// The time after which you can use the team admins.
// -
// Default: "15"
mn_time_admin "15"

// The time after which you can use the team vips.
// -
// Default: "30"
mn_time_vip "30"

// The time after which you can use the team users.
// -
// Default: "45"
mn_time_user "45"

// Interval time advertising info constantly.
// -
// Default: "120.0"
mn_info_time "120.0"

// Card limiter (using activation command) for admins.
// -
// Default: "15"
mn_check_admin "15"

// Card limiter (using activation command) for vips.
// -
// Default: "10"
mn_check_vip "10"

// Card limiter (using activation command) for users.
// -
// Default: "5"
mn_check_user "5"

// Min value for random distribution of money to main admin.
// -
// Default: "500"
mn_main_admin_min "500"

// Max value for random distribution of money to main admin.
// -
// Default: "1500"
mn_main_admin_max "1500"

// Min value for random distribution of money to admins.
// -
// Default: "250"
mn_admin_min "250"

// Max value for random distribution of money to admins.
// -
// Default: "700"
mn_admin_max "700"

// Min value for random distribution of money to vips.
// -
// Default: "150"
mn_vip_min "150"

// Max value for random distribution of money to vips.
// -
// Default: "500"
mn_vip_max "500"

// Min value for random distribution of money to users.
// -
// Default: "30"
mn_user_min "30"

// Max value for random distribution of money to users.
// -
// Default: "300"
mn_user_max "300"

// System of limits for rounds, on/off (1/0)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
mn_round "1"

// Number of limit rounds.
// -
// Default: "3"
mn_round_count "3"


Код: Выделить всё

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

//Автосоздание конфига
#define MAKING_CONFIG

//Дефайны с биндом флагов (глобальные настройки)
#define MAIN_ADMIN_FLAG ADMIN_CFG //Бинд флага Гл.Админа (оповещение Гл. Админа об использовании кем-то рулетки)
#define ADMIN_FLAG ADMIN_BAN //Бинд флага Админа
#define VIP_FLAG ADMIN_LEVEL_E //Бинд флага Вип
#define USER_FLAG ADMIN_USER //Бинд флага Юзера

//Дефайны с биндом флагов для алгоритма (проверки), с последующим внедрением в разные функции
#define MULTI_FLAGS_ONE (ADMIN_FLAG|VIP_FLAG) //флаг до и флаги через черточку будут фигурировать в алгоритме совпадения флагов. (можно добавить своих (для отдельной функции)
#define MULTI_FLAGS_TWO (VIP_FLAG|USER_FLAG) //флаг до и флаги через черточку будут фигурировать в алгоритме совпадения флагов. (можно добавить своих (для отдельной функции)
#define MULTI_FLAGS_THREE (ADMIN_FLAG|VIP_FLAG|USER_FLAG) //флаг до и флаги через черточку будут фигурировать в алгоритме совпадения флагов. (можно добавить своих (для отдельной функции)

//Дефайн для plugin_precache (проверка), закомментировать если нехотим что бы работала и скачивалась музыка..
#define MR_SOUND

new const PLUGIN[] = "Money-Roulette";
new const VERSION[] = "2.6.3";
new const AUTHOR[] = "wellasgood";

#if defined MR_SOUND
new const SND_MR[] = "money_roulette/mr.wav";
new const SND_RT[] = "money_roulette/rt.wav";
#endif

enum _:CVAR_DATA
{
   MONEY_ENABLED,
   MONEY_TIME_ADMIN,
   MONEY_TIME_VIP,
   MONEY_TIME_USER,
   Float:MONEY_INFO_TIME,
   MONEY_COUNT,
   MONEY_CHECK_ADMIN,
   MONEY_CHECK_VIP,
   MONEY_CHECK_USER,
   MONEY_ROUND,
   MONEY_ROUND_COUNT,
   MONEY_MAIN_ADMIN_MIN,
   MONEY_MAIN_ADMIN_MAX,
   MONEY_ADMIN_MIN,
   MONEY_ADMIN_MAX,
   MONEY_VIP_MIN,
   MONEY_VIP_MAX,
   MONEY_USER_MIN,
   MONEY_USER_MAX
};

enum _:COUNTER_DATA
{
   ReloadMoney,
   CheckProtect,
   bool:CheckUse
};

enum _:CHECK_DATA
{
   nCount,
   nRound,
   nScroll
};

new eCvarData[CVAR_DATA], eCounterData[COUNTER_DATA][MAX_PLAYERS+1], eCheckData[CHECK_DATA];

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR);
   register_dictionary("Money-Roulette.txt");

   register_logevent("round_start", 2, "0=World triggered", "1=Round_Start");

   register_clcmd("say /start-roulette", "CashOutFunction");
   register_clcmd("say /str", "CashOutFunction");
   register_clcmd("say /gm", "MoneyMainAdmin");

   RegCvars();

   #if defined MAKING_CONFIG
   AutoExecConfig(true, "Money-Roulette");
   #endif

   set_task_ex(eCvarData[MONEY_INFO_TIME], "AdvertisingInformation", .flags = SetTask_Repeat);
}

public RegCvars()
{
   new pCvar;

   pCvar = create_cvar("mn_enabled", "1", FCVAR_NONE, "Plugin on/off (1/0)", true, 0.0, true, 1.0); //Плагин вкл/выкл. (1/0)
   bind_pcvar_num(pCvar, eCvarData[MONEY_ENABLED]);

   pCvar = create_cvar("mn_count", "15", FCVAR_NONE, "Number of times the chat info was shown. (limit)", false, 0.0, false, 0.0); //Лимит показа информации.
   bind_pcvar_num(pCvar, eCvarData[MONEY_COUNT]);

   pCvar = create_cvar("mn_time_admin", "15", FCVAR_NONE, "The time after which you can use the team admins.", false, 0.0, false, 0.0); //Время, после которого можно юзать команду еще раз админам.
   bind_pcvar_num(pCvar, eCvarData[MONEY_TIME_ADMIN]);

   pCvar = create_cvar("mn_time_vip", "30", FCVAR_NONE, "The time after which you can use the team vips.", false, 0.0, false, 0.0); //Время, после которого можно юзать команду еще раз випам.
   bind_pcvar_num(pCvar, eCvarData[MONEY_TIME_VIP]);

   pCvar = create_cvar("mn_time_user", "45", FCVAR_NONE, "The time after which you can use the team users.", false, 0.0, false, 0.0); //Время, после которого можно юзать команду еще раз юзерам.
   bind_pcvar_num(pCvar, eCvarData[MONEY_TIME_USER]);

   pCvar = create_cvar("mn_info_time", "120.0", FCVAR_NONE, "Interval time advertising info constantly.", false, 0.0, false, 0.0); //Интервал время рекламной инфо постоянно.
   bind_pcvar_float(pCvar, eCvarData[MONEY_INFO_TIME]);

   pCvar = create_cvar("mn_check_admin", "15", FCVAR_NONE, "Card limiter (using activation command) for admins.", false, 0.0, false, 0.0); //Ограничитель для админов.
   bind_pcvar_num(pCvar, eCvarData[MONEY_CHECK_ADMIN]);

   pCvar = create_cvar("mn_check_vip", "10", FCVAR_NONE, "Card limiter (using activation command) for vips.", false, 0.0, false, 0.0); //Ограничитель для вип.
   bind_pcvar_num(pCvar, eCvarData[MONEY_CHECK_VIP]);

   pCvar = create_cvar("mn_check_user", "5", FCVAR_NONE, "Card limiter (using activation command) for users.", false, 0.0, false, 0.0); //Ограничитель для юзеров.
   bind_pcvar_num(pCvar, eCvarData[MONEY_CHECK_USER]);

   pCvar = create_cvar("mn_main_admin_min", "500", FCVAR_NONE, "Min value for random distribution of money to main admin.", false, 0.0, false, 0.0); //Мин значение рандома денег Гл Админ.
   bind_pcvar_num(pCvar, eCvarData[MONEY_MAIN_ADMIN_MIN]);

   pCvar = create_cvar("mn_main_admin_max", "1500", FCVAR_NONE, "Max value for random distribution of money to main admin.", false, 0.0, false, 0.0); //Макс значение рандома денег Гл Админ.
   bind_pcvar_num(pCvar, eCvarData[MONEY_MAIN_ADMIN_MAX]);

   pCvar = create_cvar("mn_admin_min", "250", FCVAR_NONE, "Min value for random distribution of money to admins.", false, 0.0, false, 0.0); //Мин значение рандома денег Админы.
   bind_pcvar_num(pCvar, eCvarData[MONEY_ADMIN_MIN]);

   pCvar = create_cvar("mn_admin_max", "700", FCVAR_NONE, "Max value for random distribution of money to admins.", false, 0.0, false, 0.0); //Макс значение рандома денег Админы.
   bind_pcvar_num(pCvar, eCvarData[MONEY_ADMIN_MAX]);

   pCvar = create_cvar("mn_vip_min", "150", FCVAR_NONE, "Min value for random distribution of money to vips.", false, 0.0, false, 0.0); //Мин значение рандома денег Випы.
   bind_pcvar_num(pCvar, eCvarData[MONEY_VIP_MIN]);

   pCvar = create_cvar("mn_vip_max", "500", FCVAR_NONE, "Max value for random distribution of money to vips.", false, 0.0, false, 0.0); //Макс значение рандома денег Випы.
   bind_pcvar_num(pCvar, eCvarData[MONEY_VIP_MAX]);

   pCvar = create_cvar("mn_user_min", "30", FCVAR_NONE, "Min value for random distribution of money to users.", false, 0.0, false, 0.0); //Мин значение рандома денег Юзеры.
   bind_pcvar_num(pCvar, eCvarData[MONEY_USER_MIN]);

   pCvar = create_cvar("mn_user_max", "300", FCVAR_NONE, "Max value for random distribution of money to users.", false, 0.0, false, 0.0); //Макс значение рандома денег Юзеры.
   bind_pcvar_num(pCvar, eCvarData[MONEY_USER_MAX]);

   pCvar = create_cvar("mn_round", "1", FCVAR_NONE, "System of limits for rounds, on/off (1/0)", true, 0.0, true, 1.0); //Лимит на раунды вкл/выкл. (1/0)
   bind_pcvar_num(pCvar, eCvarData[MONEY_ROUND]);

   pCvar = create_cvar("mn_round_count", "3", FCVAR_NONE, "Number of limit rounds.", false, 0.0, false, 0.0); //Кол-во лимитных раундов.
   bind_pcvar_num(pCvar, eCvarData[MONEY_ROUND_COUNT]);
}

#if defined MR_SOUND
public plugin_precache()
{
   precache_sound(SND_MR);
   precache_sound(SND_RT);
}
#endif

public client_putinserver(id)
{
   new sFlagUsers = get_user_flags(id);

   eCounterData[ReloadMoney][id] = 0;
   eCounterData[CheckUse][id] = false;

   if(sFlagUsers & ADMIN_FLAG){
      eCounterData[CheckProtect][id] = eCvarData[MONEY_CHECK_ADMIN];
   }
   else if(sFlagUsers & VIP_FLAG){
      eCounterData[CheckProtect][id] = eCvarData[MONEY_CHECK_VIP];
   }
   else if(sFlagUsers & USER_FLAG){
      eCounterData[CheckProtect][id] = eCvarData[MONEY_CHECK_USER];
   }
}

public round_start()
{
   eCheckData[nCount] = 0;

   if(eCvarData[MONEY_ROUND]){
      eCheckData[nRound]++;
   }
}

public GeneralInformation(id)
{
   new sFlagUsers = get_user_flags(id);

   if((sFlagUsers & MULTI_FLAGS_ONE) == MULTI_FLAGS_ONE){
      return PLUGIN_HANDLED;
   }

   if(eCheckData[nCount] > eCvarData[MONEY_COUNT]){
      return PLUGIN_HANDLED;
   }

   if(sFlagUsers & MULTI_FLAGS_TWO){
      client_print_color(id, print_team_default, "%l", "ROULETTE_INFO");
   }

   eCheckData[nCount]++;

   return PLUGIN_HANDLED;
}

public AdvertisingInformation()
{
   client_print_color(0, print_team_default, "%l", "ROULETTE_INFO");
}

public MainAdminInformation()
{
   new PlayersID[MAX_PLAYERS], PlayersCount;

   get_players_ex(PlayersID, PlayersCount, GetPlayers_ExcludeDead|GetPlayers_ExcludeBots|GetPlayers_ExcludeHLTV);

   for(new i; i < PlayersCount; i++){
      if(get_user_flags(PlayersID[i]) & MAIN_ADMIN_FLAG){
         client_print_color(PlayersID[i], print_team_default, "%l", "ROULETTE_INFO_MAIN_ADMIN");
      }
   }
}

public MoneyMainAdmin(id)
{
   if(!(get_user_flags(id) & MAIN_ADMIN_FLAG)){
      return PLUGIN_HANDLED;
   }

   set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
   show_dhudmessage(id, "%l", "ROULETTE_SCROLL");

   #if defined MR_SOUND
   if(is_user_connected(id)){
      set_task_ex(1.0, "RouletteStartProcess", id);
   }
   #else
   if(is_user_connected(id)){
      set_task_ex(5.0, "SilentRouletteActivation", id);
   }
   #endif

   return PLUGIN_HANDLED;
}

public CashOutFunction(id)
{
   if(eCvarData[MONEY_ENABLED] && eCounterData[ReloadMoney][id] < time() && !eCounterData[CheckUse][id]){

      new pRnd = eCvarData[MONEY_ROUND_COUNT];

      if(eCvarData[MONEY_ROUND] && eCheckData[nRound] <= pRnd){
         new pRndCount = pRnd - eCheckData[nRound];
         client_print_color(id, print_team_default, "%l", "ROULETTE_ROUND", pRndCount + 1);
         return PLUGIN_HANDLED;
      }

      new sFlagUsers = get_user_flags(id);

      if(!is_user_alive(id)){
         client_print_color(id, print_team_default, "%l", "ROULETTE_ACCESS_TWO");
         return PLUGIN_HANDLED;
      }

      if(!(sFlagUsers & MULTI_FLAGS_THREE)){
         return PLUGIN_HANDLED;
      }

      if(eCounterData[CheckProtect][id] == -1){
         client_print_color(id, print_team_default, "%l", "ROULETTE_PROTECT_OFF");
         client_print_color(id, print_team_default, "%l", "ROULETTE_PAY");
         return PLUGIN_HANDLED;
      }

      client_print_color(id, print_team_default, "%l", "ROULETTE_PROTECT_ON", eCounterData[CheckProtect][id]);

      eCounterData[CheckUse][id] = true;

      if(sFlagUsers & ADMIN_FLAG){
         #if defined MR_SOUND
         set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
         show_dhudmessage(id, "%l", "ROULETTE_SCROLL");

         set_task_ex(1.0, "RouletteStartProcess", id);
         eCounterData[CheckProtect][id]--;

         set_task_ex(20.0, "GeneralInformation", id);

         if(!(sFlagUsers & MAIN_ADMIN_FLAG)){
            set_task_ex(5.0, "MainAdminInformation");
         }
         #else
         set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
         show_dhudmessage(id, "%l", "ROULETTE_SCROLL");

         set_task_ex(5.0, "SilentRouletteActivation", id);
         eCounterData[CheckProtect][id]--;

         set_task_ex(20.0, "GeneralInformation", id);

         if(!(sFlagUsers & MAIN_ADMIN_FLAG)){
            set_task_ex(5.0, "MainAdminInformation");
         }
         #endif
      }

      if((sFlagUsers & MULTI_FLAGS_ONE) == MULTI_FLAGS_ONE){
         return PLUGIN_HANDLED;
      }

      if(sFlagUsers & VIP_FLAG){
         #if defined MR_SOUND
         set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
         show_dhudmessage(id, "%l", "ROULETTE_SCROLL");

         set_task_ex(1.0, "RouletteStartProcess", id);
         eCounterData[CheckProtect][id]--;

         set_task_ex(20.0, "GeneralInformation", id);

         if(!(sFlagUsers & MAIN_ADMIN_FLAG)){
            set_task_ex(5.0, "MainAdminInformation");
         }
         #else
         set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
         show_dhudmessage(id, "%l", "ROULETTE_SCROLL");

         set_task_ex(5.0, "SilentRouletteActivation", id);
         eCounterData[CheckProtect][id]--;

         set_task_ex(20.0, "GeneralInformation", id);

         if(!(sFlagUsers & MAIN_ADMIN_FLAG)){
            set_task_ex(5.0, "MainAdminInformation");
         }
         #endif
      }

      if(sFlagUsers & USER_FLAG){
         #if defined MR_SOUND
         set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
         show_dhudmessage(id, "%l", "ROULETTE_SCROLL");

         set_task_ex(1.0, "RouletteStartProcess", id);
         eCounterData[CheckProtect][id]--;

         set_task_ex(20.0, "GeneralInformation", id);
         set_task_ex(5.0, "MainAdminInformation");
         #else
         set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
         show_dhudmessage(id, "%l", "ROULETTE_SCROLL");

         set_task_ex(5.0, "SilentRouletteActivation", id);
         eCounterData[CheckProtect][id]--;

         set_task_ex(20.0, "GeneralInformation", id);
         set_task_ex(5.0, "MainAdminInformation");
         #endif
      }
   }
   else{
      if(!eCvarData[MONEY_ENABLED] || eCounterData[CheckUse][id]){
         client_print_color(id, print_team_default, "%l", "ROULETTE_ACCESS_ONE");
      }
      else{
         client_print_color(id, print_team_default, "%l", "ROULETTE_TIME", eCounterData[ReloadMoney][id] - time());
      }
   }

   return PLUGIN_HANDLED;
}

public RouletteStartProcess(id)
{
   new sFlagUsers = get_user_flags(id);

   if(eCheckData[nScroll] > 13){

      eCheckData[nScroll] = 0;
      eCounterData[CheckUse][id] = false;

      #if defined MR_SOUND
      emit_sound(id, CHAN_AUTO, SND_MR, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
      #endif

      remove_task(id);

      if(sFlagUsers & MAIN_ADMIN_FLAG){
         new pMoney = random_num(eCvarData[MONEY_MAIN_ADMIN_MIN], eCvarData[MONEY_MAIN_ADMIN_MAX]);

         cs_set_user_money(id, cs_get_user_money(id) + pMoney);

         set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 0.4, 0.4, 0.1, 2.5);
         show_dhudmessage(id, "%l", "ROULETTE_MAIN_ADMIN", pMoney);

         return PLUGIN_HANDLED;
      }
      else if(sFlagUsers & ADMIN_FLAG){
         new pMoney = random_num(eCvarData[MONEY_ADMIN_MIN], eCvarData[MONEY_ADMIN_MAX]);

         cs_set_user_money(id, cs_get_user_money(id) + pMoney);

         set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
         show_dhudmessage(id, "%l", "ROULETTE_ADMIN", pMoney);

         eCounterData[ReloadMoney][id] = time() + eCvarData[MONEY_TIME_ADMIN];

         return PLUGIN_HANDLED;
      }
      else if(sFlagUsers & VIP_FLAG){
         new pMoney = random_num(eCvarData[MONEY_VIP_MIN], eCvarData[MONEY_VIP_MAX]);

         cs_set_user_money(id, cs_get_user_money(id) + pMoney);

         set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
         show_dhudmessage(id, "%l", "ROULETTE_VIP", pMoney);

         eCounterData[ReloadMoney][id] = time() + eCvarData[MONEY_TIME_VIP];

         return PLUGIN_HANDLED;
      }
      else if(sFlagUsers & USER_FLAG){
         new pMoney = random_num(eCvarData[MONEY_USER_MIN], eCvarData[MONEY_USER_MAX]);

         cs_set_user_money(id, cs_get_user_money(id) + pMoney);

         set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
         show_dhudmessage(id, "%l", "ROULETTE_USER", pMoney);

         eCounterData[ReloadMoney][id] = time() + eCvarData[MONEY_TIME_USER];

         return PLUGIN_HANDLED;
      }
   }

   if(eCheckData[nScroll] <= 10){
      if(is_user_connected(id)){
         set_task_ex(0.1, "ActivatingRouletteSounds", id);
      }
   }
   else if(eCheckData[nScroll] > 10){
      if(is_user_connected(id)){
         set_task_ex(0.8, "ActivatingRouletteSounds", id);
      }
   }

   return PLUGIN_HANDLED;
}

public ActivatingRouletteSounds(id)
{
   #if defined MR_SOUND
   emit_sound(id, CHAN_AUTO, SND_RT, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
   #endif

   eCheckData[nScroll]++;

   if(is_user_connected(id)){
      set_task_ex(0.1, "RouletteStartProcess", id);
   }
}

public SilentRouletteActivation(id)
{
   new sFlagUsers = get_user_flags(id);

   eCounterData[CheckUse][id] = false;

   if(sFlagUsers & MAIN_ADMIN_FLAG){
      new pMoney = random_num(eCvarData[MONEY_MAIN_ADMIN_MIN], eCvarData[MONEY_MAIN_ADMIN_MAX]);

      cs_set_user_money(id, cs_get_user_money(id) + pMoney);

      set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 0.4, 0.4, 0.1, 2.5);
      show_dhudmessage(id, "%l", "ROULETTE_MAIN_ADMIN", pMoney);

      return PLUGIN_HANDLED;
   }
   else if(sFlagUsers & ADMIN_FLAG){
      new pMoney = random_num(eCvarData[MONEY_ADMIN_MIN], eCvarData[MONEY_ADMIN_MAX]);

      cs_set_user_money(id, cs_get_user_money(id) + pMoney);

      set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
      show_dhudmessage(id, "%l", "ROULETTE_ADMIN", pMoney);

      eCounterData[ReloadMoney][id] = time() + eCvarData[MONEY_TIME_ADMIN];

      return PLUGIN_HANDLED;
   }
   else if(sFlagUsers & VIP_FLAG){
      new pMoney = random_num(eCvarData[MONEY_VIP_MIN], eCvarData[MONEY_VIP_MAX]);

      cs_set_user_money(id, cs_get_user_money(id) + pMoney);

      set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
      show_dhudmessage(id, "%l", "ROULETTE_VIP", pMoney);

      eCounterData[ReloadMoney][id] = time() + eCvarData[MONEY_TIME_VIP];

      return PLUGIN_HANDLED;
   }
   else if(sFlagUsers & USER_FLAG){
      new pMoney = random_num(eCvarData[MONEY_USER_MIN], eCvarData[MONEY_USER_MAX]);

      cs_set_user_money(id, cs_get_user_money(id) + pMoney);

      set_dhudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.71, 1, 2.6, 2.6, 0.1, 4.5);
      show_dhudmessage(id, "%l", "ROULETTE_USER", pMoney);

      eCounterData[ReloadMoney][id] = time() + eCvarData[MONEY_TIME_USER];

      return PLUGIN_HANDLED;
   }

   return PLUGIN_HANDLED;
}


plugin-screen.jpg

Вы должны зарегистрироваться, чтобы видеть ссылки.

New ver: 2.6.3

Переменные музыки могли использоваться и с закомментированным #define MR_SOUND (fix)
Теперь что бы выключить полностью музыку, достаточно закомментировать #define MR_SOUND
Спасибо: RevCrew



Утверждено. //Leonidddd
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось WellasGooD 30 апр 2020, 22:14, всего редактировалось 2 раз(а).
Telegram: @WellAsGood
Аватара пользователя
WellasGooD
Скриптер
 
Сообщения: 26
Зарегистрирован: 11 ноя 2016, 12:12
Откуда: Russia
Благодарил (а): 7 раз.
Поблагодарили: 5 раз.
Опыт программирования: Больше трех лет
Языки программирования: Amxx Pawn
Visual Basic Application (VBA Excel, Outlook VBA)

Re: Money-Roulette

Сообщение RevCrew » 30 апр 2020, 17:30

Чисто случайно заметил, почему define MR_SOUND не стоит при объявлении переменных?) Получается варнинг будет о неиспользуемых переменных
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Money-Roulette

Сообщение WellasGooD » 30 апр 2020, 22:09

UP

New ver: 2.6.3

Переменные музыки могли использоваться и с закомментированным #define MR_SOUND (fix)
Теперь что бы выключить полностью музыку, достаточно закомментировать #define MR_SOUND
Спасибо: RevCrew

Архив в перовм посту был обновлен.
Telegram: @WellAsGood
Аватара пользователя
WellasGooD
Скриптер
 
Сообщения: 26
Зарегистрирован: 11 ноя 2016, 12:12
Откуда: Russia
Благодарил (а): 7 раз.
Поблагодарили: 5 раз.
Опыт программирования: Больше трех лет
Языки программирования: Amxx Pawn
Visual Basic Application (VBA Excel, Outlook VBA)


Вернуться в Утвержденные плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9