непонятно зачем конечно но будет чтото навроде этого:
Code:
sub main()
VAR X, Y, i, MaxRange = 6, MaxVes = 620
uo.textclear()
For Y = -MaxRange to MaxRange
for X = -MaxRange to MaxRange
if TestTiles(UO.GetX()+X, UO.GetY()+Y) then
uo.textopen()
UO.textPrint(TestTiles(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())
Endif
next
Next
end sub
Sub TestTiles(X,Y)
var j
if UO.PrivateGetTile(X, Y, -1, 6038, 6066) then ; тайлы воды
for j=6038 to 6066
if UO.PrivateGetTile(X, Y, -1, j, j) then
return j
end if
next
end if
return 0
end sub
Или вот так, универсальная но сцуко медленная:
Code:
sub main()
VAR X, Y, i, MaxRange = 6, MaxVes = 620
uo.textclear()
For Y = -MaxRange to MaxRange
for X = -MaxRange to MaxRange
if TestTiles(UO.GetX()+X, UO.GetY()+Y) then
uo.textopen()
UO.textPrint(TestTiles(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())
Endif
next
Next
end sub
Sub TestTiles(X,Y)
var j
if UO.PrivateGetTile(X, Y, -1, 1000, 10000) then ; тайлы воды
for j=1000 to 10000
if UO.PrivateGetTile(X, Y, UO.GetZ(), j, j) then
return j
end if
next
end if
return 0
end sub
Таким образом кстати можно собирать тайлы пола в пещерах и деревья. Нужно только задать верные границы тайлов.