как получить текст после определенного слова из диалога

William_Roses

Активный
Автор темы
260
26
Версия MoonLoader
.026-beta
как получить текст после определенного слова из диалога
мне нужно все что идет после "История IP"
Текст то я получил с помощью text:match('История IP(.*)') но он идет без \n, тоесть в одной строке, как исправить или как получить этот текст другим более правильным методом
скрин диалога прикрепил
инфо о диалоге
dialog info:
Dialog ID:{FFFFFF} 5051
{00BEFC}Dialog Type:{FFFFFF} 0
{00BEFC}Dialog Caption:{FFFFFF}
{FFFFFF}IP игрока
{00BEFC}Dialog text:{FFFFFF}
{0093D9}Ник:        {FFFFFF}Ponchiq_Chouge[7]
{0093D9}IP логина:    {FFFFFF}83.142.12.223
{0093D9}IP регистрации:    {FFFFFF}176.100.120.171


{0093D9}История IP:
{FFFFFF}
83.142.12.223
83.142.12.223
83.142.12.223
83.142.12.223
83.142.12.223
83.142.12.223
83.142.12.223
83.142.12.223
83.142.12.223
83.142.12.223
 

Вложения

  • 1631641940013.png
    1631641940013.png
    69.5 KB · Просмотры: 22

sᴀxᴏɴ

#Mary
Всефорумный модератор
791
846
но он идет без \n
не может быть. выведи его в консоль сф, например. я думаю ты выводишь его в чат, который не поддерживает перенос строк

п.с если ты его уже выводишь в консоль сф и он у тебя отображается как на скрине (каждый айпи с новой строки), то так и должно быть
 

William_Roses

Активный
Автор темы
260
26
не может быть. выведи его в консоль сф, например. я думаю ты выводишь его в чат, который не поддерживает перенос строк
а да, я просто еб#лай, но при попытке вывести его в имгуи окно он его не выводит вооьще, хотя с другим все ок
Lua:
            local logip = string.match(text, 'IP логина:.+{......}%d+.%d+.%d+.%d+')
            logip = logip:match('%d+.%d+.%d+.%d+')

делаю так:

Lua:
local ips = {}
local logip, regip, ipnick, ipid, ipother = '', '', '', '', ''

       if id == 5051 then
             dialog_title = title
            if dialog_title == '{FFFFFF}IP игрока' then
            local ipnick, ipid = string.match(text, 'Ник:.+{......}([A-z_]+)%[(%d+)%]')
            local logip = string.match(text, 'IP логина:.+{......}%d+.%d+.%d+.%d+')
            local regip = string.match(text, 'IP регистрации:.+{......}%d+.%d+.%d+.%d+')
            local ipother = string.match(text, 'История IP(.*)')
            logip = logip:match('%d+.%d+.%d+.%d+')
            regip = regip:match('%d+.%d+.%d+.%d+')
            ipnick, ipid = text:match('([A-z_]+)%[(%d+)%]')
            ipother = ipother:match('История IP(.*)')
            table.insert(ips, {logip, regip, ipnick, ipid, other})
            refreships()
            sampAddChatMessage(logip, -1)
            sampAddChatMessage(regip, -1)
            sampAddChatMessage(ipnick, -1)
            print(ipother, -1)
            dialog_btn1 = button1
            dialog_btn2 = button2
            ipwindow.v = true
            return false
            end
        end

function refreships()
    info_ips = table.remove(ips)
end
далее в имгуи окне вывожу например айпи с помощью info_ips[1] но с info_ips[5] ничего не выводит

а да, я просто еб#лай, но при попытке вывести его в имгуи окно он его не выводит вооьще, хотя с другим все ок
Lua:
            local logip = string.match(text, 'IP логина:.+{......}%d+.%d+.%d+.%d+')
            logip = logip:match('%d+.%d+.%d+.%d+')

делаю так:

Lua:
local ips = {}
local logip, regip, ipnick, ipid, ipother = '', '', '', '', ''

       if id == 5051 then
             dialog_title = title
            if dialog_title == '{FFFFFF}IP игрока' then
            local ipnick, ipid = string.match(text, 'Ник:.+{......}([A-z_]+)%[(%d+)%]')
            local logip = string.match(text, 'IP логина:.+{......}%d+.%d+.%d+.%d+')
            local regip = string.match(text, 'IP регистрации:.+{......}%d+.%d+.%d+.%d+')
            local ipother = string.match(text, 'История IP(.*)')
            logip = logip:match('%d+.%d+.%d+.%d+')
            regip = regip:match('%d+.%d+.%d+.%d+')
            ipnick, ipid = text:match('([A-z_]+)%[(%d+)%]')
            ipother = ipother:match('История IP(.*)')
            table.insert(ips, {logip, regip, ipnick, ipid, other})
            refreships()
            sampAddChatMessage(logip, -1)
            sampAddChatMessage(regip, -1)
            sampAddChatMessage(ipnick, -1)
            print(ipother, -1)
            dialog_btn1 = button1
            dialog_btn2 = button2
            ipwindow.v = true
            return false
            end
        end

function refreships()
    info_ips = table.remove(ips)
end
далее в имгуи окне вывожу например айпи с помощью info_ips[1] но с info_ips[5] ничего не выводит
ну как бы я вроде решил проблему изза other а надо было ipother, но теперь скрипт крашит ._.

up
не выводится текст после История IP в имгуи
 
Последнее редактирование: