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

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

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

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

2 страниц V   1 2

Меню игрока на букве М

Статус пользователя ex3m777
сообщение 25.9.2014, 15:44
Сообщение #21


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

Меценат Меценат

Цитата(Villlenka @ 25.9.2014, 17:29) *
Спасибо за интересный материал, но как это относится в проблеме не отображения меню закупки?

перехватываешь команду и подсовываешь меню свое, как это делается в zp


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fintok
сообщение 25.9.2014, 18:42
Сообщение #22


Стаж: 16 лет

Сообщений: 756
Благодарностей: 294
Полезность: 638

Villlenka, замени в плагине функции MessageShowMenu и MessageVGUIMenu на
Код:

public MessageShowMenu(iMsgID, iDest, id)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE;

new szMenu[21];
get_msg_arg_string(4, szMenu, charsmax(szMenu));

switch(szMenu[1])
{
case 'T':
{
set_pdata_int(id, 205, 0);

ClCmd_JoinMenu(id);
}
case 'I':
{
set_pdata_int(id, 205, 0);

switch(cs_get_user_team(id))
{
case 0, 3: ClCmd_JoinMenu(id);
default: ClCmd_MainMenu(id);
}
}
default: return PLUGIN_CONTINUE;
}
return PLUGIN_HANDLED;
}

public MessageVGUIMenu(iMsgID, iDest, id)
{
if(!is_user_connected(id) || get_msg_arg_int(1) != 2)
return PLUGIN_CONTINUE;

switch(cs_get_user_team(id))
{
case 0, 3: ClCmd_JoinMenu(id);
default: ClCmd_MainMenu(id);
}
return PLUGIN_HANDLED;
}

З.Ы. убило clapping.gif
Код:
#define PLUGIN_AUTH "ConnorMcLeod"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя BaJIepbI4
сообщение 26.9.2014, 13:56
Сообщение #23


Стаж: 11 лет

Сообщений: 457
Благодарностей: 115
Полезность: 456

Цитата(Fintok @ 25.9.2014, 19:42) *
Villlenka, замени в плагине функции MessageShowMenu и MessageVGUIMenu на
Код:

public MessageShowMenu(iMsgID, iDest, id)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE;

new szMenu[21];
get_msg_arg_string(4, szMenu, charsmax(szMenu));

switch(szMenu[1])
{
case 'T':
{
set_pdata_int(id, 205, 0);

ClCmd_JoinMenu(id);
}
case 'I':
{
set_pdata_int(id, 205, 0);

switch(cs_get_user_team(id))
{
case 0, 3: ClCmd_JoinMenu(id);
default: ClCmd_MainMenu(id);
}
}
default: return PLUGIN_CONTINUE;
}
return PLUGIN_HANDLED;
}

public MessageVGUIMenu(iMsgID, iDest, id)
{
if(!is_user_connected(id) || get_msg_arg_int(1) != 2)
return PLUGIN_CONTINUE;

switch(cs_get_user_team(id))
{
case 0, 3: ClCmd_JoinMenu(id);
default: ClCmd_MainMenu(id);
}
return PLUGIN_HANDLED;
}

З.Ы. убило clapping.gif
Код:
#define PLUGIN_AUTH "ConnorMcLeod"


Все ок, но после смены карты когда первый раз нажимаешь кнопку закупа В и выбираешь кнопку 1, 3 или 4 - появляется меню выбора команды, выбираешь команду и второй раз уже все ок...

Отредактировал: Villlenka, - 26.9.2014, 14:04



Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fintok
сообщение 26.9.2014, 14:43
Сообщение #24


Стаж: 16 лет

Сообщений: 756
Благодарностей: 294
Полезность: 638

Villlenka, в каком меню VGUI или Old?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BaJIepbI4
сообщение 26.9.2014, 15:03
Сообщение #25


Стаж: 11 лет

Сообщений: 457
Благодарностей: 115
Полезность: 456

Цитата(Fintok @ 26.9.2014, 15:43) *
Villlenka, в каком меню VGUI или Old?


Old



Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fintok
сообщение 26.9.2014, 20:37
Сообщение #26


Стаж: 16 лет

Сообщений: 756
Благодарностей: 294
Полезность: 638

Villlenka, попробуй так, я кажется знаю в чем причина.
Код:
new const szTeamSelect[][] =
{
"#Team_Select",
"#Team_Select_Spect",
"#IG_Team_Select",
"#IG_Team_Select_Spect",
"#IG_VIP_Team_Select",
"#IG_VIP_Team_Select_Spect"
};

public MessageShowMenu(iMsgID, iDest, id)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE;

static szMenu[26];
get_msg_arg_string(4, szMenu, charsmax(szMenu));

for(new i; i < sizeof(szTeamSelect); i++)
{
if(equal(szMenu, szTeamSelect[i]))
{
set_pdata_int(id, 205, 0);

switch(cs_get_user_team(id))
{
case 0, 3: ClCmd_JoinMenu(id);
default: ClCmd_MainMenu(id);
}
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}

Скрытый текст
Код:
new const szTeamSelect
Вставляй перед
Код:
public plugin_init()



Отредактировал: Fintok, - 27.9.2014, 9:40
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BaJIepbI4
сообщение 8.10.2014, 14:45
Сообщение #27


Стаж: 11 лет

Сообщений: 457
Благодарностей: 115
Полезность: 456

Fintok,
Спасибо огромное, вроде все ок!



Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя selest
сообщение 24.10.2014, 21:28
Сообщение #28


Стаж: 12 лет

Сообщений: 408
Благодарностей: 7
Полезность: < 0

Цитата(Villlenka @ 17.9.2014, 14:24) *
Ковырял коврял код, основываясь на этой идее. В итогу у меня получилось сделать ротацию менюшек, но возникла пара проблем:
1. При подключении игрока выводится не та менюшка:
Скрытый текст

Т.е. если я выбираю первый пункт у меня появляется менюшка выбора команды вот она и должна при подключении быть первой.
Скрытый текст

2. Пунктов 8,9 и 0 тут быть не должно.

Скрытый текст
Код
#include <amxmodx>
#include <fakemeta>

new bool:ChooseTeam_Used[33];
new bool:DetectVIPMap[33];


new act_menu[33] = 1; // Т.е. Вкл.

public plugin_init()
{
    register_plugin("Main Menu" , "1.0" , "villlenka" );
    
    register_message(get_user_msgid("ShowMenu"), "MenuTeam");
    register_message(get_user_msgid("VGUIMenu"), "VGUITeam");
    
    register_clcmd("chooseteam", "OpenMenu");
//    register_clcmd("say /mymenu", "clcmd_changeteam");
//    register_clcmd("chooseteam", "clcmd_changeteam")
//  register_clcmd("jointeam", "clcmd_changeteam")
    
    register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0");
    
        new entity = -1;
    if((engfunc(EngFunc_FindEntityByString, entity, "classname", "info_vip_start")) > 0)
    {
        DetectVIPMap[0] = true;
    }
    else
    {
        DetectVIPMap[0] = false;
    }
}

public Event_HLTV_New_Round(id)  
{
    arrayset(ChooseTeam_Used, false, sizeof(ChooseTeam_Used));
}  

public client_authorized(id)
{
    ChooseTeam_Used[id] = false;
}

public OpenMenu(id)
{
    if(DetectVIPMap[0] == false)
    {
        menu_cancel(id);
        TeamMenu(id);
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public MenuTeam(msg, des, rec)
{
    if(DetectVIPMap[0] == false)
    {
        static const TeamSelect[] = "#Team_Select";
        
        static sz_Menu[sizeof(TeamSelect)];
        
        get_msg_arg_string(4, sz_Menu, charsmax(sz_Menu));
        
        if(!equal( sz_Menu, TeamSelect))
        {
            return PLUGIN_CONTINUE;
        }
        
        set_pdata_int(rec, 205, 0);
        
        TeamMenu(rec);
        
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public VGUITeam(msg, des, rec)
{
    if(get_msg_arg_int(1) != 2)
    {
        return PLUGIN_CONTINUE;
    }
    
    TeamMenu(rec);
    
    return PLUGIN_HANDLED;
}

public TeamMenu(id)
{  
    if(ChooseTeam_Used[id] == true)
    {
        client_print(id, print_center, "Only 1 team change is allowed.");
        return PLUGIN_HANDLED;
    }
    
    if (act_menu[id] == 1)
    {
        new iPlayers[32], iNumCT , iNumT;
        get_players(iPlayers, iNumCT, "e", "CT" );
        get_players(iPlayers, iNumT, "e", "TERRORIST");
        
        new menu = menu_create("\yВыберите команду:", "TeamMenu_Handler");
        
        new szTittle[124];
        
        formatex(szTittle, charsmax(szTittle), "\wТеррористы \r[%d]", iNumT);
        menu_additem(menu, szTittle, "1")
        formatex(szTittle, charsmax(szTittle), "\wКонтр-террористы \r[%d]^n", iNumCT);
        menu_additem(menu, szTittle, "2")    
        menu_additem(menu, "\wАвыто-выбор", "3");
        menu_additem(menu, "\wНаблюдатели", "4");
        menu_setprop(menu, MPROP_EXITNAME, "Exit");
        
        menu_display(id, menu, 0);

                act_menu[id] = 0;
                
    }
    else
    {
        new menu = menu_create("Бодрый Public 16+","func_menu");
        menu_setprop( menu,MPROP_NUMBER_COLOR,"\r")
        menu_additem( menu,"\yВыбрать команду")
        menu_additem( menu,"Обнулить счет")
        menu_additem( menu,"Инфа о сервере")
    //  menu_setprop( menu,MPROP_PERPAGE, 3)
        menu_additem( menu,"Заткнуть игрока")            
        menu_additem( menu,"Сменить карту")
        menu_additem( menu,"Узнать топ15")
        menu_addblank( menu,-1)
        menu_additem( menu,"\yVIP \wменю","7",ADMIN_LEVEL_D)
        menu_additem( menu,"\rAdmin \wменю","8",ADMIN_ADMIN)
        menu_display(id, menu, 0);
        
    }
    return PLUGIN_CONTINUE;
}

public TeamMenu_Handler(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        return PLUGIN_HANDLED;
    }
        
        new Name[64], Data[6], Access, Callback;
    
        menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, Callback);
    
        static choose[4][2] = {"1","2","5","6"};
        engclient_cmd(id, "jointeam", choose[Data[0] - '1']);
    //    engclient_cmd(id, "menuselect","5");
        
        ChooseTeam_Used[id] = true;
        
        menu_destroy(menu);
                
        return PLUGIN_HANDLED;
}
    
public func_menu(id, menu, key)
{
  key++

  if(key==1)
    {
        act_menu[id] = 1;
        client_cmd(id,"chooseteam");
    }
  
  if(key==2) client_cmd(id,"say /rs")
  if(key==3) client_cmd(id,"say /motd")
  if(key==4) client_cmd(id,"say /mute")
  if(key==5) client_cmd(id,"say /rtv")
  if(key==6) client_cmd(id,"say /top15")
  if(key==7) client_cmd(id,"say /vipmenu")
  if(key==8) client_cmd(id,"say /amxmodmenu")
  
  return PLUGIN_HANDLED;
}

а как можно сделать, что бы вызвать меню не 1 раз на раунд?
А то пишет ,что только 1 раз на раунд можно взять спавн...

Отредактировал: selest, - 24.10.2014, 21:53
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 16.2.2021, 5:09
Сообщение #29


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

selest, совмещай с Unlimited ChooseTeam https://c-s.net.ua/forum/topic76185.html


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Danjkeee^
сообщение 16.2.2021, 8:23
Сообщение #30
Стаж: 14 лет
Город: Волгоград

Сообщений: 628
Благодарностей: 215
Полезность: 508

ssx, тебя вообще никак не смутило, что в теме последний раз отвечали 7 лет назад?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 16.2.2021, 10:55
Сообщение #31


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

Цитата(Danjkeee^ @ 16.2.2021, 8:23) *
ssx, тебя вообще никак не смутило, что в теме последний раз отвечали 7 лет назад?

Ничего страшного - пригодится


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