Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Привязка к нескольким окнам.

Страниц (1): [1]
 

1. DikiiLoSb - 18 Декабря, 2021 - 03:00:19 - перейти к сообщению
Программа замечательная - спору нет! Огромная благодарность разработчику!

Но как и в любом софте , продукте , или даже самой замечательной, красивой девушке на свете есть одно Но! Меланхолия
А именно, привязка к окну!
Ну не привязывается оно и все. Я уже молчу про фоновый режим.
Возьмем к примеру Warspear online. Я как то умудрился привязать один скрипт к 1 окну - прописал в блоке Start :
CODE:
W_Kib = window ("Warspear Online")
activate(W_Kib);
pause(2000);

Так где - то советовал писать администратор форума. Беру этот же блок Start , копирую свойства, создаю новый скрипт , создаю новый блок Start , вставляю скопированные свойства, ставлю пару простых блоков по типу клац туда клац сюда и уже нифига не работает.
[b]Если эту проблему можно еще как то поборот без особой потери крови и нервов ( пока что осталось без ответа ), то вот новая задача : Warspear имеет одинаковые названия окон и при запуске нескольких окон, скрипт начинает творить Дичь.

Идем дальше: создал 33 одинаковых скрипта(образно) запустил 33 окна - задача, сделать так, что бы можно было привязать каждый скрипт индивидуально к своему окну и чтобы они работали не зависимо друг от друга.
Все в этой жизни познается в сравнении

Ранее в своих темных делишках использовал Uopilot . Там в этом моменте все происходит проще.
Выбрал скрипт нажав на нужную вкладку (ну очень классная функция)

Навел курсор на одно из окон игры нажал Ctrl+A и всё, выбранный скрипт привязан к нужному окну
Так же и со вторым и т д окном, даже если названия одинаковые, ему пофиг.
Он как то умеет распознавать САМ, что это разные окна

Нужно сделать что то подобное и Визуальном редакторе Кибор( как говорится для маленьких и тупых )
Пока что этих функций нету, подскажите как быть и как привязывать все это к одинаковым окнам или просто - что нужно писать в блоке Start чтобы работало!
2. KevinS - 18 Декабря, 2021 - 06:52:15 - перейти к сообщению
(для просмотра ссылки Вам необходимо авторизоваться)
getwindow - Позволяет получить указатель на окно или контролл по указанным координатам верхнего окна.
Синтаксис:
win w=getwindow(0, X, Y);
Первый параметр - если 0 получает указатель главного окна. если 1 получает контролла который по этим координатам.
Второй третий - координата x y
3. Zireael - 18 Декабря, 2021 - 09:25:57 - перейти к сообщению
 Цитата:
Warspear имеет одинаковые названия окон

Можно найти сразу все окна.
CODE:
win w[5]; // массив для 5 окон
int k=window (#w[0], "Warspear Online"); // найти все окна с именем Warspear Online
messagebox("Найдено окон: "+format(k));
for (int n=0; n<k; n++) // цикл для всех окон
{
activate(w[n]); //активировать окно
pause(1000); // пауза 1 сек.
}

 Цитата:
задача, сделать так, что бы можно было привязать каждый скрипт индивидуально к своему окну

CODE:
win w;

while(getkeystate(SPACE)==0) // ждать пока не нажат пробел
{
textbkcolor(255, 65280);
textout(0, 100, 200, "Навести курсор на нужное окно и нажать пробел", 1);
sleep(10);
}
while(getkeystate(SPACE))sleep(10); // ждать пока пробел нажат

int MouseX, MouseY;
getmouse(MouseX, MouseY); // получить координаты курсора
w=getwindow(0, MouseX, MouseY); // получить указатель окна под курсором
messagebox("Имя окна: "+w.name);
activate(w); // активировать окно
4. Kibor - 18 Декабря, 2021 - 12:20:14 - перейти к сообщению
 DikiiLoSb пишет:
Ранее в своих темных делишках использовал Uopilot . Там в этом моменте все происходит проще.
Выбрал скрипт нажав на нужную вкладку (ну очень классная функция)
Навел курсор на одно из окон игры нажал Ctrl+A и всё, выбранный скрипт привязан к нужному окну
Так же и со вторым и т д окном, даже если названия одинаковые, ему пофиг.


В Кибор такие мелочи просто программируются по востребованию.

Powered by ExBB FM 1.0 Final