Мининг шахта 20х20
Moderators: Murderator+, Murderator
Мининг шахта 20х20
Помогите сделать скрипт для копание шахты 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
нехватает расгрузки
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
нехватает расгрузки
Re: Мининг шахта 20х20
Разгрузка:
Надеюсь помог
PS не забываем пользоваться тегами и правильно формулировать вопрос
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
Надеюсь помог

PS не забываем пользоваться тегами и правильно формулировать вопрос

Re: Мининг шахта 20х20
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
Надеюсь помог
PS не забываем пользоваться тегами и правильно формулировать вопрос
Спасибо
С сундуком я понял !
а вот те 4 айдишника(var ore1 = '0x19B7' - это то что он будет складывать?
var ore2 = '0x19BA'
var ore3 = '0x19B8'
var ore4 = '0x19B9') это какую руду он будет складывать в сундук? и ещё вопрос как он поймет что ему надо складывать именно сейчас!
Re: Мининг шахта 20х20
да эти 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
т.е ходит по координатам копает, последнюю координату делаешь рядом с банком и после обкобки идет выкладка.
Re: Мининг шахта 20х20
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 вот новый скрин чутка извменили
Re: Мининг шахта 20х20
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
Re: Мининг шахта 20х20
Сегодня сделал так чтобы он останавливался и давал звук, буду дальше делать..
Изучаем правила постинга скриптов и не игнорируем их © Mirage
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
Re: Мининг шахта 20х20
теперь стоит вопрос как сделать так чтоб он выкидывал не нужную руду из пака
-
- Posts: 949
- Joined: 2011-05-23 00:33:30
Re: Мининг шахта 20х20
Incorrect User wrote:Куда выкидывал?
на землю руду чтоб небыло перевеса каждые 5 минут!
ещё с толкнулся с такой проблемой очень частые краши уже все перепробывал всеровно крашит"
-
- Posts: 949
- Joined: 2011-05-23 00:33:30
Re: Мининг шахта 20х20
Попробуй, укажи цвета нужных руд, будет выкидывать кучи только по 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