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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 7 из 7

Тема: AddMenuItem

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

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

    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
    Адрес
    Свердловская обл.
    Сообщений
    694
    Репутация:
    104 ±
    Цитата Сообщение от 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
    Адрес
    Свердловская обл.
    Сообщений
    694
    Репутация:
    104 ±
    Цитата Сообщение от 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Цитата Сообщение от [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

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

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

    Steve Pavlina

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

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

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





    #FIXSAMP

 

 

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

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

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

Ваши права

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