Page 3 of 3

Posted: 2007-05-18 16:59:58
by Sanch
Что касается переплавки, раскидывай руду по 3шт, потом ищи по типу это кучки в цикле, на найденные ставь ловушку uo.waittargetobject('finditem') - см урок второй, примером там является скрипт на поиск чаров вокруг себя в цикле, как только ловушку ставить будешь юзай форгу.

Что касается сгрузки которую ты жаждишь, я так и не понял, как ты собираешься руду сгружать без рун и тд, опиши подробнее что должен делать скрипт, ломаются ли кирки, дистанция копки, подробно опиши процес копки и тд.

Posted: 2007-05-19 08:38:13
by Vicont
to Rivory:
Спасибо все работает!:)))

to Sanch:
Да лан, с плавкой какнить сам разберусь, вы мне и так здорово помогли ребята :)

Если есть свободное время и желание то:

Особенности: рун бук нет, только руны, есть реколл из банка :) Т.е. делаем "say ...." и на месте...Насчет домика чтот не получается :( Не могу найти прокачанного карпентера...Можно в банк сгрузку сделать7
Кирки ломаются, но если взять из цветного металла, то надолго хватает, так что это не проблема. Копка от -2 до 2, а так вроде обычная...
И сходя их этого:

1. реколл к 1-й шахте(в саму шахту нельзя)
2. включается ходилка(скрипт выше в этом же топе, майнинг с ходилкой) хайд, заходит в шахту и начинает копать(надо проверку на "Try mining elsewhere" в этом случае реколл ко 2-й шахте)
3. по достижении макс веса реколл(say ...) к банку скидывание руды( через 2-3 сек say guards)
4. реколл ко 2-й шахте
5. включается ходилка, хайд, заходит в шахту и начинает копать (if "Try mining elsewhere" реколл к 3-й шахте.
6. по достижении макс веса реколл(say ...) к банку скидывание руды( через 2-3 сек say guards)
7. реколл ко 3-й шахте
8.5. включается ходилка, хайд, заходит в шахту и начинает копать (if "Try mining elsewhere" реколл к 1-й шахте.
8. по достижении макс веса реколл(say ...) к банку скидывание руды( через 2-3 сек say guards)
9. реколл к 1-й шахте
Цикл замкнулся.

В общем все. :)
Еще очень актуальный вопрос, можно както скидывать определенную руду на пол?По типу думаю не получится, т.к. плавилка хоть по типу айрон стоит, всю сортирует, а не только айрон...Может по цвету как-то? Только как его узнать?
[/code]

Posted: 2007-05-19 11:19:44
by Rivory
Vicont wrote:Еще очень актуальный вопрос, можно както скидывать определенную руду на пол?


Code: Select all

var type  = '0x0000'
var color = '0x0000'
uo.findtype(type,color)
uo.moveitem('finditem','0','ground')

Где color ужнаётся командой ,infocolor

Posted: 2007-05-19 12:59:39
by Vicont
Вот с этим проблемы...Ни .info ни .infocolor у нас похоже не работает...:( Чтобы тип узнать я на разоре макрос делал, там смотрел...

З.Ы. Я в игре набирал .info и .infocolor правильно?Ничего не происходит, он это вслух произносит...

Posted: 2007-05-19 14:00:58
by Rivory
мде. через запятую.

Code: Select all

 ,info ,infocolor

Posted: 2007-05-19 15:26:01
by Destruction
Rivory wrote:мде. через запятую.

Code: Select all

 ,info ,infocolor

Не обязательно через запятую :)

Code: Select all

,set prefix .

:)

Posted: 2007-05-19 15:36:44
by Vicont
Спасибо ребята :) Я с вами уже сам кодерю потихоньку, вставочки там простенькие :)))

Posted: 2007-05-19 19:21:20
by Rivory
Destruction wrote:Не обязательно через запятую :)

Code: Select all

,set prefix .

:)

Угу какой нафиг ,set prefix у того, кто не знает как ,info юзать ?Вот я и подумал, что через запятую ) ы

Posted: 2007-05-20 09:26:59
by Vicont
Ребята еще проблемка...Скрипт(тот с ходилкой) частенько останавливается, причем непонятно отчего...То во время копания, то во время перехода...:( Не пойму отчего это, то все точки обкопает, то на 1-2 останавливается...Нельзя ли какнибудь проверку сделать?Чтобы если че он сам перезапускался?

Posted: 2008-01-08 14:31:34
by Shadowdancer
а как в этот скрипт добавить что бы он бежал и складывал руду в сундук ?

Code: Select all

sub minround() 
VAR Kirka = '0x0F39'   ; Òèï Êèðêè
VAR MaxVes = 500   ; Ìàêñèìàëüíûé âåñ, ïîäûìàåìûé ÷àðîì ìèíóñ 10-15 ñòîóíîâ
VAR TileNum = '1339'   ; Òàéë ïîëà ïåùåðû (íàèáîëåå ðàñïðîñòðàíåííûé òèï)
VAR x, y, t, k, i
VAR MaxTime = 100   ; èçìåðÿåòñÿ â 1/10 ñåê.
VAR ms1 = "There is nothing here to mine for"
VAR ms2 = "You can't use"
VAR ms3 = "You put "
VAR ms4 = "You loosen some rocks"
VAR ms5 = "You are too far away"
VAR ms6 = "Try mining in rock"
VAR ms7 = "You can't see that"
Dim gox[6]
    gox[0] = 2323
    gox[1] = 2328
    gox[2] = 1234
    gox[3] = 1234
    gox[4] = 1234
    gox[5] = 1234
Dim goy[6]
    goy[0] = 822
    goy[1] = 822
    goy[2] = 1234
    goy[3] = 1234
    goy[4] = 1234
    goy[5] = 1234
while 1
for i = 0 to 5
WalkME(gox[i],goy[i],'')
for y=-2 to 2
for x=-2 to 2
while not UO.Hidden()
UO.Warmode("0")
uo.print("Ïðÿ÷åìñÿ...")
UO.UseSkill("Hiding")
wait(4000)
wend
      k = 0
      repeat
         UO.DeleteJournal()
         t = UO.Timer()
         k = k + 1
         UO.CancelTarget()
         wait(300)
         UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
         UO.UseType( Kirka )
         repeat
            wait(300)
         until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR ((t + MaxTime) < UO.Timer())
         If UO.Weight > MaxVes Then
            UO.Print(" Overweight!" )
            return
         Endif
      until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) )
   next
next
next
wend
endsub


################# W A L K E R ######################

sub WalkME(x,y,Target)
   VAR i
   VAR dir,ldir,rdir,key,olddir
   VAR dx,dy,Exit=0
   VAR CacheLimit=9,CacheIndex="Text"
   DIM CacheX[10], CacheY[10]

   CacheX[0]="Test"
   While Exit<>1
      If Target<>"" Then
         dx=UO.GetX(Target)-UO.GetX()
         dy=UO.GetY(Target)-UO.GetY()
;         UO.Print("Target locked!")
         If UO.GetDistance(Target)<2 Then
            return
         Endif
      Else
         dx=x-UO.GetX()
         dy=y-UO.GetY()
         If dx==0 AND dy==0 Then
            return
         Endif

      Endif

      If dx<>0 AND dy<>0 Then
         If dx>0 AND dy>0 Then ; GoSE
            dir=3
            ldir=2
            rdir=4
            key=40 ; DownArrow
            olddir=UO.GetDir()
            If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
               If olddir==2 Then ; GoNE
                  dir=1
                  ldir=0
                  rdir=1
                  key=39 ; RightArrow
                  While UO.GetDir()<>1
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSW
                  dir=5
                  ldir=5
                  rdir=6
                  key=37 ; LeftArrow
                  While UO.GetDir()<>5
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif

         If dx>0 AND dy<0 Then ; GoNE
            dir=1
            ldir=0
            rdir=2
            key=39 ; RightArrow
            olddir=UO.GetDir()
            If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
               If olddir==0 Then ; GoWN
                  dir=7
                  ldir=6
                  rdir=7
                  key=38 ; UpArrow
                  While UO.GetDir()<>7
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSE
                  dir=3
                  ldir=3
                  rdir=4
                  key=40 ; DownArrow
                  While UO.GetDir()<>3
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif

         If dx<0 AND dy>0 Then ; GoSW
            dir=5
            ldir=4
            rdir=6
            key=37 ; LeftArrow
            olddir=UO.GetDir()
            If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
               If olddir==6 Then ; GoWN
                  dir=7
                  ldir=7
                  rdir=0
                  key=38 ; UpArrow
                  While UO.GetDir()<>7
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSE
                  dir=3
                  ldir=2
                  rdir=3
                  key=40 ; DownArrow
                  While UO.GetDir()<>3
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif

         If dx<0 AND dy<0 Then ; GoWN
            dir=7
            ldir=6
            rdir=0
            key=38 ; UpArrow
            olddir=UO.GetDir()
            If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
               If olddir==0 Then ; GoNE
                  dir=1
                  ldir=1
                  rdir=2
                  key=39 ; RightArrow
                  While UO.GetDir()<>1
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSW
                  dir=5
                  ldir=4
                  rdir=5
                  key=37 ; LeftArrow
                  While UO.GetDir()<>5
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif
      Endif

      If dx<>0 AND dy==0 Then
         If dx>0 Then ; GoE
            dir=2
            key=34 ; PgDown
            olddir=UO.GetDir()
            If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
               If olddir==2 Then ; GoSE
                  dir=3
                  ldir=3
                  rdir=4
                  key=40 ; DownArrow
                  While UO.GetDir()<>3
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoNE
                  dir=1
                  ldir=1
                  rdir=0
                  key=39 ; RightArrow
                  While UO.GetDir()<>1
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif

         If dx<0 Then ; GoW
            dir=6
            key=36 ; Home key
            olddir=UO.GetDir()
            If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
               If olddir==0 Then ; GoWN
                  dir=7
                  ldir=7
                  rdir=0
                  key=38 ; UpArrow
                  While UO.GetDir()<>7
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSW
                  dir=5
                  ldir=4
                  rdir=5
                  key=37 ; LeftArrow
                  While UO.GetDir()<>5
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif
      Endif

      If dx==0 AND dy<>0 Then
         If dy>0 Then ; GoS
            dir=4
            key=35 ; End
            If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
               If olddir==2 Then ; GoSE
                  dir=3
                  ldir=2
                  rdir=3
                  key=40 ; DownArrow
                  While UO.GetDir()<>3
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSW
                  dir=5
                  ldir=6
                  rdir=5
                  key=37 ; LeftArrow
                  While UO.GetDir()<>5
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif

         If dy<0 Then ;GoN
            dir=0
            key=33 ; PgUp
            olddir=UO.GetDir()
            If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
               If olddir==2 Then ; GoNE
                  dir=1
                  ldir=1
                  rdir=2
                  key=39 ; RightArrow
                  While UO.GetDir()<>1
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoWN
                  dir=7
                  ldir=7
                  rdir=6
                  key=38 ; UpArrow
                  While UO.GetDir()<>7
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif
      Endif
   Wend
end sub


sub StepEdit(x,y,dir,key)
   VAR walkwait=300
   VAR ErrLevel=0
   If UO.GetDir()<>dir Then
         checkstam()
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif
         checkstam()
   UO.Press(key)
   wait(walkwait)
   If x==UO.GetX() AND y==UO.GetY() Then
      CheckLag()
      If x==UO.GetX() AND y==UO.GetY() Then
;zatik
         ErrLevel=1
      Endif
   Endif
   Return ErrLevel
end sub


sub StepArrow(x,y,dir,ldir,rdir,key)
   VAR walkwait=300
   VAR ErrLevel=0
   If UO.GetDir()<>dir Then
      checkstam()
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir AND UO.GetDir()<>ldir AND UO.GetDir()<>rdir Then
         CheckLag()
      Endif
   Endif

   If UO.GetX()==x AND UO.GetY()==y Then
      checkstam()
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
         CheckLag()
         If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
; zatik
            ErrLevel=1
         Endif
      Endif
   Endif
   Return ErrLevel
end sub

sub checkstam()
var refresh = '0x0F0B'
if uo.stamina < 10 then
   uo.findtype(refresh,-1,'backpack')
   if uo.findcount() then
      uo.usetype(refresh)
      wait(1000)
   else
      uo.print("Nety Refreshey! Stoim...")
   repeat
      wait(500)
   until uo.stamina >= 10
   endif
else
endif
endsub

Sub CHECKLAG()
   del('backpack')
   uo.click('backpack')
   repeat
   wait(200)
   until uo.injournal('backpack')
   del('backpack')
endsub

Sub DEL(msg)
   while uo.injournal(msg)
   uo.setJournalLine(uo.injournal(msg)-1,"Is Empty!")
   wend
endsub