кстати у мя тоже не реколиться ... я думаю причина в том что у меня лаги ...
поэтому я его переделал под себя и еще поделал в соответствии с последними изменениями
Code: ############################# ##### Ìèíèíã âåðñèÿ 2.3 ##### ############################# sub maning() var mx, my, mz, i, j, e, f, g Uo.exec("set norbcheck 1") # íóæíî äëÿ ðåêîëà # uo.exec("set norbcalc 1") # íóæíî äëÿ ðåêîëà # e=1 # ïåðìåííàÿ ìåñòîíàõîæäåíèÿ # f=0 # ïåðìåííàÿ ïîäñ÷åòà ïóñòûõ òàéëîâ # # íåîáõîäèìî óêàçàòü Runebook â Object - from target # na4alo: # ïîåõàëè # mx = UO.GetX("self") my = UO.GetY("self") mz = UO.GetZ("self") UO.DeleteJournal() for i = mx-4 to mx+4 # ðàäèóñ îêàïûâàíèÿ ïî õ # for j = my-4 to my+4 # ðàäèóñ îêàïûâàíèÿ ïî ó # tohide() # ïðÿ÷åìñÿ # UO.Print("Mine in: "+str(mx-i)+" "+str(my-j)) # íèæå óáðàòü ìåññàãó ïî êîòîðîé âû íåõîòèòå ïåðåõîäèòü íà ñëåäóþùèé òàéë # # íåîáõîäèìî óêàçàòü Shovel â Object - from target # while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("Ore") and not UO.InJournal("Elvin") UO.DeleteJournal() if uo.waiting() then uo.canceltarget() endif UO.Waittargettile("1341", str(i), str(j), str(mz)) UO.Useobject("Shovel") # íåîáõîäèìî óêàçàòü Shovel â Object Types - from target # while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock") wait(500) if uo.injournal("heavy") or uo.dead() then # âûðûëè ýëåìåíòà # # íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ # uo.playwav("d:\Games\Ultima Online 2D\element.wav") Pause() # ñêðèïò íà ïàóçå - óáèâàåì ýëåìåíòà âðó÷íóþ, ãîâîðèì 'GO' è êîïàåì äàëüøå # goto na4alo endif # íèæå çàïèñàòü âñåõ ñâîèõ çíàêîìûõ êèëëåðîâ =) # if uo.injournal("Tangar") or uo.injournal("BilaZ") or uo.injournal("TiamaT") or uo.injournal("man") or uo.injournal("revealed") or uo.injournal("LEXEY") or uo.injournal("REM") then # ñìîòðèì êàê ÏÊ îáëîìàëñÿ è óëûáàåìñÿ # tut: if uo.waiting() then uo.canceltarget() endif uo.exec('usetype 0x0f0e 0x0631') # ïüåì èíâèçêó, лежат в паке # Save() # óëåòàåì äîìîé åñëè ÏÊ Âàñ ðàçäåòåêòèë(ïðè ïîÿâëåíèè çàïèñàííûõ ÏÊ), âñå âûêëàäûâàåì ïîïîëíÿåì ðåãè ïåðåìàðêèâàåì ðóíó, ìåäèòèðóåì, ïðÿ÷åìñÿ è íàçàä ÷åðåç óñòàíîâëåííîå âðåìÿ () # e=1 # óñòàíàâëèâàåì íà÷àëüíîå ïîëîæåíèå # # íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ # uo.playwav("d:\Games\Ultima Online 2D\pk.wav") wait(180000) # ñòîêî âðåìåíè æäåì äîìà ó ñåéôà # goto reccal endif wend if uo.weight > 600 then # âåñ ïî êîòîðîìó ëåòèì äîìîé ïî ðóíáóêå # goto end endif wend ########################################################### ##### Ïåðåõîä åñëè 20 ðàç íå íàéäåíà ðóäà âîêðóã ñåáÿ ##### ########################################################### if UO.InJournal("no ore here") then f=f+1 endif if f>20 then # 20 ðàç # # íèæå ïîìåíÿòü íà ñâîþ ìåëîäèþ - ýòî ÿ òàê äëÿ ñåáÿ ñäåëàë, íåîáÿçàòåëüíàÿ ìåëîäèÿ # uo.playwav("d:\Games\Ultima Online 2D\perehod.wav") f=0 # îáíóëåíèå ïåðåìåííîé ïóñòûõ òàéëîâ # g=0 # ïåðåìåííàÿ ïåðåõîäà # if e == 1 then UO.Print("Go West 7 step.") # ñòîëüêî ðàç áóäåì øàãàòü íà West # repeat g=g+1 GoW() if uo.injournal('revealed') then # ïðÿ÷åìñÿ # tohide() endif if uo.injournal("Tangar") or uo.injournal("BilaZ") or uo.injournal("TiamaT") or uo.injournal("man") or uo.injournal("attack") or uo.injournal("LEXEY") or uo.injournal("REM") then # ïðåäîõðàíÿåìñÿ # goto tut endif until g>6 # 6+1 ñòîêî øàãîâ # UO.DeleteJournal() e=2 goto na4alo else UO.Print("Go East 7 step.") # ñòîëüêî ðàç áóäåì øàãàòü íà East # repeat g=g+1 GoE() if uo.injournal('revealed') then tohide() endif if uo.injournal("BilaZ") or uo.injournal("TiamaT") or uo.injournal("man") or uo.injournal("attack") or uo.injournal("LEXEY") or uo.injournal("REM") then goto tut endif until g>6 UO.DeleteJournal() e=1 goto na4alo endif endif ######### UO.DeleteJournal() next # ïåðåêëþ÷àòåëü öèêëà # next # òî æå # goto na4alo # è íà 2 êðóã # end: if uo.waiting() then uo.canceltarget() endif uo.exec("recall Runebook 21") # äîìîé ïî ðóíáóêó - â ïåðâîì ñëîòå ðóíà ê ñåéôó # mx = UO.GetX("self") my = UO.GetY("self") wait(11000) if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then goto end # ïðîâåðêà íà ôèçë # endif e=1 loot() # âûêëàäûâàåò íàêîïàííîå â ñåéô # wait(3000) reccal: uo.deletejournal() if uo.waiting() then uo.canceltarget() endif uo.exec("recall Runebook 94") # íàçàä òðóäèòüñÿ â øàõòå =), ðóíêà â 8-ì ñëîòå ðóíáóêè # mx = UO.GetX("self") my = UO.GetY("self") wait(11000) if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then goto reccal # ïðîâåðêà íà ôèçë # endif goto na4alo end sub ################################################## ##### Ïåðåõîä íà 1 êëåòêó â íàïðàâëåíèè West ##### ################################################## sub GoW() VAR walkwait=300 VAR x,y,dir=6 VAR key=36 ; Home key x=UO.GetX() y=UO.GetY() while UO.GetDir()<>dir UO.Press(key) wait(walkwait) if UO.GetDir()<>dir then CheckLag() endif wend UO.Press(key) wait(walkwait) if x==UO.GetX() and y==UO.GetY() then CheckLag() Endif if UO.GetX()+1==x then return -1 else return 1 endif end sub ################################################## ##### Ïåðåõîä íà 1 êëåòêó â íàïðàâëåíèè East ##### ################################################## sub GoE() VAR walkwait=300 VAR x,y,dir=2 VAR key=34 ; PgDown x=UO.GetX() y=UO.GetY() while UO.GetDir()<>dir UO.Press(key) wait(walkwait) if UO.GetDir()<>dir then CheckLag() endif wend UO.Press(key) wait(walkwait) if x==UO.GetX() and y==UO.GetY() then CheckLag() endif if UO.GetX()-1==x then return -1 else return 1 endif end sub ############################################################# ##### Àíòè ÏÊ: åñëè Âàñ ðàçäåòåêòèëè - ïî ðóíêå ê ñåéôó ##### ############################################################# sub Save() # îïèñàíî âûøå # reccal: UO.DeleteJournal() if uo.waiting() then uo.canceltarget() endif UO.FindType('0x1F14',-1,'my') wait(200) UO.Cast('Recall','finditem') repeat wait(500) until uo.injournal("fizzles") or uo.injournal("Kal Ort Por") wait(3000) if uo.injournal("fizzles") then goto reccal endif tohide() loot() wait(3000) UO.DeleteJournal() UO.FindType('0x1F14',-1,'my') wait(200) UO.Cast('Mark','finditem') wait(5000) uo.exec('usetype 0x0f0e 0x09DF') # пьем манку, лежат в паке # Med: repeat UO.UseSkill('Meditation') wait(5000) until uo.injournal("peace") or uo.injournal("lose") if UO.InJournal('You lose') then UO.DeleteJournal() goto Med endif fillreagents() wait(3000) tohide() end sub ######################################### ##### Óïàêîâêà ãîòîâîãî ïðîäóêòà =) ##### ######################################### sub loot() # ñêëàäûâàåì ðóäó â ñåéô # VAR a, Exit if uo.waiting() then uo.canceltarget() endif ; '0x401731D2' VAR UnloadCont='0x4000E3AA' # ïîìåíÿòü íà ID ñâîåãî ñåéôà êóäà ñêëàäûâàåì ðóäó, óçíàòü åãî ìîæíî êîìàíäîé ',info' # DIM Ore[5] Ore[0]=0x19B9 # 4 è áîëåå ðóäû # Ore[1]=0x19B7 # 1 ðóäà # Ore[2]=0x19BA # 2 ðóäû # Ore[3]=0x19B8 # 3 ðóäû # 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 Pause() # ïàóçà äëÿ òîãî ÷òîáû ðàñïðàâèòüñÿ ñ ýëåìåíòîì - ñêîðî áóäåò àâòîìàòîì óáèâàòü ... # # ïàóçà ïðåêðàòèòüñÿ êîãäà âû ñêàæåòå GO áîëüøèìè áóêâàìè ñòðîãî! # UO.DeleteJournal() UO.Print("Script paused") repeat wait(3000) until UO.InJournal('GO') UO.Print("Script return") endif end sub #################### ##### Ïðÿ÷åìñÿ ##### #################### sub tohide() while NOT UO.Hidden() UO.DeleteJournal() UO.Exec('warmode 0') UO.UseSkill('Hiding') repeat wait(300) until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied') wend end sub ####################################### ##### Ïîïîëíåíèå âñåõ ðåãîâ äî 20 ##### ####################################### sub fillreagents() VAR StoreRegCont='0x40173275' # íåïîñðåäñòâåííî ñàì ïàê ñ ðåãàìè â ñåéôå # VAR CharRegBag='backpack' # êóäà ñëîæèòü ðåãè ñåáå # VAR CountReg=20 # êîëè÷åñòâî ðåãîâ êàæäîãî òèïà # VAR WaitTime=1500 VAR MainSafe='0x4000E3AA' # ñåéô ãäå ëåæèò ïàê ñ ðåãàìè # UO.FindType('0x09B0','0x0044','backpack') if UO.GetQuantity('finditem')>0 then CharRegBag='finditem' endif UO.UseObject(MainSafe) UO.UseObject(StoreRegCont) UO.SetReceivingContainer(CharRegBag) wait(WaitTime) if UO.BM<CountReg then UO.FindType('0x0F7B','-1',StoreRegCont) ; BM UO.Grab(STR((CountReg-UO.BM)),'finditem') wait(WaitTime) endif if UO.BP<CountReg then UO.FindType('0x0F7A','-1',StoreRegCont) ; BP UO.Grab(STR(CountReg-UO.BP),'finditem') wait(WaitTime) endif if UO.GA<CountReg then UO.FindType('0x0F84','-1',StoreRegCont) ; GA UO.Grab(STR(CountReg-UO.GA),'finditem') wait(WaitTime) endif if UO.GS<CountReg then UO.FindType('0x0F85','-1',StoreRegCont) ; GS UO.Grab(STR(CountReg-UO.GS),'finditem') wait(WaitTime) endif if UO.MR<CountReg then UO.FindType('0x0F86','-1',StoreRegCont) ; MR UO.Grab(STR(CountReg-UO.MR),'finditem') wait(WaitTime) endif if UO.NS<CountReg then UO.FindType('0x0F88','-1',StoreRegCont) ; NS UO.Grab(STR(CountReg-UO.NS),'finditem') wait(WaitTime) endif if UO.SA<CountReg then UO.FindType('0x0F8C','-1',StoreRegCont) ; SA UO.Grab(STR(CountReg-UO.SA),'finditem') wait(WaitTime) endif if UO.SS<CountReg then UO.FindType('0x0F8D','-1',StoreRegCont) ; SS UO.Grab(STR(CountReg-UO.SS),'finditem') endif UO.UnsetReceivingContainer() end sub ########################### ##### Ïðîâåðêà íà ëàã ##### ########################### sub CheckLag() UO.DeleteJournal() UO.Click('backpack') repeat wait(500) until UO.InJournal('backpack') end sub #########################
|