Grin wrote:
все что могу предложить это поиграся с 3 параметром в privategettile.
Скорей всего там реализован поиск только по statics0.mul
Другой вариант поставить АСМ он должен с этим справится на 100%.
поставил асм. запустил скрипт:
Code:
sub MiningAround()
; MiningAround() - âñêàïûâàåì âîêðóã ÷àðà
;
VAR t, k, CanMine, cx, cy, tmpx, tmpy, pointX, pointY, flag
VAR MaxTime = 600 ; èçìåðÿåòñÿ â 1/10 ñåê.
VAR ms1 = "There is no ore here to mine"
VAR ms2 = "Ýòî íå êîïàåòñÿ."
VAR ms3 = "in your pack."
VAR ms4 = "You fail to find any useable ore"
VAR ms5 = "Äàëåêî. Íå äîòÿíóòüñÿ."
VAR ms6 = "Try mining in rock"
; VAR ms7 = "You can't see that"
VAR ms7 = "Õì... Íå âèæó.. Ãäå êîïàòü òî?."
VAR ms8 = "is destroyed*" ; êèðêà ðàçâàëèëàñü ñîâñåì
VAR ms9 = "ore at your feet." ; ïðåäïîëîæèòåëüíî - ýëåìåíòàëü
UO.asmTLMapOpen('Resource_Map.dat') ; Çàãðóçèì òàáëèöó òèïîâ êàðòû
UO.asmTLStaticOpen('Resource_Static.dat') ; Çàãðóçèì òàáëèöó òèïîâ ñòàòèêè
VAR i, strpoint
VAR MaxVes = 600
cx = UO.GetX()
cy = UO.GetY()
for tmpx = -2 to 2
for tmpy = -2 to 2
k = 0
pointX = cx + tmpx
pointY = cy + tmpy
repeat
DeleteJournal( ms1 )
DeleteJournal( ms2 )
DeleteJournal( ms3 )
DeleteJournal( ms4 )
DeleteJournal( ms5 )
DeleteJournal( ms6 )
DeleteJournal( ms7 )
DeleteJournal( ms8 )
DeleteJournal( ms9 )
t = UO.Timer() + MaxTime
k = k + 1
flag = 1
wait(300)
If UO.Waiting() Then
UO.CancelTarget()
Endif
CanMine = UO.asmWaitTargetMapTile( 'rock', pointX, PointY, 0 )
wait(50)
If CanMine Then
UO.UseObject(UO.ObjAtLayer('Lhand'))
Else
If UO.Waiting() Then
UO.CancelTarget()
Endif
CanMine = UO.asmWaitTargetStaticTile( 'rock', PointX, PointY, 0 )
wait(50)
If CanMine Then
UO.UseObject(UO.ObjAtLayer('Lhand'))
Else
flag = 0
Endif
EndIf
If flag == 1 Then
repeat
wait(100)
until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR UO.InJournal(ms8) OR UO.InJournal(ms9) OR (t < UO.Timer())
Endif
If UO.InJournal( ms9 ) Then
; âûâàëèëñÿ ýëåìåíòàëü...
return
Endif
If UO.Weight > MaxVes Then
; Âåñ ïðåâûøåí!
return
Endif
If UO.InJournal( ms8 ) Then
; êèðêà íàêðûëàñü!
return
Endif
until NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10)
next
next
If UO.Waiting() Then
UO.CancelTarget()
Endif
endsub
;
Sub DeleteJournal( string1 )
VAR nom = UO.InJournal( string1 )
If nom > 0 Then
UO.SetJournalLine( Nom - 1, ' ' )
DeleteJournal( string1 )
Endif
endsub
;
Sub CheckLag()
DeleteJournal( 'backpack' )
UO.Click( 'backpack' )
repeat
wait(50)
until UO.InJournal( 'backpack' )
return
endsub
скрипт выдаёт ошибку:
Runtime error - Error 003[DataFilesError]
файлы
Resource_Map.dat и
Resource_Static.dat созданы,правильно, в нужном месте и без пробелов в тексте внутри файлов!
Выдаёт ошибку именно в этой строке:
CanMine = UO.asmWaitTargetStaticTile( 'rock', PointX, PointY, 0 )
помогите плиз разобраться в чем тут проблема. Заранее спасибо за помощ.