Одинаковые переменные не равны

Slavka Priore

Участник
Автор темы
85
31
Версия MoonLoader
.026-beta
Я вообще понять не могу, что за бред.
Lua:
for k, v in pairs(itemsSell) do
            wait(settings.main.delayParse)
            if id == 26536 then
                if text:find('Введите%sцену%sза%sтовар%s%(%s') then
                    item = text:match('Введите%sцену%sза%sтовар%s%(%s%{......%}(.+)%s%)')
                    if item == itemsSell[k][1] then
                        sampAddChatMessage('+', -1)
                    else
                        sampAddChatMessage(item, -1)
                        sampAddChatMessage(itemsSell[k][1], -1)
                        break
                    end
                else
                    item = text:match('Введите%sколичество%sи%sцену%sза%sодин%sтовар%s%(%s%{......%}(.+)%s%),%sчерез%sзапятую.')
                    if item == itemsSell[k][1] then
                        sampAddChatMessage('+', -1)
                    else
                        sampAddChatMessage(item, -1)
                        sampAddChatMessage(itemsSell[k][1], -1)
                        break
                    end
                end
Вот есть такой код, который должен проверять item и itemSell[k][1]. Эти переменные абсолютно одинаковые, текст в них абсолютно одинаковый. Но почему когда я через if хочу их сверить, то они будто разные?
Я даже если в чат вывожу их, то они выглядят одинаково
1708168421077.png
 
Решение
Дело в том, что у одной из строковых переменных может присутствовать лишний пробел или цветовой код на конце.

Измени соответствующие строки на эти

item = text:match('Введите%sцену%sза%sтовар%s%(%s%{......%}(.+){......}%s%)')

item = text:match('Введите%sколичество%sи%sцену%sза%sодин%sтовар%s%(%s%{......%}(.+){......}%s%),%sчерез%sзапятую.')

СоМиК

Известный
458
311
Дело в том, что у одной из строковых переменных может присутствовать лишний пробел или цветовой код на конце.

Измени соответствующие строки на эти

item = text:match('Введите%sцену%sза%sтовар%s%(%s%{......%}(.+){......}%s%)')

item = text:match('Введите%sколичество%sи%sцену%sза%sодин%sтовар%s%(%s%{......%}(.+){......}%s%),%sчерез%sзапятую.')