финдит но не матчит

coldplugg.

Участник
Автор темы
180
22
Версия MoonLoader
.026-beta
есть диалог, из него нужно брать значения, код сам есть, если к примеру запринтить то все нормально, а если в переменные, то когда ее выводишь, оказывается nil.
Lua:
if dialogTitle:find('История наказания') and otdamhouse then
                for line in dialogText:gmatch('[^\n]+') do
                    if line:find('Администратор (.+)%[(%d+)%] посадил игрока (.+)%[(%d+)%] в деморган на (%d+) минут%. Причина: Опру дом %№(%d+)') then
                        local nickadm, idadm, nicklovec, idlovec, timeopra, idhouse = line:match('Администратор (.+)%[(%d+)%] посадил игрока (.+)%[(%d+)%] в деморган на (%d+) минут%. Причина: Опру дом %№(%d+)')
                        --sendInput('/a я уебище')
                    end   
                end
                return false
            end
что в сендинпуте - проверял, все нормально
1673782792861.png
 
Решение
ладно, посмеялся и хватит
Lua:
local text = "Администратор CoolidgeBot[0] посадил игрока Cold[2] в деморган на 2999 минут. Причина: Опру дом №121 (1.64сек.)"

if text:find("Администратор %S+%[%d+%] посадил игрока %S+%[%d+%] в деморган на %d+ минут%. Причина: Опру дом №%d+ %(%d+%p%d+сек") then
    local AdminNick, AdminID, PlayerNick, PlayerId, Time, HouseId = text:match("Администратор (%S+)%[(%d+)%] посадил игрока (%S+)%[(%d+)%] в деморган на (%d+) минут%. Причина: Опру дом №(%d+) %(%d+%p%d+сек")
    print(AdminNick, AdminID, PlayerNick, PlayerId, Time, HouseId)
end
1673787731676.png

coldplugg.

Участник
Автор темы
180
22
Lua:
if playertext:find('отдам дом') then
                        --idhouseslet = playertext:match('отдам дом (%d+)')
                            otdamhouse = true
                            checkhouse = true
                            sendInput('/checkpunish '..playerid)
                            newTask(function()
                                wait(1000)
                                sendInput('/checkhouse '..idhouse)
                            end)
                            newTask(function()
                                    wait(1000)
                                    if dmg ~= '0' then
                                        if ownerhouse == playernick then
                                            sendInput('/fakesms '..playernick..' ['..bot_name..'] Подозреваю что вы хотите отдать дом '..idhouse)
                                            sendInput('/fakesms '..playernick..' ['..bot_name..'] Забрал у вас словленное имущество. Приятной игры!')
                                            sendInput('/sethouseowner '..idhouse..' '..bot_name)
                                            sendInput('/unjail '..playernick..' возврат дома [№'..idhouse..']')
                                        end
                                    else
                                            sendInput('/fakesms '..playernick..' ['..bot_name..'] Вы не в деморгане!')
                                    end
                                    checkhouse = false
                                    otdamhouse = false
                            end)
                            
                    end
 

sdfy

Известный
346
228
Lua:
local text = "Администратор Admin[12] посадил игрока Player[11] в деморган на 2222 минут. Причина: Опру дом №228 (3.37сек)"

if text:find("Администратор %S+%[%d+%] посадил игрока %S+%[%d+%] в деморган на %d+ минут%. Причина: Опру дом №%d+ %(%d+%p%d+сек%)") then
    local AdminNick, AdminID, PlayerNick, PlayerId, Time, HouseId = text:match("Администратор (%S+)%[(%d+)%] посадил игрока (%S+)%[(%d+)%] в деморган на (%d+) минут%. Причина: Опру дом №(%d+) %(%d+%p%d+сек%)")
    print(AdminNick, AdminID, PlayerNick, PlayerId, Time, HouseId)
end
1673785044152.png
 

coldplugg.

Участник
Автор темы
180
22
1673786013187.png

Lua:
local text = "Администратор Admin[12] посадил игрока Player[11] в деморган на 2222 минут. Причина: Опру дом №228 (3.37сек)"

if text:find("Администратор %S+%[%d+%] посадил игрока %S+%[%d+%] в деморган на %d+ минут%. Причина: Опру дом №%d+ %(%d+%p%d+сек%)") then
    local AdminNick, AdminID, PlayerNick, PlayerId, Time, HouseId = text:match("Администратор (%S+)%[(%d+)%] посадил игрока (%S+)%[(%d+)%] в деморган на (%d+) минут%. Причина: Опру дом №(%d+) %(%d+%p%d+сек%)")
    print(AdminNick, AdminID, PlayerNick, PlayerId, Time, HouseId)
end
Посмотреть вложение 186078
 

coldplugg.

Участник
Автор темы
180
22
  • Грустно
Реакции: qdIbp

sdfy

Известный
346
228
ладно, посмеялся и хватит
Lua:
local text = "Администратор CoolidgeBot[0] посадил игрока Cold[2] в деморган на 2999 минут. Причина: Опру дом №121 (1.64сек.)"

if text:find("Администратор %S+%[%d+%] посадил игрока %S+%[%d+%] в деморган на %d+ минут%. Причина: Опру дом №%d+ %(%d+%p%d+сек") then
    local AdminNick, AdminID, PlayerNick, PlayerId, Time, HouseId = text:match("Администратор (%S+)%[(%d+)%] посадил игрока (%S+)%[(%d+)%] в деморган на (%d+) минут%. Причина: Опру дом №(%d+) %(%d+%p%d+сек")
    print(AdminNick, AdminID, PlayerNick, PlayerId, Time, HouseId)
end
1673787731676.png