Jump to content

Digest Jan-Feb

We talk about what was done and updated in the past month. We help keep abreast of events.

January February

Servers monitoring and the Addons Editor

We present you two legends. All dreams come true.

Servers monitoring The Addons Editor

Game tooltips

Tooltips provide a way for 3rd party fansites and extensions to display detailed information on mouseover.

Read more

The Addons Updater

Let us to introduce the addons updating software and to share the details

Read more Download

Z-последовательность


Guest telsor

Recommended Posts

Guest telsor

Всем доброго времени суток.

Подскажите пожалуйста, как сделать, чтобы моё окно было поверх всех остальных. Пишу <Priority>4000</Priority> однако окно чата всё равно перекрывает моё окно. Нужно реализовать чтобы щёлчок мыши выводил окно на передний план.

Link to comment
Share on other sites

Guest telsor

И ещё вопрос, как по id предмета или его имени получить его текстуру.

Link to comment
Share on other sites

<Priority>99991000500099999000066464518828437521824945125</Priority>.

С чего ты взял что у окна чата Priority меньше 4000?

/Allods Online/data/Mods/Docs/Modding Docs 120222/LuaApi/FunctionWidgetSetPriority.html

/Allods Online/data/Mods/Docs/Modding Docs 120222/LuaApi/FunctionAvatarGetItemInfo.html

icon: TextureId - текстура с иконкой предмета.

Link to comment
Share on other sites

Guest telsor

Большое спасибо)

Появились ещё пара вопросов. Как узнать потерю фокуса виджета. Предположим моё окно частично перекрывает окно сумки, щёлкнув на сумку мне надо отловить потерю фокуса и снизить приоритет моего окна. Как это можно реализовать?

И по поводу текстуры. Можно ли TextureId возвращаемое GetItemInfo передать SetForegroundTexture?

Link to comment
Share on other sites

Можно постоянно юзать IsFocused( self ), правда не знаю насколько эффективно можно реализовать это в глобальном плане... Может быть ведь еще куча других аддонов со своими окнами от других людей.

Link to comment
Share on other sites

Guest telsor

Спасибо.

Почему-то не работает IsFocused.

Пробовал писать mainForm:IsFocused() и mainPanel:IsFocused() . Всегда возвращает false. Может быть это не тот фокус о котором обычно думают?)

Link to comment
Share on other sites

А курсор держать в окне виджета к которому применял и который не является Transparent/Invisible пробовал?

Link to comment
Share on other sites

Guest telsor

Из виджетов я сделал только mainform и mainpanel. Оба не прозрачные, видимые.

В скрипте создал таймер, каждую секунду идёт проверка, если mainPanel:IsFocused(), то вывод в логфайл тру и изменение приоритета на 10000, else запись в логфайл false и изменение приоритета на 0.

В игре постоянно тыкаю мышкой на свою форму, но в логфайл ещё ни разу не записалось ничего кроме false.

Так в чём же проблема?

Link to comment
Share on other sites

IsFocused() is used for EditLine/CommandLines. It's use is to check whether the EditLine is usable or not.

SetFocus() demands that the EditLine be selected.

Link to comment
Share on other sites

Guest telsor

Во. Спасибо ) Я ж говорил это не тот фокус). Но тогда с помощью чего это можно реализовать?

Link to comment
Share on other sites

Там нечто подобное реализовано - когда курсор убираешь из окна - оно скрывается. ПРавда как реализовано - не знаю.

Link to comment
Share on other sites

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<WidgetPanel>
<Name>dscPanelReact</Name>
<BackLayer href=""/ >
<FrontLayer href="" />
<Visible>false</Visible>

<reactionDblClick>mouse_double_click</reactionDblClick>
<IgnoreDblClick>false</IgnoreDblClick>

<reactionOnPointing>panel_over</reactionOnPointing>
<forceReactionOnPointing>true</forceReactionOnPointing>

</WidgetPanel>


Нас интересует:
<reactionOnPointing>panel_over</reactionOnPointing>
Срабатывает когда на панель наводят курсор.
Link to comment
Share on other sites

Guest telsor

Спасибо, но это не совсем то что мне нужно. Можно ли как-то отлавливать события не относящиеся к моему виджету? Например перехватывать клики мыши и затем смотреть был ли щелчок на моём окне. В любом случае, спасибо, если не смогу сделать так как хотел, то наверное реализую то что вы предложили.

Link to comment
Share on other sites

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using our site you agree to the Terms of Use