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

Работа меню после 2 раунда

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

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

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

Работа меню после 2 раунда

Сообщение DeIIyTaT » 03 янв 2019, 15:16

Сейчас меню работает после 1 раунда . Как сделать чтобы меню работала после 2 раунда , То-есть когда начался 3 раунд. Можете сказать что нужно сменить. Благодарю за помощь ! :thumbs_up
Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <engine>
#include <cstrike>
#include <fun>
#include <dhudmessage>
 
#pragma tabsize 0
 
new keys 
= MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
 
#define PLUGIN "AdminMenu"
#define VERSION "3.0"
#define AUTHOR "CSSURF.RU"
 
new Spawn
[33], Money[33], PlayerSpawn[33], PlayerSpeed[33], Spead[33], HP[33], PlayerGrav[33], Speed[33], Grava[33], PlayerMoney[33]
 
 
public plugin_init
()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   register_menu("Menu 1", keys, "func_menu")
   register_clcmd("adminmenu", "AdminMenu")
   register_event("CurWeapon", "MaxPlayerSpeed", "be", "1=1")
   RegisterHam(Ham_Spawn, "player", "PlayerSpawns",1)
   register_event("HLTV", "RoundNew", "a", "1=0", "2=0")
}
public client_connect(id)
{
    Spawn[id] = 3
}
public RoundNew()
{
   for(new id = 1;id <= get_maxplayers(); id++)
   {
      Speed[id] = 2
      Grava
[id] = 2
      PlayerSpawn
[id] = 3
      PlayerSpeed
[id] = 3
      PlayerGrav
[id] = 3
      Money
[id] = 3
      HP
[id] = 1
      PlayerMoney
[id] = 3
   
}
}
public PlayerSpawns()
{
   for(new id = 1;id <= get_maxplayers(); id++)
   {
      Spead[id] = false
   
   
}
}
public client_authorized(id)
{
   if (get_user_flags(id) & ADMIN_CFG)
   {
   new player_name[32]
   get_user_name(id, player_name, 31)
   set_dhudmessage( 255, 0, 0, -1.0, 0.25, 0, 10.0, 3.0, 0.1, 1.5 );
   show_dhudmessage(0, "[Гл.Админ] %s заходит на сервер! Соблюдаем правила игры !",player_name );
   }
   else if (get_user_flags(id) & ADMIN_LEVEL_A)
   {
   new player_name[32]
   get_user_name(id, player_name, 31)
   set_dhudmessage( 255, 0, 0, -1.0, 0.25, 0, 10.0, 3.0, 0.1, 1.5 );
   show_dhudmessage(0, "[Админ] %s заходит на сервер! Читеры бегите Лесом !",player_name );
   }
}
public AdminMenu(id)
{
   static menu[650], Len
   Len 
= 0
   Len 
= formatex(menu[Len], charsmax(menu) - Len, "\rАдмин Меню + [\yVIP\r]^n\dBy \yDeIIyTaT \r| \yCSSURF.RU^n^n \yКупить Адм \rCSSURF.RU\w/\rBUY^n^n");
   
   
   if
(get_user_flags(id) & ADMIN_LEVEL_A)
   {
   if(Spawn[id] == 0)
   {
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d1. Воскреснуть \d[\r%d\d]^n^n", Spawn[id])
   keys &= ~MENU_KEY_1
   
}else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\y1. \wВоскреснуть \d[\r%d\d]^n^n", Spawn[id])
   keys |= MENU_KEY_1  
         
}
   }else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d1. Воскреснуть \d[\r%d\d]^n^n", Spawn[id])
   keys &= ~MENU_KEY_1
         
}
   if(get_user_flags(id) & ADMIN_LEVEL_A)
   {
   if(Grava[id] == 0)
   {
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d2. Гравитация^n", Grava[id])
   keys &= ~MENU_KEY_2
   
}else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\y2. \wГравитация^n", Grava[id])
   keys |= MENU_KEY_2  
         
}
   }else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d2. Гравитация^n", Grava[id])
   keys &= ~MENU_KEY_2
         
}      
   
   if
(get_user_flags(id) & ADMIN_LEVEL_A)
   {
   if(Speed[id] == 0)
   {
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d3. Скорость^n", Speed[id])
   keys &= ~MENU_KEY_3
   
}else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\y3. \wСкорость^n", Speed[id])
   keys |= MENU_KEY_3  
         
}
   }else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d3. Скорость^n", Speed[id])
   keys &= ~MENU_KEY_3
         
}  
         
   if
(get_user_flags(id) & ADMIN_LEVEL_A)
   {
   if(HP[id] == 0)
   {
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d4. Взять \d[\rЖизни и Броню\d]^n", HP[id])
   keys &= ~MENU_KEY_4
   
}else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\y4. \wВзять \d[\rЖизни и Броню\d]^n", HP[id])
   keys |= MENU_KEY_4  
         
}
   }else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d4. Взять \d[\rЖизни и Броню\d]^n", HP[id])
   keys &= ~MENU_KEY_4
         
}      
   if
(get_user_flags(id) & ADMIN_LEVEL_A)
   {
   if(Money[id] == 0)
   {
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d5. Взять \d[\r50000$\d] ^n^n", Money[id])
   keys &= ~MENU_KEY_5
   
}else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\y5. \wВзять \d[\r50000$\d] ^n^n", Money[id])
   keys |= MENU_KEY_5  
         
}
   }else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d5. Взять \d[\r50000$\d] ^n^n", Money[id])
   keys &= ~MENU_KEY_5
         
}    
   
   if
(get_user_flags(id) & ADMIN_LEVEL_A)
   {
   if(PlayerSpawn[id] == 0)
   {
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d6. Возродить Игрока \d[\r%d\d]^n", PlayerSpawn[id])
   keys &= ~MENU_KEY_6
   
}else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\y6. \wВозродить Игрока \d[\r%d\d]^n", PlayerSpawn[id])
   keys|= MENU_KEY_6  
         
}
   }else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d6. Возродить Игрока \d[\r%d\d]^n", PlayerSpawn[id])
   keys &= ~MENU_KEY_6
         
}
   if(get_user_flags(id) & ADMIN_LEVEL_A)
   {
   if(PlayerGrav[id] == 0)
   {
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d7. Подарить Гравитацию \d[\r%d\d]^n", PlayerGrav[id])
   keys &= ~MENU_KEY_7
   
}else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\y7. \wПодарить Гравитацию \d[\r%d\d]^n", PlayerGrav[id])
   keys|= MENU_KEY_7  
         
}
   }else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d7. Подарить Гравитацию \d[\r%d\d]^n", PlayerGrav[id])
   keys &= ~MENU_KEY_7
         
}      
         
   if
(get_user_flags(id) & ADMIN_LEVEL_A)
   {
   if(PlayerSpeed[id] == 0)
   {
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d8. Подарить Скорость \d[\r%d\d]^n", PlayerSpeed[id])
   keys &= ~MENU_KEY_8
   
}else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\y8. \wПодарить Скорость \d[\r%d\d]^n", PlayerSpeed[id])
   keys|= MENU_KEY_8  
         
}
   }else{
   Len += formatex(menu[Len], charsmax(menu) - Len, "\d8. Подарить Скорость \d[\r%d\d]^n", PlayerSpeed[id])
   keys &= ~MENU_KEY_8
    
}
    
   if
(get_user_flags(id) & ADMIN_LEVEL_A)
        {
        if(PlayerMoney[id] == 0)
        {
        Len += formatex(menu[Len], charsmax(menu) - Len, "\d9. Подарить Денег\d[\r%d\d]^n^n", PlayerMoney[id])
        keys &= ~MENU_KEY_9
        
}else{
        Len += formatex(menu[Len], charsmax(menu) - Len, "\y9. \wПодарить Денег\d[\r%d\d]^n^n", PlayerMoney[id])
        keys|= MENU_KEY_9     
              
}
        }else{
        Len += formatex(menu[Len], charsmax(menu) - Len, "\d9. Подарить Денег\d[\r%d\d]^n^n", PlayerMoney[id])
        keys &= ~MENU_KEY_9
              
} 
   
   
   Len 
+= formatex(menu[Len], charsmax(menu) - Len, "\y0. \wВыход^n")
   keys |= MENU_KEY_0
   
   show_menu
(id, keys, menu, -1, "Menu 1");
   return PLUGIN_HANDLED
}
 
public func_menu
(id, key)
{
   switch(key)
   {
      case 0:
      {
      if(Spawn[id] == 0)
      {
         return PLUGIN_CONTINUE
      
}
      else
      
{
         Spawn[id] = Spawn[id] -1
         ExecuteHam
(Ham_CS_RoundRespawn, id)
         AdminMenu(id)
            }  
 
      
}
      case 1:
      {
         {
      if(Grava[id] == 0)
      {
         return PLUGIN_CONTINUE
      
}else{
         Grava[id] = Grava[id] -1
         set_user_gravity
(id, 0.5)  
         AdminMenu
(id)
            }  
 
      
}
   }
   case 2:
   {
         {
      if(Speed[id] == 0)
      {
         return PLUGIN_CONTINUE
      
}else{
         Speed[id] = Speed[id] -1
         set_user_maxspeed
(id, 400.0)
         Spead[id] = true
         AdminMenu
(id)
            }  
 
      
}
   }
      case 3:
      {
      if(HP[id] == 0)
      {
         return PLUGIN_CONTINUE
      
}else{
         HP[id] = HP[id] -1
         set_user_health
(id, 100)
         set_user_armor(id, 250)
         AdminMenu(id)
            }  
 
      
}
      case 4:
      {
      if(Money[id] == 0)
      {
         return PLUGIN_CONTINUE
      
}else{
         Money[id] = Money[id] -1
         cs_set_user_money
(id, cs_get_user_money(id) + 50000)
         AdminMenu(id)
            }  
 
      
}
      case 5:
      {
      if(PlayerSpawn[id] == 0)
      {
         return PLUGIN_CONTINUE
      
}else{
         PlayerSpawn[id] = PlayerSpawn[id] -1
         SpawnPlayer
(id)
            }    
      
}
      case 6:
         {
      if(PlayerGrav[id] == 0)
      {
         return PLUGIN_CONTINUE
      
}else{
         PlayerGrav[id] = PlayerGrav[id] -1
         GravPlayer
(id)
            }    
                 
}
      case 7:
         {
      if(PlayerSpeed[id] == 0)
      {
         return PLUGIN_CONTINUE
      
}else{
         PlayerSpeed[id] = PlayerSpeed[id] -1
         SpeedPlayer
(id)
            }    
                 
}
      case 8:
             {
       if(PlayerMoney[id] == 0)
                {
          return PLUGIN_CONTINUE
                
}else{
          PlayerMoney[id] = PlayerMoney[id] -1
          MoneyPlayer
(id)
                 }        
                
}
                 }      
   return PLUGIN_HANDLED
}
public MaxPlayerSpeed(id)
{
     if(Spead[id])
     {
          set_user_maxspeed(id, 400.0)
     }
}
public SpawnPlayer(id)
{
    new i_Menu = menu_create("\wВыбери Игрока", "menu_handler")
    new s_Players[32], i_Num, i_Player, msg[222]
    new s_Name[32], s_Player[10]
    get_players(s_Players, i_Num)
    for (new i; i < i_Num; i++)
    {
           i_Player = s_Players[i]
           get_user_name(i_Player, s_Name, charsmax(s_Name))
           num_to_str(i_Player, s_Player, charsmax(s_Player))
           if(is_user_alive(i_Player))
           {
                formatex(msg, charsmax(msg), "\d%s (\rЖивой\d)", s_Name)
                menu_additem(i_Menu, msg, s_Player, 0)
           }
           else
           
{
                formatex(msg, charsmax(msg), "%s", s_Name)
                menu_additem(i_Menu, msg, s_Player, 0)
           }
           menu_setprop(i_Menu, MPROP_NEXTNAME, "Дальше")
           menu_setprop(i_Menu, MPROP_BACKNAME, "Назад")
           menu_setprop(i_Menu, MPROP_EXITNAME, "Закрыть")
    }
    menu_display(id, i_Menu, 0)
}
 
public menu_handler
(id, menu, item)
{
    if (item == MENU_EXIT)
    {
           menu_destroy(menu)
           return PLUGIN_HANDLED
    
}
 
    new s_Data
[6], s_Name[64], i_Access, i_Callback
    menu_item_getinfo
(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
    new i_Player = str_to_num(s_Data)
    new name[32]
    new name2[32]
    get_user_name(id, name, 31)
    get_user_name(i_Player, name2, 31)
    if(id == i_Player)
    {
           AdminMenu(id)
    }
    else
    
{
            ExecuteHam(Ham_CS_RoundRespawn, i_Player)
       ChatColor(0, "!y[!gАдмин Меню!y] !yАдминистратор !g%s !yвоскресил игрока !g%s", name, name2)
             AdminMenu(id)
    }
 
    menu_destroy
(menu)
    return PLUGIN_HANDLED
}
public SpeedPlayer(id)
{
     if(get_user_flags(id) & ADMIN_LEVEL_A)
     {
   new menu = menu_create( "\wВыбери Игрока", "SpeedName" )
   new players[32], pnum, tempid
   new szName
[32], szTempid[10]
   cs_get_user_team(id)
 
   get_players
(players, pnum)
 
   for
(new i; i<pnum; i++)
   {
      cs_get_user_team(players[i])
     
      tempid 
= players[i]
 
      if
(!is_user_alive(tempid))
      {  
      
}
                else if(get_user_maxspeed(tempid) < 700)
                {
         get_user_name(tempid, szName, 31)
         num_to_str(tempid, szTempid, 9)
 
         menu_additem
(menu, szName, szTempid, 0)
                 }
           menu_setprop(menu, MPROP_NEXTNAME, "Дальше")
           menu_setprop(menu, MPROP_BACKNAME, "Назад")
           menu_setprop(menu, MPROP_EXITNAME, "Закрыть")
    }
    menu_display(id, menu, 0)
}
 
     return PLUGIN_HANDLED
}
 
public SpeedName
(id, menu, item)
{
   if(item == MENU_EXIT)
   {
      menu_destroy(menu)
      return PLUGIN_HANDLED
   
}
 
   new data
[6], iName[64], playername[33], playername2[33]
   new access, callback
   menu_item_getinfo
(menu, item, access, data,5, iName, 63, callback)
 
   new tempid 
= str_to_num(data)
   cs_get_user_team(tempid)
   
   get_user_name
(id, playername, 32)
   get_user_name(tempid, playername2, 32)
 
   set_user_maxspeed
(tempid, 500.0)
   ChatColor(0, "!y[!gАдмин Меню!y] !yАдминистратор !g%s !yДал Скорость игроку !g%s", playername, playername2)
        Spead[id] = true
    AdminMenu
(id)
 
   menu_destroy
(menu)
   return PLUGIN_HANDLED
}
public GravPlayer(id)
{
     if(get_user_flags(id) & ADMIN_LEVEL_A)
     {
   new menu = menu_create( "\yВыбери Игрока", "GravaPlayer" )
   new players[32], pnum, tempid
   new szName
[32], szTempid[10]
   cs_get_user_team(id)
 
   get_players
(players, pnum)
 
   for
(new i; i<pnum; i++)
   {
   cs_get_user_team(players[i])
     
   tempid 
= players[i]
 
   if
(!is_user_alive(tempid))
   {  
   
}
   else if(get_user_gravity(tempid) > 0.35)
   {
   get_user_name(tempid, szName, 31)
   num_to_str(tempid, szTempid, 9)
 
   menu_additem
(menu, szName, szTempid, 0)
   }
   }
   menu_setprop( menu, MPROP_NEXTNAME, "Дальше")
   menu_setprop( menu, MPROP_BACKNAME, "Назад")
   menu_setprop( menu, MPROP_EXITNAME, "Выход")    
   
//menu_setprop( menu, MPROP_PERPAGE, 0)
   menu_display(id, menu, 0)
   }
     return PLUGIN_HANDLED
}
 
public GravaPlayer
(id, menu, item)
{
   
   
{
   if(item == MENU_EXIT)
   {
      menu_destroy(menu)
      return PLUGIN_HANDLED
   
}
 
   new data
[6], iName[64], playername[33], playername2[33]
   new access, callback
   menu_item_getinfo
(menu, item, access, data,5, iName, 63, callback)
 
   new tempid 
= str_to_num(data)
   cs_get_user_team(tempid)
   
   get_user_name
(id, playername, 32)
   get_user_name(tempid, playername2, 32)
 
   set_user_gravity
(tempid, 0.5)
   ChatColor(0, "!y[!gАдмин Меню!y] !yАдминистратор !g%s !yДал Гравитацию игроку !g%s", playername, playername2)
          AdminMenu(id)
    }
 
 
   menu_destroy
(menu)
   return PLUGIN_HANDLED
}
public MoneyPlayer(id)
{
     if(get_user_flags(id) & ADMIN_LEVEL_A)
     {
        new menu = menu_create( "\wВыбири Игрока", "menu_money" )
        new players[32], pnum, tempid
        new szName
[32], szTempid[10]
        cs_get_user_team(id)
 
        get_players
(players, pnum)
 
        for
(new i; i<pnum; i++)
        {
                cs_get_user_team(players[i])
               
                tempid 
= players[i]
 
                if
(!is_user_connected(tempid))
                {      
                
}
                else if(cs_get_user_money(tempid) < 999999)
                {
                        get_user_name(tempid, szName, 31)
                        num_to_str(tempid, szTempid, 9)
 
                        menu_additem
(menu, szName, szTempid, 0)
                }
        }
 
        menu_display
(id, menu, 0)
     }
     return PLUGIN_HANDLED
}
 
public menu_money
(id, menu, item)
{
   {
        if(item == MENU_EXIT)
        {
                menu_destroy(menu)
                return PLUGIN_HANDLED
        
}
 
        new data
[6], iName[64], playername[33], playername2[33]
        new access, callback
        menu_item_getinfo
(menu, item, access, data,5, iName, 63, callback)
 
        new tempid 
= str_to_num(data)
        cs_get_user_team(tempid)
       
        get_user_name
(id, playername, 32)
        get_user_name(tempid, playername2, 32)
 
        cs_set_user_money
(tempid,cs_get_user_money(id) + 16000)
        client_cmd(id,"money_menu")
        ChatColor(0, "!y[!gАдмин Меню!y] !yАдминистратор !g%s !yДал !g16000$!y игроку !g%s", playername, playername2)
        AdminMenu(id)
     }
        menu_destroy(menu)
        return PLUGIN_HANDLED
}

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") // Green Color
    replace_all(msg, 190, "!y", "^1") // Default Color
    replace_all(msg, 190, "!team", "^3") // Team Color
    replace_all(msg, 190, "!team2", "^0") // Team2 Color
   
    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();
            }
        }
    }
}
Мой проект CSSURF.RU | SURF Сервера с RPG
amx-x.ru - Вы красавчики спасибо что вы есть ! :thumbs_up
Аватара пользователя
DeIIyTaT
 
Сообщения: 50
Зарегистрирован: 29 авг 2014, 13:53
Благодарил (а): 10 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6
html,php

Re: Работа меню после 2 раунда

Сообщение Vaqtincha » 03 янв 2019, 16:22

"[Админ] %s заходит на сервер! Читеры бегите Лесом !"
Ого! Ведь функции плагина подтверждение того что сам админ является читером неадекватом...
Лучше написать:
"[Админ] %s заходит на сервер! Внимание игрокам! Начался дизбаланс!"
Аватара пользователя
Vaqtincha
 
Сообщения: 151
Зарегистрирован: 28 мар 2018, 15:05
Благодарил (а): 3 раз.
Поблагодарили: 35 раз.

Re: Работа меню после 2 раунда

Сообщение DeIIyTaT » 05 янв 2019, 14:12

учту !
Мой проект CSSURF.RU | SURF Сервера с RPG
amx-x.ru - Вы красавчики спасибо что вы есть ! :thumbs_up
Аватара пользователя
DeIIyTaT
 
Сообщения: 50
Зарегистрирован: 29 авг 2014, 13:53
Благодарил (а): 10 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6
html,php

Re: Работа меню после 2 раунда

Сообщение Програмист » 05 янв 2019, 18:57

Не очень уверен что правильно, но в голове представляю себе так. Не критикуйте сильно, я только учусь)
Код: Выделить всё

public RoundNew
()
{
   for(new id = 1;id <= get_maxplayers(); id++)
   {
      Speed[id] = 2
      Grava
[id] = 2
      PlayerSpawn
[id] = 3
      PlayerSpeed
[id] = 3
      PlayerGrav
[id] = 3
      Money
[id] = 3
      HP
[id] = 1
      PlayerMoney
[id] = 3
   
}
   for(new round = 1; round <=2; round++){
        menu()
   }
}
Аватара пользователя
Програмист
 
Сообщения: 7
Зарегистрирован: 28 май 2017, 13:27
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца
Языки программирования: Pawn

Re: Работа меню после 2 раунда

Сообщение Vaas » 05 янв 2019, 22:57

Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <engine>
#include <cstrike>
#include <fun>
#include <dhudmessage>


new keys MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0

#define PLUGIN "AdminMenu"
#define VERSION "3.0"
#define AUTHOR "CSSURF.RU"

new Spawn[33], Money[33], PlayerSpawn[33], PlayerSpeed[33], Spead[33], HP[33], PlayerGrav[33], Speed[33], Grava[33], PlayerMoney[33], iRound 


public plugin_init()
{
register_plugin(PLUGINVERSIONAUTHOR)
register_menu("Menu 1"keys"func_menu")
register_clcmd("adminmenu""AdminMenu")
register_event("CurWeapon""MaxPlayerSpeed""be""1=1")
RegisterHam(Ham_Spawn"player""PlayerSpawns",1)
register_event("HLTV""RoundNew""a""1=0""2=0")   
register_logevent("RestartGame"2"1&Restart_Round_")
}
public 
client_connect(id)
{
Spawn[id] = 3
}
public 
RoundNew()
{      
iRound++
for(new 
id 1;id <= get_maxplayers(); id++)
{
Speed[id] = 2
Grava
[id] = 2
PlayerSpawn
[id] = 3
PlayerSpeed
[id] = 3
PlayerGrav
[id] = 3
Money
[id] = 3
HP
[id] = 1
PlayerMoney
[id] = 3
}
}   
public 
RestartGame() iRound 0
public PlayerSpawns()
{
for(new 
id 1;id <= get_maxplayers(); id++)
{
Spead[id] = false

}
}
public 
client_authorized(id)
{
if (
get_user_flags(id) & ADMIN_CFG)
{
new 
player_name[32]
get_user_name(idplayer_name31)
set_dhudmessage25500, -1.00.25010.03.00.11.5 );
show_dhudmessage(0"[Гл.Админ] %s заходит на сервер! Соблюдаем правила игры !",player_name );
}
else if (
get_user_flags(id) & ADMIN_LEVEL_A)
{
new 
player_name[32]
get_user_name(idplayer_name31)
set_dhudmessage25500, -1.00.25010.03.00.11.5 );
show_dhudmessage(0"[Админ] %s заходит на сервер! Читеры бегите Лесом !",player_name );
}
}
public 
AdminMenu(id)
{        
if(
iRound <= 2) return client_print(id,print_center,"Меню доступно только с 3 раунда!")
static 
menu[650], Len
Len 
0
Len 
formatex(menu[Len], charsmax(menu) - Len"\rАдмин Меню + [\yVIP\r]^n\dBy \yDeIIyTaT \r| \yCSSURF.RU^n^n \yКупить Адм \rCSSURF.RU\w/\rBUY^n^n");


if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
if(
Spawn[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len"\d1. Воскреснуть \d[\r%d\d]^n^n"Spawn[id])
keys &= ~MENU_KEY_1
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\y1. \wВоскреснуть \d[\r%d\d]^n^n"Spawn[id])
keys |= MENU_KEY_1  
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\d1. Воскреснуть \d[\r%d\d]^n^n"Spawn[id])
keys &= ~MENU_KEY_1
}
if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
if(
Grava[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len"\d2. Гравитация^n"Grava[id])
keys &= ~MENU_KEY_2
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\y2. \wГравитация^n"Grava[id])
keys |= MENU_KEY_2  
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\d2. Гравитация^n"Grava[id])
keys &= ~MENU_KEY_2
}      

if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
if(
Speed[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len"\d3. Скорость^n"Speed[id])
keys &= ~MENU_KEY_3
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\y3. \wСкорость^n"Speed[id])
keys |= MENU_KEY_3  
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\d3. Скорость^n"Speed[id])
keys &= ~MENU_KEY_3
}  

if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
if(
HP[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len"\d4. Взять \d[\rЖизни и Броню\d]^n"HP[id])
keys &= ~MENU_KEY_4
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\y4. \wВзять \d[\rЖизни и Броню\d]^n"HP[id])
keys |= MENU_KEY_4  
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\d4. Взять \d[\rЖизни и Броню\d]^n"HP[id])
keys &= ~MENU_KEY_4
}      
if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
if(
Money[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len"\d5. Взять \d[\r50000$\d] ^n^n"Money[id])
keys &= ~MENU_KEY_5
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\y5. \wВзять \d[\r50000$\d] ^n^n"Money[id])
keys |= MENU_KEY_5  
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\d5. Взять \d[\r50000$\d] ^n^n"Money[id])
keys &= ~MENU_KEY_5
}    

if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
if(
PlayerSpawn[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len"\d6. Возродить Игрока \d[\r%d\d]^n"PlayerSpawn[id])
keys &= ~MENU_KEY_6
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\y6. \wВозродить Игрока \d[\r%d\d]^n"PlayerSpawn[id])
keys|= MENU_KEY_6  
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\d6. Возродить Игрока \d[\r%d\d]^n"PlayerSpawn[id])
keys &= ~MENU_KEY_6
}
if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
if(
PlayerGrav[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len"\d7. Подарить Гравитацию \d[\r%d\d]^n"PlayerGrav[id])
keys &= ~MENU_KEY_7
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\y7. \wПодарить Гравитацию \d[\r%d\d]^n"PlayerGrav[id])
keys|= MENU_KEY_7  
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\d7. Подарить Гравитацию \d[\r%d\d]^n"PlayerGrav[id])
keys &= ~MENU_KEY_7
}      

if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
if(
PlayerSpeed[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len"\d8. Подарить Скорость \d[\r%d\d]^n"PlayerSpeed[id])
keys &= ~MENU_KEY_8
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\y8. \wПодарить Скорость \d[\r%d\d]^n"PlayerSpeed[id])
keys|= MENU_KEY_8  
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\d8. Подарить Скорость \d[\r%d\d]^n"PlayerSpeed[id])
keys &= ~MENU_KEY_8
}

if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
if(
PlayerMoney[id] == 0)
{
Len += formatex(menu[Len], charsmax(menu) - Len"\d9. Подарить Денег\d[\r%d\d]^n^n"PlayerMoney[id])
keys &= ~MENU_KEY_9
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\y9. \wПодарить Денег\d[\r%d\d]^n^n"PlayerMoney[id])
keys|= MENU_KEY_9     
}
}else{
Len += formatex(menu[Len], charsmax(menu) - Len"\d9. Подарить Денег\d[\r%d\d]^n^n"PlayerMoney[id])
keys &= ~MENU_KEY_9



Len += formatex(menu[Len], charsmax(menu) - Len"\y0. \wВыход^n")
keys |= MENU_KEY_0

show_menu
(idkeysmenu, -1"Menu 1");
return 
PLUGIN_HANDLED
}

public 
func_menu(idkey)
{
switch(
key)
{
case 
0:
{
if(
Spawn[id] == 0)
{
return 
PLUGIN_CONTINUE
}
else
{
Spawn[id] = Spawn[id] -1
ExecuteHam
(Ham_CS_RoundRespawnid)
AdminMenu(id)
}  

}
case 
1:
{
{
if(
Grava[id] == 0)
{
return 
PLUGIN_CONTINUE
}else{
Grava[id] = Grava[id] -1
set_user_gravity
(id0.5)  
AdminMenu(id)
}  

}
}
case 
2:
{
{
if(
Speed[id] == 0)
{
return 
PLUGIN_CONTINUE
}else{
Speed[id] = Speed[id] -1
set_user_maxspeed
(id400.0)
Spead[id] = true
AdminMenu
(id)
}  

}
}
case 
3:
{
if(
HP[id] == 0)
{
return 
PLUGIN_CONTINUE
}else{
HP[id] = HP[id] -1
set_user_health
(id100)
set_user_armor(id250)
AdminMenu(id)
}  

}
case 
4:
{
if(
Money[id] == 0)
{
return 
PLUGIN_CONTINUE
}else{
Money[id] = Money[id] -1
cs_set_user_money
(idcs_get_user_money(id) + 50000)
AdminMenu(id)
}  

}
case 
5:
{
if(
PlayerSpawn[id] == 0)
{
return 
PLUGIN_CONTINUE
}else{
PlayerSpawn[id] = PlayerSpawn[id] -1
SpawnPlayer
(id)
}    
}
case 
6:
{
if(
PlayerGrav[id] == 0)
{
return 
PLUGIN_CONTINUE
}else{
PlayerGrav[id] = PlayerGrav[id] -1
GravPlayer
(id)
}    
}
case 
7:
{
if(
PlayerSpeed[id] == 0)
{
return 
PLUGIN_CONTINUE
}else{
PlayerSpeed[id] = PlayerSpeed[id] -1
SpeedPlayer
(id)
}    
}
case 
8:
{
if(
PlayerMoney[id] == 0)
{
return 
PLUGIN_CONTINUE
}else{
PlayerMoney[id] = PlayerMoney[id] -1
MoneyPlayer
(id)
}        
}
}      
return 
PLUGIN_HANDLED
}
public 
MaxPlayerSpeed(id)
{
if(
Spead[id])
{
set_user_maxspeed(id400.0)
}
}
public 
SpawnPlayer(id)
{
new 
i_Menu menu_create("\wВыбери Игрока""menu_handler")
new 
s_Players[32], i_Numi_Playermsg[222]
new 
s_Name[32], s_Player[10]
get_players(s_Playersi_Num)
for (new 
ii_Numi++)
{
i_Player s_Players[i]
get_user_name(i_Players_Namecharsmax(s_Name))
num_to_str(i_Players_Playercharsmax(s_Player))
if(
is_user_alive(i_Player))
{
formatex(msgcharsmax(msg), "\d%s (\rЖивой\d)"s_Name)
menu_additem(i_Menumsgs_Player0)
}
else
{
formatex(msgcharsmax(msg), "%s"s_Name)
menu_additem(i_Menumsgs_Player0)
}
menu_setprop(i_MenuMPROP_NEXTNAME"Дальше")
menu_setprop(i_MenuMPROP_BACKNAME"Назад")
menu_setprop(i_MenuMPROP_EXITNAME"Закрыть")
}
menu_display(idi_Menu0)
}

public 
menu_handler(idmenuitem)
{
if (
item == MENU_EXIT)
{
menu_destroy(menu)
return 
PLUGIN_HANDLED
}

new 
s_Data[6], s_Name[64], i_Accessi_Callback
menu_item_getinfo
(menuitemi_Accesss_Datacharsmax(s_Data), s_Namecharsmax(s_Name), i_Callback)
new 
i_Player str_to_num(s_Data)
new 
name[32]
new 
name2[32]
get_user_name(idname31)
get_user_name(i_Playername231)
if(
id == i_Player)
{
AdminMenu(id)
}
else
{
ExecuteHam(Ham_CS_RoundRespawni_Player)
ChatColor(0"!y[!gАдмин Меню!y] !yАдминистратор !g%s !yвоскресил игрока !g%s"namename2)
AdminMenu(id)
}

menu_destroy(menu)
return 
PLUGIN_HANDLED
}
public 
SpeedPlayer(id)
{
if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
new 
menu menu_create"\wВыбери Игрока""SpeedName" )
new 
players[32], pnumtempid
new szName[32], szTempid[10]
cs_get_user_team(id)

get_players(playerspnum)

for(new 
ii<pnumi++)
{
cs_get_user_team(players[i])

tempid players[i]

if(!
is_user_alive(tempid))
{  
}
else if(
get_user_maxspeed(tempid) < 700)
{
get_user_name(tempidszName31)
num_to_str(tempidszTempid9)

menu_additem(menuszNameszTempid0)
}
menu_setprop(menuMPROP_NEXTNAME"Дальше")
menu_setprop(menuMPROP_BACKNAME"Назад")
menu_setprop(menuMPROP_EXITNAME"Закрыть")
}
menu_display(idmenu0)
}

return 
PLUGIN_HANDLED
}

public 
SpeedName(idmenuitem)
{
if(
item == MENU_EXIT)
{
menu_destroy(menu)
return 
PLUGIN_HANDLED
}

new 
data[6], iName[64], playername[33], playername2[33]
new 
accesscallback
menu_item_getinfo
(menuitemaccessdata,5iName63callback)

new 
tempid str_to_num(data)
cs_get_user_team(tempid)

get_user_name(idplayername32)
get_user_name(tempidplayername232)

set_user_maxspeed(tempid500.0)
ChatColor(0"!y[!gАдмин Меню!y] !yАдминистратор !g%s !yДал Скорость игроку !g%s"playernameplayername2)
Spead[id] = true
AdminMenu
(id)

menu_destroy(menu)
return 
PLUGIN_HANDLED
}
public 
GravPlayer(id)
{
if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
new 
menu menu_create"\yВыбери Игрока""GravaPlayer" )
new 
players[32], pnumtempid
new szName[32], szTempid[10]
cs_get_user_team(id)

get_players(playerspnum)

for(new 
ii<pnumi++)
{
cs_get_user_team(players[i])

tempid players[i]

if(!
is_user_alive(tempid))
{  
}
else if(
get_user_gravity(tempid) > 0.35)
{
get_user_name(tempidszName31)
num_to_str(tempidszTempid9)

menu_additem(menuszNameszTempid0)
}
}
menu_setpropmenuMPROP_NEXTNAME"Дальше")
menu_setpropmenuMPROP_BACKNAME"Назад")
menu_setpropmenuMPROP_EXITNAME"Выход")    
//menu_setprop( menu, MPROP_PERPAGE, 0)
menu_display(idmenu0)
}
return 
PLUGIN_HANDLED
}

public 
GravaPlayer(idmenuitem)
{

{
if(
item == MENU_EXIT)
{
menu_destroy(menu)
return 
PLUGIN_HANDLED
}

new 
data[6], iName[64], playername[33], playername2[33]
new 
accesscallback
menu_item_getinfo
(menuitemaccessdata,5iName63callback)

new 
tempid str_to_num(data)
cs_get_user_team(tempid)

get_user_name(idplayername32)
get_user_name(tempidplayername232)

set_user_gravity(tempid0.5)
ChatColor(0"!y[!gАдмин Меню!y] !yАдминистратор !g%s !yДал Гравитацию игроку !g%s"playernameplayername2)
AdminMenu(id)
}


menu_destroy(menu)
return 
PLUGIN_HANDLED
}
public 
MoneyPlayer(id)
{
if(
get_user_flags(id) & ADMIN_LEVEL_A)
{
new 
menu menu_create"\wВыбири Игрока""menu_money" )
new 
players[32], pnumtempid
new szName[32], szTempid[10]
cs_get_user_team(id)

get_players(playerspnum)

for(new 
ii<pnumi++)
{
cs_get_user_team(players[i])

tempid players[i]

if(!
is_user_connected(tempid))
{      
}
else if(
cs_get_user_money(tempid) < 999999)
{
get_user_name(tempidszName31)
num_to_str(tempidszTempid9)

menu_additem(menuszNameszTempid0)
}
}

menu_display(idmenu0)
}
return 
PLUGIN_HANDLED
}

public 
menu_money(idmenuitem)
{
{
if(
item == MENU_EXIT)
{
menu_destroy(menu)
return 
PLUGIN_HANDLED
}

new 
data[6], iName[64], playername[33], playername2[33]
new 
accesscallback
menu_item_getinfo
(menuitemaccessdata,5iName63callback)

new 
tempid str_to_num(data)
cs_get_user_team(tempid)

get_user_name(idplayername32)
get_user_name(tempidplayername232)

cs_set_user_money(tempid,cs_get_user_money(id) + 16000)
client_cmd(id,"money_menu")
ChatColor(0"!y[!gАдмин Меню!y] !yАдминистратор !g%s !yДал !g16000$!y игроку !g%s"playernameplayername2)
AdminMenu(id)
}
menu_destroy(menu)
return 
PLUGIN_HANDLED
}

stock ChatColor(const id, const input[], any:...)
{
new 
count 1players[32]
static 
msg[191]
vformat(msg190input3)

replace_all(msg190"!g""^4"// Green Color
replace_all(msg190"!y""^1"// Default Color
replace_all(msg190"!team""^3"// Team Color
replace_all(msg190"!team2""^0"// Team2 Color

if (idplayers[0] = id; else get_players(playerscount"ch")
{
for (new 
0counti++)
{
if (
is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}                                                             
 
Аватара пользователя
Vaas
 
Сообщения: 44
Зарегистрирован: 25 май 2016, 16:02
Благодарил (а): 12 раз.
Поблагодарили: 8 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pascal
Pawn
Pawno
Html
Php
Js

Re: Работа меню после 2 раунда

Сообщение MrJunior » 06 янв 2019, 23:27

Код: Выделить всё
// в начало
new roundcount;


public RoundNew()
{
   // ваш код

    roundcount++;
}


public AdminMenu(id)
{
    if(roundcount < 2) return client_print(id, print_chat, "Доступно только со второго раунда!");
    // код меню
    return PLUGIN_HANDLED;
}
Аватара пользователя
MrJunior
Скриптер
 
Сообщения: 138
Зарегистрирован: 21 сен 2016, 19:46
Откуда: localhost
Благодарил (а): 3 раз.
Поблагодарили: 29 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn | Web | Lua

Re: Работа меню после 2 раунда

Сообщение DeIIyTaT » 10 янв 2019, 15:18

всем спасибо за ответ все верные !
а как сделать чтоб игрок не мог воскрешать спектров
Мой проект CSSURF.RU | SURF Сервера с RPG
amx-x.ru - Вы красавчики спасибо что вы есть ! :thumbs_up
Аватара пользователя
DeIIyTaT
 
Сообщения: 50
Зарегистрирован: 29 авг 2014, 13:53
Благодарил (а): 10 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6
html,php

Re: Работа меню после 2 раунда

Сообщение MrJunior » 10 янв 2019, 21:14

Проверять в обработчике меню в какой команде игрок, которого выбрали для реса?
Аватара пользователя
MrJunior
Скриптер
 
Сообщения: 138
Зарегистрирован: 21 сен 2016, 19:46
Откуда: localhost
Благодарил (а): 3 раз.
Поблагодарили: 29 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn | Web | Lua

Re: Работа меню после 2 раунда

Сообщение DeIIyTaT » 11 янв 2019, 23:49

Да всё сделал сам ! сделал провреку на спектров и всё !

Добавлено спустя 42 минуты 39 секунд:
работа меню с 3 раунда я решил так
Код: Выделить всё
public RoundNew()
{
   
iRound++
   for(new 
id 1;id <= get_maxplayers(); id++)
   if(
iRound <= 1){
   }
   else
   {
      
Speed[id] = 2
      Grava
[id] = 2
      PlayerSpawn
[id] = 3
      PlayerSpeed
[id] = 3
      PlayerGrav
[id] = 3
      Money
[id] = 3
      HP
[id] = 1
      PlayerMoney
[id] = 3
   
}
}
 
Мой проект CSSURF.RU | SURF Сервера с RPG
amx-x.ru - Вы красавчики спасибо что вы есть ! :thumbs_up
Аватара пользователя
DeIIyTaT
 
Сообщения: 50
Зарегистрирован: 29 авг 2014, 13:53
Благодарил (а): 10 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6
html,php


Вернуться в Вопросы по AMXX и его плагинам

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

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