Исходник Гайд [RodinaRP] [CEF] Dialogs & Auto log/reg & guide. (RakSamp Lite/ARZ Launcher)

ScripTER 2.0

Участник
106
4
никому ниче размусоливать не буду, не поняли - вам в раздел "работа и услуги".

Суть скрипта и его команды(arz launcher):​

/cef - активация/дезактивация скрипта.
/cefadd - добавление действия в список.
/cefclear - удаление всех действий из списка.
/cefstart - запуск всех действий из списка.

Гайд по тому, как узнавать какие действия нужны.
Запускаем скрипт, активируем.
Выполням любое действие связанное с цефом.
Справа от карты появится строка, которую можно эмулировать, добавив ее в список через /cefadd.
/cefreg - зарегистрироваться (можно прямо с окна авторизации) с ранее записанными данными в таблице (через код).
/ceflogin - авторизация с раннее записанными данными в таблице (через код).
Переходим к коду.
Строку действия вы можете получить по гайду выше.
Lua:
function sendCef(str)
    local bs = raknetNewBitStream()
    raknetBitStreamWriteInt8(bs, 220)
    raknetBitStreamWriteInt8(bs, 18)
    raknetBitStreamWriteInt8(bs, string.len(str))
    raknetBitStreamWriteInt8(bs, 0)
    raknetBitStreamWriteInt8(bs, 0)
    raknetBitStreamWriteInt8(bs, 0)
    raknetBitStreamWriteString(bs, str)
    raknetBitStreamWriteInt8(bs, 0)
    raknetBitStreamWriteInt8(bs, 0)
    raknetBitStreamWriteInt8(bs, 0)
    raknetSendBitStreamEx(bs, 2, 9, 6)
end
Обработчик диалогов есть в коде (айди, тип, заголовок, текст, текст первой кнопки, текст второй кнопки, мод(хз что это) передаётся на 39 строке при появлении диалога.
Отправка ответа диалогу.
Lua:
function sendDialogResponse(id, button, list, input)
    local str = string.format("@0, sendResponse, %s, %s, %s, %s", id, list, button, input)
    local bs = raknetNewBitStream()
    raknetBitStreamWriteInt8(bs, 220)
    raknetBitStreamWriteInt8(bs, 18)
    raknetBitStreamWriteInt8(bs, string.len(str))
    raknetBitStreamWriteInt8(bs, 0)
    raknetBitStreamWriteInt8(bs, 0)
    raknetBitStreamWriteInt8(bs, 0)
    raknetBitStreamWriteString(bs, str)
    raknetBitStreamWriteInt8(bs, 0)
    raknetBitStreamWriteInt8(bs, 0)
    raknetBitStreamWriteInt8(bs, 0)
    raknetSendBitStreamEx(bs, 2, 9, 6)
end
Регистрация:
function sendReg(nick, password, ref)
    lua_thread.create(function()
        local str1 = string.format("registration|%s|%s|null|friends|%s", nick, password, ref)
        local bs = raknetNewBitStream()
        raknetBitStreamWriteInt8(bs, 220)
        raknetBitStreamWriteInt8(bs, 18)
        raknetBitStreamWriteInt32(bs, string.len(str1))
        raknetBitStreamWriteString(bs, str1)
        raknetBitStreamWriteInt32(bs, 1)
        raknetSendBitStreamEx(bs, 2, 9, 6)

        wait(500)

        local str2 = "createCharacter|man|0"
        local bs = raknetNewBitStream()
        raknetBitStreamWriteInt8(bs, 220)
        raknetBitStreamWriteInt8(bs, 18)
        raknetBitStreamWriteInt32(bs, string.len(str2))
        raknetBitStreamWriteString(bs, str2)
        raknetBitStreamWriteInt32(bs, 1)
        raknetSendBitStreamEx(bs, 2, 9, 6)
    end)
end

Авторизация:
function sendAuth(nick, password)
    local str = string.format("authorization|%s|%s|0", nick, password)
    local bs = raknetNewBitStream()
    raknetBitStreamWriteInt8(bs, 220)
    raknetBitStreamWriteInt8(bs, 18)
    raknetBitStreamWriteInt32(bs, string.len(str))
    raknetBitStreamWriteString(bs, str)
    raknetBitStreamWriteInt32(bs, 1)
    raknetSendBitStreamEx(bs, 2, 9, 6)
end


Перейдем к скрипту на RakSampLite:​

Обработчик диалогов есть в коде (айди, тип, заголовок, текст, текст первой кнопки, текст второй кнопки, мод(хз что это) передаётся на 32 строке при появлении диалога.
Отправка ответа диалогу.
Lua:
function sendDialogResponse(id, button, list, input)
    local string = string.format("@0, sendResponse, %s, %s, %s, %s", id, list, button, input)
    local bs = bitStream.new()
    bs:writeInt8(220)
    bs:writeInt8(18)
    bs:writeInt8(string.len(string))
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeString(string)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:sendPacketEx(2, 9, 6)
    bs:reset()
end
Lua:
function Validation()
    local bs = bitStream.new()
    bs:writeInt8(220)
    bs:writeInt8(20)
    bs:writeInt8(128)
    bs:writeInt8(7)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeInt8(56)
    bs:writeInt8(4)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:sendPacketEx(2, 9, 6)
    bs:reset()

    local bs = bitStream.new()
    bs:writeInt8(220)
    bs:writeInt8(38)
    bs:writeInt8(101)
    bs:writeInt8(7)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeInt8(56)
    bs:writeInt8(4)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:sendPacketEx(2, 9, 6)
    bs:reset()

    local bs = bitStream.new()
    bs:writeInt8(220)
    bs:writeInt8(50)
    bs:writeInt8(1)
    bs:writeInt16(1)
    bs:sendPacketEx(2, 9, 6)
    bs:reset()

    local bs = bitStream.new() -- TEST
    bs:writeInt8(220)
    bs:writeInt8(10)
    bs:writeInt8(0)
    bs:writeInt16(1)
    bs:sendPacketEx(2, 9, 6)
    bs:reset()

    local bs = bitStream.new() -- TEST
    bs:writeInt8(220)
    bs:writeInt8(10)
    bs:writeInt8(1)
    bs:writeInt16(1)
    bs:sendPacketEx(2, 9, 6)
    bs:reset()

    local string = "svelteReady"
    local bs = bitStream.new()
    bs:writeInt8(220)
    bs:writeInt8(18)
    bs:writeInt8(string.len(string))
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeString(string)
    bs:writeInt32(1)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:sendPacketEx(2, 9, 6)
    bs:reset()

    local string = "@0, vueReady"
    local bs = bitStream.new()
    bs:writeInt8(220)
    bs:writeInt8(18)
    bs:writeInt8(string.len(string))
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeString(string)
    bs:sendPacketEx(2, 9, 6)
    bs:reset()

    local string = "onActiveViewChanged|"
    local bs = bitStream.new()
    bs:writeInt8(220)
    bs:writeInt8(18)
    bs:writeInt8(string.len(string))
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeString(string)
    bs:writeInt8(1)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:sendPacketEx(2, 9, 6)
    bs:reset()

    local string = "onActiveViewChanged|Auth"
    local bs = bitStream.new()
    bs:writeInt8(220)
    bs:writeInt8(18)
    bs:writeInt8(string.len(string))
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:writeString(string)
    bs:writeInt8(1)
    bs:writeInt8(0)
    bs:writeInt8(0)
    bs:sendPacketEx(2, 9, 6)
    bs:reset()
end
Авторизация:
function sendAuthorization(nick, pass)
    local string = string.format("authorization|%s|%s|0", nick, pass)
    local bs = bitStream.new()
    bs:writeInt8(220)
    bs:writeInt8(18)
    bs:writeInt32(string.len(string))
    bs:writeString(string)
    bs:writeInt32(1)
    bs:sendPacketEx(2, 9, 6)
    bs:reset()
end

Регистрация:
function sendRegister(nick, pass, ref)
    newTask(function()
        local string1 = string.format("registration|%s|%s|null|friends|%s", nick, pass, ref)
        local bs = bitStream.new()
        bs:writeInt8(220)
        bs:writeInt8(18)
        bs:writeInt32(string.len(string1))
        bs:writeString(string1)
        bs:writeInt32(1)
        bs:sendPacketEx(2, 9, 6)
        bs:reset()

        wait(500)

        local string2 = "createCharacter|man|0"
        local bs = bitStream.new()
        bs:writeInt8(220)
        bs:writeInt8(18)
        bs:writeInt32(string.len(string2))
        bs:writeString(string2)
        bs:writeInt32(1)
        bs:sendPacketEx(2, 9, 6)
        bs:reset()
    end)
end

raksamp cef rodinarp.lua - на 5 и 6 строке вписать ник и пароль в кавычки(для автологина).

спс @neverlane за помощь с авторизацией

при использовании любого кода с данной темы надо указывать ссылку на эту тему.
Было сложно сделать что бы он сам нажмал куда спавнится? если можешь скажи как сделать или ты сделай очень нужная тема)