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

ScripTER 2.0

Участник
111
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 за помощь с авторизацией

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

kickflip

Потрачен
96
15
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
а как сделать нажатие кнопки на новых cef квестах на аризонке?
 

Улиточка

Известный
342
117
Я cef почти не знаю, но из того что я знаю могу сделать вывод что это афигенно.
А где можно документацию по cef глянуть? хочу попробовать переделать некоторые скрипты под него.
а в обычном луа коде идентично как и в раксамплайте код пишется ? я просто деревянный и не понимаю пока.