Отправить пакет при виде текста

rafo420

Активный
Автор темы
105
51
Версия MoonLoader
Другое
Всех приветствую, мне надо сделать что бы при виде текста "Открыть сундук" скрипт автоматически выполнял действие.

Когда я попытался это реализовать, я понял, что почти нихуя то и не умею, а также что у меня руки из жопы.
Поэтому, я решил попросить помощи у знатоков (у вас)

С помощью этого скрипта, я смог получить следующею информацию:
пакет который отображает надпись "Открыть сундук":

ЧInteractions[[151,"Открыть сундук"]] | 215, 2, 0, 4, 0, 0, 0, 2, 12, 0, 0, 0, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 24, 0, 0, 0, 91, 91, 49, 53, 49, 44, 34, 206, 242, 234, 240, 251, 242, 252, 32, 241, 243, 237, 228, 243, 234, 34, 93, 93

пакет который отправляет нажатие на Alt:

ЧOnPlayerClientSideKeyd | 215, 2, 0, 0, 0, 0, 0, 21, 0, 0, 0, 79, 110, 80, 108, 97, 121, 101, 114, 67, 108, 105, 101, 110, 116, 83, 105, 100, 101, 75, 101, 121, 2, 0, 0, 0, 100, 18, 0, 0, 0

Буду очень благодарен всем, кто попытается мне помочь!
Заранее спасибо!
 

Вложения

  • Безымянный.png
    Безымянный.png
    105.3 KB · Просмотры: 43
  • Вау
Реакции: pastow
Решение
Lua:
function readBytes(bs)
    local bytes = {};
    for i = 1, raknetBitStreamGetNumberOfBytesUsed(bs) do
        table.insert(bytes, raknetBitStreamReadInt8(bs));
    end
    return bytes;
end

function sendBytes(bytes)
    local bs = raknetNewBitStream();
    for _, byte in ipairs(bytes) do
        raknetBitStreamWriteInt8(bs, byte);
    end
    raknetSendBitStream(bs);
end

addEventHandler('onReceivePacket', function(id, bs)
    if (id == 215) then
        local bytesAsString = table.concat(readBytes(bs), ', ');
        if (bytesAsString == '215, 2, 0, 4, 0, 0, 0, 2, 12, 0, 0, 0, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 24, 0, 0, 0, 91, 91, 49, 53, 49, 44, 34, 206, 242, 234, 240, 251, 242, 252, 32, 241, 243, 237, 228...

chapo

чопа сребдс // @moujeek
Модератор
8,934
11,704
Lua:
function readBytes(bs)
    local bytes = {};
    for i = 1, raknetBitStreamGetNumberOfBytesUsed(bs) do
        table.insert(bytes, raknetBitStreamReadInt8(bs));
    end
    return bytes;
end

function sendBytes(bytes)
    local bs = raknetNewBitStream();
    for _, byte in ipairs(bytes) do
        raknetBitStreamWriteInt8(bs, byte);
    end
    raknetSendBitStream(bs);
end

addEventHandler('onReceivePacket', function(id, bs)
    if (id == 215) then
        local bytesAsString = table.concat(readBytes(bs), ', ');
        if (bytesAsString == '215, 2, 0, 4, 0, 0, 0, 2, 12, 0, 0, 0, 73, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 115, 24, 0, 0, 0, 91, 91, 49, 53, 49, 44, 34, 206, 242, 234, 240, 251, 242, 252, 32, 241, 243, 237, 228, 243, 234, 34, 93, 93') then
            sendBytes({215, 2, 0, 0, 0, 0, 0, 21, 0, 0, 0, 79, 110, 80, 108, 97, 121, 101, 114, 67, 108, 105, 101, 110, 116, 83, 105, 100, 101, 75, 101, 121, 2, 0, 0, 0, 100, 18, 0, 0, 0});
        end
    end
end);
 
  • Влюблен
Реакции: rafo420