Page 5 of 8
Re: Сверхточная ходилка (c) Beyonder
Posted: 2010-07-24 13:27:34
by Crach!
Щит! то есть Shit ! как проверить дошел ли он до места нужного или нет?(
а то там строчка есть где проверялась,на обычной ходилке,я вроде все атк же выставил а все равно хрен.(((
вот код,я думаю всем знакомый:
Code: Select all
######################################
### Õîäèì ïî ñîáðàííûì êîîðäèíàòàì ###
######################################
while 1==1
Flag = 1
CheckElem()
if treeCount>0 then
for i=1 to treeCount
if TryRecall==1 and uo.Count('ZLK')>=LogsQty or uo.Weight>=uo.STR*4+20 then
ToRecall()
end if
uo.Print('Èäåì ê äåðåâó íîìåð '+str(i)+': x='+str(TreeX[i])+' y='+str(TreeY[i]))
InfoLogs()
GotoXY(TreeX[i],TreeY[i])
if GotoXY(TreeX[i],TreeY[i]) == 1 then
if TryHiding==1 then
ToHide()
end if
GetTree(str(TreeT[i]),str(TreeX[i]),str(TreeY[i]),str(uo.GetZ()))
end if
endif
next
end if
wend
end sub
Re: Сверхточная ходилка (c) Beyonder
Posted: 2010-07-24 13:28:30
by Crach!
он иногда идет допустим к дереву 1 ,а потом резко к дереву 2 =(
Re: Сверхточная ходилка (c) Beyonder
Posted: 2010-07-24 13:49:20
by Crach!
черт...теперь просто в ступор встает ><
Re: Сверхточная ходилка (c) Beyonder
Posted: 2010-07-24 14:15:03
by Crach!
тфу...че та с ходилкой я видимо намудрил ,и она не работала,заменил,и все пашет

Re: Сверхточная ходилка (c) Beyonder
Posted: 2010-07-25 00:32:55
by Mirage
Да уж. Зачем править то что и так работает?

Тем более что после корректирования оно перестает работать
Если только разобраться зачем все это нужно...

Re: Сверхточная ходилка (c) Beyonder
Posted: 2011-02-03 11:13:06
by Weee
никак не получается настроить, чтобы чар на лошадке бегал без залипаний. коннект быстрый и стабильный, пробую уже методом научного тыка и никак не выходит. пинг всего 14мс до сервера.
Препятствия есть. Деревья. Но чар бежит с небольшими паузами даже когда препятствий никаких нет.
Code: Select all
# Auto-walker settings:
var Prec=2 # Как близко следует подойти к цели (Precision)
var MaxTraceDistance=2 # Максимальная длина обхода. Желательно ставить с расчета возможных препятсвий.
var TraceLoopIncrease=2 # Увеличение MaxTraceDistance при исчерпании количества ходов
var LimitTrace=15 # Сколько шагов в ОБЕ стороны от начальной точки обхода прекращают ходилку (выхода нет).
var Speed=1 # Длина шага. Сколько шагов делать за раз. Для ламбера идеально 3, для майнинга - 1.
var StepTimeOut=180 # Таймаут шага. Устанавливать не в размер пинга, а в размер шага + размер пинга:
# Для ходьбы - 500+Ping
# Для бега/ходьбы на лошади - 300+Ping
# Бег на лошади - 150 + Ping
var CheckCnt=1 # Количество слепых проверок. УВЕЛИЧИВАЕТ В СТОЛЬКО РАЗ ТАЙМАУТ.
# Использовать только на БЫСТРОМ но НЕСТАБИЛЬНОМ коннекте.
var DynamicPause=1 # Минимальные паузы в циклах. Чем меньше число - тем меньше рывков и тем больше нагрузка процессора.
Уже пробовал и комбинировать разные значения (от 1 до 30) в DynamicPause вместе с CheckCnt (от 1 до 10)
StepTimeOut тоже делал и 500 и 150 и 160, 170 - результат тот же.
Speed=1 - лучше всего подходит 1, т.к. с шагом 3 он проскакивает иногда и чаще влетает в препятствия. Но даже с шагом 3 все равно как-то не так плавно.
Подскажите кто-нибудь, кто разбирался, как сделать чтобы чар быстро и плавно бегал? (делаю для ламбера, хочу увеличить производительность тем, чтобы чар на лошадке очень быстро перемещался)
Re: Сверхточная ходилка (c) Beyonder
Posted: 2011-02-03 12:04:16
by Mirage
Там условный "бег на лошади". Чар будет дергаясь перемещаться быстрее "шага" верхом.

Пешком бегает на 4+. Я рубил пешком.
Re: Сверхточная ходилка (c) Beyonder
Posted: 2011-02-03 12:10:12
by Weee
Понял. видимо прийдется поставить чтобы тоже пешком бегал. Либо пусть дергается, раз хоть немного быстрее.
В этой теме проскакивало от кого-то (вроде от Дестра), что он использовал эту бегалку как догонялку. И она даже по лесу догоняла шикарно просто. На лошади, на бегу. Вот интересно, при каких это настройках было? Если это правда, то значит реально же добиться такого результата)
Re: Сверхточная ходилка (c) Beyonder
Posted: 2011-03-22 01:33:46
by Tiger1989
возможно ли сделать функцию в которой будут координаты препятствий чтобы чар их старался сразу обходить не упираясь?
Re: Сверхточная ходилка (c) Beyonder
Posted: 2011-03-22 09:45:44
by Mirage
Просто ради любопытства - а зачем?
Есть объект - дерево. Вместо того чтобы делать ТАК:
*0*
Можно сделать так
>*
*0*
и чар спокойно обойдет.
Если объект не динамический а какойнито сундук кинутый зависником то делается поиск по типу при шаге и либо пауза либо сдвиг вбок.
Re: Сверхточная ходилка (c) Beyonder
Posted: 2011-10-28 17:07:20
by Gromiz
подскажите, правильно ли хайды проставил?
хотел добиться результата, чтобы если чар выходит из хайда, то сразу обратно.
вроде бы входит после нескольких шагов, но мало ли
может есть вариант проще
Code: Select all
Sub Walker(GoX,GoY,Prec)
UO.SetGlobal("Logging","0")
UO.SetGlobal("BlindWalk","0")
var LastDir
var MoveRes
var TracerCnt
UO.SetGlobal("GlobalGoX",str(GoX))
UO.SetGlobal("GlobalGoY",str(GoY))
while not IsEnd(GoX,GoY,Prec)
ToHide() <=--------------------------------------<<<<
TracerCnt = MaxTraceDistance
repeat
LogInfo('Just walking')
LastDir=GoUntilHit(GoX,GoY,Prec)
if IsEnd(GoX,GoY,Prec) then
ToHide() <=--------------------------------------<<<<
return 1
end if
ToHide() <=--------------------------------------<<<<
LogInfo('Tracing')
MoveRes = FullAroundTrace(LastDir,GoX,GoY,Prec,TracerCnt)
if TracerCnt > LimitTrace then
ToHide() <=--------------------------------------<<<<
return 0
endif
TracerCnt = TracerCnt + TraceLoopIncrease
until MoveRes == 1
wend
return 1
end sub
Re: Сверхточная ходилка (c) Beyonder
Posted: 2012-11-28 00:51:25
by dubd
фух, прям неловко просить о помощи! помогите пожалуйста правильно вставить ходилку из этого топика в следующий скрипт:
Code: Select all
var BuyListName = 'Reg' ;название листа продажи
var Whtime = 180 ;сколько ждать сек после разгрузки.
var CheckStam=0 ; Модуль проверки стамины ( если мало будет стоять )
### По вопросам и предложениям обращаться сюда:
### ICQ: 354743436 или 233461603 (ВЕТЕРАН)
sub Options()########################################## Конфиг
UO.print("Добрый день. Вас привествует скрипт настройщик!")
wait(3000)
UO.print("Следуйте инструкциям!")
wait(3000)
UO.print("Вы должны стоять лицом к сундуку для сброса покупок!")
wait(4000)
UO.print("Укажите сундук прицелом")
UO.AddObject('Sunduk')
While UO.Targeting()==2
wait(500)
Wend
UO.SaveConfig()
UO.print("Отлично")
UO.UseObject('backpack')
wait(3000)
UO.UseObject('Sunduk')
wait(1000)
UO.print("Укажите Рунбук № 1")
UO.AddObject('RuneB1')
While UO.Targeting()==2
wait(500)
Wend
UO.SaveConfig()
UO.print("Укажите Рунбук № 2")
UO.AddObject('RuneB2')
While UO.Targeting()==2
wait(500)
Wend
UO.SaveConfig()
UO.print("Укажите сумку для покупок(В СУНДУКЕ!)")
UO.AddObject('StoreBAG')
While UO.Targeting()==2
wait(500)
Wend
UO.SaveConfig()
wait(3000)
UO.print("Настройка закончена. Для изменения параметров запустите скрипт повторно.")
end sub
sub Start()########################################## Стартер
uo.set('buydelay','5000')
UO.Set('finddistance',9)
var n = 2
var maxN = 10
var numer = 1
var maxnumer = 4
UO.Print("Поехали по магазинам.")
wait(2000)
repeat
if uo.weight > 450 then
RunebookRecalla(1)
Loot()
endif
if CheckStam==1 then
While UO.Stamina < 60
uo.Print("Low Stamina")
wait(2000)
wend
end if
if numer == 1 then
uo.Print('Реколимся Рунбука № 1, рунка № '+str(n))
RunebookRecalla(n)
end if
if numer == 2 then
uo.Print('Реколимся Рунбука № 2, рунка № '+str(n))
RunebookRecallb(n)
end if
n = n + 1
if n == maxN then
n = 2
numer = numer + 1
if numer == maxnumer then
numer = 1
end if
end if
BuyPRG()
until uo.dead()
end sub
Sub RunebookRecalla(n) ########################################## Бука 1
var OldX, OldY, time
OldX=uo.GetX()
OldY=uo.GetY()
repeat
uo.Exec('warmode 0')
uo.UseObject('RuneB1')
CheckLag()
uo.LClick(135, n*15+55)
CheckLag()
time=uo.Timer()
repeat
wait(500)
until OldX<>uo.GetX() or OldY<>uo.GetY() or uo.Dead() or uo.InJournal('needs') or uo.InJournal('fizzles') or time+200<uo.Timer()
until OldX<>uo.GetX() or OldY<>uo.GetY() or uo.Dead() or uo.InJournal('needs')
end sub
Sub RunebookRecallb(n) ########################################## Бука 2
var OldX, OldY, time
OldX=uo.GetX()
OldY=uo.GetY()
repeat
uo.Exec('warmode 0')
uo.UseObject('RuneB2')
CheckLag()
uo.LClick(135, n*15+55)
CheckLag()
time=uo.Timer()
repeat
wait(500)
until OldX<>uo.GetX() or OldY<>uo.GetY() or uo.Dead() or uo.InJournal('needs') or uo.InJournal('fizzles') or time+200<uo.Timer()
until OldX<>uo.GetX() or OldY<>uo.GetY() or uo.Dead() or uo.InJournal('needs')
end sub
sub BuyPRG()########################################## Закупка
DIM Vens[2]
Vens[1]=0x0190
Vens[2]=0x0191
VAR LastTimer
var mx, my, mz, g
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
uo.ignorereset()
uo.ignore('self')
Re: Сверхточная ходилка (c) Beyonder
Posted: 2012-11-28 01:32:32
by ZeroDX
сносишь из скрипта старую ходилку от
до (не включая)
В уонец скрипта дорисовываешь это
Code: Select all
sub WalkN(x,y,target)
var gox = x, goy = y, prec = 1
if target <> '' then
gox = uo.getx(target)
goy = uo.gety(target)
endif
Walker(gox, goy, prec)
endsub
после вставляй новую ходилку
PS тяп-ляп
Re: Сверхточная ходилка (c) Beyonder
Posted: 2012-11-28 18:21:06
by dubd
спасиб, пока не за ноутом не проверю! а ещё! вот что такое - GMStep() ? Можно ли его убрать из скрипта?
Re: Сверхточная ходилка (c) Beyonder
Posted: 2012-11-28 18:35:30
by ZeroDX
хрень какая-то. убрать можно
Re: Сверхточная ходилка (c) Beyonder
Posted: 2012-11-28 19:26:26
by dubd
спасиб, ну я вставил ходилку, но токо он просто рекольнитца в магаз и начинает гулять сам по себе. Ничего не покупает, просто гуляет. Скрипт длинный, ну если чтото видешь не то, скажи пожалуйста!
ещё вопрос!! почему герой повторяет за вендорами что они говорят? это где в скрипте?
Re: Сверхточная ходилка (c) Beyonder
Posted: 2012-11-28 21:27:13
by ZeroDX
dubd wrote:спасиб, ну я вставил ходилку, но токо он просто рекольнитца в магаз и начинает гулять сам по себе. Ничего не покупает, просто гуляет. Скрипт длинный, ну если чтото видешь не то, скажи пожалуйста!
скорее всего настройки ходилки, или может быть в неё что-то не то закидывается
dubd wrote:ещё вопрос!! почему герой повторяет за вендорами что они говорят? это где в скрипте?

не нашёл
Re: Сверхточная ходилка (c) Beyonder
Posted: 2012-11-28 22:07:12
by dubd
спс. а вот
Code: Select all
UO.Say(',Launch Shutdown -s')
endif
чего это за функция такая? Можно ли её убрать?
Re: Сверхточная ходилка (c) Beyonder
Posted: 2012-11-28 22:32:49
by Mirage
Нормальная функция...
Code: Select all
sub main()
UO.Say(',Launch Shutdown -s')
endsub
Зачем ее убирать?
Re: Сверхточная ходилка (c) Beyonder
Posted: 2012-11-28 22:45:52
by dubd
она в ходилке засованна. Мираж скажи пожалуйста, а можно ли привезать и как правельно ходилку в этот скрипт?