Кастомные клавиши Arizona RP

tiktokpay

Участник
Автор темы
81
88
Версия MoonLoader
.027.0-preview
Как лаунчер аризоны отправляет эти кастомные клавиши? Можно ли их как-то хукать/нопать?
Читал всю синхру и пакеты который отправляет самп, безрезультатно, отправку таких кастомных клавиш не нашёл



Снимок экрана (47).png
 
Решение
Скорее всего в каком-нибудь кастомном пакете, можешь попробовать посмотреть 220
Да, действительно через 220 аризоновский пакет, правда вот что бы его прочитать пришлость повозиться, а так, Спасибо за наводку!
Оставлю решение снизу если кому-то нужно будет

Чтение нажатой клавиши:
addEventHandler('onSendPacket', function(id, bs, ...)
    if id == 220 then
        local v = {}
        for i = 1, raknetBitStreamGetNumberOfBytesUsed(bs) do
            v[i] = raknetBitStreamReadInt8(bs)
            if v[4] == 64 then
                print(v[3]) -- идентификатор клавиши
            end
        end
    end
end)

Эмуляция нажатия через отправку пакета:
function SendKey(arg)
    local bs = raknetNewBitStream()
    local uint = {220, 0, arg, 64}
    for i = 1, #uint do...

whyega52

Гений, миллионер, плейбой, долбаеб
Модератор
2,783
2,609
Как лаунчер аризоны отправляет эти кастомные клавиши? Можно ли их как-то хукать/нопать?
Читал всю синхру и пакеты который отправляет самп, безрезультатно, отправку таких кастомных клавиш не нашёл



Посмотреть вложение 227524
Скорее всего в каком-нибудь кастомном пакете, можешь попробовать посмотреть 220
 
  • Нравится
Реакции: tiktokpay

tiktokpay

Участник
Автор темы
81
88
Скорее всего в каком-нибудь кастомном пакете, можешь попробовать посмотреть 220
Да, действительно через 220 аризоновский пакет, правда вот что бы его прочитать пришлость повозиться, а так, Спасибо за наводку!
Оставлю решение снизу если кому-то нужно будет

Чтение нажатой клавиши:
addEventHandler('onSendPacket', function(id, bs, ...)
    if id == 220 then
        local v = {}
        for i = 1, raknetBitStreamGetNumberOfBytesUsed(bs) do
            v[i] = raknetBitStreamReadInt8(bs)
            if v[4] == 64 then
                print(v[3]) -- идентификатор клавиши
            end
        end
    end
end)

Эмуляция нажатия через отправку пакета:
function SendKey(arg)
    local bs = raknetNewBitStream()
    local uint = {220, 0, arg, 64}
    for i = 1, #uint do
        raknetBitStreamWriteInt8(bs, uint[i])
    end
    raknetSendBitStream(bs)
    raknetDeleteBitStream(bs)
end
 
  • Нравится
Реакции: chromiusj и whyega52