Не хукает сообщения по поиску

Sanurial

Участник
Автор темы
82
13
Версия MoonLoader
.026-beta
Lua:
function sampev.onServerMessage(color, text)
            if text:find('%[A%] Чтобы войти в админ панель введите %/alogin') and cautologin[0] then
                alog()
            elseif text:find('%[A%] Вы успешно авторизовались как (.+)') then
                activate = not activate
            end
            print(text)
        end
В ЧЁМ МОЯ ПРОБЛЕМА?!
 
Решение
Lua:
function sampev.onServerMessage(color, text)
            if text:find('%[A%] Чтобы войти в админ панель введите %/alogin') and cautologin[0] then
                alog()
            elseif text:find('%[A%] Вы успешно авторизовались как (.+)') then
                activate = not activate
            end
            print(text)
        end
В ЧЁМ МОЯ ПРОБЛЕМА?!
скинь нужные строки из чатлога, возможно в сообщении какие-нибудь хекс коды

whyega52

Eblang головного мозга
Модератор
2,884
2,859
Lua:
function sampev.onServerMessage(color, text)
            if text:find('%[A%] Чтобы войти в админ панель введите %/alogin') and cautologin[0] then
                alog()
            elseif text:find('%[A%] Вы успешно авторизовались как (.+)') then
                activate = not activate
            end
            print(text)
        end
В ЧЁМ МОЯ ПРОБЛЕМА?!
скинь нужные строки из чатлога, возможно в сообщении какие-нибудь хекс коды
 

kyrtion

Известный
1,187
438
1. Проверьте что у тебя стоит кодировка (Windows 1521, Кириллицы)
2. Если ничего не происходит, проверяете в консоле (если там ничего не пишет что скрипт приветствует, то заходишь moonloader.log и читаешь)

По теме:
1. Лучше используйте с цветами (например, -86) и значение "^" и в конце "$" это избавится от фейков сообщения.
2. Либо из-за cautologin[0]
 

waparabka

Известный
118
184
Lua:
function sampev.onServerMessage(color, text)
            if text:find('%[A%] Чтобы войти в админ панель введите %/alogin') and cautologin[0] then
                alog()
            elseif text:find('%[A%] Вы успешно авторизовались как (.+)') then
                activate = not activate
            end
            print(text)
        end
В ЧЁМ МОЯ ПРОБЛЕМА?!
кодировку редактора на CP1251 поставь
 

Sanurial

Участник
Автор темы
82
13
кодировку редактора на CP1251 поставь
Выставлена

1. Проверьте что у тебя стоит кодировка (Windows 1521, Кириллицы)
2. Если ничего не происходит, проверяете в консоле (если там ничего не пишет что скрипт приветствует, то заходишь moonloader.log и читаешь)

По теме:
1. Лучше используйте с цветами (например, -86) и значение "^" и в конце "$" это избавится от фейков сообщения.
2. Либо из-за cautologin[0]
print(text) работает исправно
 

kyrtion

Известный
1,187
438
В начале onServerMessage ставишь:
local ntext = text:gsub('%{......%}', '') -- убирает hex-code
а потом
ntext:find('^%[A%] Чтобы войти в админ панель введите %/alogin$') и так далее

Причина:
Код:
[{fca400}A{FFFFFF}] Чтобы войти в админ панель введите /alogin
 

Sanurial

Участник
Автор темы
82
13
В начале onServerMessage ставишь:
local ntext = text:gsub('%{......%}', '') -- убирает hex-code
а потом
ntext:find('%[A%] Чтобы войти в админ панель введите %/alogin') и так далее

Причина:
Код:
[{fca400}A{FFFFFF}] Чтобы войти в админ панель введите /alogin
Не работало из-за хекс кодов), спасибо

Рабочий код:
function sampev.onServerMessage(color, text)
            if text:find('%[{fca400}A{FFFFFF}%] Чтобы войти в админ панель введите %/alogin') and cautologin[0] then
                alog()
            elseif text:find('%[A{fca400}A{FFFFFF}%] Вы успешно авторизовались как (.+)') then
                activate = not activate
            end
            print('Текст: ' .. text)
        end
 
  • Нравится
Реакции: whyega52 и kyrtion

kyrtion

Известный
1,187
438
Не работало из-за хекс кодов), спасибо

Рабочий код:
function sampev.onServerMessage(color, text)
            if text:find('%[{fca400}A{FFFFFF}%] Чтобы войти в админ панель введите %/alogin') and cautologin[0] then
                alog()
            elseif text:find('%[A{fca400}A{FFFFFF}%] Вы успешно авторизовались как (.+)') then
                activate = not activate
            end
            print('Текст: ' .. text)
        end
значение {} шаблонится только с %
пример, %{FFFFFF%}
 
  • Эм
Реакции: Lance_Sterling

kyrtion

Известный
1,187
438
фигурные скобки можно не экранировать экранировать нужно только [ ] \ ^ $ . | ? * + ( )
тогда почему у меня давно скрипт отказывает из-за {}...
Вот за 4 года я уже не знал такие фичи, мда уж
 
  • Вау
Реакции: Lance_Sterling