Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot _ Многозадачность

Автор: Tindome 17.7.2020, 23:25

Суть идеи в том что во время выполнения скрипта в любой момент может появиться табличка посреди рабочего окна (запрос на торговлю, вступление в группу, еще что нибудь)... Тем самым нарушить его работу т.к. может перекрыть область нажатия.

Можно ли сделать так, чтобы параллельно работающему скрипту UO отслеживал появление такого рода табличек, отрабатывал заложенную логику относительно той или иной таблички, а затем продолжал заниматься основной деятельностью с момента где его бессовестно прервали ?
Если такое возможно - подскажите пожалуйста куда смотреть и что читать....

Автор: Fors1k 17.7.2020, 23:50

Цитата(Tindome @ 17.7.2020, 23:25) *
подскажите пожалуйста куда смотреть и что читать....

https://forum.uokit.com/index.php?showtopic=70167 Пример в посте 15.
Напишите проверку появления этой таблички, и отправьте ее в отдельный поток.

Автор: Madeus 18.7.2020, 8:47

Из простого в Lua можно написать функцию, которая описывает логику обработки таблички, и вызывать эту функцию в теле основного скрипта.

Автор: Tindome 18.7.2020, 12:47

Цитата(Madeus @ 18.7.2020, 8:47) *

Из простого в Lua можно написать функцию, которая описывает логику обработки таблички, и вызывать эту функцию в теле основного скрипта.


А такая поточность возможна только в Lua?
Я просто пользуюсь простыми командами sad.gif

---------
И еще вопрос появился (напишу тут чтобы не плодить темы) если указать смещение findoffsetx, то указывается оно для первого встречного findimage и после end_if значение "обнуляется"? то есть для следующего findimage необходимо повторно указывать смещение findoffsetx?

Автор: Madeus 18.7.2020, 17:39

Цитата(Tindome @ 18.7.2020, 12:47) *

А такая поточность возможна только в Lua?
Я просто пользуюсь простыми командами sad.gif

---------
И еще вопрос появился (напишу тут чтобы не плодить темы) если указать смещение findoffsetx, то указывается оно для первого встречного findimage и после end_if значение "обнуляется"? то есть для следующего findimage необходимо повторно указывать смещение findoffsetx?

Можно попробовать написать что-то типо goto <имя_метки>, и постоянно переходить по меткам, но если скрипт большой то будет разростаться в прогрессии из-за такой конструкции.
По второму пункту, не пользуюсь языком пилота, но насколько понял из документации, то указывается один раз.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)