Гайд [Rakbot] Получаем Z координату земли по x,y

Статус
В этой теме нельзя размещать новые ответы.

drags

Известный
Автор темы
Проверенный
155
210
Скачиваем SAFull.hmap
закинуть его в папку scripts
(ну или сами путь пропишите

Lua:
local ffi = require("ffi")
local function filesize (fd)
   local current = fd:seek()
   local size = fd:seek("end")
   fd:seek("set", current)
   return size
end

local filename = "scripts\\SAfull.hmap"
local fd, err = io.open(filename, "rb")
if err then error(err) end
local size = filesize(fd)
local buffer = ffi.new("uint16_t[?]", size)
ffi.copy(buffer, fd:read(size), size)
fd:close()

function round2(num, numDecimalPlaces)
  return tonumber(string.format("%." .. (numDecimalPlaces or 0) .. "f", num))
end

function getZ(x,y)
x = round2(x) + 3000
y = (round2(y) - 3000) * -1
local IdataPos = (y * 6000) + x
return buffer[IdataPos]/100 + 1
end

Lua:
function onTeleport(positionX, positionY, positionZ)
printLog("Позиция земли по X and Y | Z = "..tostring(getZ(positionX, positionY)))
end

 

AnWu

Известный
Всефорумный модератор
4,777
5,400
подойдет не только ракботу, просто нужен файл hmap
 
  • Нравится
Реакции: imring

drags

Известный
Автор темы
Проверенный
155
210
насколько точно возвращает координаты?
Ну сложно сказать, ну по виду достаточно точно, но сам понимаешь, не учитывает мапинг и интерьеры
3I9fTgIFT6OsAXEj8AfRfw.png
 
Статус
В этой теме нельзя размещать новые ответы.