Yoko
http://forum.yoko.com.ua/

mining
http://forum.yoko.com.ua/viewtopic.php?f=20&t=17978
Page 1 of 2

Author:  dubd [ 2017-05-05 19:20:14 ]
Post subject:  mining

привет народ. есть не большой скрипт на мининг, но есть чорные дыры в скрипте. По идее как докапает до веса 650, то должен реколитца к сундуку - но перс делает что то неведомое.
Code:
sub main() 
var my, mx,i,j
 while (not uo.dead())
   mx = UO.GetX("self")
   my = UO.GetY("self")
   tohide()
   for i = mx-3 to mx+3
    for j = my-3 to my+3                   
     kopka(i,j)
     UO.Print("Копаем в: "+str(mx-i)+" "+str(my-j))
    next
   next
 wend
end sub 


Code:
sub kopka(i,j)
VAR MaxWeight=650
VAR Pic="0x0E85"
if UO.Weight>=MaxWeight then
uo.WaitGump(21)
uo.UseObject(0x41518126)
endif
loot()
uo.WaitGump(94)
uo.UseObject(0x41518126)
mx = UO.GetX("self")
my = UO.GetY("self")
wait(10000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then

????????????????????????????????????????????????????????????????????


while (not uo.injournal("no ore")) and (not uo.injournal("in rock"))  and (not uo.injournal("You have no line")) and (not uo.injournal("trhtrhr")) and (not uo.injournal ("That is too far"))
  tohide()
   UO.Waittargettile("1339", str(i), str(j),"0")
   UO.Usetype (Pic)
   uo.deletejournal()
  while (not uo.injournal("fail")) and (not uo.injournal("put")) and (not uo.injournal("You have no line")) and (not uo.injournal("elemental")) and (not uo.injournal("no ore")) and (not uo.injournal("in rock")) and (not uo.injournal ("That is too far"))
    wait(100)
  wend
 wend
uo.deletejournal()
end sub


поссле
Code:
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
- чорная дыра. чар должен обратно летет.

Author:  dubd [ 2017-05-07 18:20:23 ]
Post subject:  Re: mining

подскажите пожалуйста конструкцию, если набрал 600 веса то рекол делает.
Code:
sub dig(i,j)
VAR MaxWeight=650
VAR Pic="0x0E85"
if UO.Weight>=MaxWeight then


Code:
if UO.Weight>=MaxWeight then
Recallhome()
endif


это ок. Подскажите теперь пожалуйста в какой блок правильней вставлять мессаги для майнинга?
наподобии таких
Code:
while (not uo.injournal("no ore")) and (not uo.injournal("in rock"))..............

Author:  dubd [ 2017-05-07 21:06:35 ]
Post subject:  Re: mining

повторил циклы while, repeat но пока не очень получаетца правильно всё оформить.

Author:  Incorrect User [ 2017-05-20 09:44:37 ]
Post subject:  Re: mining

Разве not нужно прятать в скобки?
Code:
while not uo.injournal("fail|put|You have no line|elemental|no ore|in rock|That is too far")

Author:  dubd [ 2017-05-22 22:18:26 ]
Post subject:  Re: mining

спасибо за ответ! как можно правильней оформить?

Author:  Incorrect User [ 2017-05-22 22:48:53 ]
Post subject:  Re: mining

Как-то так
Code:
sub main() 
 var x, y, Pic = "0x0E85", MaxWeight = 650, msg = "fail|put|You have no line|elemental|no ore|in rock|That is too far", endmsg = "You have no line|elemental|no ore|in rock|That is too far"
 while not uo.dead()
  tohide()
  for x = -3 to 3
   for y = -3 to 3   
    repeat         
     uo.deletejournal(msg)
     UO.Print("Копаем в: " + str(uo.getx() + x) + " " + str(uo.gety() + y))
     uo.waittargettile(1339, uo.getx() + x, uo.gety() + y, uo.getz())
     UO.Usetype(Pic)
     repeat
      wait(100)
     until uo.injournal(msg) or uo.dead()
    until uo.injournal(endmsg) or UO.Weight >= MaxWeight or uo.dead()
    if uo.dead() then
     uo.print("You Dead!")
     uo.exec("Terminate all")
    end if
    if UO.Weight >= MaxWeight then
     elemcheck()
     uo.useskill("Hiding")
     uo.WaitGump(21)
     uo.UseObject(0x41518126)
     wait(10000)
     loot()
     uo.WaitGump(94)
     uo.UseObject(0x41518126)
     wait(10000)
     tohide()
    end if
   next
  next
 wend
end sub

Author:  dubd [ 2017-05-23 20:04:16 ]
Post subject:  Re: mining

спасиб что нашёл время. но перс почему то реколитца с любым весом, не обращая внимание на - MaxWeight = 50 и if UO.Weight>=MaxWeight then
uo.WaitGump(21)
uo.UseObject(0x40018126)

а потом когда обратно прилетает - копнёт один раз и вылетает ошибка линия 29 - runtime error - invalid operation for this type :(

29 - UO.Print("Now Mining In: "+str(mx-i)+" "+str(my-j))

Author:  Incorrect User [ 2017-05-23 20:50:58 ]
Post subject:  Re: mining

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

Author:  dubd [ 2017-05-23 21:12:01 ]
Post subject:  Re: mining

блин сейчас нету ошибок, но перс при старте скрипта - просто перебирает в паке оры, как будто выгружает. в чём кроется это?

Author:  Incorrect User [ 2017-05-23 21:17:18 ]
Post subject:  Re: mining

Видимо это работает функция loot(), удали строку с ней, если она не нужна или не в том месте.

Author:  dubd [ 2017-05-23 21:27:03 ]
Post subject:  Re: mining

убрал, но он так и так почему то оры ищет. Не находит и пишется - cant see the target. Постоит, копнёт и опять you cant see the target)))))))))))))))

Author:  dubd [ 2017-05-23 21:33:57 ]
Post subject:  Re: mining

User сорян! У меня буки не было он её искал!

Ща тещу скрипт.

Author:  dubd [ 2017-05-23 21:41:21 ]
Post subject:  Re: mining

Вроде заработало, только после месаги There is no ore to mine перс реколитца из шахты опять в эту шахту))))))))))))))))))

Author:  Incorrect User [ 2017-05-23 21:43:16 ]
Post subject:  Re: mining

Ну так у тебя же рекол посреди скрипта или нет?
Code:
    uo.WaitGump(94)
    uo.UseObject(0x41518126)
    wait(10000)

Author:  dubd [ 2017-05-23 21:46:09 ]
Post subject:  Re: mining

ну да! это обратно лететь. Сейчас перс капнёт 1 оры и летит в шахту обратно, где и находитца!)))) User, есть ещё желание поправить немножно,?

Author:  Incorrect User [ 2017-05-23 21:50:38 ]
Post subject:  Re: mining

Какое же это обратно, если оно посреди копки вставлено и без всяких условий? Я уже понял что ты вообще не понимаешь что к чему. Давай просто по порядку напиши что и как должно быть, я сделаю.

Author:  dubd [ 2017-05-23 21:56:55 ]
Post subject:  Re: mining

Code:
sub Needhelp()
   UO.Print( "User, need your help!" )
   wait(50)
endsub


В общем перс начинает копать в забое, набирает 650 веса - срабатывает рекк к дому - дальше процедура loot() - выгрузился ок - полёт в забой обратно - и так по кругу.

Я пока застрял на циклах.

Author:  Incorrect User [ 2017-05-23 22:00:25 ]
Post subject:  Re: mining

Значит это рекол домой
Code:
     uo.WaitGump(21)
     uo.UseObject(0x41518126)

А это рекол в шахту, все верно? И копать нужно тайл только один удар или пока не появится сообщение no Ore?
Code:
    uo.WaitGump(94)
    uo.UseObject(0x41518126)

Author:  dubd [ 2017-05-23 22:06:14 ]
Post subject:  Re: mining

полностью клетку выкопать, да пока не будет - No ore here.

Author:  Incorrect User [ 2017-05-23 22:12:35 ]
Post subject:  Re: mining

Пробуй.

Page 1 of 2 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/