sub F_Mining_ORE() ; **************************************** var MaxRange = 2 ; <-- ; **************************************** var X, Y, mX, mY, mZ, TrW, TrWeight, TrT, TrTime, Tiles ;выбрать тайл для копки mX = UO.GetX('self') mY = UO.GetY('self') mZ = UO.GetZ('self') for Y = MaxRange - ( MaxRange * 2 ) to MaxRange for X = MaxRange - ( MaxRange * 2 ) to MaxRange ;проверим тайл на возможность копки Tiles = F_HarvestTiles(mX+X, mY+Y) ;если ноль, то руды там нет... пропускаем if Tiles then repeat UO.DeleteJournal()
UO.WaitTargetTile(Tiles, mX+X, mY+Y, mZ) UO.UseType(0x0E86) ; <-- Pickaxe repeat wait(200) ; Cliloc until UO.InJournal("0xAD00|0xAD02|0xAD01|0xA2DE|0xAD03|0x6B31|0xEE46|0xA866|0xA867") until UO.InJournal("0xAD00|0xAD02|0xAD01|0xA2DE|0xA866|0xA867") endif
next next return 1 end sub
; функция проверки, копать можно только от 1339 до 1370 sub F_HarvestTiles(X,Y) if UO.PrivateGetTile(X, Y, -1, 1339, 1370) then for var i=1339 to 1370 if UO.PrivateGetTile(X, Y, -1, i, i) then return i end if next end if return 0 end sub
Почему этот скрипт работает только в Трамеле и Фелюке? в Маласе и Ильшенаре запускается на пару сек и сам вырубаится.
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 )
помогите плиз разобраться в чем тут проблема. Заранее спасибо за помощ.
Edred wrote:Почитай тему про АСМ. Там подобная проблема обсуждалась. Если мне память не изменяет, у тебя в строках есть пробелы в конце, их надо убрать.
пробелы везде убраны и всё сделано как описано в тыоём топе где больше 10 страниц.. работать не хочет вообще не как..(