Приношу свои извинения по поводу поста о неработающих функциях в АСМ'е!!!
Все решилось после написания следующего кода (см.ниже)
1. Необходимо удалить лишние пробелы в файлах с ресурсами - и все встает на свои места.
2.
MapGetTile смотрит на тайл находящийся на высоте
MapGetZ, т.е. если вы в пещере - то он смотрит на верх горы (грубо говоря)
3. А
amsWaitTargetMapTile, как я понял смотрит не на высоту
MapGetZ, а на текущую, из-за этого хоть и
TLMapGetLogic возвращает '
rock', но прицел не устанавливается.
ВСЕМ ОГРОМНОЕ СПАСИБО
Code:
sub testMAP()
var X,Y,dx,dy,mgz,mgt,CanMine,nmap
UO.asmTLMapOpen('Resource_Map.dat')
UO.asmTLStaticOpen('Resource_Static.dat')
While not uo.Dead()
X=UO.GetX()
Y=uo.GetY()
dx=uo.GetX()
dy=uo.GetY()
mgz=uo.asmMapGetZ( X, Y, 0)
mgt=uo.asmMapGetTile( X, Y, 0)
UO.Print('--------------------------------')
UO.Print('asmMapGetZ = '+str(mgz))
UO.Print('asmMapGetTile = '+str(mgt))
UO.Print('asmTLMapGetLogic = -'+uo.asmTLMapGetLogic(mgt)+'-')
For nmap=0 to 3
CanMine=UO.asmWaitTargetMapTile('rock',UO.GetX(),UO.GetY(),nmap)
if CanMine Then
uo.Print('!asmWaitTargetMapTile'+str(nmap)+' - Ok')
uo.canceltarget()
else
;uo.Print('asmWaitTargetMapTile'+str(nmap)+' - Error')
endif
CanMine=UO.asmWaitTargetMapTile('rock ',UO.GetX(),UO.GetY(),nmap)
if CanMine Then
uo.Print('!asmWaitTargetMapTile with space'+str(nmap)+' - Ok')
uo.canceltarget()
else
;uo.Print('asmWaitTargetMapTile with space'+str(nmap)+' - Error')
endif
CanMine=UO.asmWaitTargetStaticTile('rock',UO.GetX(),UO.GetY(),nmap)
if CanMine Then
uo.Print('!!asmWaitTargetStaticTile'+str(nmap)+' - Ok')
uo.canceltarget()
else
;uo.Print('asmWaitTargetStaticTile'+str(nmap)+' - Error')
endif
CanMine=UO.asmWaitTargetStaticTile('rock ',UO.GetX(),UO.GetY(),nmap)
if CanMine Then
uo.Print('!!asmWaitTargetStaticTile with space'+str(nmap)+' - Ok')
uo.canceltarget()
else
;uo.Print('asmWaitTargetStaticTile with space'+str(nmap)+' - Error')
endif
Next
UO.Print('--------------------------------')
while dx==X and dy==Y
wait(100)
dx=uo.GetX()
dy=uo.GetY()
WEnd
WEnd
end sub