Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (5): « 1 2 3 [4] 5 »   

> Без описания
007wan
Отправлено: 30 Августа, 2019 - 17:13:43
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Можно ли это сократить? Суть скрипта в том, что бы количество изображений равномерно распределять по полосе загрузки и выводить статус загрузки какой-либо картинки
Код (Отобразить)
 
 Top
Zireael
Отправлено: 31 Августа, 2019 - 01:23:23
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4385
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
Можно ли это сократить?

Что непонятного в ответе, который был дан 3 дня назад?
 
 Top
007wan
Отправлено: 31 Августа, 2019 - 07:53:10
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Так я там еще добавил пару строчек...
 
 Top
007wan
Отправлено: 02 Сентября, 2019 - 16:23:31
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Можно пожалуйста пару приемов как сократить код? Только то, что я не знаю Я умею работать с массивами, переменными, проще вызывать функцию и передавать значению в нее итд.
(Добавление)
4 таймера у меня и разные таймеры выполняют разную функцию и нельзя их объединить, они не разделимы, а если даже и объединить, то они не будут успевать выполнять нужную функцию в нужную секунду.
(Добавление)
Но из-за 4 таймера тормозит сильно
 
 Top
Dantes3000
Отправлено: 02 Сентября, 2019 - 16:48:13
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1458
Дата рег-ции: Июнь 2016  
Репутация: 58





Нажмите для увеличения
 
 Top
007wan
Отправлено: 02 Сентября, 2019 - 16:51:17
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Код (Отобразить)

(Добавление)
Некоторые данные могут быть отсутствовать(переменные итд).
 
 Top
Dantes3000
Отправлено: 02 Сентября, 2019 - 17:02:36
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1458
Дата рег-ции: Июнь 2016  
Репутация: 58




007wan ,
CODE:
CREATE_TIMER(0, 100)
{
Draw_Rectangle();//рисует прямоугольник при надобности(если не запущено визуальное окно), что бы не сбился во время обнуления экрана или окна
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
CREATE_TIMER(1, 500)
{
Load_Settings();//загружает записанные данные из файла, что бы во время работы бота получать нужные данные в реальном времени
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
CREATE_TIMER(2, 1000)//Основная работа бота(ищет, делает что либо в игре)
{
Launch = 1;
Game = window (-1, "", window ("своё", "MozillaWindowClass", -1));
if (Game != 0)
{
EnableWindow(Object_Button2, 1);
First_Point();
Second_Point();
Third_Point();
Fourth_Point();
}
else Stop_Script("Бот остановлен", 1);
Interrupt_Timer:;
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
CREATE_TIMER(3, 10)//Этот кусок не работает во время всех 3 таймеров. Суть таймера: при наведении на любой контрол заменять курсор мыши на "Руку" в пределах контрола
{
getmouse(Mouse_x, Mouse_y);
for (int i=0; i<sizearray(Object_Checkbox); i++)
{
while(WindowFromPoint(Mouse_x, Mouse_y) == Object_Checkbox[i] || WindowFromPoint(Mouse_x, Mouse_y) == Object_Button1 || WindowFromPoint(Mouse_x, Mouse_y) == Object_Button2)
{
SetCursor(Object_Cursor1);
sleep(10);
getmouse(Mouse_x, Mouse_y);
break;
}
}
}
 
 Top
007wan
Отправлено: 02 Сентября, 2019 - 17:12:51
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




Dantes3000 , И чо поменялось?) пробелы и лишние символы убраны?))
(Добавление)
Ай, вижу...
(Добавление)
Всёравно: нагрузка такая велика, что даже Отладчик не все нуное отображает и не работает при наведении мыши на кнопку(-и) и не заменяет курсор. А при остановке бота, он отлючает 1 таймер и всё работает снова
(Добавление)
Завтра попробую спрессовать код, улучшить если получится. Давно я этим не занимался, хотя я пока ничего раньше не замечал, что можно сжать.
(Добавление)
Я всегда старался делать его сжатым, что бы потом не делать это.
(Добавление)
я думаю нужно только 1 таймер использовать, ну максимум 2, но первый таймер для игры будет, а второй для всего прочего и я поставлю флаги(использовать или нет) и буду при необходимости их щелкать.
(Добавление)
Ну или в луп запихать.

(Отредактировано автором: 02 Сентября, 2019 - 17:18:09)

 
 Top
Zireael
Отправлено: 03 Сентября, 2019 - 03:04:09
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4385
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
while(WindowFromPoint(Mouse_x, Mouse_y) == Object_Checkbox[i] || WindowFromPoint(Mouse_x, Mouse_y) == Object_Button1 || WindowFromPoint(Mouse_x, Mouse_y) == Object_Button2)

Не нужно 3 раза вызывать функцию WindowFromPoint. Присвоить результат переменной и сравнивать.
 Цитата:
int handle=WindowFromPoint(Mouse_x, Mouse_y);
while(handle == Object_Checkbox[i] || handle == ...)

 Цитата:
while(WindowFromPoint(Mouse_x, Mouse_y) == Object_Checkbox[i] || WindowFromPoint(Mouse_x, Mouse_y) == Object_Button1 || WindowFromPoint(Mouse_x, Mouse_y) == Object_Button2)
{
SetCursor(Object_Cursor1);
sleep(10);
getmouse(Mouse_x, Mouse_y);
break;
}

И зачем нужен while, если он постоянно прерывается через break без всяких условий?
 Цитата:
Load_Settings();

Можно добавить в таймер 0, только дописать условие через gettime чтобы срабатывало каждые 500 мсек.
 
 Top
007wan
Отправлено: 03 Сентября, 2019 - 13:58:43
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1838
Дата рег-ции: Март 2017  
Репутация: -2




 Zireael пишет:
Не нужно 3 раза вызывать функцию WindowFromPoint. Присвоить результат переменной и сравнивать.
Ай, блин точно. Он е проверяет условие и крутит, пока не будет истина или ложное условие.
 
 Top
Страниц (5): « 1 2 3 [4] 5 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by