Как парсить с cef

976h

Активный
Автор темы
213
57
Как парсить информацию из CEF - /showpass /showlic /showmc?

Если кто-то даст готовый код, буду благодарен
 
Решение
Lua:
local json = require('cjson')

function main()
    repeat wait(0) until isSampAvailable()
    
    addEventHandler('onReceivePacket', function(id, bs)
        if id == 220 then
            raknetBitStreamIgnoreBits(bs, 8)
            if raknetBitStreamReadInt8(bs) == 17 then
                raknetBitStreamIgnoreBits(bs, 32)
                local length = raknetBitStreamReadInt16(bs)
                local encoded = raknetBitStreamReadInt8(bs)
                if length > 0 then
                    local text = (encoded ~= 0) and raknetBitStreamDecodeString(bs, length + encoded) or raknetBitStreamReadString(bs, length)
                    local event, body = text:match('window%.executeEvent%(\'(.+)\',%s*`%[(.+)%]`%);')...

Gishit

Известный
478
139
 

mooh

Известный
179
54
Lua:
local json = require('cjson')

function main()
    repeat wait(0) until isSampAvailable()
    
    addEventHandler('onReceivePacket', function(id, bs)
        if id == 220 then
            raknetBitStreamIgnoreBits(bs, 8)
            if raknetBitStreamReadInt8(bs) == 17 then
                raknetBitStreamIgnoreBits(bs, 32)
                local length = raknetBitStreamReadInt16(bs)
                local encoded = raknetBitStreamReadInt8(bs)
                if length > 0 then
                    local text = (encoded ~= 0) and raknetBitStreamDecodeString(bs, length + encoded) or raknetBitStreamReadString(bs, length)
                    local event, body = text:match('window%.executeEvent%(\'(.+)\',%s*`%[(.+)%]`%);')
                    if event == 'event.documents.inititalizeData' then
                        local data = json.decode(body)
                        
                        local document_type = data['type']
                        
                        if document_type == 1 then -- passport
                            -- {"type":1,"name":"Nick_Name","sex":"Мужской","birthday":"01.01.1970","citizen":"Имеется (с рождения)","married":"Не женат(а)","level":"56 лет","zakono":"100/100","job":"Начальный фермер","agenda":"Нет","charity":"5000000","seria":"0000","number":"000000","signature":"NName","skin_image_url":"https://pc.az-ins.com/resource/frontend/inventory/skins/512/569.png"}
                            local nick = data['name']
                            local sex = data['sex']
                            local birthday = data['birthday']
                            local level = data['level']
                        elseif document_type == 2 then -- licenses
                            -- {"type":2,"info": [{"license":"car","date_text":"Действует до: 12:52 09.06.2025","available":1},{"license":"bike","date_text":"Действует до: 17:48 23.05.2025","available":1},{"license":"fly","date_text":"Действует до: 10:51 25.03.2025","available":1},{"license":"boat","date_text":"Отсутствует","available":0},{"license":"fish","date_text":"Отсутствует","available":0},{"license":"gun","date_text":"Действует до: 17:37 12.06.2025","available":1},{"license":"hunter","date_text":"Действует до: 19:35 18.05.2025"
                            local licenses = data['info']
                            for k, v in pairs(licenses) do
                                local license = v['license']
                                local date_text = v['date_text']
                                local available = v['available']
                            end
                        elseif document_type == 4 then -- medcard
                            -- {"type":4,"name":"Nick_Name","skin_image_url":"https://pc.az-ins.com/resource/frontend/inventory/skins/512/106.png","state":"Полностью здоровый(ая)","med_card_time":"3 дня(ей)","zavisimost":"0.0","health_insurance":"Отсутствует","med_osmotr_progress":0}
                            local nick = data['name']
                            local zavisimost = data['zavisimost']
                        end
                    end
                end
            end
        end
    end)
end
 
  • Нравится
Реакции: 976h и kultizdat.