Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Редактирование vip_weapon.sma

, Помогите отредактировать меню плагина
Статус пользователя SivAnOl
сообщение 29.11.2014, 1:20
Сообщение #1


Стаж: 16 лет

Сообщений: 416
Благодарностей: 49
Полезность: 13

Здравствуйте! thank_you2.gif Помогите пожалуйста отредактировать плагин.
Дело в том, что каждый раз выскакивает меню с выбором оружия.
Если нажать 0 (выход), все равно дает оружие (или рандомно или M4A1).
Нужно сделать нормальный выход по 0 и всё.
Кому как удобнее, вот код или сам файл Прикрепленный файл  vip_weapon.sma ( 17,17 килобайт ) Кол-во скачиваний: 18

Исходник
Код
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <fakemeta_util>

#pragma tabsize 0

#define PLUGIN "VIP"
#define VERSION "3.8"
#define AUTHOR "Extreem and vinipux"

#define VIP_FLAG ADMIN_LEVEL_A

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new vipsOnline
new g_awp_active
//Menu Items
new p_Menu_Enable, p_Give_AK47, p_Give_M4A1, p_Give_AWP


new bool:HasC4[33]
new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18};
new automaton[18] = {CSW_P90,CSW_AK47,CSW_SG552,CSW_G3SG1,CSW_TMP,CSW_M4A1,CSW_M3,CSW_M249,CSW_MP5NA
VY,CSW_AWP,CSW_FAMAS,CSW_SG550,CSW_UMP45,CSW_AUG,CSW_MAC10,CSW_XM1014,CSW_SCOUT,
C
SW_P228};
new INT_rounds = 0
new timer[33], cvar_menuoff

//Start Items
new p_Start_Deagle, p_Start_He, p_Start_Flash, p_Start_Smoke, round_number, g_maxplayers, p_Plugin_Exist, p_Plugin_Exist_Time
public plugin_init() {
   register_plugin(PLUGIN, VERSION, AUTHOR)
   register_clcmd("say /vip", "vipinfo")
   register_clcmd("say /vipka", "vipinfo")
   register_clcmd("say /wantvip", "vipinfo")
   register_clcmd("say /adminka", "vipinfo")
   register_dictionary("viplang.txt")
   new configsDir[64]
   get_configsdir(configsDir, 63)
   register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
   register_clcmd("awp","HandleCmd")
   register_event("HLTV", "EVENT__round_start", "a", "1=0", "2=0")
   p_Menu_Enable = register_cvar("menu_enable", "1")
   p_Give_AK47 = register_cvar("menu_ak47", "1")
   p_Give_M4A1 = register_cvar("menu_m4a1", "1")
   p_Give_AWP = register_cvar("menu_awp", "1")
   p_Start_Deagle = register_cvar("start_deagle", "1")
   p_Start_He = register_cvar("start_hegrenade", "1")
   p_Start_Flash = register_cvar("start_flash", "2")
   p_Start_Smoke = register_cvar("start_smokegrenade","1")
   p_Plugin_Exist = register_cvar("plugin_exist", "1")
   p_Plugin_Exist_Time = register_cvar("plugin_exist_time", "180.0")
   vipsOnline = register_cvar("show_vips", "1")
   RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
   register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
   register_event("TextMsg", "event_game_restart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
   g_maxplayers=get_maxplayers()
   maxplayers = get_maxplayers()
   register_clcmd("say", "handle_say")
   register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
   gmsgSayText = get_user_msgid("SayText")
   cvar_menuoff = register_cvar("menuoff", "3")
   g_awp_active = register_cvar("awp_active", "1")
}
stock ChatColor(const id,const input[],any:...)
{
   new count = 1,players[32]
   static msg[191]
   vformat(msg,190,input,3)
  
   replace_all(msg,190,"!g","^4")
   replace_all(msg,190,"!y","^1")
   replace_all(msg,190,"!team","^3")
   replace_all(msg, 190,"!team2","^0")
  
   if(id)players[0] = id;else get_players(players,count,"ch")
   {
      for (new i = 0;i < count;i++)
      {
         if(is_user_connected(players[i]))
         {
            message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i])
            write_byte(players[i])
            write_string(msg)
            message_end()
         }
      }
   }
}
public EVENT__round_start()
{
   INT_rounds++
}
public HandleCmd(id){
   if (get_pcvar_num(g_awp_active) == 1)
      return PLUGIN_CONTINUE
   if(!(get_user_flags(id) & VIP_FLAG))
      return PLUGIN_CONTINUE
   client_print(id, print_center, "%L", LANG_SERVER, "AWP_ONLY_FOR_VIP")
   return PLUGIN_HANDLED
}

public event_CurWeapon(id){
   if (get_pcvar_num(g_awp_active) == 1){
      if(read_data(2) == CSW_AWP){
         if(!(get_user_flags(id) & VIP_FLAG)){
            client_print(id, print_center, "%L", LANG_SERVER, "AWP_ONLY_FOR_VIP")
            client_cmd(id, "drop")
         }
        
         }
      }
   return PLUGIN_HANDLED
}
public mymenu(id){
   if(is_user_alive(id))
{
   timer[id] = get_pcvar_num(cvar_menuoff)
   set_task(1.0, "destroy_menu", id, _, _, "b")
   new MyMenu=menu_create("Выбери оружие ^n ^n","vipMenu");
   new MyMenuFun=menu_makecallback("mcbMyMenu");
   new m4a1[150]
   formatex(m4a1, sizeof m4a1 - 1, "%L", id, "MENU_M4A1")
   menu_additem(MyMenu,m4a1,"0",0,MyMenuFun);
   new ak47[150]
   formatex(ak47, sizeof ak47 - 1, "%L", id, "MENU_AK47")
   menu_additem(MyMenu,ak47 ,"1",0,MyMenuFun);
   new awp[150]
   formatex(awp, sizeof awp - 1, "%L", id, "MENU_AWP")
   menu_additem(MyMenu,awp,"2",0,MyMenuFun);
   if(get_user_flags(id) & VIP_FLAG){
      menu_display(id, MyMenu,0);
}
   }
   else{
      ChatColor(id,"%L",LANG_SERVER,"NOT_VIP")
   }
   return PLUGIN_HANDLED;
}
public destroy_menu(id)
{
        if (timer[id])
        {
                new text_timer[64]
                formatex(text_timer, charsmax(text_timer), "У вас  %d секунд что бы выбрать!", timer[id]);
                if (timer[id] > 10)
                        set_hudmessage(255, 255, 255, 0.02, 0.42, 0, 0.0, 1.0, 1.0, 1.0)
                else if (timer[id] > 5)
                        set_hudmessage(255, 255, 0, 0.02, 0.42, 0, 0.0, 1.0, 1.0, 1.0)
                else
                        set_hudmessage(255, 0, 0, 0.02, 0.42, 1, 0.0, 1.0, 1.0, 1.0)
                show_hudmessage(id, text_timer)
                --timer[id]
        }
   else
        {
                remove_task(id)
                show_menu(id, 0, "^n", 1) // Убераем меню
        }
}
public vipMenu(id, menu, item)
{
    new data[7], iName[64];
    new access, callback;
    
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
    
    new key = str_to_num(data);
    
   switch(key)
{
      case 0:{
// Проверяем на все пистолеты
         for (new i = 0; i < 6; i++)
      {
         // Если у игрока есть пистолет с заданным индексом
         // забираем пистолет и выходим из цикла
         if (fm_strip_user_gun(id, pistols[i]))
         {
            break;
         }
      }
// Проверяем на все автоматы
         for (new i = 0; i < 18; i++)
      {
         // Если у игрока есть пистолет с заданным индексом
         // забираем пистолет и выходим из цикла
         if (fm_strip_user_gun(id, automaton[i]))
         {
            break;
         }
      }

         if (user_has_weapon(id, CSW_C4)){
            HasC4[id] = true;
         }
         else{
            HasC4[id] = false;
         }

         give_item(id, "weapon_m4a1")
         cs_set_user_bpammo(id, CSW_M4A1, 90)
         give_item(id,"weapon_knife")
         if(get_pcvar_num(p_Start_He) == 1){
            give_item(id,"weapon_hegrenade")
         }        
         if(get_pcvar_num(p_Start_Flash) == 1){
            give_item(id, "weapon_flashbang");
         }
         else if(get_pcvar_num(p_Start_Flash) == 2){
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_flashbang");
         }
         if(get_pcvar_num(p_Start_Smoke) == 1){
            give_item(id, "weapon_smokegrenade");
         }
         if(get_pcvar_num(p_Start_Deagle) == 1){
            give_item(id,"weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 35)
         }
         else if(cs_get_user_team(id) == CS_TEAM_CT){
            give_item(id, "weapon_usp")
            cs_set_user_bpammo(id, CSW_USP, 24)
         }
         else if (cs_get_user_team(id) == CS_TEAM_T){
            give_item(id, "weapon_glock18")
            cs_set_user_bpammo(id, CSW_GLOCK18, 40)
         }
         give_item(id, "weapon_smokegrenade");
         give_item(id, "item_assaultsuit");
         give_item(id, "item_thighpack");
         if (HasC4[id]){
            give_item(id, "weapon_c4");
            cs_set_user_plant( id );
         }
         ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_M4A1")
         remove_task(id)
         show_menu(id, 0, "^n", 1) // Убераем меню
   }
      case 1:
{
         for (new i = 0; i < 6; i++)
      {
         // Если у игрока есть пистолет с заданным индексом
         // забираем пистолет и выходим из цикла
         if (fm_strip_user_gun(id, pistols[i]))
         {
            break;
         }
      }
// Проверяем на все автоматы
         for (new i = 0; i < 18; i++)
      {
         // Если у игрока есть пистолет с заданным индексом
         // забираем пистолет и выходим из цикла
         if (fm_strip_user_gun(id, automaton[i]))
         {
            break;
         }
      }

         if (user_has_weapon(id, CSW_C4)){
            HasC4[id] = true;
         }
         else{
            HasC4[id] = false;
         }
         give_item(id, "weapon_ak47")
         cs_set_user_bpammo(id, CSW_AK47, 90)
         give_item(id,"weapon_knife")
         if(get_pcvar_num(p_Start_He) == 1){
            give_item(id,"weapon_hegrenade")
         }        
         if(get_pcvar_num(p_Start_Flash) == 1){
            give_item(id, "weapon_flashbang");
         }
         else if(get_pcvar_num(p_Start_Flash) == 2){
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_flashbang");
         }
         if(get_pcvar_num(p_Start_Smoke) == 1){
            give_item(id, "weapon_smokegrenade");
         }
         if(get_pcvar_num(p_Start_Deagle) == 1){
            give_item(id,"weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 35)
         }
         else if(cs_get_user_team(id) == CS_TEAM_CT){
            give_item(id, "weapon_usp")
            cs_set_user_bpammo(id, CSW_USP, 24)
         }
         else if (cs_get_user_team(id) == CS_TEAM_T){
            give_item(id, "weapon_glock18")
            cs_set_user_bpammo(id, CSW_GLOCK18, 40)
         }
         give_item(id, "weapon_smokegrenade");
         give_item(id, "item_assaultsuit");
         give_item(id, "item_thighpack");
         if (HasC4[id]){
            give_item(id, "weapon_c4");
            cs_set_user_plant( id );
         }
         ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_AK47")
         remove_task(id)
         show_menu(id, 0, "^n", 1) // Убераем меню
  
}
      case 2:{
          
    if(round_number >= 3)
    {
         for (new i = 0; i < 6; i++)
      {
         // Если у игрока есть пистолет с заданным индексом
         // забираем пистолет и выходим из цикла
         if (fm_strip_user_gun(id, pistols[i]))
         {
            break;
         }
      }
// Проверяем на все автоматы
         for (new i = 0; i < 18; i++)
      {
         // Если у игрока есть пистолет с заданным индексом
         // забираем пистолет и выходим из цикла
         if (fm_strip_user_gun(id, automaton[i]))
         {
            break;
         }
      }

         if (user_has_weapon(id, CSW_C4)){
            HasC4[id] = true;
         }
         else{
            HasC4[id] = false;
         }
         give_item(id, "weapon_awp")
         cs_set_user_bpammo(id, CSW_AWP, 30)
         give_item(id,"weapon_knife")
         if(get_pcvar_num(p_Start_He) == 1){
            give_item(id,"weapon_hegrenade")
         }        
         if(get_pcvar_num(p_Start_Flash) == 1){
            give_item(id, "weapon_flashbang");
         }
         else if(get_pcvar_num(p_Start_Flash) == 2){
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_flashbang");
         }
         if(get_pcvar_num(p_Start_Smoke) == 1){
            give_item(id, "weapon_smokegrenade");
         }
         if(get_pcvar_num(p_Start_Deagle) == 1){
            give_item(id,"weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 35)
         }
         else if(cs_get_user_team(id) == CS_TEAM_CT){
            give_item(id, "weapon_usp")
            cs_set_user_bpammo(id, CSW_USP, 24)
         }
         else if (cs_get_user_team(id) == CS_TEAM_T){
            give_item(id, "weapon_glock18")
            cs_set_user_bpammo(id, CSW_GLOCK18, 40)
         }
         give_item(id, "weapon_smokegrenade");
         give_item(id, "item_assaultsuit");
         give_item(id, "item_thighpack")
         if (HasC4[id]){
            give_item(id, "weapon_c4");
            cs_set_user_plant( id );
         }
         ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_AWP")
         remove_task(id)
         show_menu(id, 0, "^n", 1) // Убераем меню
    }
               }
                  }
        
}


public mcbMyMenu(id, menu, item){
   if(item==0){
   if(get_pcvar_num(p_Give_M4A1) != 1){
      return ITEM_DISABLED;
   }
}
   if(item==1){
      if(get_pcvar_num(p_Give_AK47) != 1){
         return ITEM_DISABLED;
      }
   }
   if(item==2){
      if(get_pcvar_num(p_Give_AWP) != 1){
         return ITEM_DISABLED;
      }
   }
   return ITEM_ENABLED;
}
public event_round_start()
{
   if(get_pcvar_num(p_Menu_Enable) == 1){
    round_number++
  
    if (round_number>1)
    {
        for (new id=1;id<=g_maxplayers;id++)
        {
            if (!is_user_connected(id)||is_user_bot(id))
                continue
            if(get_user_flags(id) & VIP_FLAG){
          if(cs_get_user_team(id) == CS_TEAM_CT || CS_TEAM_T){
                   set_task(0.1, "mymenu", id, _, _, "a", 1)

      }
      }
        }
    }
   }
}
public event_game_restart()
{
    round_number=0
}
public fwHamPlayerSpawnPost(id)
      if(get_user_flags(id) & VIP_FLAG)
{
{
      for (new i = 0; i < 6; i++)
      {
         // Если у игрока есть пистолет с заданным индексом
         // забираем пистолет и выходим из цикла
      if (fm_strip_user_gun(id, pistols[i]))
         {
            break;
         }
      }
}
      if(is_user_connected(id) && get_user_flags(id) & VIP_FLAG)
{
      give_item(id,"weapon_knife")
      if(get_pcvar_num(p_Start_Deagle) == 1){
            give_item(id,"weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 35)
      }
      else if(cs_get_user_team(id) == CS_TEAM_CT){
         give_item(id, "weapon_usp")
         cs_set_user_bpammo(id, CSW_USP, 24)
      }
      else if (cs_get_user_team(id) == CS_TEAM_T){
         give_item(id, "weapon_glock18")
         cs_set_user_bpammo(id, CSW_GLOCK18, 40)
      }
      if(get_pcvar_num(p_Start_He) == 1){
         give_item(id, "weapon_hegrenade")
      }
      if(get_pcvar_num(p_Start_Flash) == 1){
         give_item(id, "weapon_flashbang")
      }
      else if(get_pcvar_num(p_Start_Flash) == 2){
         give_item(id, "weapon_flashbang")
         give_item(id, "weapon_flashbang")
      }
      if(get_pcvar_num(p_Start_Smoke) == 1){
         give_item(id, "weapon_smokegrenade")
      }
   }
}
public vipinfo(id){
   show_motd(id, "admin.html")
}
public client_authorized(id)
{
   if(get_pcvar_num(p_Plugin_Exist) == 1){
         set_task(get_pcvar_float(p_Plugin_Exist_Time), "vipInfoMessage", id, _, _, "b")
   }
}
public vipInfoMessage(id)
{
   if(!is_user_admin(id))
   ChatColor(id,"%L",LANG_SERVER,"INFO_VIP_PLUGIN_EXIST")
  
}
public handle_say(id) {
   new said[192]
   read_args(said,192)
   if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/admin") != -1 )
      set_task(0.1,"print_adminlist",id)
   return PLUGIN_CONTINUE
}

public print_adminlist(user)
{
   if(get_pcvar_num(vipsOnline) == 1){
   new adminnames[33][32]
   new message[256]
   new contactinfo[256], contact[112]
   new id, count, x, len
  
   for(id = 1; id <= maxplayers; id++)
      if(is_user_connected(id))
         if(get_user_flags(id) & VIP_FLAG)
            get_user_name(id, adminnames[count++], 31)

   len = format(message, 255, "%s Админы онлайн: ",COLOR)
   if(count > 0) {
      for(x = 0; x < count; x++) {
         len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
         if(len > 96 ) {
            print_message(user, message)
            len = format(message, 255, "%s ",COLOR)
         }
      }
      print_message(user, message)
   }
   else {
      len += format(message[len], 255-len, "%L", LANG_SERVER,"NO_VIPS_ONLLINE")
      print_message(user, message)
   }
  
   get_cvar_string("amx_contactinfo", contact, 63)
   if(contact[0])  {
      format(contactinfo, 111, "%s Связь с главным админом -- %s", COLOR, contact)
      print_message(user, contactinfo)
   }
}
}
print_message(id, msg[]) {
   message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
   write_byte(id)
   write_string(msg)
   message_end()
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1049{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/


Отредактировал: SivAnOl, - 29.11.2014, 1:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя SivAnOl
сообщение 29.11.2014, 23:49
Сообщение #2


Стаж: 16 лет

Сообщений: 416
Благодарностей: 49
Полезность: 13

Если нет возможности переделать, покажите хотя бы как убрать оттуда 0 (выход) вообще? ubeysya.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 30.11.2014, 2:46
Сообщение #3


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

SivAnOl, слишком много лишнего в этой випке

держи:
Скрытый текст ( плагин )
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <fakemeta_util>

#pragma tabsize 0

#define PLUGIN "VIP"
#define VERSION "3.8"
#define AUTHOR "Extreem and vinipux"

#define VIP_FLAG ADMIN_LEVEL_A

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new vipsOnline
new g_awp_active
//Menu Items
new p_Give_AK47, p_Give_M4A1, p_Give_AWP


new bool:HasC4[33]
new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18};
new automaton[18] = {CSW_P90,CSW_AK47,CSW_SG552,CSW_G3SG1,CSW_TMP,CSW_M4A1,CSW_M3,CSW_M249,CSW_MP5NA
VY,CSW_AWP,CSW_FAMAS,CSW_SG550,CSW_UMP45,CSW_AUG,CSW_MAC10,CSW_XM1014,CSW_SCOUT,C
SW_P228};
new INT_rounds = 0
new timer[33], cvar_menuoff

//Start Items
new p_Start_Deagle, p_Start_He, p_Start_Flash, p_Start_Smoke, round_number, p_Plugin_Exist, p_Plugin_Exist_Time
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /vip", "vipinfo")
register_clcmd("say /vipka", "vipinfo")
register_clcmd("say /wantvip", "vipinfo")
register_clcmd("say /adminka", "vipinfo")
register_dictionary("viplang.txt")

register_clcmd("say /vipmenu", "mymenu")
register_clcmd("say vipmenu", "mymenu")
register_clcmd("vipmenu", "mymenu")

new configsDir[64]
get_configsdir(configsDir, 63)
register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
register_clcmd("awp","HandleCmd")
register_event("HLTV", "EVENT__round_start", "a", "1=0", "2=0")
p_Give_AK47 = register_cvar("menu_ak47", "1")
p_Give_M4A1 = register_cvar("menu_m4a1", "1")
p_Give_AWP = register_cvar("menu_awp", "1")
p_Start_Deagle = register_cvar("start_deagle", "1")
p_Start_He = register_cvar("start_hegrenade", "1")
p_Start_Flash = register_cvar("start_flash", "2")
p_Start_Smoke = register_cvar("start_smokegrenade","1")
p_Plugin_Exist = register_cvar("plugin_exist", "1")
p_Plugin_Exist_Time = register_cvar("plugin_exist_time", "180.0")
vipsOnline = register_cvar("show_vips", "1")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_event("TextMsg", "event_game_restart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
maxplayers = get_maxplayers()
register_clcmd("say", "handle_say")
register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
gmsgSayText = get_user_msgid("SayText")
cvar_menuoff = register_cvar("menuoff", "3")
g_awp_active = register_cvar("awp_active", "1")
}
stock ChatColor(const id,const input[],any:...)
{
new count = 1,players[32]
static msg[191]
vformat(msg,190,input,3)

replace_all(msg,190,"!g","^4")
replace_all(msg,190,"!y","^1")
replace_all(msg,190,"!team","^3")
replace_all(msg, 190,"!team2","^0")

if(id)players[0] = id;else get_players(players,count,"ch")
{
for (new i = 0;i < count;i++)
{
if(is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
}
public EVENT__round_start()
{
INT_rounds++
}
public HandleCmd(id){
if (get_pcvar_num(g_awp_active) == 1)
return PLUGIN_CONTINUE
if(!(get_user_flags(id) & VIP_FLAG))
return PLUGIN_CONTINUE
client_print(id, print_center, "%L", LANG_SERVER, "AWP_ONLY_FOR_VIP")
return PLUGIN_HANDLED
}

public event_CurWeapon(id){
if (get_pcvar_num(g_awp_active) == 1){
if(read_data(2) == CSW_AWP){
if(!(get_user_flags(id) & VIP_FLAG)){
client_print(id, print_center, "%L", LANG_SERVER, "AWP_ONLY_FOR_VIP")
client_cmd(id, "drop")
}

}
}
return PLUGIN_HANDLED
}
public mymenu(id){
if(is_user_alive(id))
{
timer[id] = get_pcvar_num(cvar_menuoff)
set_task(1.0, "destroy_menu", id, _, _, "b")
new MyMenu=menu_create("Выбери оружие ^n ^n","vipMenu");
new MyMenuFun=menu_makecallback("mcbMyMenu");
new m4a1[150]
formatex(m4a1, sizeof m4a1 - 1, "%L", id, "MENU_M4A1")
menu_additem(MyMenu,m4a1,"1",0,MyMenuFun);
new ak47[150]
formatex(ak47, sizeof ak47 - 1, "%L", id, "MENU_AK47")
menu_additem(MyMenu,ak47 ,"2",0,MyMenuFun);
new awp[150]
formatex(awp, sizeof awp - 1, "%L", id, "MENU_AWP")
menu_additem(MyMenu,awp,"3",0,MyMenuFun);
if(get_user_flags(id) & VIP_FLAG){
menu_display(id, MyMenu,0);
}
}
else{
ChatColor(id,"%L",LANG_SERVER,"NOT_VIP")
}
return PLUGIN_HANDLED;
}
public destroy_menu(id)
{
if (timer[id])
{
new text_timer[64]
formatex(text_timer, charsmax(text_timer), "У вас %d секунд что бы выбрать!", timer[id]);
if (timer[id] > 10)
set_hudmessage(255, 255, 255, 0.02, 0.42, 0, 0.0, 1.0, 1.0, 1.0)
else if (timer[id] > 5)
set_hudmessage(255, 255, 0, 0.02, 0.42, 0, 0.0, 1.0, 1.0, 1.0)
else
set_hudmessage(255, 0, 0, 0.02, 0.42, 1, 0.0, 1.0, 1.0, 1.0)
show_hudmessage(id, text_timer)
--timer[id]
}
else
{
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
}
public vipMenu(id, menu, item)
{
new data[7], iName[64];
new access, callback;

menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);

new key = str_to_num(data);

switch(key)
{
case 1:{
// Проверяем на все пистолеты
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}

give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 90)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_M4A1")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
case 2:
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_AK47")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню

}
case 3:{

if(round_number >= 3)
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack")
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_AWP")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
}
}

}


public mcbMyMenu(id, menu, item){
if(item==0){
if(get_pcvar_num(p_Give_M4A1) != 1){
return ITEM_DISABLED;
}
}
if(item==1){
if(get_pcvar_num(p_Give_AK47) != 1){
return ITEM_DISABLED;
}
}
if(item==2){
if(get_pcvar_num(p_Give_AWP) != 1){
return ITEM_DISABLED;
}
}
return ITEM_ENABLED;
}
public event_round_start()
{
round_number++
}
public event_game_restart()
{
round_number=0
}
public fwHamPlayerSpawnPost(id)
if(get_user_flags(id) & VIP_FLAG)
{
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
}
if(is_user_connected(id) && get_user_flags(id) & VIP_FLAG)
{
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
if(get_pcvar_num(p_Start_He) == 1){
give_item(id, "weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang")
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade")
}
}
}
public vipinfo(id){
show_motd(id, "admin.html")
}
public client_authorized(id)
{
if(get_pcvar_num(p_Plugin_Exist) == 1){
set_task(get_pcvar_float(p_Plugin_Exist_Time), "vipInfoMessage", id, _, _, "b")
}
}
public vipInfoMessage(id)
{
if(!is_user_admin(id))
ChatColor(id,"%L",LANG_SERVER,"INFO_VIP_PLUGIN_EXIST")

}
public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/admin") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}

public print_adminlist(user)
{
if(get_pcvar_num(vipsOnline) == 1){
new adminnames[33][32]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len

for(id = 1; id <= maxplayers; id++)
if(is_user_connected(id))
if(get_user_flags(id) & VIP_FLAG)
get_user_name(id, adminnames[count++], 31)

len = format(message, 255, "%s Админы онлайн: ",COLOR)
if(count > 0) {
for(x = 0; x < count; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "%L", LANG_SERVER,"NO_VIPS_ONLLINE")
print_message(user, message)
}

get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Связь с главным админом -- %s", COLOR, contact)
print_message(user, contactinfo)
}
}
}
print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя SivAnOl
сообщение 30.11.2014, 13:53
Сообщение #4


Стаж: 16 лет

Сообщений: 416
Благодарностей: 49
Полезность: 13

Цитата(MiXa @ 30.11.2014, 1:42) *
SivAnOl, слишком много лишнего в этой випке

держи:
Скрытый текст ( плагин )
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <fakemeta_util>

#pragma tabsize 0

#define PLUGIN "VIP"
#define VERSION "3.8"
#define AUTHOR "Extreem and vinipux"

#define VIP_FLAG ADMIN_LEVEL_A

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new vipsOnline
new g_awp_active
//Menu Items
new p_Give_AK47, p_Give_M4A1, p_Give_AWP


new bool:HasC4[33]
new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18};
new automaton[18] = {CSW_P90,CSW_AK47,CSW_SG552,CSW_G3SG1,CSW_TMP,CSW_M4A1,CSW_M3,CSW_M249,CSW_MP5NA
VY,CSW_AWP,CSW_FAMAS,CSW_SG550,CSW_UMP45,CSW_AUG,CSW_MAC10,CSW_XM1014,CSW_SCOUT,
C
SW_P228};
new INT_rounds = 0
new timer[33], cvar_menuoff

//Start Items
new p_Start_Deagle, p_Start_He, p_Start_Flash, p_Start_Smoke, round_number, p_Plugin_Exist, p_Plugin_Exist_Time
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /vip", "vipinfo")
register_clcmd("say /vipka", "vipinfo")
register_clcmd("say /wantvip", "vipinfo")
register_clcmd("say /adminka", "vipinfo")
register_dictionary("viplang.txt")

register_clcmd("say /vipmenu", "mymenu")
register_clcmd("say vipmenu", "mymenu")
register_clcmd("vipmenu", "mymenu")

new configsDir[64]
get_configsdir(configsDir, 63)
register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
register_clcmd("awp","HandleCmd")
register_event("HLTV", "EVENT__round_start", "a", "1=0", "2=0")
p_Give_AK47 = register_cvar("menu_ak47", "1")
p_Give_M4A1 = register_cvar("menu_m4a1", "1")
p_Give_AWP = register_cvar("menu_awp", "1")
p_Start_Deagle = register_cvar("start_deagle", "1")
p_Start_He = register_cvar("start_hegrenade", "1")
p_Start_Flash = register_cvar("start_flash", "2")
p_Start_Smoke = register_cvar("start_smokegrenade","1")
p_Plugin_Exist = register_cvar("plugin_exist", "1")
p_Plugin_Exist_Time = register_cvar("plugin_exist_time", "180.0")
vipsOnline = register_cvar("show_vips", "1")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_event("TextMsg", "event_game_restart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
maxplayers = get_maxplayers()
register_clcmd("say", "handle_say")
register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
gmsgSayText = get_user_msgid("SayText")
cvar_menuoff = register_cvar("menuoff", "3")
g_awp_active = register_cvar("awp_active", "1")
}
stock ChatColor(const id,const input[],any:...)
{
new count = 1,players[32]
static msg[191]
vformat(msg,190,input,3)

replace_all(msg,190,"!g","^4")
replace_all(msg,190,"!y","^1")
replace_all(msg,190,"!team","^3")
replace_all(msg, 190,"!team2","^0")

if(id)players[0] = id;else get_players(players,count,"ch")
{
for (new i = 0;i < count;i++)
{
if(is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
}
public EVENT__round_start()
{
INT_rounds++
}
public HandleCmd(id){
if (get_pcvar_num(g_awp_active) == 1)
return PLUGIN_CONTINUE
if(!(get_user_flags(id) & VIP_FLAG))
return PLUGIN_CONTINUE
client_print(id, print_center, "%L", LANG_SERVER, "AWP_ONLY_FOR_VIP")
return PLUGIN_HANDLED
}

public event_CurWeapon(id){
if (get_pcvar_num(g_awp_active) == 1){
if(read_data(2) == CSW_AWP){
if(!(get_user_flags(id) & VIP_FLAG)){
client_print(id, print_center, "%L", LANG_SERVER, "AWP_ONLY_FOR_VIP")
client_cmd(id, "drop")
}

}
}
return PLUGIN_HANDLED
}
public mymenu(id){
if(is_user_alive(id))
{
timer[id] = get_pcvar_num(cvar_menuoff)
set_task(1.0, "destroy_menu", id, _, _, "b")
new MyMenu=menu_create("Выбери оружие ^n ^n","vipMenu");
new MyMenuFun=menu_makecallback("mcbMyMenu");
new m4a1[150]
formatex(m4a1, sizeof m4a1 - 1, "%L", id, "MENU_M4A1")
menu_additem(MyMenu,m4a1,"1",0,MyMenuFun);
new ak47[150]
formatex(ak47, sizeof ak47 - 1, "%L", id, "MENU_AK47")
menu_additem(MyMenu,ak47 ,"2",0,MyMenuFun);
new awp[150]
formatex(awp, sizeof awp - 1, "%L", id, "MENU_AWP")
menu_additem(MyMenu,awp,"3",0,MyMenuFun);
if(get_user_flags(id) & VIP_FLAG){
menu_display(id, MyMenu,0);
}
}
else{
ChatColor(id,"%L",LANG_SERVER,"NOT_VIP")
}
return PLUGIN_HANDLED;
}
public destroy_menu(id)
{
if (timer[id])
{
new text_timer[64]
formatex(text_timer, charsmax(text_timer), "У вас %d секунд что бы выбрать!", timer[id]);
if (timer[id] > 10)
set_hudmessage(255, 255, 255, 0.02, 0.42, 0, 0.0, 1.0, 1.0, 1.0)
else if (timer[id] > 5)
set_hudmessage(255, 255, 0, 0.02, 0.42, 0, 0.0, 1.0, 1.0, 1.0)
else
set_hudmessage(255, 0, 0, 0.02, 0.42, 1, 0.0, 1.0, 1.0, 1.0)
show_hudmessage(id, text_timer)
--timer[id]
}
else
{
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
}
public vipMenu(id, menu, item)
{
new data[7], iName[64];
new access, callback;

menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);

new key = str_to_num(data);

switch(key)
{
case 1:{
// Проверяем на все пистолеты
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}

give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 90)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_M4A1")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
case 2:
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_AK47")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню

}
case 3:{

if(round_number >= 3)
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack")
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_AWP")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
}
}

}


public mcbMyMenu(id, menu, item){
if(item==0){
if(get_pcvar_num(p_Give_M4A1) != 1){
return ITEM_DISABLED;
}
}
if(item==1){
if(get_pcvar_num(p_Give_AK47) != 1){
return ITEM_DISABLED;
}
}
if(item==2){
if(get_pcvar_num(p_Give_AWP) != 1){
return ITEM_DISABLED;
}
}
return ITEM_ENABLED;
}
public event_round_start()
{
round_number++
}
public event_game_restart()
{
round_number=0
}
public fwHamPlayerSpawnPost(id)
if(get_user_flags(id) & VIP_FLAG)
{
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
}
if(is_user_connected(id) && get_user_flags(id) & VIP_FLAG)
{
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
if(get_pcvar_num(p_Start_He) == 1){
give_item(id, "weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang")
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade")
}
}
}
public vipinfo(id){
show_motd(id, "admin.html")
}
public client_authorized(id)
{
if(get_pcvar_num(p_Plugin_Exist) == 1){
set_task(get_pcvar_float(p_Plugin_Exist_Time), "vipInfoMessage", id, _, _, "b")
}
}
public vipInfoMessage(id)
{
if(!is_user_admin(id))
ChatColor(id,"%L",LANG_SERVER,"INFO_VIP_PLUGIN_EXIST")

}
public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/admin") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}

public print_adminlist(user)
{
if(get_pcvar_num(vipsOnline) == 1){
new adminnames[33][32]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len

for(id = 1; id <= maxplayers; id++)
if(is_user_connected(id))
if(get_user_flags(id) & VIP_FLAG)
get_user_name(id, adminnames[count++], 31)

len = format(message, 255, "%s Админы онлайн: ",COLOR)
if(count > 0) {
for(x = 0; x < count; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "%L", LANG_SERVER,"NO_VIPS_ONLLINE")
print_message(user, message)
}

get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Связь с главным админом -- %s", COLOR, contact)
print_message(user, contactinfo)
}
}
}
print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}


А тут исправление или вырезка выхода?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 30.11.2014, 13:58
Сообщение #5


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

SivAnOl, вырезал появление випменю в начале раунда ( это многих раздражает , поверь ) и сделал что бы при нажатии на кнопку Выход , не выдавалась м4а

вип меню можно вызвать таким способом:
написать в чат /vipmenu
написать в чат vipmenu
или просто в консоль vipmenu

просто кому выдаеш вип, попроси напирем забиндить команду:

bind v vipmenu - (вместо клавиши v можеш указать другую)

Отредактировал: MiXa, - 30.11.2014, 14:01


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SivAnOl
сообщение 30.11.2014, 14:00
Сообщение #6


Стаж: 16 лет

Сообщений: 416
Благодарностей: 49
Полезность: 13

Извините за наглость, но с автопоявлением никак не сделать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 30.11.2014, 14:01
Сообщение #7


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

SivAnOl, если хотите то сделаю


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя SivAnOl
сообщение 30.11.2014, 14:05
Сообщение #8


Стаж: 16 лет

Сообщений: 416
Благодарностей: 49
Полезность: 13

Если Вас не затруднит, конечно, буду благодарен yahoo.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 30.11.2014, 14:09
Сообщение #9


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

SivAnOl, держите:

Скрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <fakemeta_util>

#pragma tabsize 0

#define PLUGIN "VIP"
#define VERSION "3.8"
#define AUTHOR "Extreem and vinipux"

#define VIP_FLAG ADMIN_LEVEL_A

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new vipsOnline
new g_awp_active
//Menu Items
new p_Menu_Enable, p_Give_AK47, p_Give_M4A1, p_Give_AWP


new bool:HasC4[33]
new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18};
new automaton[18] = {CSW_P90,CSW_AK47,CSW_SG552,CSW_G3SG1,CSW_TMP,CSW_M4A1,CSW_M3,CSW_M249,CSW_MP5NA
VY,CSW_AWP,CSW_FAMAS,CSW_SG550,CSW_UMP45,CSW_AUG,CSW_MAC10,CSW_XM1014,CSW_SCOUT,C
SW_P228};
new INT_rounds = 0
new timer[33], cvar_menuoff

//Start Items
new p_Start_Deagle, p_Start_He, p_Start_Flash, p_Start_Smoke, round_number, g_maxplayers, p_Plugin_Exist, p_Plugin_Exist_Time
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /vip", "vipinfo")
register_clcmd("say /vipka", "vipinfo")
register_clcmd("say /wantvip", "vipinfo")
register_clcmd("say /adminka", "vipinfo")
register_dictionary("viplang.txt")
new configsDir[64]
get_configsdir(configsDir, 63)
register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
register_clcmd("awp","HandleCmd")
register_event("HLTV", "EVENT__round_start", "a", "1=0", "2=0")
p_Menu_Enable = register_cvar("menu_enable", "1")
p_Give_AK47 = register_cvar("menu_ak47", "1")
p_Give_M4A1 = register_cvar("menu_m4a1", "1")
p_Give_AWP = register_cvar("menu_awp", "1")
p_Start_Deagle = register_cvar("start_deagle", "1")
p_Start_He = register_cvar("start_hegrenade", "1")
p_Start_Flash = register_cvar("start_flash", "2")
p_Start_Smoke = register_cvar("start_smokegrenade","1")
p_Plugin_Exist = register_cvar("plugin_exist", "1")
p_Plugin_Exist_Time = register_cvar("plugin_exist_time", "180.0")
vipsOnline = register_cvar("show_vips", "1")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
//register_event("TextMsg", "event_game_restart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
g_maxplayers=get_maxplayers()
maxplayers = get_maxplayers()
register_clcmd("say", "handle_say")
register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
gmsgSayText = get_user_msgid("SayText")
cvar_menuoff = register_cvar("menuoff", "3")
g_awp_active = register_cvar("awp_active", "1")
}
stock ChatColor(const id,const input[],any:...)
{
new count = 1,players[32]
static msg[191]
vformat(msg,190,input,3)

replace_all(msg,190,"!g","^4")
replace_all(msg,190,"!y","^1")
replace_all(msg,190,"!team","^3")
replace_all(msg, 190,"!team2","^0")

if(id)players[0] = id;else get_players(players,count,"ch")
{
for (new i = 0;i < count;i++)
{
if(is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
}
public EVENT__round_start()
{
INT_rounds++
}
public HandleCmd(id){
if (get_pcvar_num(g_awp_active) == 1)
return PLUGIN_CONTINUE
if(!(get_user_flags(id) & VIP_FLAG))
return PLUGIN_CONTINUE
client_print(id, print_center, "%L", LANG_SERVER, "AWP_ONLY_FOR_VIP")
return PLUGIN_HANDLED
}

public event_CurWeapon(id){
if (get_pcvar_num(g_awp_active) == 1){
if(read_data(2) == CSW_AWP){
if(!(get_user_flags(id) & VIP_FLAG)){
client_print(id, print_center, "%L", LANG_SERVER, "AWP_ONLY_FOR_VIP")
client_cmd(id, "drop")
}

}
}
return PLUGIN_HANDLED
}
public mymenu(id){
if(is_user_alive(id))
{
timer[id] = get_pcvar_num(cvar_menuoff)
set_task(1.0, "destroy_menu", id, _, _, "b")
new MyMenu=menu_create("Выбери оружие ^n ^n","vipMenu");
new MyMenuFun=menu_makecallback("mcbMyMenu");
new m4a1[150]
formatex(m4a1, sizeof m4a1 - 1, "%L", id, "MENU_M4A1")
menu_additem(MyMenu,m4a1,"1",0,MyMenuFun);
new ak47[150]
formatex(ak47, sizeof ak47 - 1, "%L", id, "MENU_AK47")
menu_additem(MyMenu,ak47 ,"2",0,MyMenuFun);
new awp[150]
formatex(awp, sizeof awp - 1, "%L", id, "MENU_AWP")
menu_additem(MyMenu,awp,"3",0,MyMenuFun);
if(get_user_flags(id) & VIP_FLAG){
menu_display(id, MyMenu,0);
}
}
else{
ChatColor(id,"%L",LANG_SERVER,"NOT_VIP")
}
return PLUGIN_HANDLED;
}
public destroy_menu(id)
{
if (timer[id])
{
new text_timer[64]
formatex(text_timer, charsmax(text_timer), "У вас %d секунд что бы выбрать!", timer[id]);
if (timer[id] > 10)
set_hudmessage(255, 255, 255, 0.02, 0.42, 0, 0.0, 1.0, 1.0, 1.0)
else if (timer[id] > 5)
set_hudmessage(255, 255, 0, 0.02, 0.42, 0, 0.0, 1.0, 1.0, 1.0)
else
set_hudmessage(255, 0, 0, 0.02, 0.42, 1, 0.0, 1.0, 1.0, 1.0)
show_hudmessage(id, text_timer)
--timer[id]
}
else
{
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
}
public vipMenu(id, menu, item)
{
new data[7], iName[64];
new access, callback;

menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);

new key = str_to_num(data);

switch(key)
{
case 1:{
// Проверяем на все пистолеты
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}

give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 90)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_M4A1")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
case 2:
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_AK47")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню

}
case 3:{

if(round_number >= 3)
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack")
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_AWP")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
}
}

}


public mcbMyMenu(id, menu, item){
if(item==0){
if(get_pcvar_num(p_Give_M4A1) != 1){
return ITEM_DISABLED;
}
}
if(item==1){
if(get_pcvar_num(p_Give_AK47) != 1){
return ITEM_DISABLED;
}
}
if(item==2){
if(get_pcvar_num(p_Give_AWP) != 1){
return ITEM_DISABLED;
}
}
return ITEM_ENABLED;
}
public event_round_start()
{
if(get_pcvar_num(p_Menu_Enable) == 1){
round_number++

if (round_number>1)
{
for (new id=1;id<=g_maxplayers;id++)
{
if (!is_user_connected(id)||is_user_bot(id))
continue
if(get_user_flags(id) & VIP_FLAG){
if(cs_get_user_team(id) == CS_TEAM_CT || CS_TEAM_T){
set_task(0.1, "mymenu", id, _, _, "a", 1)

}
}
}
}
}
}
public event_game_restart()
{
round_number=0
}
public fwHamPlayerSpawnPost(id)
if(get_user_flags(id) & VIP_FLAG)
{
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
}
if(is_user_connected(id) && get_user_flags(id) & VIP_FLAG)
{
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
if(get_pcvar_num(p_Start_He) == 1){
give_item(id, "weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang")
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade")
}
}
}
public vipinfo(id){
show_motd(id, "admin.html")
}
public client_authorized(id)
{
if(get_pcvar_num(p_Plugin_Exist) == 1){
set_task(get_pcvar_float(p_Plugin_Exist_Time), "vipInfoMessage", id, _, _, "b")
}
}
public vipInfoMessage(id)
{
if(!is_user_admin(id))
ChatColor(id,"%L",LANG_SERVER,"INFO_VIP_PLUGIN_EXIST")

}
public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/admin") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}

public print_adminlist(user)
{
if(get_pcvar_num(vipsOnline) == 1){
new adminnames[33][32]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len

for(id = 1; id <= maxplayers; id++)
if(is_user_connected(id))
if(get_user_flags(id) & VIP_FLAG)
get_user_name(id, adminnames[count++], 31)

len = format(message, 255, "%s Админы онлайн: ",COLOR)
if(count > 0) {
for(x = 0; x < count; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "%L", LANG_SERVER,"NO_VIPS_ONLLINE")
print_message(user, message)
}

get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Связь с главным админом -- %s", COLOR, contact)
print_message(user, contactinfo)
}
}
}
print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1049{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя SivAnOl
сообщение 30.11.2014, 14:17
Сообщение #10


Стаж: 16 лет

Сообщений: 416
Благодарностей: 49
Полезность: 13

При компиляции пишет ошибку на 28-й строке(
Прикрепленное изображение
Раньше компилировался вроде dntknw.gif
Как понял лишнее значение там. Но за что отвечает? И почему теперь ошибка...

UPD: разобрался. Не верно скопировано с сайта. Из-за переносов созданных автоматически.

Отредактировал: SivAnOl, - 30.11.2014, 14:33
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 30.11.2014, 14:38
Сообщение #11


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

SivAnOl, поправил )))
длина этой строки не помещалась в 1, сделал 2 )) все теперь нормально )
( интересно, какое на форуме ограничение символов в 1 строке в теге паун )

Скрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <fakemeta_util>

#pragma tabsize 0

#define PLUGIN "VIP"
#define VERSION "3.8"
#define AUTHOR "Extreem and vinipux"

#define VIP_FLAG ADMIN_LEVEL_A

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new vipsOnline
new g_awp_active
//Menu Items
new p_Menu_Enable, p_Give_AK47, p_Give_M4A1, p_Give_AWP


new bool:HasC4[33]
new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18};
new automaton[18] =
{CSW_P90,CSW_AK47,CSW_SG552,CSW_G3SG1,CSW_TMP,CSW_M4A1,CSW_M3,CSW_M249,CSW_MP5NA
VY,CSW_AWP,CSW_FAMAS,
CSW_SG550,CSW_UMP45,CSW_AUG,CSW_MAC10,CSW_XM1014,CSW_SCOUT,CSW_P228};



new INT_rounds = 0
new timer[33], cvar_menuoff

//Start Items
new p_Start_Deagle, p_Start_He, p_Start_Flash, p_Start_Smoke, round_number, g_maxplayers, p_Plugin_Exist, p_Plugin_Exist_Time
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /vip", "vipinfo")
register_clcmd("say /vipka", "vipinfo")
register_clcmd("say /wantvip", "vipinfo")
register_clcmd("say /adminka", "vipinfo")
register_dictionary("viplang.txt")
new configsDir[64]
get_configsdir(configsDir, 63)
register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
register_clcmd("awp","HandleCmd")
register_event("HLTV", "EVENT__round_start", "a", "1=0", "2=0")
p_Menu_Enable = register_cvar("menu_enable", "1")
p_Give_AK47 = register_cvar("menu_ak47", "1")
p_Give_M4A1 = register_cvar("menu_m4a1", "1")
p_Give_AWP = register_cvar("menu_awp", "1")
p_Start_Deagle = register_cvar("start_deagle", "1")
p_Start_He = register_cvar("start_hegrenade", "1")
p_Start_Flash = register_cvar("start_flash", "2")
p_Start_Smoke = register_cvar("start_smokegrenade","1")
p_Plugin_Exist = register_cvar("plugin_exist", "1")
p_Plugin_Exist_Time = register_cvar("plugin_exist_time", "180.0")
vipsOnline = register_cvar("show_vips", "1")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
//register_event("TextMsg", "event_game_restart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
g_maxplayers=get_maxplayers()
maxplayers = get_maxplayers()
register_clcmd("say", "handle_say")
register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
gmsgSayText = get_user_msgid("SayText")
cvar_menuoff = register_cvar("menuoff", "3")
g_awp_active = register_cvar("awp_active", "1")
}
stock ChatColor(const id,const input[],any:...)
{
new count = 1,players[32]
static msg[191]
vformat(msg,190,input,3)

replace_all(msg,190,"!g","^4")
replace_all(msg,190,"!y","^1")
replace_all(msg,190,"!team","^3")
replace_all(msg, 190,"!team2","^0")

if(id)players[0] = id;else get_players(players,count,"ch")
{
for (new i = 0;i < count;i++)
{
if(is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
}
public EVENT__round_start()
{
INT_rounds++
}
public HandleCmd(id){
if (get_pcvar_num(g_awp_active) == 1)
return PLUGIN_CONTINUE
if(!(get_user_flags(id) & VIP_FLAG))
return PLUGIN_CONTINUE
client_print(id, print_center, "%L", LANG_SERVER, "AWP_ONLY_FOR_VIP")
return PLUGIN_HANDLED
}

public event_CurWeapon(id){
if (get_pcvar_num(g_awp_active) == 1){
if(read_data(2) == CSW_AWP){
if(!(get_user_flags(id) & VIP_FLAG)){
client_print(id, print_center, "%L", LANG_SERVER, "AWP_ONLY_FOR_VIP")
client_cmd(id, "drop")
}

}
}
return PLUGIN_HANDLED
}
public mymenu(id){
if(is_user_alive(id))
{
timer[id] = get_pcvar_num(cvar_menuoff)
set_task(1.0, "destroy_menu", id, _, _, "b")
new MyMenu=menu_create("Выбери оружие ^n ^n","vipMenu");
new MyMenuFun=menu_makecallback("mcbMyMenu");
new m4a1[150]
formatex(m4a1, sizeof m4a1 - 1, "%L", id, "MENU_M4A1")
menu_additem(MyMenu,m4a1,"1",0,MyMenuFun);
new ak47[150]
formatex(ak47, sizeof ak47 - 1, "%L", id, "MENU_AK47")
menu_additem(MyMenu,ak47 ,"2",0,MyMenuFun);
new awp[150]
formatex(awp, sizeof awp - 1, "%L", id, "MENU_AWP")
menu_additem(MyMenu,awp,"3",0,MyMenuFun);
if(get_user_flags(id) & VIP_FLAG){
menu_display(id, MyMenu,0);
}
}
else{
ChatColor(id,"%L",LANG_SERVER,"NOT_VIP")
}
return PLUGIN_HANDLED;
}
public destroy_menu(id)
{
if (timer[id])
{
new text_timer[64]
formatex(text_timer, charsmax(text_timer), "У вас %d секунд что бы выбрать!", timer[id]);
if (timer[id] > 10)
set_hudmessage(255, 255, 255, 0.02, 0.42, 0, 0.0, 1.0, 1.0, 1.0)
else if (timer[id] > 5)
set_hudmessage(255, 255, 0, 0.02, 0.42, 0, 0.0, 1.0, 1.0, 1.0)
else
set_hudmessage(255, 0, 0, 0.02, 0.42, 1, 0.0, 1.0, 1.0, 1.0)
show_hudmessage(id, text_timer)
--timer[id]
}
else
{
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
}
public vipMenu(id, menu, item)
{
new data[7], iName[64];
new access, callback;

menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);

new key = str_to_num(data);

switch(key)
{
case 1:{
// Проверяем на все пистолеты
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}

give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 90)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_M4A1")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
case 2:
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_AK47")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню

}
case 3:{

if(round_number >= 3)
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
// Проверяем на все автоматы
for (new i = 0; i < 18; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, automaton[i]))
{
break;
}
}

if (user_has_weapon(id, CSW_C4)){
HasC4[id] = true;
}
else{
HasC4[id] = false;
}
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_He) == 1){
give_item(id,"weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang");
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade");
}
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack")
if (HasC4[id]){
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
ChatColor(id,"%L",LANG_SERVER,"GET_WEAPON_AWP")
remove_task(id)
show_menu(id, 0, "^n", 1) // Убераем меню
}
}
}

}


public mcbMyMenu(id, menu, item){
if(item==0){
if(get_pcvar_num(p_Give_M4A1) != 1){
return ITEM_DISABLED;
}
}
if(item==1){
if(get_pcvar_num(p_Give_AK47) != 1){
return ITEM_DISABLED;
}
}
if(item==2){
if(get_pcvar_num(p_Give_AWP) != 1){
return ITEM_DISABLED;
}
}
return ITEM_ENABLED;
}
public event_round_start()
{
if(get_pcvar_num(p_Menu_Enable) == 1){
round_number++

if (round_number>1)
{
for (new id=1;id<=g_maxplayers;id++)
{
if (!is_user_connected(id)||is_user_bot(id))
continue
if(get_user_flags(id) & VIP_FLAG){
if(cs_get_user_team(id) == CS_TEAM_CT || CS_TEAM_T){
set_task(0.1, "mymenu", id, _, _, "a", 1)

}
}
}
}
}
}
public event_game_restart()
{
round_number=0
}
public fwHamPlayerSpawnPost(id)
if(get_user_flags(id) & VIP_FLAG)
{
{
for (new i = 0; i < 6; i++)
{
// Если у игрока есть пистолет с заданным индексом
// забираем пистолет и выходим из цикла
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
}
}
if(is_user_connected(id) && get_user_flags(id) & VIP_FLAG)
{
give_item(id,"weapon_knife")
if(get_pcvar_num(p_Start_Deagle) == 1){
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else if(cs_get_user_team(id) == CS_TEAM_CT){
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 24)
}
else if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 40)
}
if(get_pcvar_num(p_Start_He) == 1){
give_item(id, "weapon_hegrenade")
}
if(get_pcvar_num(p_Start_Flash) == 1){
give_item(id, "weapon_flashbang")
}
else if(get_pcvar_num(p_Start_Flash) == 2){
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
}
if(get_pcvar_num(p_Start_Smoke) == 1){
give_item(id, "weapon_smokegrenade")
}
}
}
public vipinfo(id){
show_motd(id, "admin.html")
}
public client_authorized(id)
{
if(get_pcvar_num(p_Plugin_Exist) == 1){
set_task(get_pcvar_float(p_Plugin_Exist_Time), "vipInfoMessage", id, _, _, "b")
}
}
public vipInfoMessage(id)
{
if(!is_user_admin(id))
ChatColor(id,"%L",LANG_SERVER,"INFO_VIP_PLUGIN_EXIST")

}
public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/admin") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}

public print_adminlist(user)
{
if(get_pcvar_num(vipsOnline) == 1){
new adminnames[33][32]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len

for(id = 1; id <= maxplayers; id++)
if(is_user_connected(id))
if(get_user_flags(id) & VIP_FLAG)
get_user_name(id, adminnames[count++], 31)

len = format(message, 255, "%s Админы онлайн: ",COLOR)
if(count > 0) {
for(x = 0; x < count; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "%L", LANG_SERVER,"NO_VIPS_ONLLINE")
print_message(user, message)
}

get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Связь с главным админом -- %s", COLOR, contact)
print_message(user, contactinfo)
}
}
}
print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}


Отредактировал: MiXa, - 30.11.2014, 14:39


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя SivAnOl
сообщение 30.11.2014, 15:46
Сообщение #12


Стаж: 16 лет

Сообщений: 416
Благодарностей: 49
Полезность: 13

MiXa, не против, если ссылку на решение на Ваш пост скину в тему этого плагина?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 30.11.2014, 15:50
Сообщение #13


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

SivAnOl, нет, не против )


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 3 гостей читают эту тему: