Подправьте плиз скрипт на мининг.

Ask for scripts here

Moderators: Murderator+, Murderator

Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Подправьте плиз скрипт на мининг.

Post by Jekaaa »

Подправьте пожалуйста скрипт на мининг. Дело в том что он после каждой попытки пытаеться сново копать тот же таил. А у нас на сервере нужно всего лишь 1 раз кликнуть на таил и он будет его копать пока все не выкапает. Мне нужно чтобы когда он тыкал на таил он ждал пока все выкапываться и только потом начинал капать следующий таил =)

Code: Select all

var fizzle = 0
var iron = 1
var d
var k
var i
var try = 0

sub success()
if UO.InJournal("You put the Iron Ore") and Iron == 1 then
try = 0
return 1
end if
if UO.InJournal("You loosen") then
if fizzle == 0 then
return 1
else
if try < fizzle then
try = try + 1
return 1
else
try = 0
return 0
end if
end if
end if
return 0
end if

sub checkaction()
if UO.InJournal("You loosen") then
return 1
end if
if UO.InJournal("You put") then
return 1
end if
if UO.InJournal("no ore") then
return 1
end if
if UO.InJournal("no line") then
return 1
end if
return 0
end sub

sub definedir( d )
if d == 0 then
k = 33
return k
end if
if d == 2 then
k = 34
return k
end if
if d == 4 then
k = 35
return k
end if
if d == 6 then
k = 36
return k
end if
return 0
end sub

sub main()
UO.DeleteJournal()
k = definedir(UO.GetDir("self"))
if k == 0 then
UO.Print("You are at wrong direction...")
UO.Exec("terminate all")
end if
while 1
if k == 34 OR k == 36 then
for i = UO.GetY("self") - 2 to UO.GetY("self") + 2
start1:
UO.Exec("waittargettile * "+STR(UO.GetX("self"))+" "+STR(i)+" "+STR(UO.GetZ("self")))
Wait(200)
UO.usetype("NPF")

UO.DeleteJournal()

while NOT checkaction()
Wait(1000)
wend

if success() then
goto start1
else
Wait(1000)
end if
next
UO.Press(k,2,500)
end if
if k == 33 OR k == 35 then
for i = UO.GetX("self") - 2 to UO.GetX("self") + 2
start2:
UO.Exec("waittargettile * "+STR(i)+" "+STR(UO.GetY("self"))+" "+STR(UO.GetZ("self")))
Wait(200)
UO.usetype("NPF")

UO.DeleteJournal()

while NOT checkaction()
Wait(1000)
wend

if success() then
goto start2
else
Wait(1000)
end if
next
UO.Press(k,2,500)
end if
wend
end sub
Last edited by Jekaaa on 2010-05-13 00:06:20, edited 1 time in total.
Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Post by Jekaaa »

Народ дайте хотя бы простой скриптик что бы копал вокруг себя (только вокруг под собой не надо). Ну то есть по 1 разу кликал во круг себя, если точка уже выкопана то начинал капать следующею. Очень нужно! буду очень благодарен =)
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

А у нас на сервере нужно всего лишь 1 раз кликнуть на таил и он будет его копать пока все не выкапает.


а когда он выкапывает руду, пока ковыряет этот тайл, сообщения от серва приходят, типа You put the ore? Распиши подробно, какие сообщения приходят от сервака, когда копаешь, когда всё выкопал, когда ткнул киркой, а там руды нет уже, когда ткнул не в камень и когда ткнул далеко от себя.
Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Post by Jekaaa »

Сообщение те же что и всегда (Select a place to mine, You are too far away, You loosen some rocks, You put the) просто они приходят от сервера во время копания и он начинает снова юзать кирку на тот же таил. А когда руда в таиле кончилась пишет there is no more ore here to mine.
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

Code: Select all

sub Mining()
   var x,y
        for x=-2 to 2
           for y=-2 to 2
                 if x==0 and y==0 then
                      wait(500)
                 else
                      uo.deletejournal()
                      uo.waittargettile('0',str(uo.getx('self')+x),str(uo.gety('self')+y),'0')
                      uo.usetype('NPF')
                             repeat
                                   wait(300)
                             until uo.injournal('far away|no more|nothing here')
                 endif
            next
      next
endsub


по идее, копать будет вокруг себя
Last edited by Millerbeer on 2009-03-15 06:40:50, edited 4 times in total.
Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Post by Jekaaa »

Пишет ошибку на 5ой линии
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

подправил, чуть скосепорил
Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Post by Jekaaa »

Теперь на 9ой =)
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

и ещё чуть подправил :)
Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Post by Jekaaa »

Он делает 1 капок и стоит =((
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

а какое сообщение в журнале, после того, как он сделает копок?
Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Post by Jekaaa »

Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

пробуй
Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Post by Jekaaa »

Все офигенно! Спасибо тебе большое. Если не в лом можно еще туда ходилку добавить? =)
Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Post by Jekaaa »

Это сообщение глюк =)
Last edited by Jekaaa on 2009-03-15 08:24:34, edited 1 time in total.
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

да возьми любую ходилку, вбей координаты в массив, бегай по ним и копай
Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Post by Jekaaa »

Я вообще в инже нефига не понимаю =( Как координаты вбивать? =) что такое массив? =)
Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Post by Jekaaa »

Если не сложно допиши плиз, очень нужно... Или хотя бы объясни как можно это реализовать =)
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

дай координаты точек, в которых он стоит, когда копает, забью
Jekaaa
Posts: 89
Joined: 2008-12-12 04:30:22

Post by Jekaaa »

Опиши пожалуйста как вынуть координаты.
Post Reply