Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 7 из 7

Тема: AddMenuItem

  1. #1
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±

    AddMenuItem

    PHP код:
    #include <a_samp>

    #define COLOR_GREEN        0x33AA33AA

    new Pickap_R;
    new 
    Menu:R_Menu;

    //----
    main();
    public 
    OnGameModeInit()
    {
        
    SetGameModeText("12345");
        
    AddPlayerClass(115,2290.9331,1536.7549,10.6719,224.3528,0,0,0,0,0,0);
        
        
    //
        
    Pickap_R CreatePickup(1313,8,2306.7813,1521.8285,10.8203,-1);

        
    //
        
    R_Menu CreateMenu("My menu",1200.0145.0170.0);
        
    AddMenuItem(R_Menu,0,"lala1");
        
    AddMenuItem(R_Menu,0,"lala2");
        
    AddMenuItem(R_Menu,0,"EXIT");
        return 
    1;
    }

    public 
    OnPlayerPickUpPickup(playeridpickupid)
    {
        if(
    pickupid == Pickap_R)
        {
            
    TogglePlayerControllable(playerid0);
                
    ShowMenuForPlayer(Race_Menu,playerid);
        }
        return 
    1;
    }

    public 
    OnPlayerSelectedMenuRow(playeridrow)
    {
         if(
    GetPlayerMenu(playerid) == R_Menu)
        {
            switch(
    row)
            {
                case 
    0:
                {
                    
    SendClientMessage(playerid,COLOR_GREEN,"lala1");
                }
                case 
    1:
                {
                    
    SendClientMessage(playerid,COLOR_GREEN,"lala2");
                }
                case 
    2:
                {
                    
    SendClientMessage(playerid,COLOR_GREEN,"exit");
                    
    HideMenuForPlayer (R_Menu,playerid);
                }
            }
        }
        return 
    1;
    }

    public 
    OnPlayerExitedMenu(playerid)
    {
            
    TogglePlayerControllable(playerid1);
        return 
    1;

    Проблема в том что при выборе любого из пунктов не происходит действие,т.е. не выводит сообщение в чат
    Последний раз редактировалось [ForD]; 26.05.2014 в 13:01.
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

  2. #2
    Аватар для Just_Fenix
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.05.2014
    Сообщений
    47
    Репутация:
    11 ±
    Ты на enter видимо нажимаешь?

  3. #3
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от Just_Fenix Посмотреть сообщение
    Ты на enter видимо нажимаешь?
    Хмм..
    ну да,на пробел все работает..

    В чем проблема с энтером?
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

  4. #4
    Аватар для Just_Fenix
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.05.2014
    Сообщений
    47
    Репутация:
    11 ±
    Цитата Сообщение от [ForD] Посмотреть сообщение
    Хмм..
    ну да,на пробел все работает..

    В чем проблема с энтером?
    Проблемы с ним нету) Я не знаю как это объяснить, просто ENTER - стандартная клавиша отключения меню.
    Если она тебе так сильно нужна, попробуй сделать так:
    Добавь в OnPlayerKeyStateChange следующее:
    PHP код:
    if(newkeys 16)
    {
      
    TogglePlayerControllable(playerid0); 
      
    ShowMenuForPlayer(Race_Menu,playerid);
      return 
    1;

    И всё) При нажатие на клавишу ENTER снова будет вызываться меню.

  5. Пользователь сказал cпасибо:
    [ForD] (26.05.2014)
  6. #5
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от Just_Fenix Посмотреть сообщение
    Проблемы с ним нету) Я не знаю как это объяснить, просто ENTER - стандартная клавиша отключения меню.
    Если она тебе так сильно нужна, попробуй сделать так:
    Добавь в OnPlayerKeyStateChange следующее:
    PHP код:
    if(newkeys 16)
    {
      
    TogglePlayerControllable(playerid0); 
      
    ShowMenuForPlayer(Race_Menu,playerid);
      return 
    1;

    И всё) При нажатие на клавишу ENTER снова будет вызываться меню.
    Хорошо,попробуем так,спасибо.

    - - - Добавлено - - -

    Эмм.. а нету проверки на то открыт диалог или нет?
    Просто теперь при нажатии на F\ENTER открывается меню..
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

  7. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от [ForD] Посмотреть сообщение
    Хорошо,попробуем так,спасибо.

    - - - Добавлено - - -

    Эмм.. а нету проверки на то открыт диалог или нет?
    Просто теперь при нажатии на F\ENTER открывается меню..
    PHP код:
    new menu_is_opened[MAX_PLAYERS char]; 
    При открытии меню
    PHP код:
    menu_is_opened{playerid} = 1
    При закрытии меню
    PHP код:
    menu_is_opened{playerid} = 0
    И код:
    PHP код:
    if(newkeys 16 && menu_is_opened{playerid}) 

      
    TogglePlayerControllable(playerid0);  
      
    ShowMenuForPlayer(Race_Menu,playerid); 
      return 
    1

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  8. Пользователь сказал cпасибо:
    [ForD] (26.05.2014)
  9. #7
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    я примерно так и сделал уже,только чутка по другому,но все ровно спасибо.
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •