Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Бот-фарм В Grepolis, Помогите упростить скрипт
Arome
сообщение 20.9.2011, 23:20
Сообщение #1


*

Registred
Сообщений: 3
Регистрация: 20.9.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.013



Есть такая браузерная игрушка. Это, примерно, аналог травиана и войны племен.
(если кому интересно, напишите мне свое мыло, я сделаю вам приглашение - и вам проще будет и мне бонус (IMG:style_emoticons/default/biggrin.gif) )
В ней помимо накопления ресурсов через производственные постройки, которые производят определенное количество в час, есть возможность сбора ресов с нейтральных поселений, расположенных на одном с вашим городом острове и обозначенных особыми флажками.

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

Читая форум я уже понял, что можно использовать Findcolor, но тут возникает проблема:
как я понял, это команда позволяет найти всего 1 объект в заданной области, в то время как у меня в этой области бывает до 8-ми объектов, и в каждый необходимо кликнуть по очереди (самая большая проблема заключается в том, что на каждом острове эти объекты расположены в самых различных позициях). Если я не прав и есть возможность найти и зафиксировать несколько объектов заданного цвета, так чтобы их можно было потом прокликать, подскажите как.

Я так же нашел упоминание функции Findimage. Однако не нашел никакой инструкции по применению.
Учитывая, что все необходимые мне объекты обозначены одинаковыми флажками, я предполагаю, что можно использовать изображения этих флажков для идентификации объектов.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Arome
сообщение 20.9.2011, 23:36
Сообщение #2


*

Registred
Сообщений: 3
Регистрация: 20.9.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.013



вот как выглядит скрипт:
Grepolis_farm


left 84, 162
wait 1s
left 620, 162
wait 2s
left 179, 310
wait 2s
left 76, 36
wait 2s



left 432, 668 //1
wait 2s
left 432, 668
wait 2s
call FARM

left 475, 517 //2
wait 2s
left 475, 517
wait 2s
call FARM

left 671, 455 //3
wait 2s
left 671, 455
wait 2s
call FARM

left 751, 451 //4
wait 2s
left 751, 451
wait 2s
call FARM

left 971, 581 //5
wait 2s
left 971, 581
wait 2s
call FARM

left 890, 603 //6
wait 2s
left 890, 603
wait 2s
call FARM

left 786, 674 //7
wait 2s
left 786, 674
wait 2s
call FARM



left 84, 162
wait 1s
left 620, 162
wait 333
left 180, 263
wait 2s
left 76, 36
wait 2s


left 574, 582 //1
wait 2s
left 574, 582
wait 2s
call FARM

left 621, 522 //2
wait 2s
left 621, 522
wait 2s
call FARM

left 672, 570 //3
wait 2s
left 672, 570
wait 2s
call FARM

left 777, 566 //4
wait 2s
left 777, 566
wait 2s
call FARM

left 896, 520 //5
wait 2s
left 896, 520
wait 2s
call FARM

left 950, 469 //6
wait 2s
left 950, 469
wait 2s
call FARM

left 483, 415 //7
wait 2s
left 483, 415
wait 2s
call FARM



left 84, 162
wait 1s
left 620, 162
wait 333
left 182, 231
wait 2s
left 76, 36
wait 2s


left 465, 568 //1
wait 2s
left 465, 568
wait 2s
call FARM

left 626, 638 //2
wait 2s
left 626, 638
wait 2s
call FARM

left 673, 735 //3
wait 2s
left 673, 735
wait 2s
call FARM

left 793, 753 //4
wait 2s
left 793, 753
wait 2s
call FARM

left 939, 568 //5
wait 2s
left 939, 568
wait 2s
call FARM

left 849, 512 //6
wait 2s
left 849, 512
wait 2s
call FARM

left 709, 483 //7
wait 2s
left 709, 483
wait 2s
call FARM



left 84, 162
wait 1s
left 620, 162
wait 333
left 181, 343
wait 2s
left 76, 36
wait 2s


left 457, 522 //1
wait 2s
left 457, 522
wait 2s
call FARM

left 454, 598 //2
wait 2s
left 454, 598
wait 2s
call FARM


left 569, 589 //3
wait 2s
left 569, 589
wait 2s
call FARM

left 707, 557 //4
wait 2s
left 707, 557
wait 2s
call FARM

left 815, 619 //5
wait 2s
left 815, 619
wait 2s
call FARM

left 851, 582 //6
wait 2s
left 851, 582
wait 2s
call FARM

left 967, 656 //7
wait 2s
left 967, 656
wait 2s
call FARM


left 84, 162
wait 1s
left 179, 372
wait 2s
left 76, 36
wait 2s

left 626, 640 //1
wait 2s
left 626, 640
wait 2s
call FARM

left 671, 735 //2
wait 2s
left 671, 735
wait 2s
call FARM

left 792, 751 //3
wait 2s
left 792, 751
wait 2s
call FARM

left 954, 627 //4
wait 2s
left 954, 627
wait 2s
call FARM

left 933, 568 //5
wait 2s
left 933, 568
wait 2s
call FARM

left 710, 483 //6
wait 2s
left 710, 483
wait 2s
call FARM



left 84, 162
wait 1s
left 207, 345
wait 2s
left 184, 405
wait 2s
left 76, 36
wait 2s


left 629, 526 //1
wait 2s
left 629, 526
wait 2s
call FARM

left 676, 573 //2
wait 2s
left 676, 573
wait 2s
call FARM

left 777, 568 //3
wait 2s
left 777, 568
wait 2s
call FARM

left 955, 475 //4
wait 2s
left 955, 475
wait 2s
call FARM

left 546, 336 //5
wait 2s
left 546, 336
wait 2s
call FARM

left 488, 422 //6
wait 2s
left 488, 422
wait 2s
call FARM


left 84, 162
wait 1s
left 620, 162
wait 200
left 183, 424
wait 2s
left 76, 36
wait 2s


left 437, 603 //1
wait 2s
left 437, 603
wait 2s
call FARM

left 668, 629 //2
wait 2s
left 668, 629
wait 2s
call FARM

left 749, 707 //3
wait 2s
left 749, 707
wait 2s
call FARM

left 850, 675 //4
wait 2s
left 850, 675
wait 2s
call FARM

left 827, 625 //5
wait 2s
left 827, 625
wait 2s
call FARM

left 647, 422 //6
wait 2s
left 647, 422
wait 2s
call FARM


left 84, 162
wait 1s
left_down 363, 413 //Прокрутка
wait 1s
left_up 363, 413 //Прокрутка
wait 500
left 181, 221
wait 2s
left 76, 36
wait 2s


left 439, 571 //1
wait 2s
left 439, 571
wait 2s
call FARM

left 488, 594 //2
wait 2s
left 488, 594
wait 2s
call FARM

left 586, 615 //3
wait 2s
left 586, 615
wait 2s
call FARM

left 665, 594 //4
wait 2s
left 665, 594
wait 2s
call FARM

left 749, 677 //5
wait 2s
left 749, 677
wait 2s
call FARM

left 850, 641 //6
wait 2s
left 850, 641
wait 2s
call FARM

left 823, 593 //7
wait 2s
left 823, 593
wait 2s
call FARM

left 696, 435 //8
wait 2s
left 696, 435
wait 2s
call FARM


left 84, 162
wait 1s
left_down 363, 413 //Прокрутка
wait 1s
left_up 363, 413 //Прокрутка
wait 500
left 181, 271
wait 2s
left 76, 36
wait 2s


left 877, 524 //1
wait 2s
left 877, 524
wait 2s
call FARM

left 901, 429 //2
wait 2s
left 901, 429
wait 2s
call FARM

left 793, 420 //3
wait 2s
left 793, 420
wait 2s
call FARM

left 706, 429 //4
wait 2s
left 706, 429
wait 2s
call FARM

left 589, 380 //5
wait 2s
left 589, 380
wait 2s
call FARM

left 426, 470 //6
wait 2s
left 426, 470
wait 2s
call FARM

left 614, 600 //7
wait 2s
left 614, 600
wait 2s
call FARM


left 84, 162
wait 1s
left_down 363, 413 //Прокрутка
wait 1s
left_up 363, 413 //Прокрутка
wait 500
left 181, 286
wait 2s
left 76, 36
wait 2s


left 836, 490 //1
wait 2s
left 836, 490
wait 2s
call FARM

left 750, 542 //2
wait 2s
left 750, 542
wait 2s
call FARM

left 606, 460 //3
wait 2s
left 606, 460
wait 2s
call FARM

left 504, 473 //4
wait 2s
left 504, 473
wait 2s
call FARM

left 399, 520 //5
wait 2s
left 399, 520
wait 2s
call FARM

left 400, 596 //6
wait 2s
left 400, 596
wait 2s
call FARM

left 365, 620 //7
wait 2s
left 365, 620
wait 2s
call FARM


left 84, 162
wait 1s
left_down 363, 413 //Прокрутка
wait 1s
left_up 363, 413 //Прокрутка
wait 500
left 182, 318
wait 2s
left 76, 36
wait 2s


left 545, 462 //1
wait 2s
left 545, 462
wait 2s
call FARM

left 650, 401 //2
wait 2s
left 650, 401
wait 2s
call FARM

left 772, 485 //3
wait 2s
left 772, 485
wait 2s
call FARM

left 902, 508 //4
wait 2s
left 902, 508
wait 2s
call FARM

left 950, 587 //5
wait 2s
left 950, 587
wait 2s
call FARM

left 856, 634 //6
wait 2s
left 856, 634
wait 2s
call FARM

left 602, 676 //7
wait 2s
left 602, 676
wait 2s
call FARM


left 84, 162
wait 1s
left_down 363, 413 //Прокрутка
wait 1s
left_up 363, 413 //Прокрутка
wait 500
left 180, 350
wait 2s
left 76, 36
wait 2s


left 936, 511 //1
wait 2s
left 936, 511
wait 2s
call FARM

left 958, 416 //2
wait 2s
left 958, 416
wait 2s
call FARM

left 859, 333 //3
wait 2s
left 859, 333
wait 2s
call FARM

left 851, 410 //4
wait 2s
left 851, 410
wait 2s
call FARM

left 764, 416 //5
wait 2s
left 764, 416
wait 2s
call FARM

left 670, 591 //6
wait 2s
left 670, 591
wait 2s
call FARM

left 550, 498 //7
wait 2s
left 550, 498
wait 2s
call FARM

left 484, 456 //8
wait 2s
left 484, 456
wait 2s
call FARM


left 84, 162
wait 1s
left_down 363, 413 //Прокрутка
wait 1s
left_up 363, 413 //Прокрутка
wait 500
left 182, 396
wait 2s
left 76, 36
wait 2s


left 451, 663 //1
wait 2s
left 451, 663
wait 2s
call FARM

left 443, 568 //2
wait 2s
left 443, 568
wait 2s
call FARM

left 492, 508 //3
wait 2s
left 492, 508
wait 2s
call FARM

left 772, 448 //4
wait 2s
left 772, 448
wait 2s
call FARM

left 842, 471 //5
wait 2s
left 842, 471
wait 2s
call FARM

left 897, 533 //6
wait 2s
left 897, 533
wait 2s
call FARM

left 986, 575 //7
wait 2s
left 986, 575
wait 2s
call FARM


left 84, 162
wait 1s
left_down 363, 413 //Прокрутка
wait 1s
left_up 363, 413 //Прокрутка
wait 500
left 182, 412
wait 2s
left 76, 36
wait 2s


left 506, 502 //1
wait 2s
left 506, 502
wait 2s
call FARM

left 557, 554 //2
wait 2s
left 557, 554
wait 2s
call FARM

left 621, 555 //3
wait 2s
left 621, 555
wait 2s
call FARM

left 614, 606 //4
wait 2s
left 614, 606
wait 2s
call FARM

left 574, 650 //5
wait 2s
left 574, 650
wait 2s
call FARM

left 575, 698 //6
wait 2s
left 575, 698
wait 2s
call FARM


proc FARM
left 552, 165
wait 200
left 530, 669
wait 2s
left 147, 336
wait 1s
end_proc



И это хорошо еще, что я додумался использовать процедуру. А до этого у меня скрипт занимал в 2 раза больше места))
Если посчитаете, увидите, что фармить приходится 14 островов. И каждый остров приходится прописывать отдельно. Соответственно каждый следующий захваченный остров необходимо заносить в список. Хотелось бы оптимизировать скрипт так, чтобы для всех островов использовалась 1 универсальная процедура.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ламерок
сообщение 21.9.2011, 7:44
Сообщение #3


**

Neophyte
Сообщений: 12
Регистрация: 15.9.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.986
Возраст: 18



call FARM -- что эта команда означает ? Какая функция ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Arome
сообщение 21.9.2011, 18:04
Сообщение #4


*

Registred
Сообщений: 3
Регистрация: 20.9.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.013



Цитата(ламерок @ 21.9.2011, 8:44) *

call FARM -- что эта команда означает ? Какая функция ?


это я вызываю процедуру, которая прописана в конце скрипта и называется FARM
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
user17
сообщение 11.10.2011, 12:28
Сообщение #5


**

Neophyte
Сообщений: 10
Регистрация: 11.10.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.140
Возраст: 27



Интересный вопрос.
Есть у кого какие-нибудь варианты решения?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 11.10.2011, 14:24
Сообщение #6


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



без реальных картинок тяжело советовать. Выкладывайте несколько PNG файлов с комментариями )
можно в архиве.

Сразу добавлю, что findcolor может находить ВСЕ пиксели нужного цвета (диапазона цветов), а не только первый (см.описание команды в справке программы)


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 25.10.2011, 19:25
Сообщение #7


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(Nikol @ 25.10.2011, 11:38) *

не изобретайте колес

- не готовьте дома
- не ходите пешком
- не сажайте огород

- не делайте ничего сами

(IMG:style_emoticons/default/biggrin.gif)


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
unixxx
сообщение 10.11.2011, 21:25
Сообщение #8


*

Registred
Сообщений: 6
Регистрация: 10.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.234
Возраст: 26



по поводу поиска цвета даже не думай, когда играл в уо сам видил пак в уо? так вот у меня был скрипт поиска цвета руды и логов, так сама выкладка и поиск занимало времени минут 10 наверное а то и больше так что я хз, стоит ли весь монитор детектить по цвету деревень да и не реаль практически. я делаю так!!!!!

заноого :-)

все еще актульно? :-) ладно напишу что я делаю :-)
мой скрипт на каждый город отдельно, тоесть каждый твой город это новое окно во первый скрип меньше, ну и можно к каждому городу как у меня сделать отдельно окно со строительсвом армии или чего из сената. если чесно пишу чютка уставший так что если что то не понятно потом распишу :-)

скрипт

:start
//окноо закрыть закрываем всякие окна которые могут быть в игре, если че подвисло
move 882, 349 abs
wait 1s
left 882, 349 abs
wait 2s
repeat 2
move 925, 430 abs
wait 1s
left 925, 430 abs
wait 1s
end_repeat
//окно закрыть

//1 город ну тут все понятно пошли деревни :-) на острове
move 340, 643 abs
wait 1s
repeat 2
left 340, 643 abs
wait 3s
end_repeat

gosub op

//2 город
move 548, 542 abs
wait 1s
repeat 2
left 548, 542 abs
wait 3s
end_repeat

gosub op

//3 город
move 955, 678 abs
wait 1s
repeat 2
left 955, 678 abs
wait 3s
end_repeat

gosub op

//4 город
move 902, 728 abs
wait 1s
repeat 2
left 902, 728 abs
wait 3s
end_repeat

gosub op

//5 город
move 782, 774 abs
wait 1s
repeat 2
left 782, 774 abs
wait 3s
end_repeat

gosub op

//6 город
move 679, 779 abs
wait 1s
repeat 2
left 679, 779 abs
wait 3s
end_repeat

gosub op

//7 город
move 628, 730 abs
wait 1s
repeat 2
left 628, 730 abs
wait 3s
end_repeat

gosub op

//8 город
move 582, 792 abs
wait 1s
repeat 2
left 582, 792 abs
wait 3s
end_repeat

gosub op

тут мы ставим все подряд толи запуск другова скрипта толи пауза

wait 205s

gosub start

(IMG:style_emoticons/default/ohmy.gif)p // процедура нажатия 5 минутного реса
wait 1s
move 537, 732 abs
wait 1s
left 537, 732 abs
wait 3s
left 533, 656 abs
wait 1s

return
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 10.11.2011, 21:40
Сообщение #9


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27723
Пользователь №: 11.279



findcolor и findimage анализируют весь экран за секунды даже на стареньком p4 1,8. Какие 10 минут? времена уже прошли - функционал совсем другой уже.

Сообщение отредактировал DarkMaster - 10.11.2011, 21:40


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
unixxx
сообщение 10.11.2011, 21:50
Сообщение #10


*

Registred
Сообщений: 6
Регистрация: 10.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.234
Возраст: 26



так продолжим сори за запятые и все прочие :-)

я как понимаю твой скрипт делает так!
сначало собирает ресы с 8 деревень на одном острове, потом переходит в левый верхний угол и нажимает стрелку след. город? если так то то я предлогаб тебе сделать так.

0 окно скрипта тот же скрипт что и у меня (допустим)
1 окно (вспомогательный строительсто армии, отправка ресов или город стройка как написать сам знаеш)
2 окно это уже второй остров на который он переходит нажатием все той же кнопочки стрелочка на след. остров

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

там где карта у нас в игре есть снизу координаты допустим у тебя они 555 555 ты нажимаеш перейти к этим координатам и скока бы ты их раз не вводил они не разу не собьются наверное не на пиксель, так вот тебе надо свой первый город определить по координатам тоесть чтобы остров был по середине экрана так сказать. потом не просто двигая мышкой смотреть координаты а менять их в ручную (потомучто мышка не точно показывает их в самой игре) тоесть забиваеш 556 554 и смотриш куда у тебя ушел остров, если криво пиши в игре 555 556, опять не попал и так далее пока остров не выровняется по центу, потом сохраняй эти координаты в самой игре я так делаю.

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


Цитата(DarkMaster @ 10.11.2011, 21:40) *

findcolor и findimage анализируют весь экран за секунды даже на стареньком p4 1,8. Какие 10 минут? времена уже прошли - функционал совсем другой уже.


просто в уо использовал тогда findcolor тоесть указывал верхний левый угол пака и нижний правый угол пака в пикселях, и шаг был в 1 пиксель вроде и задержка была толи секунда толи больше, может от инета зависила, но серьезно пока он песь пак просканить мышкой пока найдет эту руду уходило от 10 минут.


может че не так делал :-) просто мне интересно как щас идет сканирование всего экрана на цвет тоесть имено на поиск определеного цвета в браузере на секунды? если можно пример команды :-)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
unixxx
сообщение 10.11.2011, 22:16
Сообщение #11


*

Registred
Сообщений: 6
Регистрация: 10.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.234
Возраст: 26



красными кружками обозначины деревни, как их можно найти?

зарание сенки за ответы по теме и подсказки :-)


Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 10.11.2011, 22:18
Сообщение #12


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27723
Пользователь №: 11.279



отныне 'findcolor' ищет во всем указанном диапазоне, а не 'до' конечной точки. 'set $a FindColor (10, 15 10, 15 1 1 84235 %arr)' будет искать цвет в одной точке

научил 'findcolor' искать по диапазону цветов и по отдельным каналам цвета. для поиска по диапазону параметры цвета задаются в круглых скобках. можно задавать сразу несколько параметров. ищет сразу по всем указанным параметрам. если цвет указан без скобок, то ищется точное совпадение цвета, как раньше
'set $a FindColor (StartX StartY EndX EndY ShiftX ShiftY (RequiredColor) ResultArray [type] [abs])'
примеры задания 'RequiredColor':
'84235' - точный цвет
'84235-86027' - диапазон цветов
'R(11)' - значение красного канала = 11, остальные не проверяются
'G(73-80)' - диапазон значений зеленого канала, остальные не проверяются
'R(11)+G(73-80)+B(1)' - заданы значения по всем каналам
'84235, R(0), R(11)+G(73-80)+B(1)' - комбинированное указание искомых цветов

добавил предельное количество точек для поиска в команде 'findcolor', в связи с этим слегка изменился синтаксис
'set $a FindColor (StartX StartY EndX EndY ShiftX ShiftY (RequiredColor) ResultArray [type [count]] [abs])'


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 10.11.2011, 22:39
Сообщение #13


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(unixxx @ 10.11.2011, 22:16) *

красными кружками обозначины деревни, как их можно найти?

зарание сенки за ответы по теме и подсказки :-)

посмотри тут


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
unixxx
сообщение 11.11.2011, 17:55
Сообщение #14


*

Registred
Сообщений: 6
Регистрация: 10.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.234
Возраст: 26



привет всем еще раз, ок посматрел ссылку инетерсно попробую разобраться щас :-)


автор посматри тоже ссылку интересно там получается :-)



всем сенки за помощь

DarkMaster сори если что не так сказал :-) по поводу уо вспомнил так как по цвету было трудно определить руду то через каждый пиксель он просто кликал в пак и опять была задержа пока он не получал сообщение от сервера что это руда или лог :-) вот поэтому наверное и было так долго
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
unixxx
сообщение 11.11.2011, 20:47
Сообщение #15


*

Registred
Сообщений: 6
Регистрация: 10.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.234
Возраст: 26



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


там предлогают такой вариант скрипта

set $a FindImage (171 181 1398 784 (I:\flag1.bmp) %arr 2 50 -1)
set #b size (%arr)
msg $a
wait 5s
if #b > 0
set #X %arr[1 1]+20
set #Y %arr[1 2]+20
left #X,#Y
end_if
end_script

он все нормально находит и количество IMG и определяет первые координаты нормально, но потом надо как тока весь массив прочитать так сказать количество IMG так получается проблема :-) для меня

хороший человек предлогает (чесно хороший Zeleax который туда и отправил и там отписывался спосибо ему большое) предлогает такой скрипт

For #i 1 #b
set #X %arr[i 1]+20
set #Y %arr[i 2]+20
left #X,#Y
wait 1000 + random(1000) // небольшая задержка между кликами
End_for

тоесть по мне все нормально он прыгает от точки один до точки два + 20 пикселей но толи я плохо понимаю в этом во всем толи че :-) у меня прыгает тока на оду точку IMG и дальше кудато за экран написал чтобы просто координаты писал вот что MSG выдает

сначало выдает X =357 Y=704

потом почемуто X= 357724 Y=357828

тоесть почемуто X и Y координаты перемешалися если я делаю так

set $a FindImage (100 100 1200 1000 (D:\Games\UltimaOnline\Pa3Hoe\grepolis\1.bmp) %arr 2 50 -1 abs)
set #b size (%arr)
wait 1s

msg #b
if #b > 0
set #X %arr[1 1] +25
set #Y %arr[1 2] +35
msg #X,#Y
wait 3s

start_script 1
pause_script

set #X %arr[2 1] +25
set #Y %arr[2 2] +35
msg #X,#Y
wait 3s

start_script 1
pause_script

set #X %arr[3 1] +25
set #Y %arr[3 2] +35
msg #X,#Y
wait 3s

тоесть принудительно указываю точки а их там 8 то он нормально показывает каждую координату и мышкой нормально воодит :-) где ошибка так и не могу понять
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
unixxx
сообщение 11.11.2011, 21:39
Сообщение #16


*

Registred
Сообщений: 6
Регистрация: 10.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.234
Возраст: 26



отвечаю сам себе но и вам понял в чем делоо :-)

For #i 1 #b
set #X %arr[#i 1] +25
set #Y %arr[#i 2] +35
move #X,#Y
wait 2s

end_For


вот и все нормально работает :-) нехватало # перед i %-)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 11.11.2011, 21:51
Сообщение #17


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(unixxx @ 11.11.2011, 21:39) *

вот и все нормально работает :-) нехватало # перед i %-)

точно. В той теме я тоже поправил )


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ArtemKrass
сообщение 5.3.2012, 11:31
Сообщение #18


*

Registred
Сообщений: 1
Регистрация: 5.3.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.717



Всем Привет!
Ребята, расскажите ПЛЗ как все это в скрипт перевести и под себя настроить???
Куда мои координаты вписывать???

Заранее благодарен!
С Уважением, Артем!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
AciD DrEaM
сообщение 28.3.2012, 1:07
Сообщение #19


**

Neophyte
Сообщений: 17
Регистрация: 28.3.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.807
Возраст: 27



Вот мой скрипт. К сожалению с поиском картинок не разобрался и сделал все по цветам и координатам. Добавил всевозможные проверки на лаги и баги так что скрипт работает без перебоев целыми днями.
Для простоты понятия добавил описания. По принципу первой деревни разбираться и с остальными.
Просьба к тому кто шарит в поиске по картинкам помочь упростить скрипт.


set #max 15
set #MaxChe 8

// Обновление страницы, закрытие окна ежедневного подарка и окна города
:Reload
set #Circ 0
set #Che 0
send f5
wait 3000
//Координаты и цвет обеих рамок(ежедневного подарка,окна города).Любая точка на рамке
while_not 890, 192 2767173 or 863, 264 2371899
//Координаты и цвет точки на монетах на кнопке информации острова(Посреди острова кнопка его инфы,брать цвет и координаты именно с монет)
If 931, 418 8223866
goto Vil1
end_if
wait 1000
set #Circ #Circ + 1
if #Circ > #Max
goto Reload
end_if
end_while
set #Circ 0
//Закрыть окно подарка
move 1081, 266
left 1081, 266
wait 1000
//ЗАкрыть окно города
move 1212, 192
left 1212, 192
wait 1000


:Vil1
//Координаты и цвет флажка(готовности фарма) деревни
if 734, 472 4353423
// клик по деревне
move 725, 464
left 725, 464
wait 1000
//клик по фарм
move 733, 474
left 733, 474
wait 500
//Проверка на лаг или баг странички. Координаты и цвет рамки фарма. Любая точка на рамке
while_not 732, 532 3096653
wait 500
set #Che #Che + 1
if #Che > #MaxChe
goto Reload
end_if
end_while
set #Che 0
call Farm
end_if


:Vil2
if 802, 499 4221835
move 781, 484
left 781, 484
wait 1000
move 788, 481
left 788, 481
wait 500
while_not 732, 532 3096653
wait 500
set #Che #Che + 1
if #Che > #MaxChe
goto Reload
end_if
end_while
set #Che 0
call Farm
end_if

:Vil3
if 982, 521 3890295
move 964, 503
left 964, 503
wait 1000
move 962, 497
left 962, 497
wait 500
while_not 732, 532 3096653
wait 500
set #Che #Che + 1
if #Che > #MaxChe
goto Reload
end_if
end_while
set #Che 0
call Farm
end_if

:Vil4
if 1080, 441 4285311
move 1065, 421
left 1065, 421
wait 1000
move 1073, 428
left 1073, 428
wait 500
while_not 732, 532 3096653
wait 500
set #Che #Che + 1
if #Che > #MaxChe
goto Reload
end_if
end_while
set #Che 0
call Farm
end_if


:Vil5
if 1122, 494 4747406
move 1103, 475
left 1103, 475
wait 1000
move 1114, 483
left 1114, 483
wait 500
while_not 732, 532 3096653
wait 500
set #Che #Che + 1
if #Che > #MaxChe
goto Reload
end_if
end_while
set #Che 0
call Farm
end_if


:Vil6
if 1046, 504 2769491
move 1028, 490
left 1028, 490
wait 1000
move 1037, 489
left 1037, 489
wait 500
while_not 732, 532 3096653
wait 500
set #Che #Che + 1
if #Che > #MaxChe
goto Reload
end_if
end_while
set #Che 0
call Farm
end_if

//Ожидание до следующего фарма
:Wait
//Координаты и цвет флажков готовности фарма всех дерефушек
while_not 739, 475 4351872 or 802, 499 4221835 or 978, 519 1847100 or 1081, 441 4747406 or 1121, 493 4087415 or 1045, 502 4748435
set #Circ #Circ + 1
if #Circ > #Max
goto Reload
end_if
//Проверка на баг странички:Координаты и цвет точки флага готовности к фарму и точки на флаге не готовности к фарму(Если не то или не то-то баг)
if_not 727, 491 4607061 or 738, 476 4747406
goto Reload
end_if
wait 10000
end_while
set #Circ 0
goto Vil1

//Процедура фарма. Координаты кнопки фарма в окне фарма которая вам необходима.(5 минут итд...)
proc Farm
move 737, 569
Left 737, 569
wait 1000
end_proc

end_script
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 28.3.2012, 7:23
Сообщение #20


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



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


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V  1 2 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 25.4.2024, 19:53
Designed by Nickostyle