Добрый вечер уважаемые!)
Шард: Dragon World
Скрипт: Мининг по скале
Проблемы:
1. Иногда пропускает шаг на след. координату и уходит в лес)
2. Несмотря на вроде бы вставленный ChekWorldSave скрипт сбивается на сейве.
Вставлял паузы, менял значение обкапывания, однако результатов не дало.
Вот данный скрипт:
Code: sub go(x,y,k,m) while UO.GetX()<>x or UO.GetY()<>y UO.Press(k) CheckLag() wend if m==1 then Dig() end if end sub
sub main() while Not UO.Dead() FollowMine() UnLoad() GoBeg() wend end sub #PageUp-33 PageDown-34 End-35 Home-36 sub FollowMine() dig() go(2593,834,35,1) #k go(2593,840,35,1) go(2594,840,34,1) go(2595,840,34,1) go(2596,840,34,1) go(2596,841,35,1) go(2597,841,34,1) go(2598,841,34,1)# go(2599,841,34,1) go(2600,841,34,1) go(2601,841,34,1) go(2602,841,34,1) go(2603,841,34,1) go(2604,841,34,1) go(2605,841,34,1) go(2606,841,34,1) go(2607,841,34,1) wait(1000) go(2608,841,34,1)# wait(1000) go(2608,842,35,1) wait(100) go(2609,842,34,1) go(2609,843,35,1) go(2610,843,34,1) go(2611,843,34,1) go(2611,844,35,1) go(2612,844,34,1) go(2613,844,34,1) go(2613,845,35,1) go(2614,845,34,1) go(2614,846,35,1) go(2615,846,34,1) go(2615,847,35,1) go(2615,848,35,1) go(2615,849,35,1) go(2615,850,35,1) wait(100) go(2616,850,34,1) wait(100) go(2616,851,35,1) go(2617,851,34,1) wait(1000) go(2617,852,35,1) wait(1000) go(2618,852,34,1) go(2618,853,35,1) wait(1000) go(2618,854,35,1) go(2619,854,34,1) go(2619,855,35,1) go(2619,856,35,1) go(2619,857,35,1) go(2619,858,35,1) go(2619,859,35,1) go(2619,860,35,1) go(2619,861,35,1) go(2619,862,35,1) go(2619,863,35,1) go(2619,864,35,1) go(2619,865,35,1) go(2619,864,33,1) go(2619,863,33,1) wait(100) go(2619,838,33,1) wait(100) go(2618,838,36,1) go(2593,838,36,1) wait(100) go(2593,837,33,1) wait(100) go(2593,833,33,1)
end sub
sub GoBeg() go(2593,833,33,0) end sub
sub CheckLag() UO.Click('backpack') repeat wait(50) until UO.InJournal('backpack') end sub
sub tohide() while NOT UO.Hidden() UO.Warmode('0') UO.UseSkill('Hiding') wait(5000) wend end sub
sub UnLoad()
var i DIM Item[12]
Item[1]=0x19B9 ; >3 ore Item[2]=0x19B7 ; 1 ore Item[3]=0x19BA ; 2 ore Item[4]=0x19B8 ; 3 ore Item[5]=0x0F11 ; saphires Item[6]=0x0F16 ; amethysts Item[7]=0x0F18 ; tourmalines Item[8]=0x0F15 ; citrines Item[9]=0x0F10 ; emeralds Item[10]=0x0F0F ; star sapphires Item[11]=0x0F26 ; diamonds Item[12]=0x0EED ; gold
for i = 1 to 12 UO.FindType(Item[i], '-1', 'backpack') while UO.GetQuantity('finditem') > 0 UO.MoveItem('finditem','-1',tSeif) Wait(1000) CheckLag() UO.FindType(Item[i],'-1','backpack') wend next end sub
sub Dig() var mx = UO.GetX("self") var my = UO.GetY("self") var mz = UO.GetZ("self") var TileNum='1339' var i,j,k
if UO.Dead() then UO.CloseUO() end if
for i = mx-1 to mx+1 for j = my-1 to my+1 repeat uo.DeleteJournal() k=0 if not uo.Hidden() then repeat uo.UseSkill('Hiding') wait(5000) until uo.Hidden() end if CheckLag() UO.Waittargettile("1341", str(i), str(j), str(mz)) UO.Exec("usetype " + tShovel) repeat wait(100) k=k+1 until UO.InJournal("You put|location|no ore|but fail|far away|rock|OOPS|attacking you") || k>100 until UO.InJournal("no ore here|location|far away|in rock") if UO.InJournal("World is saving now|PAUSED for Resync") then CheckWS() end if next next return 1 end sub
sub Pause() UO.DeleteJournal() REPEAT WAIT(3000) UO.Print("!@! ELEMENTAL !@!") UNTIL UO.InJournal('GO') UO.Print("!@! KOPAU !@!") end sub
sub CheckWS() if UO.InJournal("World is saving now|PAUSED for Resync") then DelJournal("World is saving now") DelJournal("PAUSED for Resync") UO.Print("ÍÀ×ÀËÎÑÜ ÑÎÕÐÀÍÅÍÈÅ ÌÈÐÀ") while not UO.InJournal("World data saved in|Resync Complete") wait(100) wend UO.Print("ÑÎÕÐÀÍÅÍÈÅ ÌÈÐÀ ÑÂÅÐØÈËÎÑÜ") endif endsub
SUB DelJournal(msg) while UO.InJournal(msg) UO.SetJournalLine(UO.InJournal(msg) - 1, "-- -- --") wend endsub
|