Как создать свой диалог

nitarav

Участник
Автор темы
63
10
Здравствуйте, как создать диалог луа?
 
Последнее редактирование:
  • Ха-ха
Реакции: CastelloFAM
Решение
Lua:
local id = 1488
local style = 0
local title = '1488'
local button1 = 'Посхалко'
local button2 = 'Не посхалко'
local text = 'Посхалко или не посхалко?'

local bs = raknetNewBitStream()
raknetBitStreamWriteInt16(bs, id)
raknetBitStreamWriteInt8(bs, style)
raknetBitStreamWriteInt8(bs, #title)
raknetBitStreamWriteIntString(bs, title)
raknetBitStreamWriteInt8(bs, #button1)
raknetBitStreamWriteIntString(bs, button1)
raknetBitStreamWriteInt8(bs, #button2)
raknetBitStreamWriteIntString(bs, button2)
raknetBitStreamWriteInt32(bs, #text)
raknetBitStreamWriteIntString(bs, text)

raknetEmulRpcReceiveBitStream(61, bs)
не помню сколько бит должна занимать длина названия кнопки и заголовка, если не сработает с 8, то поменяй на 32
...

nitarav

Участник
Автор темы
63
10
Вот такой код нашел, подойдет или же нет?

lua:
lua_thread.create(function() -- Нужен для цикла (while на 3-й строке)
    sampShowDialog(6405, "Список", "Россия\nУкраина\nБелоруссия", "Выбрать", "Отмена", 2) -- Показываем диалог
    while sampIsDialogActive(6405) do wait(100) end -- Ожидание закрытия диалога
    local _, button, list, _ = sampHasDialogRespond(6405) -- Получаем ответ на диалог
    if button == 1 then -- Если нажата 1-я кнопка ("Выбрать"), тогда
        if list == 0 then
            sampAddChatMessage("Вы выбрали Россию",-1)
        elseif list == 1 then
            sampAddChatMessage("Вы выбрали Украину",-1)
        elseif list == 2 then
            sampAddChatMessage("Вы выбрали Белорусию",-1)
        end
    else -- Если нажата 2-я кнопка ("Отмена"), тогда
        sampAddChatMessage('Вы нажали кнопку "Отмена"',-1)
    end
end)
p.s нужен с функционированием кнопок
 

nitarav

Участник
Автор темы
63
10
а ой это показ диалога просто, а не эмуляция ракнета, сорян)

тебе нужно открывать свой диалог или эмулировать открытие серверного диалога?
да свой, я протупил просто
 

XRLM

Против ветра рождённый
Проверенный
1,515
1,105
Lua:
local id = 1488
local style = 0
local title = '1488'
local button1 = 'Посхалко'
local button2 = 'Не посхалко'
local text = 'Посхалко или не посхалко?'

local bs = raknetNewBitStream()
raknetBitStreamWriteInt16(bs, id)
raknetBitStreamWriteInt8(bs, style)
raknetBitStreamWriteInt8(bs, #title)
raknetBitStreamWriteIntString(bs, title)
raknetBitStreamWriteInt8(bs, #button1)
raknetBitStreamWriteIntString(bs, button1)
raknetBitStreamWriteInt8(bs, #button2)
raknetBitStreamWriteIntString(bs, button2)
raknetBitStreamWriteInt32(bs, #text)
raknetBitStreamWriteIntString(bs, text)

raknetEmulRpcReceiveBitStream(61, bs)
не помню сколько бит должна занимать длина названия кнопки и заголовка, если не сработает с 8, то поменяй на 32

да свой, я протупил просто
ну ты пиздец чел...
 
  • Нравится
Реакции: nitarav и pastow

nitarav

Участник
Автор темы
63
10
решение отметь
нету пока кнопки

А еще хотел спросить
'end' expected (to close 'function' at line 41) near '<eof>'
пишет вот такое при запуске скрипта
lua:
function mans()
    sampShowDialog(6345, "1488, "1488\n1488\n1488", "Выбрать", "Отмена", 2)
    local _, button, list, _ = sampHasDialogRespond(6345)
    if button == 1 then
        if list == 0 then
            sampAddChatMessage("Вы выбрали Россию",-1)
        end
        elseif list == 1 then
            sampAddChatMessage("Вы выбрали Украину",-1)
        elseif list == 2 then
            sampAddChatMessage("Вы выбрали Белорусию",-1)
    else
        if isKeyJustPressed(VK_P) then
        sampSetGamestate(5)
end

нету пока кнопки

А еще хотел спросить
'end' expected (to close 'function' at line 41) near '<eof>'
пишет вот такое при запуске скрипта
lua:
function mans()
    sampShowDialog(6345, "1488, "1488\n1488\n1488", "Выбрать", "Отмена", 2)
    local _, button, list, _ = sampHasDialogRespond(6345)
    if button == 1 then
        if list == 0 then
            sampAddChatMessage("Вы выбрали Россию",-1)
        end
        elseif list == 1 then
            sampAddChatMessage("Вы выбрали Украину",-1)
        elseif list == 2 then
            sampAddChatMessage("Вы выбрали Белорусию",-1)
    else
        if isKeyJustPressed(VK_P) then
        sampSetGamestate(5)
end
help
 
Последнее редактирование: