Мининг шахта 20х20

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
n1h1
Posts: 9
Joined: 2012-12-03 21:27:14

Мининг шахта 20х20

Post by n1h1 »

Помогите сделать скрипт для копание шахты 20х20 можно увидеть на фото , хотя бы что бы он выкапывал эти клетки без всяких реколов и подобного( ЕСЛИ ЕСТЬ ВОЗМОЖНОСТЬ ЧТОБ ОН КОПАЛ ТОЛЬКО ЦВЕТ МЕТАЛ А НЕ ВЫКАПЫВАЛ ДО КОНЦА ЭТО ВООБЩЕ БУДЕТ СУПЕР )
http://s017.radikal.ru/i437/1212/00/8042e28ee921.jpg

icq 632317873

skype markmark6272

Sub mine()
var x, y, i, t, tmp, inside, goto_x, st, first
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 = "location"
VAR ms6 = "Try mining"
VAR ms7 = "You can't see that"
VAR ms8 = "You stop"
VAR ms9 = "That is too"
first=UO.GetX()
start:
inside=0
for y=-1 to 1
for x=-1 to 1
repeat
uo.deletejournal()
t = UO.Timer()
UO.Exec ("waittargettile "+" 1340 "+STR(UO.GEtX()+x)+" "+STR(UO.GetY()+y)+" 0")
UO.exec ("usetype 0x0E85")
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 UO.InJournal(ms9) OR ((t + 100) < UO.Timer())
until not UO.InJournal(ms8)
next
next
end sub

sub main()
var i
While UO.Life>0
for i=1 to 7
mine()
uo.press(34)
wait(500)
uo.press(34)
wait(500)
uo.press(34)
next
uo.press(33)
wait(500)
uo.press(33)
wait(500)
uo.press(33)
mine()
for i=1 to 7
uo.press(36)
wait(500)
uo.press(36)
wait(500)
uo.press(36)
next
uo.press(33)
wait(500)
uo.press(33)
wait(500)
uo.press(33)
wend
end sub

нехватает расгрузки
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Мининг шахта 20х20

Post by Mirage »

Разгрузка:

Code: Select all

var bag = '0x4018A728'  ; сундук куда скидывать руду и откуда брать инструменты
var ore1 = '0x19B7'
var ore2 = '0x19BA'
var ore3 = '0x19B8'
var ore4 = '0x19B9'

Sub putore()
put(ore1,bag)
put(ore2,bag)
put(ore3,bag)
put(ore4,bag)
end sub

Sub PUT(item, cont)
	while UO.Count( item ) > 0
		UO.FindType( item, -1, -1 )
		UO.MoveItem( 'finditem', 0, cont )
		wait(500)
	wend
end sub
Надеюсь помог :mrgreen:


PS не забываем пользоваться тегами и правильно формулировать вопрос :!:
n1h1
Posts: 9
Joined: 2012-12-03 21:27:14

Re: Мининг шахта 20х20

Post by n1h1 »

Mirage wrote:Разгрузка:

Code: Select all

var bag = '0x4018A728'  ; сундук куда скидывать руду и откуда брать инструменты
var ore1 = '0x19B7' - это то что он будет складывать?
var ore2 = '0x19BA'
var ore3 = '0x19B8'
var ore4 = '0x19B9'

Sub putore()
put(ore1,bag)
put(ore2,bag)
put(ore3,bag)
put(ore4,bag)
end sub

Sub PUT(item, cont)
	while UO.Count( item ) > 0
		UO.FindType( item, -1, -1 )
		UO.MoveItem( 'finditem', 0, cont )
		wait(500)
	wend
end sub
Надеюсь помог :mrgreen:


PS не забываем пользоваться тегами и правильно формулировать вопрос :!:
Спасибо
С сундуком я понял !
а вот те 4 айдишника(var ore1 = '0x19B7' - это то что он будет складывать?
var ore2 = '0x19BA'
var ore3 = '0x19B8'
var ore4 = '0x19B9') это какую руду он будет складывать в сундук? и ещё вопрос как он поймет что ему надо складывать именно сейчас!
Sideus
Posts: 9
Joined: 2012-10-30 18:07:33

Re: Мининг шахта 20х20

Post by Sideus »

да эти 4 айдишника типы руды которую будет складывать в сундук ...
чтоб он понял когда выкладываться делай основную процедуру по типу такова:

Code: Select all

##############
sub Shaxta1()#
##############
uo.exec('exec CheckingPlayers') 
uo.exec('exec antimacro')
while 
gotoxy(771,1690,0)
Mining()
sbros()
gotoxy(776,1690,0)
Mining()
sbros()
gotoxy(779,1686,0)
Mining()
sbros()
gotoxy(774,1686,0)
Mining()
sbros()
gotoxy(769,1686,0)
Mining()
sbros()
gotoxy(769,1681,0)
Mining()
sbros()
gotoxy(774,1681,0)
Mining()
sbros()
gotoxy(779,1681,0)
Mining()
sbros()
gotoxy(784,1681,0)
Mining()
sbros()
gotoxy(779,1676,0)
Mining()
sbros()
gotoxy(774,1676,0)
Mining()
sbros()
gotoxy(776,1671,0)
Mining()
sbros()
gotoxy(769,1676,0)
Mining()
sbros()
gotoxy(764,1676,0)
Mining()
sbros()
gotoxy(764,1681,0)
Mining()
recal()
razgruz()  <--- в этом месте выкладка
wend
end sub
т.е ходит по координатам копает, последнюю координату делаешь рядом с банком и после обкобки идет выкладка.
n1h1
Posts: 9
Joined: 2012-12-03 21:27:14

Re: Мининг шахта 20х20

Post by n1h1 »

Sideus wrote:да эти 4 айдишника типы руды которую будет складывать в сундук ...
чтоб он понял когда выкладываться делай основную процедуру по типу такова:

Code: Select all

##############
sub Shaxta1()#
##############
uo.exec('exec CheckingPlayers') 
uo.exec('exec antimacro')
while 
gotoxy(771,1690,0)
Mining()
sbros()
gotoxy(776,1690,0)
Mining()
sbros()
gotoxy(779,1686,0)
Mining()
sbros()
gotoxy(774,1686,0)
Mining()
sbros()
gotoxy(769,1686,0)
Mining()
sbros()
gotoxy(769,1681,0)
Mining()
sbros()
gotoxy(774,1681,0)
Mining()
sbros()
gotoxy(779,1681,0)
Mining()
sbros()
gotoxy(784,1681,0)
Mining()
sbros()
gotoxy(779,1676,0)
Mining()
sbros()
gotoxy(774,1676,0)
Mining()
sbros()
gotoxy(776,1671,0)
Mining()
sbros()
gotoxy(769,1676,0)
Mining()
sbros()
gotoxy(764,1676,0)
Mining()
sbros()
gotoxy(764,1681,0)
Mining()
recal()
razgruz()  <--- в этом месте выкладка
wend
end sub
т.е ходит по координатам копает, последнюю координату делаешь рядом с банком и после обкобки идет выкладка.
спасибо завтра попробую добавить все это к тому что у меня было и сделать выкладку
Кстате немного изменили шахту вот 2ой скрин http://s018.radikal.ru/i524/1212/1f/9b6a819cbac6.gif вот новый скрин чутка извменили
Sideus
Posts: 9
Joined: 2012-10-30 18:07:33

Re: Мининг шахта 20х20

Post by Sideus »

n1h1 wrote:спасибо завтра попробую добавить все это к тому что у меня было и сделать выкладку
Кстате немного изменили шахту вот 2ой скрин http://s018.radikal.ru/i524/1212/1f/9b6a819cbac6.gif вот новый скрин чутка извменили
тока не к тому что было прикручивай, возьми этот скрипт за основу, подставь свои координаты, добавь ходилку и процедуры сброса шлаковой руды и выкладку в банк )
или можешь взять за основу этот скрипт, я с него под арбуз переделал себе ...

Code: Select all

sub Na4alokopki()
while gotoxy(3669,2175,0)
Mining()
GoToHome()
GoToMine()
gotoxy(3665,2175,0)
Mining()
GoToHome()
GoToMine()
gotoxy(3661,2175,0)
Mining()
GoToHome()
GoToMine()
gotoxy(3657,2175,0)
Mining()
GoToHome()
GoToMine()
gotoxy(3653,2175,0)
Mining()
GoToHome()
GoToMine()
gotoxy(3649,2175,0)
Mining()
GoToHome()
GoToMine()
gotoxy(3645,2175,0)
Mining()
GoToHome()
GoToMine()
gotoxy(3641,2175,0)
Mining()
GoToHome()
GoToMine()
wend
end sub

sub GoToHome()
gotoxy(3662,2175,0)
gotoxy(3662,2193,0)
gotoxy(3655,2193,0)
gotoxy(3655,2207,0)
gotoxy(3637,2207,0)
gotoxy(3637,2207,0)
gotoxy(3637,2211,0)
loot()
end sub

sub GoToMine()
gotoxy(3637,2209,0)
gotoxy(3655,2207,0)
gotoxy(3655,2193,0)
gotoxy(3662,2193,0)
gotoxy(3662,2175,0)
gotoxy(3669,2175,0)
end sub


sub Mining()
     var x,y,z, n 
     VAR LastTimer 
  UO.Set('finddistance','2') 
    n=0 
    z=UO.GetZ("self") 
       for x=-2 to 2 
       for y=-2 to 2 
      UO.Print(str(x)+" "+str(y)) 
           Repeat 
              if UO.InJournal('TORMOZ') then 
                pause() 
              endif 
              UO.DeleteJournal()              
              UO.Warmode("0") 
              UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z)) 
              UO.UseType('0x0E85') 
              LastTimer=UO.Timer() 
              Repeat 
                 wait(500) 
              Until UO.InJournal("You put") or UO.InJournal("can't see") or UO.InJournal("heavy") or UO.InJournal("stop") or UO.InJournal("location") or UO.InJournal("no ore") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200 
              if UO.InJournal("You put") then 
                  n=0 
              else 
                 n=n+1 
              endif 
           Until UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") or n>=5 
        next 
     next 
end sub

sub loot()    ; 
begin:
if uo.waiting() then 
uo.canceltarget() 
endif 
VAR a,Exit 
VAR UnloadCont='0x400115BA' ; ID sunduka  
DIM Ore[5] 
Ore[0]=0x19B9 ; 4 and more ore 
Ore[1]=0x19B7 ; 1 ore 
Ore[2]=0x19BA ; 2 ore 
Ore[3]=0x19B8 ; 3 ore 
UO.SetReceivingContainer(UnloadCont) 
wait(500) 
For a=0 to 3 
Exit=0 
repeat 
UO.FindType(Ore[a]) 
if UO.GetQuantity('finditem')>0 then 
UO.Grab('0','finditem') 
wait(1500) 
Else 
Exit=1 
endif 
until Exit==1 
Next 
UO.UnSetReceivingContainer() 
end sub 



sub gotoxy(x,y,prec) 
var ld=0,ldc=0 
var dx,dy 
var mx,my 
var ox,oy,mk,k 
#uo.print(">") 
#uo.track("1",str(x),str(y)) 
start: 
mx=UO.GetX() 
my=UO.GetY() 
dx=mx-x 
if dx<0 then 
dx=0-dx 
endif 
dy=my-y 
if dy<0 then 
dy=0-dy 
endif 
if dy>dx then 
dx=dy 
end if 
if dx<=prec then 
return 
end if 
if not ldc then 
uo.print(STR(dx)) 
end if 
if dx<3 then 
mk=70 
else 
mk=15 
end if 
ox=mx 
oy=my 
for k=1 to mk 
mx=UO.GetX() 
my=UO.GetY() 
if mx<>ox or my<>oy then 
goto sdidapl 
end if 
wait(10) 
next 
sdidapl: 
mx=UO.GetX() 
my=UO.GetY() 
dx=mx-x 
if dx<0 then 
dx=0-dx 
endif 
dy=my-y 
if dy<0 then 
dy=0-dy 
endif 
if dy>dx then 
dx=dy 
end if 
if dx<=prec then 
return 
end if 
if ld==dx then 
ldc=ldc+1 
if ldc>100 then 
uo.print("Can not reach location!") 
return 
end if 
else 
ld=dx 
end if 
if mx==x then 
if my==y then 
return 
endif 
if my>y then 
#UO.Print("UR") 
UO.Press(33) 
goto start 
endif 
#UO.Print("DL") 
UO.Press(35) 
goto start 
end if 
if mx<x then 
if my>y then 
#UO.Print("R") 
UO.Press(39) 
goto start 
endif 
if my==y then 
#UO.Print("DR") 
UO.Press(34) 
goto start 
endif 
#UO.Print("D") 
UO.Press(40) 
goto start 
end if 
if my<y then 
#UO.Print("L") 
UO.Press(37) 
goto start 
endif 
if my==y then 
#UO.Print("LU") 
UO.Press(36) 
goto start 
endif 
#UO.Print("U") 
UO.Press(38) 
goto start 
end sub
n1h1
Posts: 9
Joined: 2012-12-03 21:27:14

Re: Мининг шахта 20х20

Post by n1h1 »

Сегодня сделал так чтобы он останавливался и давал звук, буду дальше делать..

Code: Select all

Sub mine()
var x, y, i, t, tmp, inside, goto_x, st, first
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 = "location"
VAR ms6 = "Try mining"
VAR ms7 = "You can't see that"
VAR ms8 = "You stop"
VAR ms9 = "That is too"
first=UO.GetX()
start:
inside=0
for y=-1 to 1
for x=-1 to 1
repeat
uo.deletejournal()
t = UO.Timer()
UO.Exec ("waittargettile "+" 1340 "+STR(UO.GEtX()+x)+" "+STR(UO.GetY()+y)+" 0")
UO.exec ("usetype 0x0E85")
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 UO.InJournal(ms9) OR ((t + 100) < UO.Timer())
until not UO.InJournal(ms8)
next
next
if uo.injournal("heavy") or uo.dead() then 
pwavw()                    
Pause() 
endif
end sub

sub main()
var i
While UO.Life>0
for i=1 to 9
mine()
uo.press(34)
wait(500)
uo.press(34)
wait(500)
uo.press(34)
next
uo.press(33)
wait(500)
uo.press(33)
wait(500)
uo.press(33)
mine()
for i=1 to 9
uo.press(36)
wait(500)
uo.press(36)
wait(500)
uo.press(36)
next
uo.press(33)
wait(500)
uo.press(33)
wait(500)
uo.press(33)
wend
end sub

sub pwavw();
uo.playwav("C:\Zvuk.wav") 
endsub 

sub Pause() ;
UO.DeleteJournal() 
REPEAT 
WAIT(3000) 
UO.Print("!!!СКРИПТ НА ПАУЗЕ!!!!") 
UNTIL UO.InJournal('GO') 
UO.Print("!!!СКРИПТ ПРОДОЛЖЕН!!!!") 
endif 
end sub
Изучаем правила постинга скриптов и не игнорируем их © Mirage
n1h1
Posts: 9
Joined: 2012-12-03 21:27:14

Re: Мининг шахта 20х20

Post by n1h1 »

теперь стоит вопрос как сделать так чтоб он выкидывал не нужную руду из пака
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Мининг шахта 20х20

Post by Incorrect User »

Куда выкидывал?
n1h1
Posts: 9
Joined: 2012-12-03 21:27:14

Re: Мининг шахта 20х20

Post by n1h1 »

Incorrect User wrote:Куда выкидывал?
на землю руду чтоб небыло перевеса каждые 5 минут!
ещё с толкнулся с такой проблемой очень частые краши уже все перепробывал всеровно крашит"
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Мининг шахта 20х20

Post by Incorrect User »

Попробуй, укажи цвета нужных руд, будет выкидывать кучи только по 4 и более ингов. Скрипт не проверял.

Code: Select all

sub Trash()
  var i, x = uo.getx(), y = uo.gety(), z = uo.getz()
  dim OreColor[10]
  OreColor[0] = 0x0000
  OreColor[1] = 0x0000
  OreColor[2] = 0x0000
  OreColor[3] = 0x0000
  OreColor[4] = 0x0000
  OreColor[5] = 0x0000
  OreColor[6] = 0x0000
  OreColor[7] = 0x0000
  OreColor[8] = 0x0000
  OreColor[9] = 0x0000
  for i = 0 to 9
    uo.findtype(0x19B9, OreColor[i], 'backpack')
    if uo.findcount() then
      uo.moveitem('finditem', 0, 'ground', x y z)
      wait(500)
      uo.ignore('finditem')
    else
      wait(100)
    endif
  next
end sub
Post Reply