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

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

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

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

Ограничения на закупку по раундам

, взять из меню гранату 1 раз в 3 раунда
Статус пользователя GrenKain
сообщение 8.9.2011, 1:10
Сообщение #1


Стаж: 15 лет

Сообщений: 21
Благодарностей: 3
Полезность: 109

Здравствуйте. Помогите пожалуйста с одной штучкой.
У меня на сервере, есть вип меню... (объясню на примере взятия гранаты)
Как сделать так, чтоб взять гранату из меню они могли только раз в 2 раунда (или 1 раз за раунд)
Подскажите кодик пожалуйста, а там я уже сам разберусь...
И если можно, когда функция доступна, то в меню это выглядело бы белым (\w) цветом, когда нет - серым (\d)
И отображения в чат сообщения (доступно 1 раз в 2 раунда), при нажатии на недоступную гранату, которая серым цветом (\d)
Но это не обязательно, самое главное сам код запрета раз в 2 раунда...
Заранее спасибо.

П.С. Если кому-то будет проще показать на коде, то вот мой плагин.
Одного примера будет достаточно...
Плагин самописный, делюсь с вами....

Код
        
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <engine>
#include <fun>

#define ACCESS_FLAG ADMIN_LEVEL_G

#define MPROP_BACKNAME 2
#define MPROP_NEXTNAME 3
#define MPROP_EXITNAME 4

public plugin_init()
{
register_plugin("vip_menu_300", "3.6", "GrenKain")
register_clcmd("adminka", "showMenu", ACCESS_FLAG, "- Открыть Админ Меню")
}

public showMenu(id)
{
if((get_user_flags(id) & ACCESS_FLAG))
{
goMenu(id)
}
return PLUGIN_HANDLED
}

public goMenu(id)
{
new i_Menu = menu_create("Админка:", "menu_handler" )

menu_additem(i_Menu, "Воскреснуть", "1")
menu_additem(i_Menu, "100hp и 100брони", "2")
menu_additem(i_Menu, "Гранаты", "3")

menu_setprop(i_Menu, 2, "Назад")
menu_setprop(i_Menu, 3, "Вперёд")
menu_setprop(i_Menu, 4, "Выход")

menu_display(id, i_Menu, 0)

return PLUGIN_HANDLED
}

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_Key = str_to_num(s_Data)

switch(i_Key)
{
case 1:
{
ExecuteHam(Ham_CS_RoundRespawn, id)
client_cmd(id, "adminka")
}
case 2:
{
if(is_user_alive(id))
{
set_user_health(id, 100)
set_user_armor(id, 100)
}
client_cmd(id, "adminka")
}
case 3:
{  
if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
{
          give_item(id,"weapon_flashbang")
          give_item(id,"weapon_flashbang")
          give_item(id,"weapon_smokegrenade")
       }
       else if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)
       {
       give_item(id,"weapon_hegrenade")
       }
    
       client_cmd(id, "adminka")
    }
}

return PLUGIN_HANDLED
}


Отредактировал: GrenKain, - 9.9.2011, 1:14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя AndrewZ
сообщение 8.9.2011, 5:44
Сообщение #2


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Попробуй http://amx-x.ru/viewtopic.php?f=8&t=45...%BD%D0%B4%D0%B0

Код
        #include <amxmodx>
        
        new g_iRound;
        
        new g_iNextUseRound[33];
        
        public plugin_init()
        {
                register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");
              
                register_clcmd("say /test", "ClCmdTest");
        }
        
        public EventRoundStart()
                g_iRound++;
        
        public ClCmdTest(pId)
        {
                if (g_iRound < g_iNextUseRound[pId])
                        return;
              
                // Your code
              
                g_iNextUseRound[pId] = g_iRound + 3;
        }


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя H@ROS
сообщение 8.9.2011, 11:46
Сообщение #3


Стаж: 14 лет

Сообщений: 102
Благодарностей: 17
Полезность: 134

GrenKain,
Что за невалидный код? Программируешь на PHP? Почему у тебя в коде используются кавычки левыми слэшами? В Pawn этого делать не надо.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GrenKain
сообщение 9.9.2011, 1:07
Сообщение #4


Стаж: 15 лет

Сообщений: 21
Благодарностей: 3
Полезность: 109

ZZZombiE,
спасибо за ссылку на амх-х, я её и искал, но там ничего не нашёл)))
Но всё равно пока не знаю как это совместить с моим плагином...
и код который дали вы, тоже пока не понимаю как с моим плагином совместить...

Мне нужно сделать:
- воскрешение 1 раз в 3 раунда,
- ХП 1 раз в 2 раунда,
- гранаты 1 раз за 1 раунд.

H@ROS,
Всё, исправил. Просто когда в BB-code вставлял, форум почему-то это так отредактировал автоматически...

Буду признателен за помощь и консультацию.
Заранее благодарю.

Отредактировал: GrenKain, - 9.9.2011, 1:16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 9.9.2011, 5:53
Сообщение #5


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

GrenKain,
за бесплатно не думаю, что кто-то возьмется =)

Отредактировал: ZZZombiE, - 9.9.2011, 5:53


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: