Arizona Получение информация над картой

976h

Активный
Автор темы
271
88
Как получать скриптом информацию города и района над картой?
13683.jpg
 
Решение
Я спрашиваю как его парсить
супер мега крутой способ получить инфу из цефа арз на луа


Lua:
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...

Willy4ka

вилличка
Модератор
749
1,111
Я спрашиваю как его парсить
супер мега крутой способ получить инфу из цефа арз на луа


Lua:
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
 
  • Нравится
Реакции: 976h

976h

Активный
Автор темы
271
88
супер мега крутой способ получить инфу из цефа арз на луа


Lua:
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
Не знал что оно через CEF, раньше по другому было вроде. Спасибо.