|
|
Модератор форума: Slon |
Форум РЕДАКТОР - ArmA 2 Operation Arrowhead Скрипты Интерфейсы и дисплеи. Дети и родители)) и немного прочего. |
Интерфейсы и дисплеи. Дети и родители)) и немного прочего. |
› Четверг
› 27.08.2015
› 23:12
› Сообщение #
Джентльмены, здравствуйте.
Имею вопрос к вам Есть код: Код [] spawn { private ["_dspl","_button"]; disableSerialization; waitUntil { _dspl = findDisplay 106; ! isNull _dspl; }; hint "Gear dialog opened...\n"; _bDlgOpened = createDialog "AddDlgAdvGear"; if !(_bDlgOpened) then {hint "Dialog couldn't be opened!";}; if !(_bDlgOpened) exitWith {}; _display = findDisplay 100500; _ctrl = _display displayctrl 100500; //_ctrl = 106 displayctrl 100500; //_ctrl = 46 displayctrl 100500; waitUntil { _dspl = findDisplay 106; isNull _dspl; }; hint "Gear dialog CLOSED.\n"; execVM "gear\addon_gear.sqf"; }; И он работает. Суть такова: он регистрирует открытие инвентаря gear игроком и дополнительно открывать свой интерфейс. Проблема: он "перекрывает" оригинальный инвентарь (если его закрыть - возвращается оригинальный инвентарь). Но хотелось бы не 2-х этажного инвентаря, а что бы этот интерфейс работал "параллельно" с основным (или так нельзя?). Как я понимаю, для этого нужно корректно выбрать родителя... но как видно в примере я пробовал разные варианты и все они не дают желаемого результата. Мало того, в текущем варианте в качестве "полотна" размещения объектов интерфейса берется по размеру равное штатному интерфейсу GEAR, а хотелось бы весь экран (что-бы одно другому не мешало). Ну и второй вопрос, как нибудь возможно узнать объект, который "лутается" при помощи оригинального интерфейса GEAR? Если я творю какую-то каку, скажите мне тогда: что я делаю не так? И где искать подводные камни?
Главное не война! Главное маневры!
|
› Пятница
› 28.08.2015
› 00:07
› Сообщение #
Это я не понял. Как это Параллельно? как ВолковКомандер, Двойным окном?
или Вместо стантартного? Какой предмет Лутается узнать можно. https://community.bistudio.com/wiki/lbSelection |
› Пятница
› 28.08.2015
› 09:33
› Сообщение #
|
› Пятница
› 28.08.2015
› 10:43
› Сообщение #
для того чтобы закрыть диалог (любой) надо написать
closeDialog 0; чтобы открыть свой диалог "Вместо" Нужно дождавшись открытия Стандартного >> Закрыть его >> Открыть свой disableSerialization; waitUntil { ! isNull (findDisplay 106) }; closeDialog 0; _ok = createDialog "AddDlgAdvGear"; |
› Пятница
› 28.08.2015
› 15:29
› Сообщение #
Нет, нет - не заменять.
Именно "двойным" окном. Просто рядом (в идеале бы "прилипнуть" к оригинальному, но это не принципиально). Я не хочу прятать оригинальный (он у меня уже прячется, если что в этом коде). Добавлено (28.08.2015, 15:25) Добавлено (28.08.2015, 15:29)
Главное не война! Главное маневры!
|
› Пятница
› 28.08.2015
› 15:51
› Сообщение #
стандарт в сторонку не подвинеш.
это тебе поможет - объект в центре монитора https://community.bistudio.com/wiki/cursorTarget |
› Пятница
› 28.08.2015
› 17:43
› Сообщение #
Цитата стандарт в сторонку не подвинеш. но его может "подвинуть" игрок же :-) Меня, в принципе, устраивает вариант прилипнуть к краям экрана (и это вот тоже вопрос). В общем суть в том, что по сути я научился лишь "ловить" открытие оригинального инвентаря. Но могу ли я создать дополнительный интерфейс, не дизабля оригинал? Т.е. мне не нужно делать модальное окно (ЕВПОЧЯ). Мне надо окно, которое не мешает оригиналу. Ведь, к примеру, я могу создать HUD, который не прячется когда открыт GEAR. Но как мне обрабатывать клики по этому худу? Да, все просто, я хочу "второй" инвентарь (подобно wasteland или 4 ая миссия coop'ератива от JTS'а в Namalsk'e).
Главное не война! Главное маневры!
|
› Пятница
› 28.08.2015
› 19:21
› Сообщение #
обрабатывать клики обработчиком )) старинным методом контролируя координаты кликов и определяя что в этом месте находится
https://community.bistudio.com/wiki/displayAddEventHandler |
› Пятница
› 28.08.2015
› 20:12
› Сообщение #
Цитата обрабатывать клики обработчиком )) старинным методом контролируя координаты кликов и определяя что в этом месте находится https://community.bistudio.com/wiki/displayAddEventHandler Понято. За наводку спасибо. Ушел курить.
Главное не война! Главное маневры!
|
| |||
| |||
Чат сайта |