Вопрос про меню в SourcePawn

Тема в разделе "Программирование / Скриптинг", создана пользователем alex2131, 7 дек 2013.

  1. alex2131

    alex2131

    Сообщения:
    147
    Симпатии:
    16
    Как вывести меню только КТ или Т?
     
  2. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.005
    Симпатии:
    2.994
    Создаешь меню, а потом

    PHP:
    for(new 1<= MaxClientsi++)
    {
        if(
    IsClientInGame(i) && !IsFakeClient(i) && GetClientTeam(i) == 2// 2 для Т и 3 для КТ
            
    DisplayMenu(Handle:menui20);
    }
     
  3. alex2131

    alex2131

    Сообщения:
    147
    Симпатии:
    16
    Что тут не так?

    PHP:
    public ControledMenu(Handle:hMenuMenuAction:actionclientiSlot
    {
        if ( 
    action == MenuAction_Select )
        {
            if ( 
    iSlot == )
            {
                
    ShowControlMenuClient(client);
            }
        }
            else if ( 
    action == MenuAction_End )
        {
            
    CloseHandle(hMenu);
        }
    }

    ShowControlMenuClient(client)
    {
          new 
    Handle:hMenu CreateMenu(ControledMenucl); 
          
    SetMenuTitle(hMenu"Выберите игрока:\n \n"); 
          
    decl String:userid[15], String:name[32]; 
          for (new 
    1<= MaxClientsi++) 
          { 
              if (
    IsClientInGame(i) && GetClientTeam(i) == 3)
              { 
                  
    IntToString(GetClientUserId(i), userid15); 
                  
    GetClientName(iname32);
                  
    DisplayMenu(Handle:hMenui20);
              } 
          }
    }
    Компилятор ругается на строчку:

    ShowControlMenuClient(client)
     
  4. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    public ControledMenu(Handle:menu, MenuAction:action, client, iSlot)
     
  5. alex2131

    alex2131

    Сообщения:
    147
    Симпатии:
    16
    И что не так?
    Добавлено через 3 минуты
    PHP:
    ShowControledMenu(client)

          new 
    Handle:hMenu CreateMenu(ControledMenu); 
          
    SetMenuTitle(hMenu"Меню командования \n \n"); 
          
    AddMenuItem(hMenuNULL_STRING"Выбрать нового командира");
          
    DisplayMenu(hMenuclientMENU_TIME_FOREVER);
    }

    public 
    ControledMenu(Handle:hMenuMenuAction:actionclientiSlot
    {
        if ( 
    action == MenuAction_Select )
        {
            if ( 
    iSlot == )
            {
                
    ShowControlMenuClient(client);
            }
        }
            else if ( 
    action == MenuAction_End )
        {
            
    CloseHandle(hMenu);
        }
    }

    ShowControlMenuClient(client)
    {
          new 
    Handle:hMenu CreateMenu(ControledMenucl); 
          
    SetMenuTitle(hMenu"Выберите игрока:\n \n"); 
          
    decl String:userid[15], String:name[32]; 
          for (new 
    1<= MaxClientsi++) 
          { 
              if (
    IsClientInGame(i) && GetClientTeam(i) == 3)
              { 
                  
    IntToString(GetClientUserId(i), userid15); 
                  
    GetClientName(iname32);
                  
    DisplayMenu(Handle:hMenui20);
              } 
          }
    }

    public 
    ControledMenucl(Handle:hMenuMenuAction:actionclientiSlot
    {
          if (
    action == MenuAction_End
          { 
                
    //Код
     
    Последнее редактирование: 2 янв 2014
  6. KorDen

    KorDen Atra esterní ono thelduin!

    Сообщения:
    2.194
    Симпатии:
    1.398
    alex2131, как именно ругается? Скопируй (в меню правой кнопкой пометить, потом Enter и копируешь сюда)
     
  7. alex2131

    alex2131

    Сообщения:
    147
    Симпатии:
    16
    // F:\Servers\TEST\cstrike\addons\sourcemod\scripting\cjbw.sp(88) : warning 203:
    symbol is never used: "client"

    88 строчка - ShowControlMenuClient(client)
     
  8. FrozDark

    FrozDark Команда сайта HLMod Модератор

    Сообщения:
    1.761
    Симпатии:
    1.916
    удали оттуда client

    ShowControlMenuClient(client)
     
  9. WeSTMan

    WeSTMan *Просто я - есть я*

    Сообщения:
    214
    Симпатии:
    39
    А что напишу?
     
  10. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.005
    Симпатии:
    2.994
    WeSTMan, да пусть будет, это просто предупреждение
     
  11. alex2131

    alex2131

    Сообщения:
    147
    Симпатии:
    16
    Да? Он мне не открывает это меню...

    Добавлено через 13 минут
    Так проблема решена, теперь как убрать в меню, чтобы самого себя так не было?
     
    Последнее редактирование: 2 янв 2014
  12. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    1. Так проблема решена, теперь как убрать в меню, чтобы самого себя так не было?
    - Передаешь клиента, в цикле делаешь условие i != client

    2. Разве ошибок больше нету? Ведь в callback ControledMenu есть уже переменная hMenu, но в функции ShowControlMenuClient handle с таким же именем вновь создается, или я не о том? не помню точно..