Сверхточная ходилка (c) Beyonder

Anything and all.

Moderators: Murderator+, Murderator

Crach!
Posts: 30
Joined: 2009-08-04 14:16:41
Location: SPB
Contact:

Re: Сверхточная ходилка (c) Beyonder

Post 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
Crach!
Posts: 30
Joined: 2009-08-04 14:16:41
Location: SPB
Contact:

Re: Сверхточная ходилка (c) Beyonder

Post by Crach! »

он иногда идет допустим к дереву 1 ,а потом резко к дереву 2 =(
Crach!
Posts: 30
Joined: 2009-08-04 14:16:41
Location: SPB
Contact:

Re: Сверхточная ходилка (c) Beyonder

Post by Crach! »

черт...теперь просто в ступор встает ><
Crach!
Posts: 30
Joined: 2009-08-04 14:16:41
Location: SPB
Contact:

Re: Сверхточная ходилка (c) Beyonder

Post by Crach! »

тфу...че та с ходилкой я видимо намудрил ,и она не работала,заменил,и все пашет :D
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Сверхточная ходилка (c) Beyonder

Post by Mirage »

Да уж. Зачем править то что и так работает? :) Тем более что после корректирования оно перестает работать :mrgreen:

Если только разобраться зачем все это нужно... :roll:
Weee
Posts: 90
Joined: 2011-01-19 01:07:15

Re: Сверхточная ходилка (c) Beyonder

Post 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 все равно как-то не так плавно.

Подскажите кто-нибудь, кто разбирался, как сделать чтобы чар быстро и плавно бегал? (делаю для ламбера, хочу увеличить производительность тем, чтобы чар на лошадке очень быстро перемещался)
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Сверхточная ходилка (c) Beyonder

Post by Mirage »

Там условный "бег на лошади". Чар будет дергаясь перемещаться быстрее "шага" верхом. :)
Пешком бегает на 4+. Я рубил пешком.
Weee
Posts: 90
Joined: 2011-01-19 01:07:15

Re: Сверхточная ходилка (c) Beyonder

Post by Weee »

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

В этой теме проскакивало от кого-то (вроде от Дестра), что он использовал эту бегалку как догонялку. И она даже по лесу догоняла шикарно просто. На лошади, на бегу. Вот интересно, при каких это настройках было? Если это правда, то значит реально же добиться такого результата)
Tiger1989
Posts: 35
Joined: 2010-06-19 22:59:51

Re: Сверхточная ходилка (c) Beyonder

Post by Tiger1989 »

возможно ли сделать функцию в которой будут координаты препятствий чтобы чар их старался сразу обходить не упираясь?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Сверхточная ходилка (c) Beyonder

Post by Mirage »

Просто ради любопытства - а зачем?
Есть объект - дерево. Вместо того чтобы делать ТАК:

*0*

Можно сделать так

>*
*0*

и чар спокойно обойдет.
Если объект не динамический а какойнито сундук кинутый зависником то делается поиск по типу при шаге и либо пауза либо сдвиг вбок.
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Re: Сверхточная ходилка (c) Beyonder

Post 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
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: Сверхточная ходилка (c) Beyonder

Post 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')


Last edited by dubd on 2012-12-11 22:41:42, edited 1 time in total.
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Сверхточная ходилка (c) Beyonder

Post by ZeroDX »

сносишь из скрипта старую ходилку от

Code: Select all

sub WalkN(x,y,target)
до (не включая)

Code: Select all

Sub CheckLag()

В уонец скрипта дорисовываешь это

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 тяп-ляп
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: Сверхточная ходилка (c) Beyonder

Post by dubd »

спасиб, пока не за ноутом не проверю! а ещё! вот что такое - GMStep() ? Можно ли его убрать из скрипта?
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Сверхточная ходилка (c) Beyonder

Post by ZeroDX »

хрень какая-то. убрать можно
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: Сверхточная ходилка (c) Beyonder

Post by dubd »

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

ещё вопрос!! почему герой повторяет за вендорами что они говорят? это где в скрипте?
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Сверхточная ходилка (c) Beyonder

Post by ZeroDX »

dubd wrote:спасиб, ну я вставил ходилку, но токо он просто рекольнитца в магаз и начинает гулять сам по себе. Ничего не покупает, просто гуляет. Скрипт длинный, ну если чтото видешь не то, скажи пожалуйста!

скорее всего настройки ходилки, или может быть в неё что-то не то закидывается
dubd wrote:ещё вопрос!! почему герой повторяет за вендорами что они говорят? это где в скрипте?

:shock: не нашёл
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: Сверхточная ходилка (c) Beyonder

Post by dubd »

спс. а вот

Code: Select all

UO.Say(',Launch Shutdown -s')
          endif         


чего это за функция такая? Можно ли её убрать?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Сверхточная ходилка (c) Beyonder

Post by Mirage »

Нормальная функция... :roll:

Code: Select all

sub main()
UO.Say(',Launch Shutdown -s')
endsub

Зачем ее убирать?
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: Сверхточная ходилка (c) Beyonder

Post by dubd »

она в ходилке засованна. Мираж скажи пожалуйста, а можно ли привезать и как правельно ходилку в этот скрипт?
Post Reply