Мой тупняк с sampSendDialogResponse

tweakingahh

Известный
Автор темы
27
1
Версия MoonLoader
.027.0-preview
Приветствую! Есть код
Lua:
require("lib.moonloader")
local sampev = require("lib.samp.events")
local status = false


function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand("autotrade", function()
        status = not status
        if status then
            sampAddChatMessage("on", -1)
        else
            sampAddChatMessage("off", -1)
        end
    end)
end


function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if id == 8252 and status then
        sampSendDialogResponse(8252, 1, 0, -1)
    end
end

Как вы возможно могли понять, что если вам кидают трейд, вы его автоматом принимаете. И-так, уважаемые знатоки, внимание вопрос.
sampSendDialogResponse(int id, int button, int listitem, zstring input)
int id ид диалога
int button ид кнопки (0 / 1)
int listitem номер элемента списка (от 0)
zstring input текст введенный в поле
sampSendDialogResponse(8252, 1, 0, -1)
Как сделать так, что бы он принимался?
8252 - айди диалога
1 - ид кнопки
номер элемента в списке??? ваще ничего не понятно, короче обьясните пж
в диалоге принимания трейда только две кнопки, левая принять, правая отменить и все
как сделать так что бы принимался?
 

thx killa

Известный
22
9
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if dialogId == 8252 and status then
        sampSendDialogResponse(dialogId, 1, nil, nil)
    end
end
sampSendDialogResponse(int id, int button, int listitem, zstring input)

int id - id диалога
int button - id кнопки (0 - отмена, 1 - Принять)
int listitem - номер пункта который нужно выбрать в диалоге. (в нашем случае пунктов нет, диалог другого стиля, поэтому 'nil')
zstring input - текст который нужно вписать в диалог (в нашем случае вписывать некуда, диалог другого стиля, поэтому 'nil')


Ответ на вопрос: 'номер элемента в списке??? ваще ничего не понятно, короче обьясните пж'
Как написал в скобках выше, у каждого диалога есть свой стиль (тип). Всего существует 6 стилей:
0. DIALOG_STYLE_MSGBOX
1. DIALOG_STYLE_INPUT
2. DIALOG_STYLE_LIST
3. DIALOG_STYLE_PASSWORD
4. DIALOG_STYLE_TABLIST
5. DIALOG_STYLE_TABLIST_HEADERS

В диалогах 2-го типа предоставляются определенные пункты, из которых нужно выбрать один. Int listitem - отвечает за выбор этого пункта и выбирает его за вас.

Старался объяснить как можно понятнее.
Подробнее можно почитать на WIKI
 
Последнее редактирование:
  • Нравится
Реакции: tweakingahh