Считывание диалога

Mercyline

Новичок
Автор темы
20
0
Версия MoonLoader
Другое
Как сделать чтобы при открытии диалогового окна (условно /leaders), само диалоговое окно не появлялось, а выводило всё содержимое в переменную откуда уже дальше в чат.

Условно так выглядит /leaders:
Лидер Номер телефона Статус АФК
1. Name_Surname[xxx] - {fff}Больница СФ [частная] Тел: xxx 0 секунд
В чат должно вывести:
В сети:
1. Name_Surname[xxx] - {fff}Больница СФ [частная] (AFK: 0 секунд)
При это диалоговое окно никак не должно показаться игроку
 

- |2347| -

Известный
360
119
Как сделать чтобы при открытии диалогового окна (условно /leaders), само диалоговое окно не появлялось, а выводило всё содержимое в переменную откуда уже дальше в чат.

Условно так выглядит /leaders:
Лидер Номер телефона Статус АФК
1. Name_Surname[xxx] - {fff}Больница СФ [частная] Тел: xxx 0 секунд
В чат должно вывести:
В сети:
1. Name_Surname[xxx] - {fff}Больница СФ [частная] (AFK: 0 секунд)
При это диалоговое окно никак не должно показаться игроку
Lua:
sampev = require 'samp.events'

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if title:find('{BFBBBA}{ff6666}Лидеры онлайн') then
        local onlineLeaders = {}
        for line in text:gmatch("[^\r\n]+") do
            local position, nickname, organization, phone, afk = line:match("{ff6666}(%d+)%.{ffffff} (.-)%[%d+%] %- {[%x]+}(.-)%s*{cccccc}Тел: (%d+)%s*{cccccc}(%d+ сек[а-я]*)")
            if position and nickname and organization and phone and afk then
                local formattedLine = string.format("%s. %s - %s (AFK: %s)", position, nickname, organization, afk)
                table.insert(onlineLeaders, formattedLine)
            end
        end
        if #onlineLeaders > 0 then
            sampAddChatMessage("В сети:", -1)
            for _, leaderInfo in ipairs(onlineLeaders) do
                sampAddChatMessage(leaderInfo, -1)
            end
        else
            sampAddChatMessage("Нет лидеров в сети.", -1)
        end
        return false
    end
end