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

> Игровой бот Небеса: уникальная игра!
dimоn
сообщение 10.2.2015, 17:53
Сообщение #1


***

Novice
Сообщений: 97
Регистрация: 24.10.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.079
Возраст: 27



Добрался, наконец-то, все никак руки не доходили...
В общем, появилось немного свободного времени, задался вопросом написания бота, самого обычного, для поиска, выноса мобов и разбора...
Пошарил поиск, видел несколько незаконченных тем, но решил создать новую, потому что работает немного по другой структуре.
Хотелось бы выразить благодарность DarkMaster'у Все-таки, не каждый человек, будет сидеть на каком-то форуме, что бы помочь народу с написанием какой-то, нужной им, лабуды, с целью их умственного развития...
Честно скажу, времени ушло много, но в основном это зависело от наличия свободного и в тот или иной момент, желания.

Не обошлось и без блок-схемы.
Только так смог собрать все посещающие голову мысли в единое целое.

(IMG:http://clip2net.com/clip/m359722/2d2fd-clip-82kb.jpg)

Итак, значит бот построен по следующей структуре:


(IMG:http://clip2net.com/clip/m359722/3c33e-clip-25kb.jpg)

Блок поиска и нападения - это все индивидуально, в зависимости от хар-к и направленности.
Блок дропа, соответственно, от блока поиска, то есть от задач.
Хотелось бы разобрать блок боя.

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

Исходный код
set #h workwindow
set workwindow #h
:boy
while_not (1147, 456 72864) or (1154, 454 778406)


while_not 840, 204 936748

wait 2000
if 1190, 474 2249471
goto boy_okonchen
end_if
end_while

if 658, 214 16763649

if (731, 612 16777215 ) or ( 782, 612 16711665 )
if 731, 612 16777215

left 728, 615
wait 1000 + random (2500)
set #x 841 + random (210)
set #y 263 + random (200)
left #x #y
goto boy
end_if
if 782, 612 16711665

left 784, 613
wait 1000 + random (2500)
set #x 841 + random (210)
set #y 263 + random (200)
left #x #y
goto boy
end_if
else
if_not (733, 607 15592941) and ( 787, 615 8928750)
start_script 2
stop_script
end_if
end_if
else
if 989, 616 7484429

wait 1000
left 1007, 616
wait 1000
left 919, 644
wait 1000
else
start_script 2
stop_script
end_if


end_if


end_while
:boy_okonchen

If 1175, 455 92751


left 964, 516
wait 3500
left 788, 515
wait 1500
left 1000, 530
wait 1000
goto boy
end_if


start_script 3
pause_script
resume_script 0

stop_script


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

Следующей задачей был алгоритм хода, на случай, если ни квадрата, ни креста нет.
На самом деле, не придумал ничего проще, чем сходить по подсказке...

Исходный код
// (межстрочный интервал 10)
set #h workwindow
set workwindow #h

while_not #x1 > 0

set $l findimage (792, 210 1094, 517 (\image\стрелки\лево.bmp)%lv 2 20 1 5)
if ($l > 0)
set #x1 %lv[1 1]
set #y1 %lv[1 2]
set #x2 #x1 + 40
set #y2 #y1
end_if

set $v findimage (792, 210 1094, 517 (\image\стрелки\верх.bmp)%up 2 21 1 5)
if ($v > 0)
set #x1 %up[1 1]
set #y1 %up[1 2]
set #x2 #x1
set #y2 #y1 + 40
end_if
if_not 840, 204 936748
goto end
end_if
end_while

wait 1000
left #x1 #y1
wait 1000 + random (1500)
left #x2 #y2
left #x2 #y2
wait 1500

:end

start_script 1
stop_script


Прикрепленный файл  лево.bmp ( 3,33 килобайт ) Кол-во скачиваний: 8487
Прикрепленный файл  верх.bmp ( 2,27 килобайт ) Кол-во скачиваний: 8123


Долго мучался со стрелками, их вращением и считыванием именно той, которой нужно.
Так вроде работает.
Скрипт_0 - поиск, нападение, 1 - бой, 2 - ход, 3 - дроп, разбор, с него уходим "resume_script 1"

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

Так же, выкладываю все на безвозмездной основе, попытки продать, как бота - это, как минимум свинство и того не стоит.

Что не понравилось, с сохранением у пилота, какая-то беда, и в настройках указал, сохранять при выходе: то, писал что-то, возьмет, не сохранит, то возьмет заменит чем-нибудь.. В общем беда.
Так же не понравилось и добавило объема - в пилоте, почему то, нет ф-ции отрицания... т.е. есть if_not, while_not, но нет not_and, not_or и пр. а это дополнительные проверки...
По крайней мере не нашел ни описания, к ним, ни синтаксиса.


Прикрепленные файлы
Прикрепленный файл  бой.txt ( 1,63 килобайт ) Кол-во скачиваний: 43833
Прикрепленный файл  ход.txt ( 697 байт ) Кол-во скачиваний: 6484
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 27.7.2015, 0:29
Сообщение #2


***********

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



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


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

Сообщений в этой теме
dimоn   Игровой бот Небеса: уникальная игра!   10.2.2015, 17:53
DarkMaster   это я так понимаю подразумевается отрицание услов...   10.2.2015, 18:09
dimоn   [code] !(3 > 4) истинность второ...   10.2.2015, 18:27
dimоn   Тишина, гробовая.. Навязывается вопрос, это вообще...   9.4.2015, 17:21
cirus   Может кому-то и пригодится когда-нибудь. Точка я...   10.4.2015, 2:45
dimоn   Точка явно лишняя. Почему? Что в ней не так?   10.4.2015, 11:09
dimоn   Почему? Что в ней не так? А, я понял.. Нет, ...   10.4.2015, 11:30
DarkMaster   Пилот скачивают сотни тысяч раз. Сколько людей пр...   10.4.2015, 8:01
cirus   Так смысл точки в условии в чём? if $v >....   10.4.2015, 12:03
dimоn   Не знаю, куда написать, тему создавать, смысла, ос...   16.5.2015, 5:30
cirus   Нельзя.   16.5.2015, 11:35
dimоn   Ок, а если сделать скрин и его стрельнуть два раза...   16.5.2015, 16:24
DarkMaster   столько же + время на скрин.   16.5.2015, 16:30
dimоn   Такой вопрос, на сколько и в какую сторону изменяе...   24.5.2015, 13:18
DarkMaster   Откуда в коде два адреса? Откуда после массива адр...   24.5.2015, 13:58
dimоn   Начал разбираться с командами, и в описании к find...   24.5.2015, 14:17
DarkMaster   Вы можете пояснить, как адрес в скобках может явл...   24.5.2015, 14:18
dimоn   Вы можете пояснить, как адрес в скобках может явл...   24.5.2015, 14:45
dimоn   Что именно? Вы хотите искать в изображении на вин...   24.5.2015, 16:25
DarkMaster   Исходя из синтаксиса там написано "handle...   24.5.2015, 16:26
dimоn   Исходя из синтаксиса там написано "handle...   24.5.2015, 18:19
DarkMaster   Я цитирую кусок про принтскрин и пишу про него, в...   24.5.2015, 18:59
dimоn   Ладно, спорить можно было бы бесконечно :duel: , н...   24.5.2015, 19:14
dimоn   Я цитирую кусок про принтскрин и пишу про него, в...   24.5.2015, 21:42
DarkMaster   Это не более чем схожие либо связанные по смыслу/...   24.5.2015, 22:10
dimоn   На самом деле, тоже не удивлюсь, если это просто с...   24.5.2015, 22:39
dimоn   Да и фиг бы с ними, с показателями, так, для общег...   24.5.2015, 22:50
DarkMaster   В частности вы нашли три изображения "verkh...   24.5.2015, 23:00
dimоn   В частности вы нашли три изображения "verkh...   25.5.2015, 14:31
veiron   А зачем ждать подсказки игры и искать ход по стрел...   25.5.2015, 17:49
WKnight   А чего там вообще workwindow в логе делает?   25.5.2015, 11:03
DarkMaster   Ворквиндов - это номер окна. Это не процент совпа...   25.5.2015, 18:54
dimоn   А зачем ждать подсказки игры и искать ход по стре...   25.5.2015, 21:46
veiron   Почитай, пожалуйста тему сначала... Мне не нужны ...   25.5.2015, 23:32
dimоn   Да, я почитал тему. Вот у тебя выложен скрипт боя...   26.5.2015, 3:40
veiron   В чем же тогда проблема? Где его можно посмотреть...   28.5.2015, 10:41
dimоn   Я понят твою мысль, уж эти моменты, действительно,...   29.5.2015, 3:33
veiron   Но бой состоит не из одного хода. У меня просто ...   29.5.2015, 10:20
dimоn   У меня просто статы позволяют обходиться с одним ...   30.5.2015, 14:17
dimоn   Было дело, DarkMaster посоветовал проверить скрипт...   18.6.2015, 14:19
DarkMaster   Я надеюсь возвращением к этой теме стал не бан?   18.6.2015, 15:30
dimоn   Нет, по крайней мере у меня все норм. Хотя, не у в...   19.6.2015, 0:36
guetajazz   Тема близка и интересна))) Сам играю и часто польз...   28.6.2015, 21:40
dimоn   Было бы хорошо,если бы автор указывал,что именно...   29.6.2015, 19:21
dimоn   Использую пилот для арены,куча лишних тыков,клик...   29.6.2015, 21:59
DarkMaster   Первое в чем косяки - это читаемость скрипта: 1) В...   28.6.2015, 22:40
guetajazz   В общем- да! Я и не спорю. Сказал об этом сраз...   29.6.2015, 23:46
dimоn   Основные команды, которые для этого могут подойти,...   30.6.2015, 0:17
DarkMaster   С какого перепугу? Это очень практично и очень эф...   30.6.2015, 3:50
dimоn   Я, наверное, что-то не так понял.. Можно поподробн...   30.6.2015, 4:53
DarkMaster   Например, нам необходимо кликнуть по предмету и вы...   30.6.2015, 5:08
veiron   left 1 1 while_not x y c // Пока не появится меню...   30.6.2015, 8:41
dimоn   А если в этот момент произошел разрыв с сервером,...   30.6.2015, 14:27
veiron   Значит while_not заменяется на while Не вариант,...   30.6.2015, 18:05
cirus   Для этого в условие добавляется таймер.   30.6.2015, 10:59
veiron   Для этого в условие добавляется таймер. while_no...   30.6.2015, 11:14
DarkMaster   И чем это отличается от wait'ов которые в сам...   30.6.2015, 18:33
veiron   То делается подпрограмма и в нее передается набор...   30.6.2015, 18:56
dimоn   И чем это отличается от wait'ов которые в сам...   1.7.2015, 9:58
DarkMaster   Подпрограмма которая выполняет функцию ожидания и ...   30.6.2015, 20:16
DarkMaster   Т.е. у вас на 1 строку приходится 1-3 строки wait...   1.7.2015, 10:27
dimоn   Т.е. у вас на 1 строку приходится 1-3 строки wait...   1.7.2015, 13:27
DarkMaster   Вам виднее. Из того, что вы написали выше (размер...   1.7.2015, 14:55
dimоn   в 4 раза он уменьшится, если использовать вариант ...   2.7.2015, 1:25
DarkMaster   В скрипте нет ни одной строки кроме кликов что ли...   2.7.2015, 7:50
dimоn   В скрипте нет ни одной строки кроме кликов что ли...   2.7.2015, 10:45
dimоn   // Примитивная подпрограмма на ожидание будет 5 с...   2.7.2015, 10:55
DarkMaster   Это уже не клик, а условие. Соответственно оно по...   2.7.2015, 11:01
dimоn   Это уже не клик, а условие. Соответственно оно п...   2.7.2015, 11:52
DarkMaster   Цепляюсь и цепляюсь оправданно. Потому, что ваши ...   2.7.2015, 12:07
dimоn   Кстати можно и вовсе создать подпрограмму-комбайн...   2.7.2015, 14:08
DarkMaster   Можно и так, но я бы просто задал некоторую точку...   2.7.2015, 14:40
sefi   Прочитал данную дискуссию ... увидел, что автор де...   14.7.2015, 9:29
dimоn   Ну да, понял не особо... То есть, Вы хотите сказат...   14.7.2015, 13:01
DarkMaster   В этом есть смысл, но в плане скриптов и объемных...   14.7.2015, 19:39
Triniti   Всем утро/день/вечер/другое (нужное подчеркнуть) :...   26.7.2015, 23:05
dimоn   Всем утро/день/вечер/[u]другое (нужное подчеркнут...   27.7.2015, 0:33
Triniti   А на лог возможно взглянуть? //к налоговой инспек...   27.7.2015, 0:50
dimоn   Лог поиска на 8.1 здесь Лог поиска на (виртуалке)...   27.7.2015, 1:36
Triniti   Разрешение экрана на 8-ке? У тебя стоит поиск на...   27.7.2015, 1:48
dimоn   И там (виртуалка) и тут 1920х1080. Поиск же идёт ...   27.7.2015, 1:59
cirus   Причин может быть множество. Зависит от того в ка...   27.7.2015, 0:10
Triniti   Причин может быть множество. Зависит от того в ка...   27.7.2015, 0:25
DarkMaster   Выкинуть к чертям собачьим ВСЕ goto, кроме зацикл...   27.7.2015, 0:25
Triniti   А зачем вы привязываетесь к конейнеру? Вы уже гд...   27.7.2015, 0:35
DarkMaster   у вас версия браузера которой пара лет? Вообще вы ...   27.7.2015, 0:48
DarkMaster   опечатался, исправил. frompoint. Справка должна с...   27.7.2015, 0:59
Triniti   опечатался, исправил. frompoint. Справка должна с...   27.7.2015, 1:06
DarkMaster   Ну это олдстайл. Возможно хром отказался от идеи и...   27.7.2015, 1:26
Triniti   Вообще даже если все это действительно так, то те...   27.7.2015, 1:34
DarkMaster   Если работает по моему скрипту, то с поинтом разв...   27.7.2015, 1:40
DarkMaster   Процессы пофиг. Главное хендлы. Хэндл в вашем слу...   27.7.2015, 1:56
Triniti   Процессы пофиг. Главное хендлы. Хэндл в вашем слу...   27.7.2015, 1:59
dimоn   В процессе флэша 200 600 - избыточны, всё что нуж...   27.7.2015, 2:12
dimоn   Если поставишь вот эту галочку http://c2n.me/iXrFa...   27.7.2015, 2:05
DarkMaster   Остался не отвеченным вопрос cirus'a, о том в...   27.7.2015, 2:08
Triniti   Остался не отвеченным вопрос cirus'a, о том в...   27.7.2015, 14:31
dimоn   а у меня правый нижний угол (избранные) это 805,...   27.7.2015, 15:24
dimоn   И еще... http://c2n.me/3lh8Fqv.png   27.7.2015, 2:30
2 страниц V  1 2 >


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

 

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