kyrtion
Известный
- 1,109
- 402
уметь читать код, документация, уметь гуглить, переводить англ на русс и наоборот.Пацыки кто знает как цеф АризоныМобайл вывести?
грубо говоря, иметь умелые руки и продвинутый мозг ААХХПФВАХХААХХАХАХА
уметь читать код, документация, уметь гуглить, переводить англ на русс и наоборот.Пацыки кто знает как цеф АризоныМобайл вывести?
Это понятноуметь читать код, документация, уметь гуглить, переводить англ на русс и наоборот.
грубо говоря, иметь умелые руки и продвинутый мозг ААХХПФВАХХААХХАХАХА
struct cef_packet_recieved {
uint8_t packet_id; // default 220
uint8_t unknown_id; // default 17
uint32_t _unused;
uint16_t length;
uint8_t is_encoded; // 1 - encoded, 0 - default
char[] str; // char[length + is_encoded]
// если строка закодирована, то + 1 байт к длине, иначе не захватит последний символ
};
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)
local str = (encoded ~= 0) and raknetBitStreamDecodeString(bs, length + encoded) or raknetBitStreamReadString(bs, length)
print(str) -- строка из пакета
end
end
end)
struct cef_packet_sended {
uint8_t packet_id; // default 220, другие не разбирал
uint8_t packet_type;
uint16_t length;
char[] str; // строка из пакета: char[length]
uint32_t _unused;
}
function send_cef(str)
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 18)
raknetBitStreamWriteInt16(bs, #str)
raknetBitStreamWriteString(bs, str)
raknetBitStreamWriteInt32(bs, 0)
raknetSendBitStream(bs)
raknetDeleteBitStream(bs)
end
addEventHandler('onSendPacket', function (id, bs, priority, reliability, orderingChannel)
if id == 220 then
local id = raknetBitStreamReadInt8(bs)
local packettype = raknetBitStreamReadInt8(bs)
local strlen = raknetBitStreamReadInt16(bs)
local str = raknetBitStreamReadString(bs, strlen)
if packettype ~= 0 and packettype ~= 1 and #str > 2 then
print(str) -- исходящая строка
end
end
end)
а как на основе этого вернуть работоспособность скриптов? у меня все скрипты поголовно не работают с одной и той же ошибкой "in function 'raknetBitStreamReadString'"Сегодня на аризоне немного обновился цеф и часть скриптов перестала работать. Изменили они не очень много, вот новая структура входящего пакета:
C:struct cef_packet { uint8_t packet_id; // default 220 uint8_t unknown_id; // default 17 uint32_t _unused; uint16_t length; uint8_t is_encoded; // 1 - encoded, 0 - default char[] str; // char[length + encoded] // если строка закодирована, то + 1 байт к длине, иначе не захватит последний символ };
Код для чтения входящего пакета:
Lua: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) local str = (encoded ~= 0) and raknetBitStreamDecodeString(bs, length + encoded) or raknetBitStreamReadString(bs, length) print(str) -- строка из пакета end end end)
Исходящие пакеты не изменились (по крайней мере я не заметил проблем с ними). Ниже обновленная библиотека из темы:
Изменить в скрипте способ чтения пакета, выше есть готовый код для этого. Если не знаешь что с этим делать – обратись к разработчику скрипта или сюда https://www.blast.hk/forums/16/а как на основе этого вернуть работоспособность скриптов? у меня все скрипты поголовно не работают с одной и той же ошибкой "in function 'raknetBitStreamReadString'"
легендаСегодня на аризоне немного обновился цеф и часть скриптов перестала работать. Изменили они не очень много, вот новая структура входящего пакета:
C:struct cef_packet { uint8_t packet_id; // default 220 uint8_t unknown_id; // default 17 uint32_t _unused; uint16_t length; uint8_t is_encoded; // 1 - encoded, 0 - default char[] str; // char[length + encoded] // если строка закодирована, то + 1 байт к длине, иначе не захватит последний символ };
Код для чтения входящего пакета:
Lua: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) local str = (encoded ~= 0) and raknetBitStreamDecodeString(bs, length + encoded) or raknetBitStreamReadString(bs, length) print(str) -- строка из пакета end end end)
Исходящие пакеты не изменились (по крайней мере я не заметил проблем с ними). Ниже обновленная библиотека из темы:
function bitStreamStructure(bs)
local text, array = '', {}
for i = 1, raknetBitStreamGetNumberOfBytesUsed(bs) do
local byte = raknetBitStreamReadInt8(bs)
if byte >= 32 and byte <= 255 and byte ~= 37 then text = text .. string.char(byte) end
table.insert(array, byte)
end
raknetBitStreamResetReadPointer(bs)
return text, array
end
уменСегодня на аризоне немного обновился цеф и часть скриптов перестала работать. Изменили они не очень много, вот новая структура входящего пакета:
C:struct cef_packet { uint8_t packet_id; // default 220 uint8_t unknown_id; // default 17 uint32_t _unused; uint16_t length; uint8_t is_encoded; // 1 - encoded, 0 - default char[] str; // char[length + encoded] // если строка закодирована, то + 1 байт к длине, иначе не захватит последний символ };
Код для чтения входящего пакета:
Lua: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) local str = (encoded ~= 0) and raknetBitStreamDecodeString(bs, length + encoded) or raknetBitStreamReadString(bs, length) print(str) -- строка из пакета end end end)
Исходящие пакеты не изменились (по крайней мере я не заметил проблем с ними). Ниже обновленная библиотека из темы:
реально анюзед, по приколу добавилиuint32_t _unused;
на арз 0, на родине 1, это все.реально анюзед, по приколу добавили
здраствуйте буквально вчера изменили структуру CEF пакета и куда использовать данный Lua? (можете подсказать пожалуйста не 1 сборка не запускаеться)
local cefLib = require("cefLib")
local cefHandler = cefLib.new()
cefHandler:registerReceiveHandler("event.setActiveView", function(event, data)
print(event) -- event.setActiveView
print(data) -- Phone
end)
cefHandler:registerReceiveHandler("event.arizonahud.setRadialKey", function(event, data)
print(event) -- event.arizonahud.setRadialKey
print(data) -- R
end)
addEventHandler("onReceivePacket", function(id, bs)
return cefHandler:onReceivePacket(id, bs)
end)
local cefLib = require("cefLib")
local cefHandler = cefLib.new()
cefHandler:registerSendHandler(function(event, data)
print(event) -- onActiveViewChanged
print(data) -- Phone
end)
addEventHandler("onSendPacket", function(id, bs)
return cefHandler:onSendPacket(id, bs)
end)
cefHandler:Emulate({220, 0, 80, 64}) -- Открываем телефон
cefHandler:SendCEF('launchedApp|24') -- Открываем приложение в телефоне
cefHandler:Emulate({220, 0, 27, 64}) -- Закрываем телефон