Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
ATAMAH

Кнопка меню сервера. Как вызвать обратное действие?

Добавил на сервер меню помощи ( F2 )

кода на действие кнопки:

 

if (_dikCode == 0x3C) then {
    _hndl = createdialog "HELP_DIALOG";
};

 

Как сделать чтобы при повторном нажатии меню закрывалось? А то многие игроки наклацают по несколько раз и говорят не работает и глючит, а на самом деле они каждый раз новое окно вызывают.

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

 

Зачем лишний раз дергать findDisplay ?

Ну я не спец) Работает и ладно + не постоянно же, а при нажатии клавиши дёргается.

 

Вот, без дёрганий тогда)

if (_dikCode == 0x3C) then {
    _handled = true;
    if (isNil "MySuperDialog") exitWith
    {MySuperDialog = createDialog "HELP_DIALOG";};
    closeDialog 2;
    MySuperDialog  = nil;
};

 

 

Edited by Alexandr116ru (see edit history)

Share this post


Link to post
Share on other sites



  • 0

А не судьба добавить проверку на открытый диалог? и не открывать 100500 диалогов если он уже открыт?

А еще добавить закрытие диалога если он уже открыт.

 

if (isNil "MySuperDialog") exitWith

{MySuperDialog    =    createDialog "HELP_DIALOG";};
closeDialog 2;

MySuperDialog  = nil;

Share this post


Link to post
Share on other sites
  • 0

А не судьба добавить проверку на открытый диалог? и не открывать 100500 диалогов если он уже открыт?

А еще добавить закрытие диалога если он уже открыт.

 

if (isNil "MySuperDialog") exitWith

{MySuperDialog    =    createDialog "HELP_DIALOG";};

closeDialog 2;

MySuperDialog  = nil;

А куда добавлять? Тоже в "dayz_spaceInterrupt.sqf"? Подскажи пожалуйста как именно? А то я пробую и у меня теперь при нажатии почти любой клавиши меню это вызывается.

Share this post


Link to post
Share on other sites
  • 0

Как то так:

if (_dikCode == 0x3C) then {
    disableSerialization;
    _display = findDisplay 1234;
    if (isNull _display) then {
        createdialog "HELP_DIALOG";
    } else {
        _display closeDisplay 2;
    };
    _handled = true;
};
 
Где 1234 - idd диалога.

Share this post


Link to post
Share on other sites
  • 0

 

Как то так:

if (_dikCode == 0x3C) then {
    disableSerialization;
    _display = findDisplay 1234;
    if (isNull _display) then {
        createdialog "HELP_DIALOG";
    } else {
        _display closeDisplay 2;
    };
    _handled = true;
};
 
Где 1234 - idd диалога.
Зачем лишний раз дергать findDisplay ?
Edited by NoNameUltima (see edit history)

Share this post


Link to post
Share on other sites
  • 0

 

Ну я не спец) Работает и ладно + не постоянно же, а при нажатии клавиши дёргается.

 

Вот, без дёрганий тогда)

if (_dikCode == 0x3C) then {
    _handled = true;
    if (isNil "MySuperDialog") exitWith
    {MySuperDialog = createDialog "HELP_DIALOG";};
    closeDialog 2;
    MySuperDialog  = nil;
};

 

 

Спасибо огромное!!! Работает и так и так. Оставил 2 вариант.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Serdce
      Данный скрипт, меняет процесс ремонта вашей техники, делая её более логичней, как было в А2.
      Для замены колеса, на нужно собственно само колесо, и тд. и тп. 
      Подробный список чего и для чего вы найдёте в файлах.
       
      Итак, преступим!
      Я не автор, я всего лишь перевожу.
      Первоисточник - https://github.com/aussie-battler/Exilemod-Super-Advanced-Repair-System-SARS
      По ссылке выше скачиваем архив, распаковываем в удобное место.
      Распаковываем ваше миссию "Exile.ваша карта"
      Из архива копируем папку "Custom" в папку вашей миссии "Exile.ваша карта"
      Открываем ваш description.ext  в нем мы ищем showHUD[] = 
      и полностью меняем на это - 
      Далее открываем ваш - initPLayerLocal.sqf
      В этом файле, сразу после строки - if (!hasInterface || isServer) exitWith {};
      Мы добавляем 
      //Bones Super Advanced Repair System (SARS)
      Bones_fnc_salvageAndRepairMenu = compileFinal preprocessFileLineNumbers "Custom\advancedRepair\Bones_fnc_salvageAndRepairMenu.sqf"; 
      Далее открываем ваш - config.cpp
      В нем мы ищем - class Car
      Внутри этого класса мы ищем
       
      И меняем на 
      Так же далее чуть ниже - class Air
      В нем мы также меняем это
      На это 
       
      Далее для если у вас есть Infistar!
      Распаковываем ваш инфистар и открываем его конфиг.
      В нём ищем     KCM = "true"; /* Just close ALL CommandingMenus */
      И меняем значение на false
      Чуть ниже в строке allowedCommandingMenus
      Мы добавляем  "#USER:ASL_Show_Repair_Options_Menu_Array"
      Ну вот и всё готово, всё сохранили и запаковали как было!
       
    • By fedotovyasha
      Хочу немного изменить сообщения перед отправкой клиенту
    • By fedotovyasha
      Пишу свой лаунчер на c#. Скачал клиент в котором был loader.exe. С ним работает норм, но я хочу без него запускать игру. Как это сделать? (Пиратка)
    • By Miduznya
      Собственно как, как отключить battleye на сервере античит

      параметр BattlEye=0; не работает я так понял 
    • By DrTauren
      На нашем сайте предусмотрена возможность рекламирования вашего игрового сервера/сайта/програмного обеспечения при помощи баннеров и ссылок.
       
      Баннеры под первым сообщением темы ↓
       
      Баннер на главной странице (над чатом) ↓
       
      Ссылки над первым сообщением темы ↓
       
      Ссылка на главной странице (над чатом) ↓
       
       

      Заявку вы можете заполнить в этой же теме, либо написать мне в ЛС.
      Любые сообщения не по теме запрещены.
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.