Подредактируйте скрипт.

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
newman
Posts: 36
Joined: 2006-08-12 15:42:02

Подредактируйте скрипт.

Post by newman »

Code: Select all

##### 
#чар ходит капает в городе Британии вдоль скалы 
#как обкапал скалу, обкапывает еще разок 
#затем идет и плавит всю руду выкапанную 
#потом идет к банку и делает из ингов отмычки 
#потом идет и продает все эти отмычки вендору 
#потом выкладывает золото, возвращается к скале и опять 25 
###### 
#настройки тут очень простые: 
#1)надо создать buy/sell лист с именем lp для продажи отмычек 
#2)вписать тип кирки/лопаты примерно 150 строка в скрипте 
#3)положить в банк инструмент для тинкерства 
###### 
#замечания!!! 
#1)чар делает отмычки поэтому скилл тинкера нужен >48,5 
#2)чар работает с сундуком банка, поэтому нельзя допускать 
#  чтобы сундук банка закрывался, лучше запустить скрипт 
#  и не трогать его, можно тока общаться продолжать без проблем 
#3)скрипт надо запускать, когда вы в координатах 1459-1510 
#4)чар 2 раза обкапывает скалу - это примерно 550 оров руды, что 
#  соответствует силе примерно в 140 так что если сила чара меньше 
#  чем 140 может выпадать руда при копании 
###### 
#from GimFlex aka Question with smile again) 
###### 

sub main() 
 while not uo.dead() 
  gomine() 
  gominback() 
  gomine() 
  gosmelt() 
  smeltore() 
  gobank() 
  unloadiron() 
  tinkering() 
  gosell() 
  sellvendor() 
  goungold() 
  unloadgold() 
  gomaxback() 
 wend 
endsub 

Sub gomine() 
  go(1459,1510,1) 
  go(1458,1507,1) 
  go(1457,1506,1) 
  go(1455,1505,1) 
  go(1452,1506,1) 
  go(1450,1509,1) 
  go(1450,1512,1) 
  go(1450,1513,1) 
  go(1448,1515,1) 
  go(1451,1517,1) 
  go(1452,1519,1) 
  go(1451,1521,1) 
  go(1448,1522,1) 
  go(1445,1523,1) 
  go(1445,1525,1) 
  go(1447,1527,1) 
  go(1448,1528,1) 
  go(1450,1530,1) 
  go(1452,1529,1) 
  go(1454,1529,1) 
endsub 

Sub gosmelt() 
  go(1432,1542,0) 
  go(1426,1556,0) 
endsub  

Sub gobank() 
  go(1430,1570,0) 
  go(1438,1583,0) 
  go(1425,1592,0) 
  go(1425,1622,0) 
  go(1420,1631,0) 
  go(1420,1668,0) 
  go(1436,1671,0) 
  go(1435,1680,0) 
endsub 

Sub gomaxback() 
  go(1435,1669,0) 
  go(1420,1669,0) 
  go(1420,1631,0) 
  go(1425,1592,0) 
  go(1438,1583,0) 
  go(1430,1570,0) 
  go(1430,1536,0) 
  go(1445,1515,0) 
  go(1453,1502,0) 
  go(1460,1505,0) 
endsub 

Sub gominback() 
  go(1446,1533,0) 
  go(1441,1524,0) 
  go(1447,1504,0) 
  go(1460,1504,0) 
endsub 

Sub gosell() 
 var dver='0x400009D9' 
  go(1435,1658,0) 
  go(1432,1658,0) 
  while uo.getx('self')>=1432 
   uo.useobject(dver) 
   wait(500) 
   uo.press(36) 
   wait(200) 
   uo.press(36) 
   wait(200) 
   uo.press(36) 
   wait(200) 
  wend 
  go(1426,1655,0) 
endsub 

Sub goungold() 
 var dver='0x400009D9' 
  go(1430,1658,0) 
  while uo.getx('self')<=1430 
   uo.useobject(dver) 
   wait(500) 
   uo.press(39) 
   wait(200) 
   uo.press(39) 
   wait(200) 
   uo.press(39) 
   wait(200) 
  wend 
  go(1435,1680,0) 
endsub  

Sub sellvendor() 
 var vendor="Granger" 
 uo.set('buydelay','4000') 
 uo.set('maxsell','200') 
 uo.findtype('0x14FB','-1','backpack') 
 while uo.findcount() 
  uo.sell('lp',vendor) 
  wait(4000) 
  uo.findtype('0x14FB','-1','backpack') 
 wend 
endsub 

Sub kopka() 
 var kirka='0x0F39' 
 var i,j,x,y,z 
 var ms1="Try mining" 
 var ms2="You put" 
 var ms3="There is no ore" 
 var ms4="You loosen" 
 x=uo.getx('self') 
 y=uo.gety('self') 
 z=uo.getz('self') 
 hiding() 
 for i=-1 to 1 
  for j=-1 to 1 
   repeat 
    uo.deletejournal() 
    uo.waittargettile(0,x+i,y+j,z) 
    uo.usetype(kirka) 
    repeat 
     wait(100) 
    until uo.injournal(ms1) or uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms4) 
   until uo.injournal(ms1) or uo.injournal(ms3) 
  next 
 next 
endsub 

Sub unloadiron() 
 uo.findtype('0x1BEF','-1','backpack') 
 while uo.findcount() 
  uo.say("bank") 
  wait(1000) 
  uo.findtype('0x1BEF','-1','backpack') 
  if uo.findcount() then 
   uo.moveitem('finditem','all','lastcontainer') 
  endif 
  uo.findtype('0x1BEF','-1','backpack') 
 wend 
endsub 

Sub unloadgold() 
 uo.findtype('0x0EED','-1','backpack') 
 while uo.findcount() 
  uo.say("bank") 
  wait(1000) 
  uo.findtype('0x0EED','-1','backpack') 
  if uo.findcount() then 
   uo.moveitem('finditem','all','lastcontainer') 
  endif 
  uo.findtype('0x0EED','-1','backpack') 
 wend 
endsub 

Sub hiding() 
 var ms1="You have hidden" 
 var ms2="You can't" 
 repeat 
  uo.deletejournal() 
  uo.useskill('Hiding') 
  repeat 
   wait(100) 
  until uo.injournal(ms1) or uo.injournal(ms2) 
 until uo.injournal(ms1) 
endsub 

Sub smeltore() 
 uo.findtype('0x19B9','-1','backpack') 
 while uo.findcount() 
  uo.useobject('finditem') 
  wait(500) 
  uo.findtype('0x19B9','-1','backpack') 
 wend 
endsub 

sub tinkering() 
 var bank 
 var ms1="You put" 
 var ms2="Tinkering failed" 
 uo.cancelmenu() 
 uo.automenu('Tinkering','Tools') 
 uo.automenu('Tools','lockpick (1 iron ingot)') 
 uo.say("bank") 
 wait(1000) 
 bank=uo.getserial('lastcontainer') 
 uo.findtype('0x1EBC','-1',bank) 
 if uo.findcount() then 
  uo.moveitem('finditem','all','backpack') 
 endif 
 uo.findtype('0x1BEF','-1',bank) 
 while uo.findcount() 
  uo.moveitem('finditem','30','backpack') 
  wait(1000) 
  uo.findtype('0x1BEF','-1','backpack') 
  while uo.findcount() 
   uo.deletejournal() 
   uo.usetype('0x1EBC') 
   repeat 
    wait(100) 
   until uo.injournal(ms1) or uo.injournal(ms2) 
   uo.findtype('0x1BEF','-1','backpack') 
  wend 
  uo.findtype('0x14FB','-1','backpack') 
  if uo.findcount() then 
   uo.moveitem('finditem','all',bank) 
  endif 
  uo.findtype('0x1BEF','-1',bank) 
 wend 
 uo.findtype('0x1EBC','-1','backpack') 
 if uo.findcount() then 
  uo.moveitem('finditem','all',bank) 
 endif 
 uo.findtype('0x14FB','-1',bank) 
 if uo.findcount() then 
  uo.moveitem('finditem','all','backpack') 
  wait(700) 
 endif 
endsub 

Sub go(x,y,k) 
   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    
         dx=x-UO.GetX() 
         dy=y-UO.GetY() 
         If dx==0 AND dy==0 Then 
            Exit=1 
         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 
   if k==1 then 
    kopka() 
   endif 
end sub 


Sub StepEdit(x,y,dir,key) 
   VAR walkwait=100 
   VAR ErrLevel=0 
   If UO.GetDir()<>dir Then 
      UO.Press(key) 
      wait(walkwait) 
      If UO.GetDir()<>dir Then 
         CheckLag() 
      Endif 
   Endif 
   UO.Press(key) 
   wait(walkwait) 
   If x==UO.GetX() AND y==UO.GetY() Then 
      CheckLag() 
      If x==UO.GetX() AND y==UO.GetY() Then 
         ErrLevel=1 
      Endif 
   Endif 
   Return ErrLevel 
endsub 


Sub StepArrow(x,y,dir,ldir,rdir,key) 
   VAR walkwait=100 
   VAR ErrLevel=0 
   If UO.GetDir()<>dir Then 
      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 
      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          
            ErrLevel=1 
         Endif 
      Endif 
   Endif 
   Return ErrLevel 
endsub 

Sub CheckLag() 
   UO.DeleteJournal() 
   UO.Click('backpack') 
   repeat 
      Wait(50) 
   until UO.InJournal('backpack') 
endsub
Уберите оттуда штобы он делал отмычки.А просто клал в банк инги.Или обкапывал скалу пока вес до предела недойдет.
mez
Posts: 91
Joined: 2006-04-02 11:33:38
Contact:

Post by mez »

это оптимальный скрипт банк быстро заполниться! рудой!
newman
Posts: 36
Joined: 2006-08-12 15:42:02

Post by newman »

Мне нужно убрать отсюда фишку штобы он не делал отмычки.А просто складывал инги и шол опят ькопать.
Rivory
Posts: 205
Joined: 2005-01-06 11:49:28

Re: Подредактируйте скрипт.

Post by Rivory »

newman wrote:

Code: Select all

sub main() 
 while not uo.dead() 
  gomine() 
  gominback() 
  gomine() 
  gosmelt() 
  smeltore() 
  gobank() 
  unloadiron() 
 #### tinkering() 
  gosell() 
  sellvendor() 
  goungold() 
  unloadgold() 
  gomaxback() 
 wend 
endsub 
Уберите оттуда штобы он делал отмычки.А просто клал в банк инги.Или обкапывал скалу пока вес до предела недойдет.
Исправь вот так и всё.
newman
Posts: 36
Joined: 2006-08-12 15:42:02

Post by newman »

Стал писать no item ofund что значит?!?
Lifetour
Posts: 30
Joined: 2008-06-04 03:27:01
Location: Bradford(UK)/Riga(LV)

Post by Lifetour »

рябятттт!! помогите! встаёт в координатах 1448,1528 и никуда не хочет идти!!!

что делать?! :cry:
some
Posts: 197
Joined: 2007-05-23 19:51:18

Post by some »

Ребята, как научить вышеуказанный скрипт дружить со скриптом антимакроса, приведенным ниже ?
А то получается я запускаю скрипт на копку и параллельно ему запускаю скрипт антимакроса - он копает, все нормально.
Как только появляется менюшка антимакроса(которую шард выдает ) - скрипт антимакроса ее закрывает - НО ЧАР НЕ начинает копать!!!
А если сделать даблклик на кирку - начинает :)
помогите :shock:
Post Reply