Code: sub AutoJail() VAR JailPatch = '1293 1767 OPEN 1291 1767 GET 1293 1770 OPEN 1291 1770 GET 1293 1773 OPEN 1291 1773 GET 1293 1776 OPEN 1291 1776 GET 1293 1779 OPEN 1291 1779 GET 1293 1782 OPEN 1291 1782 GET 1295 1782 WAIT WAIT END' VAR navoz = '0x0F3C' VAR navoz1 = '0x0F3B' VAR woodgate = '0x0843' VAR str1, str2, i = 1, sum = 0 VAR NeedGuano = 20000 UO.Set( 'distance', '3' ) UO.Set( 'finddistance', '3' ) JailPatch = JailPatch + ' ' repeat str1 = GetWord( JailPatch, i ) If str1 <> '' Then If str1 == 'OPEN' Then ;îòêðîåì áëèæàéøóþ äâåðü OpenGate( woodgate ) Else If str1 == 'GET' Then ; áåðåì íàâîç GetGuano( navoz ) GetGuanoo( navoz ) sum = sum + 1 If sum > NeedGuano Then ;UO.Print( 'I made it!!! Congratulations!' ) return Endif Else If str1 == 'END' Then i = 0 Else If str1 == 'WAIT' Then wait(1000) Else ;str1 - êîîðäèíàòà i = i + 1 ;str2 = GetWord( JailPatch, i ) ;GoToXY( val(str1), val(str2), 0 ) Endif Endif Endif Endif Else i = 0 Endif i = i + 1 until sum > NeedGuano endsub
Sub OpenGate( typ1 ) VAR nemogu = "You can't reach that." repeat UO.Findtype( typ1, '-1', '1' ) DeleteJournal( nemogu ) UO.UseObject( 'finditem' ) wait(500) CheckLag() If UO.InJournal( nemogu ) Then UO.Ignore( 'finditem' ) Else return Endif until False endsub
Sub GetGuano( typ1 ) VAR nemogu = "You can't reach that." repeat UO.FindType( typ1, '-1', '1' ) If UO.FindCount() > 0 Then DeleteJournal( nemogu ) UO.UseObject( 'finditem' ) wait(500) CheckLag() If UO.InJournal( nemogu ) Then UO.Ignore( 'finditem' ) Else UO.IgnoreReset() return Endif Else wait( 1000 ) Endif until False endsub
Sub GetGuanoo( typ2 ) VAR nemogu = "You can't reach that." repeat UO.FindType( typ2, '-1', '1' ) If UO.FindCount() > 0 Then DeleteJournal( nemogu ) UO.UseObject( 'finditem' ) wait(500) CheckLag() If UO.InJournal( nemogu ) Then UO.Ignore( 'finditem' ) Else UO.IgnoreReset() return Endif Else wait( 1000 ) Endif until False endsub
Sub GetWord( st, nom ) ; Âîçâðàùàåò ñëîâî èç ñòðîêè str çà íîìåðîì num ; åñëè òàêîãî ñëîâà íåò - âîçâðàùàåì '' ; ; Ðàçäåëèòåëåì ñëîâ ñ÷èòàåì ïðîáåë. Íåñêîëüêî ïðîáåëîâ ïîäðÿä ñ÷èòàþòñÿ çà îäèí. ; Ôóíêöèÿ ñäåëàíà áåç ðåêóðñèè ñïåöèàëüíî äëÿ ñ÷èòûâàíèÿ ñëîâ èç ñâåðõäëèííûõ ñòðîê! ; VAR tmpst VAR i, dlin, kol, start dlin = len( st ) kol = 0 start = 0 For i=0 To dlin - 1 If mid( st, i, 1 ) == ' ' OR i == dlin - 1 Then kol = kol + 1 If kol == nom Then ; ýòî ïåðâûé ïðîáåë ïîñëå íóæíîãî íàì ñëîâà tmpst = mid( st, start, i - start ) return tmpst Else While mid( st, i, 1 ) == ' ' i = i + 1 Wend If kol == nom - 1 Then start = i Endif Endif Endif Next tmpst = '' return tmpst endsub
; Óäàëÿåì óêàçàííóþ ôðàçó èç æóðíàëà ; Sub DeleteJournal( string1 ) VAR nom = UO.InJournal( string1 ) If nom > 0 Then UO.SetJournalLine( Nom - 1, ' ' ) DeleteJournal( string1 ) Endif endsub ; ; Ïðîâåðêà íà ëàãè ; Èäåÿ - Savage Sub CheckLag() DeleteJournal( 'backpack' ) UO.Click( 'backpack' ) repeat wait(100) until UO.InJournal( 'backpack' ) return end sub
SUB GoToXY(x,y,prec) ; Õîæäåíèå ïî ìèðîâûì êîîðäèíàòàì ñ òî÷íîñòüþ prec è ñêîðîñòüþ, çàâèñÿùåé îò wt ; (c) Yoko, AGRS UO.TextPrint('GoToXY '+STR(x)+', '+STR(y)) Var ld=0,ldc=0 Var dx,dy Var mx,my Var ox,oy,mk,k start: mx=UO.GetX() my=UO.GetY() dx=mx-x If dx<0 Then dx=0-dx EndIf dy=my-y If dy<0 Then dy=0-dy EndIf If dy>dx Then dx=dy EndIf If dx<=prec Then Return EndIf If dx<3 Then mk=70 Else mk=15 EndIf ox=mx oy=my For k=1 To mk mx=UO.GetX() my=UO.GetY() If mx<>ox Or my<>oy Then GoTo sdidapl EndIf Next sdidapl: mx=UO.GetX() my=UO.GetY() dx=mx-x If dx<0 Then dx=0-dx EndIf dy=my-y If dy<0 Then dy=0-dy EndIf If dy>dx Then dx=dy EndIf If dx<=prec Then Return EndIf If ld==dx Then ldc=ldc+1 If ldc>100 Then UO.Print("Can not reach location!") Return EndIf Else ld=dx EndIf If mx==x Then If my==y Then Return EndIf If my>y Then UO.Press(33) GoTo start EndIf UO.Press(35) GoTo start EndIf If mx<x Then If my>y Then UO.Press(39) GoTo start EndIf If my==y Then UO.Press(34) GoTo start EndIf UO.Press(40) GoTo start EndIf If my<y Then UO.Press(37) GoTo start EndIf If my==y Then UO.Press(36) GoTo start EndIf UO.Press(38) GoTo start endsub
вот скрипт я пытался добавить ищо один тип навоза но почемута не видет 2 тип
|