Хелп мининг

Anything and all.

Moderators: Murderator+, Murderator

Sanch
Posts: 308
Joined: 2005-07-17 15:30:52
Location: www.drw.ru

Post by Sanch »

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

Что касается сгрузки которую ты жаждишь, я так и не понял, как ты собираешься руду сгружать без рун и тд, опиши подробнее что должен делать скрипт, ломаются ли кирки, дистанция копки, подробно опиши процес копки и тд.
Vicont
Posts: 22
Joined: 2007-05-10 07:03:52

Post 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]
Rivory
Posts: 205
Joined: 2005-01-06 11:49:28

Post by Rivory »

Vicont wrote: Еще очень актуальный вопрос, можно както скидывать определенную руду на пол?

Code: Select all

var type  = '0x0000'
var color = '0x0000'
uo.findtype(type,color)
uo.moveitem('finditem','0','ground')
Где color ужнаётся командой ,infocolor
Vicont
Posts: 22
Joined: 2007-05-10 07:03:52

Post by Vicont »

Вот с этим проблемы...Ни .info ни .infocolor у нас похоже не работает...:( Чтобы тип узнать я на разоре макрос делал, там смотрел...

З.Ы. Я в игре набирал .info и .infocolor правильно?Ничего не происходит, он это вслух произносит...
Rivory
Posts: 205
Joined: 2005-01-06 11:49:28

Post by Rivory »

мде. через запятую.

Code: Select all

 ,info ,infocolor
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Rivory wrote:мде. через запятую.

Code: Select all

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

Code: Select all

,set prefix .
:)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Vicont
Posts: 22
Joined: 2007-05-10 07:03:52

Post by Vicont »

Спасибо ребята :) Я с вами уже сам кодерю потихоньку, вставочки там простенькие :)))
Rivory
Posts: 205
Joined: 2005-01-06 11:49:28

Post by Rivory »

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

Code: Select all

,set prefix .
:)
Угу какой нафиг ,set prefix у того, кто не знает как ,info юзать ?Вот я и подумал, что через запятую ) ы
Vicont
Posts: 22
Joined: 2007-05-10 07:03:52

Post by Vicont »

Ребята еще проблемка...Скрипт(тот с ходилкой) частенько останавливается, причем непонятно отчего...То во время копания, то во время перехода...:( Не пойму отчего это, то все точки обкопает, то на 1-2 останавливается...Нельзя ли какнибудь проверку сделать?Чтобы если че он сам перезапускался?
Shadowdancer
Posts: 96
Joined: 2005-08-25 23:35:29

Post 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
Post Reply