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

Подскажите команду..
http://forum.yoko.com.ua/viewtopic.php?f=17&t=15627
Page 1 of 1

Author:  The_Filin [ 2010-03-04 15:25:45 ]
Post subject:  Подскажите команду..

есть скрипт на мининг, копает вокруг себя на 25 клеток, при достижение веса он плавить инги и снова копает.

и когда приходиться сбрасывать то меня малость напрягает это,
а суть такого, как можно сделать чтобы я подошел к чару положил рядом сумочку и после волшебного слова он начал скидывать руду, не отвлекаясь от работы копания

Author:  Beyonder [ 2010-03-04 19:23:52 ]
Post subject:  Re: Подскажите команду..

Да, можно.

Что-то вроде такого:
Code:
sub unloader()
    var keyword = 'unload'
    var oreType = '0x0000'
    var bagType = '0x0000'

    var bag

    while not UO.Dead()
        UO.DeleteJournal()

        while not UO.InJournal(keyword)
            wait(1000)
        wend

        UO.Set('finddistance','2')
        UO.FindType(bagType,-1,'ground')
        if (UO.FindCount() == 0) then
            UO.Say('No bag found!')
        else
            bag = UO.GetSerial('finditem')
            UO.Grab(1,bag)
            wait(500)
            UO.FindType(oreType,-1,'backpack')
            while UO.FindCount() > 0
                UO.MoveItem('finditem',0,bag)
                wait(500)
                UO.FindType(oreType,-1,'backpack')
            wend
            UO.Drop(0,UO.GetX(),UO.GetY(),UO.GetZ(),bag)
            wait(500)
        endif
    wend
endsub


Скрипт не проверял, писал сразу в окне ответа на форуме. Но в теории должно работать.

Author:  The_Filin [ 2010-03-04 21:10:54 ]
Post subject:  Re: Подскажите команду..

Спасибо большое. Тока этот макрос не работает с макросом мининга, на пару, когда макрос мининга начинает плавить то твой макрос мешает определять кол-во руды которую надо переправить, т.е. он вмешиваеться в каут ресурсы плавильни, и пытаеться все инги сбросить в мешок, которого в свое время нету рядом.


могу скинуть макр мининга с плавилкой, может придумаешь что-нить на досуге. :)

Заранее благодарен

Author:  Beyonder [ 2010-03-04 23:21:36 ]
Post subject:  Re: Подскажите команду..

Я так точно ничего на досуге не придумаю. Можешь почитать данный мной скрипт, и на досуге почитать учебник скриптинга на форуме. Может что и получится.

Author:  The_Filin [ 2010-03-05 08:30:07 ]
Post subject:  Re: Подскажите команду..

а можешь дать сылку на этот урок,

я так попробую другой макрос разобрать и приделать к твоему,

Author:  Beyonder [ 2010-03-05 09:40:13 ]
Post subject:  Re: Подскажите команду..

viewforum.php?f=18

Author:  The_Filin [ 2010-03-06 13:24:36 ]
Post subject:  Re: Подскажите команду..

Подскажите как соеденить два скрипта
1) скидывает руду в мешочек (за скрипт спасибо Beyonder)
Quote:
sub unloader()
var keyword = 'unload'
var oreType = '0x0000'
var bagType = '0x0000'

var bag

while not UO.Dead()
UO.DeleteJournal()

while not UO.InJournal(keyword)
wait(1000)
wend

UO.Set('finddistance','2')
UO.FindType(bagType,-1,'ground')
if (UO.FindCount() == 0) then
UO.Say('No bag found!')
else
bag = UO.GetSerial('finditem')
UO.Grab(1,bag)
wait(500)
UO.FindType(oreType,-1,'backpack')
while UO.FindCount() > 0
UO.MoveItem('finditem',0,bag)
wait(500)
UO.FindType(oreType,-1,'backpack')
wend
UO.Drop(0,UO.GetX(),UO.GetY(),UO.GetZ(),bag)
wait(500)
endif
wend
endsub

2) копает вокруг себя + плавит
Quote:
sub mining()
walk(1000,1586,'')
var mx, my, mz, i, j
var ismining, ixx, isheavy
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
While not UO.Dead()
UO.DeleteJournal()
for i = mx-2 to mx+2
for j = my-1 to my+2
UO.Print("Now Mining In: "+str(mx-i)+" "+str(my-j))
while not UO.InJournal("no ore here")
wait(4000)
if uo.weight > 320 then ; Ìàêñèìàëüíûé âåñ ïðè êîòîðîì ÷àð èäåò ïåðåïëàâëÿòü ðóäó
plav()
endif
UO.DeleteJournal()
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Usetype('0x0E85')
while not UO.InJournal("no ore")
wait(100)
wend
while UO.InJournal("but fail")
Wait (3000)
UO.DeleteJournal()
wend
wend
UO.DeleteJournal()
next
next
wend
UO.DeleteJournal()
end sub


мне надо соеденить их так чтобы не запускаеть оба макроса. Т.е. я запускаю мининг и он копает, но так же и отслеживает журнал, и когда журнале появилась надпись он начинает скидывать в мешочек. Пытался сделать сам, но у меня скрипт доходит до места где указано волшебное слово и вставал в ступор и ждал, а мне надо чтобы он следил за журналом, и если волшебое слово проскочит то выполнил команду Анлоадер

зы когда запускаю их вместе, инжа бывает дает сбои и окно трешаеться


или не бывает того чего я прошу?

Author:  Beyonder [ 2010-03-06 15:26:43 ]
Post subject:  Re: Подскажите команду..

Так уж и быть, я сегодня снова добрый.

Code:
sub checkUnloadCommand()
  var keyword = 'unload'
  var oreType = '0x0000'
  var bagType = '0x0000'

  var bag

  if UO.InJournal(keyword)
    DeleteJournal(keyword) ## Поищи, где-то на форуме эта функция была. Я сейчас не дома так что не помню как та функция выглядит

    UO.Set('finddistance','2')
    UO.FindType(bagType,-1,'ground')
    if (UO.FindCount() == 0) then
      UO.Say('No bag found!')
    else
      bag = UO.GetSerial('finditem')
      UO.Grab(1,bag)
      wait(500)
      UO.FindType(oreType,-1,'backpack')
      while UO.FindCount() > 0
        UO.MoveItem('finditem',0,bag)
        wait(500)
        UO.FindType(oreType,-1,'backpack')
      wend
      UO.Drop(0,UO.GetX(),UO.GetY(),UO.GetZ(),bag)
      wait(500)
    endif
  endif
endsub

sub mining()
...
for j = my-1 to my+2
checkUnloadCommand()
UO.Print("Now Mining In: "+str(mx-i)+" "+str(my-j))
...
endsub

Author:  The_Filin [ 2010-03-06 17:10:30 ]
Post subject:  Re: Подскажите команду..

Quote:
DeleteJournal(keyword) ## Поищи, где-то на форуме эта функция была. Я сейчас не дома так что не помню как та функция выглядит

я как понял она должна удалять из журнала keyword? поиск ничего кроме UO.DeleteJournal() мне не показал

кстати не получеться, он чистит журнал после каждой выкопанной точки и причем очень часто :(

Author:  Beyonder [ 2010-03-06 18:46:42 ]
Post subject:  Re: Подскажите команду..

Нашёл за 15 секунд поиска по форуму:

Code:
Sub DeleteJournal( string1 )
VAR nom = UO.InJournal( string1 )
If nom > 0 Then
UO.SetJournalLine( Nom - 1, 'string replaced' )
DeleteJournal( string1 )
Endif

Author:  The_Filin [ 2010-03-06 19:06:06 ]
Post subject:  Re: Подскажите команду..

:oops:
значит у меня руки не оттуда растут и я как понял вместо стрингс писать мое слово?


запустил, тока не понял, толи все равно не робит, толи не правильно запустил

Author:  The_Filin [ 2010-04-07 14:54:14 ]
Post subject:  Re: Подскажите команду..

скажи пожалуйста, почему во время ожидания скрипт бывает крашит клиент, и причем крашит по разному, бывает через 10 минут, а бывает или через час...

Author:  Beyonder [ 2010-04-08 09:08:12 ]
Post subject:  Re: Подскажите команду..

Слово вписать нужно сюда:

var keyword = 'unload'

Насчёт крашей наверное потому что старый инжект.

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