Что нового

[Новая функция] Многопоточность

Shaman

Знающий
Сообщения
33
Репутация
5
Была бы очень полезна хоть какая-нибудь многопоточность или хотя-бы её подобие. Может её уже реализовали, а я не сном не духом? Или это пока мечта ботодевов пишущих на AutoIt? :(
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 596
Репутация
938
Как бы поиск по форуму поюзай, там расписано почему ее нету. Ботодевы эту проблему давно решили подходящими для себя способами и в ус не дуют
 
Автор
S

Shaman

Знающий
Сообщения
33
Репутация
5
Belfigor [?]
Как бы поиск по форуму поюзай, там расписано почему ее нету
Юзал - ссылка на офф. форум - единственное что там написано - в ближайшее время не планируется её реализовывать, т.к. AutoIt изначально не задумывался с поддержкой многопоточности.

. Ботодевы эту проблему давно решили подходящими для себя способами и в ус не дуют
Смотря кто - да, может для графических ботов AdlibEnable() вполне уместен, а для ботов с активной работой с памятью и отслеживанием множества параметров мнгопоточность очень полезна. Один AdlibEnable(), в купе с медленностью работы функций для памяти - просто извращение. А как-то писать тупо скриптового бота дейсвующего по порядку действий (таргет - бить пока не убил - собрать лут, сюда надо ещё вклинить слежение за параметром чара (здоровья, маны, здоровья сопартийца или петомца) ) не очень приятно. Вот пишу я умного бота (1 версия - выше описанный скриптовый) - а там мне надо 2-3 потока - для слежения за здоровьем чара, таргета и атаки, работы с пати. Если пытаться писать с приоритетом действий - уже не хватает скорости. Так что, мне (да и думаю не только мне) многопоточность нужна. Именно из-за её отсутствия многие ботодевы бросают AutoIt и пересаживаются на C++/C#/Delphi.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 596
Репутация
938
Я Эдлибом вобще не пользуюсь, мои боты работают не по принципу макросов, они оценивают ситуацию и принимают исходя из этой ситуации наилучшее в данный момент решение, с учетом всех хп, петов, патей, положения в мире, действия которым щас занимаются и прочих комплектующих. А ботоводы уходят из автоит не по причине отсутствия в нем многопоточности а по причине его медлительности. Ну по крайней мере я сменил язык только потому что автоит медлителен при обработке графики. Ну и конечно плюшками типо многопоточность тоже пользуюсь. Но еще до того как я ушел в другой язык я решил проблему многопоточности.
Как решил не скажу, просто прими как факт возможность интеракции между скриптами. Главное иметь мозги
 
Автор
S

Shaman

Знающий
Сообщения
33
Репутация
5
Belfigor [?]
возможность интеракции между скриптами
Для меня это не вариант - многопоточность для этих задач (но не для всех) даёт существенный прирост к скорости, при взаимодействии между скриптами скорость только теряется - ежу понятно почему :smile:

Ну и вернёмся к теме ;) Если разработчики настолько не хотят дать нам многопоточность, то может хоть какое-то подобие дадут?

PS Belfigor, давай не будем разводить холивар про причину ухода с AutoIt`а - у меня тоже примеров много ;)
 

hikki

Продвинутый
Сообщения
233
Репутация
99
До сих пор так и не столкнулся с необходимостью многопоточности, хотя бот довольно сложный. Просто не все проблемы решаются только многопоточностью, как ни крути, а все идет циклами. Есть куча слипов, вместо слипа использую вызов функции, которая циклически делает кучу проверок, както проверка танка, локала, наличия левых окон, и тд и тп, всего чего мне пришло в голову. Вот и получается, тянет бот врек чтоб залутать алои, и если в это время придет нейтрал, то бот не будет дожидатся окончания предидущей операции, он просто отварпает на пос. Так что излагай проблему, возможно она решается простым путем.
 
Автор
S

Shaman

Знающий
Сообщения
33
Репутация
5
Эх.. Вспоминается шутка про Русский и НеРусский форум)
Ладно, спасибо Ребят, я лучше на офф форум напишу ;)
 

Suppir

Продвинутый
Сообщения
967
Репутация
62
Belfigor, а на какой язык перешел?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 473
Репутация
2 403

HukpoFuJl

AццkuЙ HukpoFuJl
Сообщения
98
Репутация
38
CreatoR сказал(а):
Бесполезно, тебя направят сюда.
Перейдя по ссылке мы увидим:
Multi-threading: It's too late to do this now. The changes required to AutoIt are too great. AutoIt was never intended to be multi-threaded.
Что в переводе:
Многопоточность: Очень поздно делать это сейчас. Изменения, требуемые к AutoIt, слишком большие. AutoIt никогда не предназначался, для многопоточности.
 
Верх