но после (помоему не обнаруживает кирку, даже когда она вруке) и пишет autotarget cansellde; no item foundри этом появлятся курсор выбора - если им тыкать постоянно на кирку - то чар нормально капает... ну хелп вобщем

Moderators: Murderator+, Murderator
Code: Select all
sub Mining()
VAR JailPatch = 'MINE 2570 476 MINE 2575 477 MINE 2571 483 MINE 2567 487 MINE 2566 482 MINE 2562 488 MINE 2560 496 MINE 2566 487 END'
VAR str1, str2, i = 1, sum = 0
UO.Set( 'distance', '3' )
UO.Set( 'finddistance', '3' )
JailPatch = JailPatch + ' '
repeat
str1 = GetWord( JailPatch, i )
If str1 <> '' Then
If str1 == 'MINE' Then
; ÊÎÏÀÅÌ
Mine()
Else
If str1 == 'END' Then
i = 0
Else
; str1 - êîîðäèíàòà
i = i + 1
str2 = GetWord( JailPatch, i )
GoToXY( val(str1), val(str2), 0 )
Endif
Endif
Else
i = 0
Endif
i = i + 1
until UO.Weight>(UO.STR*4)
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
start1:
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 start1
EndIf
UO.Press(35)
GoTo start1
EndIf
If mx<x Then
If my>y Then
UO.Press(39)
GoTo start1
EndIf
If my==y Then
UO.Press(34)
GoTo start1
EndIf
UO.Press(40)
GoTo start1
EndIf
If my<y Then
UO.Press(37)
GoTo start1
EndIf
If my==y Then
UO.Press(36)
GoTo start1
EndIf
UO.Press(38)
GoTo start1
endsub
Sub Mine()
var mxm, mym, mzm, im, jm ,km, zm
var ismining, ixx, isheavy
var place=1, tool, cntr
wait(1000)
UO.UseObject('backpack')
wait(2000)
UO.FindType(0x0E85,-1,2)
wait(1000)
tool=UO.GetSerial('finditem')
mxm = UO.GetX()
mym = UO.GetY()
mzm = UO.GetZ()
UO.DeleteJournal()
GoHide() # Ïðîöåäóðà óõîäà â õàéä
# Õàéäèòñÿ äî ïîáåäíîãî.
for im = mxm-2 to mxm+2
for jm = mym -2 to mym+2
UO.WarMode(0)
UO.Print("Now Mining In: "+str(mxm-im)+" "+str(mym-jm))
ismining = 1
cntr=0
UO.DeleteJournal()
while not UO.InJournal("íå÷åãî") and not UO.InJournal("location") and not UO.InJournal("íåëüçÿ") and not UO.InJournal("in rock")and not UO.InJournal("reach")and not UO.InJournal("far") and ismining and cntr<20 and not UO.InJournal('àòàêóåò Âàñ')
UO.DeleteJournal()
UO.Waittargettile("1341", str(im), str(jm), str(mzm))
UO.UseObject(tool)
if UO.Weight>(UO.STR*4) then
goto endd
endif
ixx = 0
ismining=1
wait(100)
while not UO.InJournal("You put") and not UO.InJournal("location") and not UO.InJournal("íå÷åãî") and not UO.InJournal("but fail") and not UO.InJournal("íåëüçÿ") and not UO.InJournal("in rock")and not UO.InJournal("reach") and not UO.InJournal("àòàêóåò Âàñ") and ixx <= 100 #### and UO.Life>=UO.Str
wait (100)
ixx = ixx + 1
wend
if UO.InJournal("àòàêóåò Âàñ") then
UO.Msg('guards')
wait(500)
end if
while UO.Life<UO.Str
UO.Msg('guards')
wait(3000)
wend
wend
wait(1000)
next
next
wait(1000)
EndSub
Sub GoHide()
While not UO.Hidden()
UO.WarMode(0)
UO.UseSkill('Hiding')
Wait(4000)
Wend
endsub
Code: Select all
UO.FindType(0x0E85,-1,2)
wait(1000)
tool=UO.GetSerial('finditem')
Code: Select all
UO.FindType(0x0E85,-1,'my')
Code: Select all
uo.usetype(0x0E85)
Code: Select all
UO.Print("Now Mining In: "+str(mxm-im)+" "+str(mym-jm))
Grin wrote:Code: Select all
UO.Print("Now Mining In: "+str(mxm-im)+" "+str(mym-jm))
когда ты начинаешь копать то тебе пишут относительные координаты...
Меняются ли они? Эти координаты должны быть в пределах 2...
Дальше возможно сервер пол или рануо... тогда ситуация сложней...
нужно еще чуть чуть кода... или юзать АСМ или геттайл
Edred wrote:GrayLord wrote:асм? а что, у меня одного чаще сваливается парсер или клиент с асм?
я тут поигрался с асм, да и забил на него. написал себе скриптов с uo.privategettile() так оно реже падает.
Я на АСМе живу уже давно... И ничего не падает, если все нормально делать
GrayLord wrote:о, великие распальцовщики местного форума...
можно не продолжать, да?
вобщем, ро более частые падения с асмом, заметил не только я, так что, это не какая-то моя локальная данность. не нужно мне мозг разрушать.
Edred wrote:GrayLord wrote:о, великие распальцовщики местного форума...
можно не продолжать, да?
вобщем, ро более частые падения с асмом, заметил не только я, так что, это не какая-то моя локальная данность. не нужно мне мозг разрушать.
Да нет, никакой распальцовки... Просто я использовал АСМ с старой версией длл-ки инжекта, счас уже просто не помню номер, а УО и инжект снесены на ДВД чтобы не было соблазна (счас просто нет времени играть). А с последними версиями инжекта стабильности работы и впрямь не было. Но меня старая версия полностью устраивала, кстати, кажись я в свое время в топике про АСМ писал с какой версией он хорошо живет. Эта та версия, где Йоко еще не начал реализовывать новый алгоритм хождения
Edred wrote:GrayLord wrote:какого еще хождения? addstep?
Угу.