local encoding = require("encoding")
encoding.default = "CP1251"
local u8 = encoding.UTF8
function getPosition()
local function clearCEFlog()
local file = io.open(getGameDirectory()..'\\cef\\!CEFLOG.txt', 'w')
if file then
file:write("")
file:close()
end
end
lua_thread.create(function ()
clearCEFlog()
evalanon([[
const el = document.querySelector(".hud-geo-position")
const city = el.querySelector(".hud-geo-position__caption").textContent
const position = el.querySelector(".hud-geo-position__title").textContent
console.log(`${city}|${position}`);
]])
wait(200)
for line in io.lines(getGameDirectory()..'\\cef\\!CEFLOG.txt') do
line = u8:decode(line)
if line:find('%[.+%] "(.-)|(.+)", source: .+') then
local city, position = line:match('%[.+%] "(.-)|(.+)", source: .+')
print(city, position) --use
end
end
clearCEFlog()
end)
end
function evalanon(code)
evalcef(("(() => {%s})()"):format(code))
end
function evalcef(code, encoded)
encoded = encoded or 0
local bs = raknetNewBitStream();
raknetBitStreamWriteInt8(bs, 17);
raknetBitStreamWriteInt32(bs, 0);
raknetBitStreamWriteInt16(bs, #code);
raknetBitStreamWriteInt8(bs, encoded);
raknetBitStreamWriteString(bs, code);
raknetEmulPacketReceiveBitStream(220, bs);
raknetDeleteBitStream(bs);
end