Page 1 of 1
тайлы
Posted: 2007-09-05 15:52:11
by fobos59
Code: Select all
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
Почему этот скрипт работает только в Трамеле и Фелюке? в Маласе и Ильшенаре запускается на пару сек и сам вырубаится.
Posted: 2007-09-05 16:07:27
by Grin
все что могу предложить это поиграся с 3 параметром в privategettile.
Скорей всего там реализован поиск только по statics0.mul
Другой вариант поставить АСМ он должен с этим справится на 100%.
Posted: 2007-09-07 13:55:00
by fobos59
Grin wrote:все что могу предложить это поиграся с 3 параметром в privategettile.
Скорей всего там реализован поиск только по statics0.mul
Другой вариант поставить АСМ он должен с этим справится на 100%.
поставил асм. запустил скрипт:
Code: Select all
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 )
помогите плиз разобраться в чем тут проблема. Заранее спасибо за помощ.
Posted: 2007-09-07 15:08:13
by Grin
кинь содержимое этих файлов
Error 003 [DataFilesError]
Ошибка при работе с файлами Ultima Online.
Posted: 2007-09-07 15:31:52
by fobos59
Grin wrote:кинь содержимое этих файлов
Error 003 [DataFilesError]
Ошибка при работе с файлами Ultima Online.
Resource_Map.dat
Code: Select all
0x00dc=rock
0x00dd=rock
0x00de=rock
0x00df=rock
0x00e0=rock
0x00e1=rock
0x00e2=rock
0x00e3=rock
0x00e4=rock
0x00e5=rock
0x00e6=rock
0x00e7=rock
0x00e8=rock
0x00e9=rock
0x00ea=rock
0x00eb=rock
0x00ec=rock
0x00ed=rock
0x00ee=rock
0x00ef=rock
0x00f0=rock
0x00f1=rock
0x00f2=rock
0x00f3=rock
0x00f4=rock
0x00f5=rock
0x00f6=rock
0x00f7=rock
0x00f8=rock
0x00f9=rock
0x00fa=rock
0x00fb=rock
0x00fc=rock
0x00fd=rock
0x00fe=rock
0x00ff=rock
0x0100=rock
0x0101=rock
0x0102=rock
0x0103=rock
0x0104=rock
0x0105=rock
0x0106=rock
0x0107=rock
0x0108=rock
0x0109=rock
0x010a=rock
0x010b=rock
0x010c=rock
0x010d=rock
0x010e=rock
0x010f=rock
0x0110=rock
0x0111=rock
0x0112=rock
0x0113=rock
0x0114=rock
0x0115=rock
0x0116=rock
0x0117=rock
0x0118=rock
0x0119=rock
0x011a=rock
0x011b=rock
0x011c=rock
0x011d=rock
0x011e=rock
0x011f=rock
0x0120=rock
0x0121=rock
0x0122=rock
0x0123=rock
0x0124=rock
0x0125=rock
0x0126=rock
0x0127=rock
0x0128=rock
0x0129=rock
0x012a=rock
0x012b=rock
0x012c=rock
0x012d=rock
0x012e=rock
0x012f=rock
0x0130=rock
0x0131=rock
0x0132=rock
0x0133=rock
0x0134=rock
0x0135=rock
0x0136=rock
0x0137=rock
0x0138=rock
0x0139=rock
0x013a=rock
0x013b=rock
0x013c=rock
0x013d=rock
0x013e=rock
0x013f=rock
0x0140=rock
0x0141=rock
0x0142=rock
0x0143=rock
0x0144=rock
0x0145=rock
0x0146=rock
0x0147=rock
0x0148=rock
0x0149=rock
0x014a=rock
0x014b=rock
0x014c=rock
0x014d=rock
0x014e=rock
0x014f=rock
0x01d3=rock
0x01d4=rock
0x01d5=rock
0x01d6=rock
0x01d7=rock
0x01d8=rock
0x01d9=rock
0x01da=rock
0x01dc=rock
0x01dd=rock
0x01de=rock
0x01df=rock
0x01e0=rock
0x01e1=rock
0x01e2=rock
0x01e3=rock
0x01e4=rock
0x01e5=rock
0x01e6=rock
0x01e7=rock
0x01e8=rock
0x01e9=rock
0x01ea=rock
0x01eb=rock
0x01ec=rock
0x01ed=rock
0x01ee=rock
0x01ef=rock
0x021f=rock
0x0220=rock
0x0221=rock
0x0222=rock
0x0223=rock
0x0224=rock
0x0225=rock
0x0226=rock
0x0227=rock
0x0228=rock
0x0229=rock
0x022a=rock
0x022b=rock
0x022c=rock
0x022d=rock
0x022e=rock
0x022f=rock
0x0230=rock
0x0231=rock
0x0232=rock
0x0233=rock
0x0234=rock
0x0235=rock
0x0236=rock
0x0237=rock
0x0238=rock
0x0239=rock
0x023a=rock
0x023b=rock
0x023c=rock
0x023d=rock
0x023e=rock
0x023f=rock
0x0240=rock
0x0241=rock
0x0242=rock
0x0243=rock
0x0245=rock
0x0246=rock
0x0247=rock
0x0248=rock
0x0249=rock
0x024a=rock
0x024b=rock
0x024c=rock
0x024d=rock
0x024e=rock
0x024f=rock
0x0250=rock
0x0251=rock
0x0252=rock
0x0253=rock
0x0254=rock
0x0255=rock
0x0256=rock
0x0257=rock
0x0258=rock
0x0259=rock
0x025a=rock
0x025b=rock
0x025c=rock
0x025d=rock
0x025e=rock
0x025f=rock
0x0260=rock
0x0261=rock
0x0262=rock
0x0263=rock
0x0264=rock
0x0265=rock
0x0266=rock
0x0267=rock
0x0268=rock
0x0269=rock
0x026a=rock
0x026b=rock
0x026c=rock
0x026d=rock
0x02bc=rock
0x02bd=rock
0x02be=rock
0x02bf=rock
0x02c0=rock
0x02c1=rock
0x02c2=rock
0x02c3=rock
0x02c4=rock
0x02c5=rock
0x02c6=rock
0x02c7=rock
0x02c8=rock
0x02c9=rock
0x02ca=rock
0x02cb=rock
0x063b=rock
0x063c=rock
0x063d=rock
0x063e=rock
0x06cd=rock
0x06ce=rock
0x06cf=rock
0x06d0=rock
0x06d1=rock
0x06d2=rock
0x06d3=rock
0x06d4=rock
0x06d5=rock
0x06d6=rock
0x06d7=rock
0x06d8=rock
0x06d9=rock
0x06da=rock
0x06db=rock
0x06dc=rock
0x06dd=rock
0x06de=rock
0x06df=rock
0x06e0=rock
0x06e1=rock
0x06e2=rock
0x06e3=rock
0x06e4=rock
0x06e5=rock
0x06e6=rock
0x06e7=rock
0x06e8=rock
0x06e9=rock
0x06ea=rock
0x06eb=rock
0x06ec=rock
0x06ed=rock
0x06ee=rock
0x06ef=rock
0x06f0=rock
0x06f1=rock
0x06f2=rock
0x06f3=rock
0x06f4=rock
0x06f5=rock
0x06f6=rock
0x06f7=rock
0x06f8=rock
0x06f9=rock
0x06fa=rock
0x06fb=rock
0x06fc=rock
0x06fd=rock
0x06fe=rock
0x06ff=rock
0x0700=rock
0x0701=rock
0x0702=rock
0x0703=rock
0x0704=rock
0x0705=rock
0x0706=rock
0x0707=rock
0x0708=rock
0x0709=rock
0x070a=rock
0x070b=rock
0x070c=rock
0x070d=rock
0x070e=rock
0x070f=rock
0x0710=rock
0x0711=rock
0x0712=rock
0x0713=rock
0x0714=rock
0x0715=rock
0x0716=rock
0x0717=rock
0x0718=rock
0x0719=rock
0x071a=rock
0x071b=rock
0x071c=rock
0x071d=rock
0x071e=rock
0x071f=rock
0x0720=rock
0x0721=rock
0x0722=rock
0x0723=rock
0x0724=rock
0x0725=rock
0x0726=rock
0x0727=rock
0x0728=rock
0x0729=rock
0x072a=rock
0x072b=rock
0x072c=rock
0x072d=rock
0x072e=rock
0x072f=rock
0x0730=rock
0x0731=rock
0x0732=rock
0x0733=rock
0x0734=rock
0x0735=rock
0x0736=rock
0x0737=rock
0x0738=rock
0x0739=rock
0x073a=rock
0x073b=rock
0x073c=rock
0x073d=rock
0x073e=rock
0x073f=rock
0x0740=rock
0x0741=rock
0x0742=rock
0x0743=rock
0x0744=rock
0x0745=rock
0x0746=rock
0x0747=rock
0x0748=rock
0x0749=rock
0x074a=rock
0x074b=rock
0x074c=rock
0x074d=rock
0x074e=rock
0x074f=rock
0x0750=rock
0x0751=rock
0x0752=rock
0x0753=rock
0x0754=rock
0x0755=rock
0x0756=rock
0x0757=rock
0x0758=rock
0x0759=rock
0x075a=rock
0x075b=rock
0x075c=rock
0x07bd=rock
0x07be=rock
0x07bf=rock
0x07c0=rock
0x07c1=rock
0x07c2=rock
0x07c3=rock
0x07c4=rock
0x07c5=rock
0x07c6=rock
0x07c7=rock
0x07c8=rock
0x07c9=rock
0x07ca=rock
0x07cb=rock
0x07cc=rock
0x07cd=rock
0x07ce=rock
0x07cf=rock
0x07d0=rock
0x07d1=rock
0x07d2=rock
0x07d3=rock
0x07d4=rock
Resource_Static.dat
Code: Select all
0x0540=rock
0x0541=rock
0x0542=rock
0x0543=rock
0x0544=rock
0x0545=rock
0x0546=rock
0x0547=rock
0x0548=rock
0x0549=rock
0x054a=rock
0x054b=rock
0x054c=rock
0x054d=rock
0x054e=rock
0x054f=rock
0x0551=rock
0x0552=rock
0x0553=rock
0x056a=rock
0x08e0=rock
0x08e1=rock
0x08e2=rock
0x08e3=rock
0x08e4=rock
0x08e5=rock
0x08e6=rock
0x08e7=rock
0x08e8=rock
0x08e9=rock
0x08ea=rock
0x3421=rock
0x3422=rock
0x3423=rock
0x3424=rock
0x3425=rock
0x3426=rock
0x3427=rock
0x3428=rock
0x3429=rock
0x342c=rock
0x342d=rock
0x342e=rock
0x342f=rock
0x3430=rock
0x3431=rock
0x3432=rock
0x3433=rock
0x3434=rock
0x3435=rock
0x3486=rock
0x3487=rock
0x3488=rock
0x3489=rock
0x348a=rock
0x348b=rock
0x348c=rock
0x348d=rock
0x348e=rock
0x348f=rock
0x34ac=rock
0x34ad=rock
0x34ae=rock
0x34af=rock
0x34b0=rock
0x34b1=rock
0x34b2=rock
0x34b3=rock
0x34b4=rock
0x053b=rock
0x053c=rock
0x053d=rock
0x053e=rock
0x053f=rock
0x0c95=tree
0x0c96=tree
0x0cca=tree
0x0ccb=tree
0x0ccc=tree
0x0ccd=tree
0x0cd0=tree
0x0cd3=tree
0x0cd6=tree
0x0cd8=tree
0x0cd9=tree
0x0cda=tree
0x0cdb=tree
0x0cdc=tree
0x0cdd=tree
0x0cde=tree
0x0cdf=tree
0x0ce0=tree
0x0ce3=tree
0x0ce6=tree
0x0cf8=tree
0x0cfb=tree
0x0cfe=tree
0x0d01=tree
0x0d41=tree
0x0d42=tree
0x0d43=tree
0x0d44=tree
0x0d57=tree
0x0d58=tree
0x0d59=tree
0x0d5a=tree
0x0d5b=tree
0x0d6e=tree
0x0d6f=tree
0x0d70=tree
0x0d71=tree
0x0d72=tree
0x0d84=tree
0x0d85=tree
0x0d86=tree
Posted: 2007-09-07 23:52:03
by Edred
Почитай тему про АСМ. Там подобная проблема обсуждалась. Если мне память не изменяет, у тебя в строках есть пробелы в конце, их надо убрать.
Posted: 2007-09-09 18:50:46
by fobos59
Edred wrote:Почитай тему про АСМ. Там подобная проблема обсуждалась. Если мне память не изменяет, у тебя в строках есть пробелы в конце, их надо убрать.
пробелы везде убраны и всё сделано как описано в тыоём топе где больше 10 страниц.. работать не хочет вообще не как..(