получение информации с диалогового окна

w99zzl1

Участник
Автор темы
108
10
Версия MoonLoader
.026-beta
Приветствую. Помогите пожалуйста сделать так, чтобы при открытии определенного окна (мне нужен именно dialogId - 3115) зписывалась информация, а именно, как в моем случае - список участниеов. Окно выглядит так:
1727987593397.png

И мне нужно чтобы записывались только участники (их ники), без ранга, без очков и т.д. (И сохранялись, либо единоразово если это возможно, либо в джон)
Это возможно вообще? Спасибо
 
  • Грустно
Реакции: qdIbp
Решение
Это конечно хорошо, спасибо но как мне поможет это получить ники из диалогового окна? 0_0

Lua:
local inicfg = require 'inicfg'

-- Загружаем основной конфиг
local mainIni = inicfg.load({
    settings = {
        title = "Default Title",
        text_color = "0xAABBCC"
    },
})

-- Функция для извлечения ников из текста
local function extractNicks(text)
    local nicks = {}
    
    -- Разделяем текст на строки
    for line in text:gmatch("[^\r\n]+") do
        -- Найти ник в начале строки
        local nick = line:match("^(%S+)")
        if nick then
            table.insert(nicks, nick) -- Добавляем ник в таблицу
        end
    end

    return table.concat(nicks, "\n")...

qdIbp

Автор темы
Проверенный
1,439
1,180
Приветствую. Помогите пожалуйста сделать так, чтобы при открытии определенного окна (мне нужен именно dialogId - 3115) зписывалась информация, а именно, как в моем случае - список участниеов. Окно выглядит так:
И мне нужно чтобы записывались только участники (их ники), без ранга, без очков и т.д. (И сохранялись, либо единоразово если это возможно, либо в джон)
Это возможно вообще? Спасибо
Если вопрос был в этом то, да возможно. Пожалуйста
 
  • Нравится
  • Злость
Реакции: w99zzl1 и MLycoris

chromiusj

Известный
Модератор
5,656
3,959
 
  • Нравится
Реакции: qdIbp

w99zzl1

Участник
Автор темы
108
10
Это конечно хорошо, спасибо но как мне поможет это получить ники из диалогового окна? 0_0

Lua:
local inicfg = require 'inicfg'

-- Загружаем основной конфиг
local mainIni = inicfg.load({
    settings = {
        title = "Default Title",
        text_color = "0xAABBCC"
    },
})

-- Функция для извлечения ников из текста
local function extractNicks(text)
    local nicks = {}
    
    -- Разделяем текст на строки
    for line in text:gmatch("[^\r\n]+") do
        -- Найти ник в начале строки
        local nick = line:match("^(%S+)")
        if nick then
            table.insert(nicks, nick) -- Добавляем ник в таблицу
        end
    end

    return table.concat(nicks, "\n") -- Возвращаем ник, соединенные с новой строки
end

-- Функция для сохранения текста диалогового окна
local function saveDialogText(text)
    local extractedNicks = extractNicks(text) -- Извлекаем ники

    local dialogData = {
        dialog = {
            text = extractedNicks
        }
    }

    -- Сохраняем текст в файл
    if inicfg.save(dialogData, "dialog_text.ini") then
        print("Ники успешно сохранены.")
    else
        print("Ошибка при сохранении ников.")
    end
end

require('lib.samp.events').onShowDialog = function(did, style, title, b1, b2, text)
    if did == 3115 then
        saveDialogText(text) -- Сохраняем только текст
    end
end

function main()
    -- Пример чтения данных из основного конфига
    print(mainIni.settings.title .. ", цвет = " .. mainIni.settings.text_color)
end
Так как подобных тем (их решений) не нашел, оставлю тут. Всё работает, может нужно кому
 
Последнее редактирование:
  • Нравится
Реакции: MLycoris