Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Надо немного дополнить скрипт на мининг

тут можно задать вопрос по скриптингу
Post Reply
Aleksei
Posts: 5
Joined: 20.01.2017 15:28

Надо немного дополнить скрипт на мининг

Post by Aleksei »

Есть макрос,но он не полностью устраивает:

Code: Select all

//задание переменных
:step1 //называем блок step2
set $not there is
set $try try mining in rock
set $can't you can't see
set $noline you have no
set $put you put the
set $loos you loosen

//определяем позицию персонажа по координатам x и y
set #x charposx
set #y charposy
set #x #x - 2
set #y #y + 2

for #ii 1 5 1
for #i 1 5 1
set lasttargetx #x
set lasttargety #y
:step2 //называем этот блок скрипта - step4
send F6 //прожатие кирки на пол

waitfortarget 5000 //ждём пока выкопает тайтл
set timer
end_for
while_not ( lastmsg $not ) or ( lastmsg $try ) or ( lastmsg $can't ) or ( lastmsg $noline ) //если не увидели одно из этих сообщений
if ( lastmsg $put ) or ( lastmsg $loos ) //если увидели одно из этих сообщений
gosub step2 //возвращаемся на наш блок step4
end_if
if timer > 5000 or ( lastmsg sight ) //если прошло 5 сек. или вылезло сообщение о том,что мы вышли за экран
gosub step3 //переходим на блок step5

end_if
end_while
:step3 //называем блок step5
set #x #x
set #y #y - 1

set timer
end_for
set #x #x + 1
set #y #y + 5

:step4 //называем блок step6
repeat 3 //повторяем 3 раза
send down //делаем два шага вниз
wait 1000 //ждём 1 сек.
end_repeat

end_if

goto step1 //возвращаемся к началу скрипта
__
Описание скрипта: ходит сверху вниз,есть проверки сообщений,
типо "тут нечего копать"
F6 Lastobj WFT LastTarg
Как ходить справа налево (или наоборот) - переписать легко,но меня интересует,как добавить в этот скрипт - "одевание" кирки,если она сломалась и кушать,к примеру,раз в полчаса (можно и на примере с киркой ещё и хилится,используя - if hits < str \\ say GUARDS \\ end_if (ну,вместо сэй гуард,само собой должно быть использование бинтов)...ну и в зависимости от кол-ва строк (если их будет не сильно много - ещё-бы и плавить руду при "достижении определённого веса" (изначально в этом скрипте были крики о гварде,если сила не хп не равно силе и уход в хайд перед копкой,но...я решил убрать эти строки,т.к. смысла в них нету - "из хайда заревилят" (проверки не было),а "гвардов",не в "гз" "кричать" - смысла никакого (не видал ни одной шахты в "гз"))
Интересует ни сколько - тотальная автоматизация процесса,сколько - как это вообще реализовать и на сколько это сложно...просто пытаюсь вникнуть в "язык пилота" (хотя знаю,что большая часть там от бейсика) и интересно - как это там реализовать...не только для мининга....
А если подробнее - есть шахта на 10 клеток от верхней точки до нижней,надо в начальной точке обкопать всё (под собой можно копать ?),т.е. все 8 клеток (если под собой нельзя копать...просто даже не знаю,как эту точку в макросе задать),потом спуститься на 2 клетки вниз (почему именно 2 клетки ?,потому-что там начнётся новый круг),тоже обкопать всё вокруг и так до самого низа,т.е. 5*2 (в пяти клетках из 10 остановится и копать),а потом вернуться назад (правда тут ещё думаю - как лучше сделать - возвращаться тоже по 2 клетки или резко рвануть вверх...второй вариант - предпочтительнее,да и реализовать его не особо трудно.
Проблема в том,что я не весь синтаксис пилота понимаю,из того,что понял - сделал примечания,остальное для меня - "тёмный лес",да и как вокруг точки копать - вообще понятия не имею,ну и плюс,почему-то проверка на то,что персонаж "ушёл за границы экрана" и то,что "тут больше нечего копать" - почему-то не работают...может надо их полностью написать,а не в сокращённом виде ? в общем,интересуют именно пояснения по каждому пункту,а не написание макроса за меня,т.к. нужно будет потом ещё его изменить,чтоб он ходил справа налево.

На всякий случай напишу ещё раз алгоритм действий,чтоб не было путаницы:
полоска из 10 клеток (12,если с поворотами),надо обкопать вокруг изначальной точки (с проверкой на каждой,что там больше ничего нету),потом спустится на 2 клетки вниз,там сделать всё тоже самое и так до самого низа (5*2),потом вернуться наверх и повторить сначала (хотя,если учитывать просто возвращение к началу скрипта,то второй вариант даже проще получается).
olimpik
Neophyte
Neophyte
Posts: 26
Joined: 07.11.2016 13:34

Re: Надо немного дополнить скрипт на мининг

Post by olimpik »

Aleksei wrote:...просто пытаюсь вникнуть в "язык пилота" (хотя знаю,что большая часть там от бейсика) и интересно - как это там реализовать...не только для мининга....
А зачем тогда ты вопрос задаешь на форуме стелса? если у тебя скрипт на пилот?
Aleksei
Posts: 5
Joined: 20.01.2017 15:28

Re: Надо немного дополнить скрипт на мининг

Post by Aleksei »

А почему-бы и нет ? или тут его знающие люди не появляются,как класс ?
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Надо немного дополнить скрипт на мининг

Post by nah nah »

да тут давно уже никто не появляется
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Надо немного дополнить скрипт на мининг

Post by drabadan »

угу, все забили
GeeZeR
Apprentice
Apprentice
Posts: 226
Joined: 28.01.2012 19:48

Re: Надо немного дополнить скрипт на мининг

Post by GeeZeR »

Aleksei wrote: Как ходить справа налево (или наоборот) - переписать легко,но меня интересует,как добавить в этот скрипт - "одевание" кирки,если она сломалась и кушать,к примеру,раз в полчаса (можно и на примере с киркой ещё и хилится,используя - if hits < str \\ say GUARDS \\ end_if (ну,вместо сэй гуард,само собой должно быть использование бинтов)...ну и в зависимости от кол-ва строк (если их будет не сильно много - ещё-бы и плавить руду при "достижении определённого веса" (изначально в этом скрипте были крики о гварде,если сила не хп не равно силе и уход в хайд перед копкой,но...я решил убрать эти строки,т.к. смысла в них нету - "из хайда заревилят" (проверки не было),а "гвардов",не в "гз" "кричать" - смысла никакого (не видал ни одной шахты в "гз"))

На всякий случай напишу ещё раз алгоритм действий,чтоб не было путаницы:
полоска из 10 клеток (12,если с поворотами),надо обкопать вокруг изначальной точки (с проверкой на каждой,что там больше ничего нету),потом спустится на 2 клетки вниз,там сделать всё тоже самое и так до самого низа (5*2),потом вернуться наверх и повторить сначала (хотя,если учитывать просто возвращение к началу скрипта,то второй вариант даже проще получается).
Такого бота написать на пилоте, безотказного, со всеми проверками, ветвлениями и т.п. я даже не представляю себе этот ужас. Пилот это примитивный и неудобный инструмент, легче изучить скриптинг в Стелсе и писать нормальные скрипты, так что иди сюда:
1) http://stealth.od.ua/forum/viewtopic.php?f=2&t=1123
2) http://stealth.od.ua/Doc:RU/Manual/Reference
3) http://stealth.od.ua/Doc:RU/Manual/Grap ... t/Commands
4) http://stealth.od.ua/Doc:RU/Manual/Scripting/Pascal
5) http://stealth.od.ua/forum/viewtopic.php?p=10414#p10414

О Стелсе вообще:
1) http://stealth.od.ua/Doc:RU/Manual
Stealth 8.10.2 | Клиент: 7.0.13.4
Aleksei
Posts: 5
Joined: 20.01.2017 15:28

Re: Надо немного дополнить скрипт на мининг

Post by Aleksei »

Да просто не факт,что он разрешён на том серваке,на котором я играю...

В общем,подкинули мне улучшенную версию скрипта (почти всё устраивает):

Улучшенная версия (работают проверки) и копает вокруг себя:

//----Копаем на месте 25 таилов:----
// Копает на одном месте все тайлы до которых может дотянутся
send F5 4000 // Стелс или хайд
for #y -2 2 1
for #x -2 2 1
:mining //называем секцию - mining
set lasttargetx charposx + #x
set lasttargety charposy + #y
set lasttargetkind 2
send F12 //кнопка в ассист с юзом кирки из сумки и отменой таргета
send F6 1200 //ЛастОбжект-ВаитФорТаргет-ЛастТаргет
set timer 0
while (lastmsg do you want) and (timer < 10000)
wait 100
end_while
if_not (lastmsg no ore) or (lastmsg mining in) or (lastmsg have no line)
wait 500
if (lastmsg you see) or (lastmsg targeting) or (lastmsg you have)// дает сигнал о том что появился гард руды или игрок и остонавливает скрип или антимакрос
end_if
goto mining
end_if
end_for
end_for
:walk //называем блок walk
repeat 3 //повторяем 3 раза
send down //делаем два шага вниз
wait 1000 //ждём 1 сек.
end_repeat
__________
F12 - юз кирки в ассисте (меняем use object на use type)
F6 - last object - Wait For Target - Last Target

Как можно заметить - добавил хождение вниз и наконец-то работают проверки...ну и хайд (стелс) можно оставить,а можно закомментить и он не будет работать...правда не факт,что проверка на..."выход за границы" работает,т.к. она никак не проявляется,но в чём косяк тут - не знаю,выручайте,т.к. мне очень важно,чтоб она работала,т.к. это относится ко второй части моего вопроса)
В общем,суть скрипта такова,что ставим перса с самого верха шахты и он движется по 2 шага вниз (+1 на разворот вниз) и обкапывает всё вокруг,т.е. обкопал всё вокруг,спустился на 2 клетки вниз и повторяет процедуру.
Что надо доделать и\или исправить - проверки на целостность кирки тут по-сути нету...как я понял,они тупо пер***раются в паке и копается каждой по-немногу до очередной "проверки",а хотелось-бы проверки на "пустоту руки",скажем так...реально-ли это сделать,учитывая то "юза кулаков" нету в уошке ? а может попробовать использовать старую-добрую проверку цвета ? правда последний раз я её видел в старом пилоте и она скорее всего сейчас по-другому выглядит,да и я только частично понимаю,как её добавить сюда.
И ещё,что надо добавить сюда - хождение наверх при достижение низа шахты...(собственно,про,что я и говорил в начале) - при "лайн оф сайде",чтоб он шёл наверх (я просто подзабыл уже,как там пишется,что типо - "вы не можете это видеть" и собственно сам "лайн оф сайд" по-инглишу на 10-12 клеток вверх (т.е. поднимался на самый верх),но при этом не работать,если не достиг низа,т.е. надо сделать хождение наверх отдельной секцией и чтоб она работала только тогда,когда нам надо,а не постоянно,как хождение вниз...ну и можно ещё добавить проверку на хайд (стелс),правда тоже пока не знаю как - цветом (хотя нет,мы ведь будем перемещаться) или тоже по "ластмэсседжу",типо,что "ревильнули" или наоборот - что уже находишся в хайде...ну это так,мелочи,главное - хождение вверх реализовать и оживить проверки...
Gauhar
Novice
Novice
Posts: 87
Joined: 08.07.2008 17:40

Re: Надо немного дополнить скрипт на мининг

Post by Gauhar »

//Да просто не факт,что он разрешён на том серваке,на котором я играю...
-- Я так думаю, что это можно выяснить на форуме того сервера на котором ты играешь. Это первое, а второе по моему личному мнению: сейчас в ультиме мало кто использует пилот. Если запрещен стелс клиент, то наверняка разрешен изиуо или уостим/асистуо. Опять же, по моему личному мнению, на данный момент пилот используется скорее всего совсем в других играх, в которых требуется автоматзация (пилот - программа-кликалка), но нет средст для скриптинга (спец программ, типо стелса).
Совет: нужна добыча ресурсов - используй стелс клиент (тогда тебе здесь помогут, да и для развития программирования полезней паскаль, чем псевдоязык не имеющий прикладного применения в реальной жизни), не нравится Stealth Client используй EasyUO (но тогда основной форум другой и англоязычный).
Из воспоминаний: когда я познакомился с УО (сервер ДРВ), через какое-то время я решил автоматизировать некоторые игровые моменты (та же добыча руды), и начал искать программы для этого, и пилот мне показался самым простым в освоении (10 лет назад он был гораздо проще и предназначался только для УО), спустя какое-то время друзья по игре дали мне скрипт для добычи руды на yokoinjection (я сразу почувствовал разницу и прям влюбился в инжект). Долгое время я играл только на инжекте, пока товарищ Edred не сказал: "Я, правда, этой функцией давно не пользуюсь... Предпочитаю: Copy(s,1,Pos(' ',s)-1).". Стал выяснять, что это за зверь такой, и так я познакомился со Stealth Client'ом, с тех пор (с моей даты регистрации на этом форуме) я только на нем.
Минутка пропаганды закончилась. :))))
AlexxPhot
Posts: 2
Joined: 23.01.2017 2:45

Re: Надо немного дополнить скрипт на мининг

Post by AlexxPhot »

Я так понимаю автор играет на оскоме и там прошла борьба с харвэстингом и разрешено копать только на пилоте, ну теоретически никто не запрещает написать и на инжу/стэлс скрипт и копать, но если поймают дадут по голове. Поэтому лучше копай на этом обычном скрипте и не парься.
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Надо немного дополнить скрипт на мининг

Post by nah nah »

есть же изя, которая только с клиентом работает и не палится
GeeZeR
Apprentice
Apprentice
Posts: 226
Joined: 28.01.2012 19:48

Re: Надо немного дополнить скрипт на мининг

Post by GeeZeR »

я бы бросил такой шард где нельзя юзать стелс )) тем более все наши шарды убогие, играю на западных.
Stealth 8.10.2 | Клиент: 7.0.13.4
Aleksei
Posts: 5
Joined: 20.01.2017 15:28

Re: Надо немного дополнить скрипт на мининг

Post by Aleksei »

Не,не там)
там почти всё запрещено...ну кроме разве,что - ассиста и пилота..
Post Reply