Не работает onShowDialog

F L I P S T A R

Участник
Автор темы
62
1
Версия MoonLoader
Другое
Приветствую. Есть вопрос. Сделал свой простенький скрипт по типу автовода пароля при входе на сервер. Как только появляется диалог с определенной строкой, автоматически вводится пароль. Но почему то скрипт не работает, в чем может быть проблема? Может где то допустил ошибку? Или таким методом нельзя сделать автовод пароля?

Код:
local samp = require 'samp.events'

function samp.onShowDialog(id, style, title, button1, button2, text)
if text:find('Введите ваш пароль в поле ниже') then
        sampSendDialogResponse(id, 1, _, 'Пароль')
    end
 end
 

F L I P S T A R

Участник
Автор темы
62
1
У диалогов такого значения нет, цвет указывается в самом тексте в формате {XXXXXX}Text. По хорошему надо просто вывести текст диалога в print и тогда узнаешь все символы, которые используются в тексте.
Известно, что код нужного цвета {FFFFFF}. В какое место мне нужно вставить этот код, чтобы скрипт работал? Перед текстом, перед "?
lua:
if text:find('Введите ваш пароль в поле ниже') then
 

Hatiko

Известный
Проверенный
1,489
616
Тебе так никто не скажет.
Сделай так и узнаешь как точно выглядит текст оригинальный, выведется в лог:

Lua:
function samp.onShowDialog(id, style, title, button1, button2, text)
    if text:find('пароль') then
        print(text)
    end
end
 

F L I P S T A R

Участник
Автор темы
62
1
Тебе так никто не скажет.
Сделай так и узнаешь как точно выглядит текст оригинальный, выведется в лог:

Lua:
function samp.onShowDialog(id, style, title, button1, button2, text)
    if text:find('пароль') then
        print(text)
    end
end
В лог выводится этот текст:
{ffffff}[FFFFFF]Введитe ваш пароль в поле ниже
 

shrug228

Активный
212
75
Наверняка уже ответили, но я тоже залечу. string.find возвращает другое значение, не bool.
Lua:
if string.find('текст', 'шаблон') ~= nil then
    -- нашло
end
Ну и на всякий можно удалить цвета, как посоветовали выше.
Lua:
-- перед определением строки
text = text:gsub('{......}', '') -- должно работать, давно так не делал
 

F L I P S T A R

Участник
Автор темы
62
1
Наверняка уже ответили, но я тоже залечу. string.find возвращает другое значение, не bool.
Lua:
if string.find('текст', 'шаблон') ~= nil then
    -- нашло
end
Ну и на всякий можно удалить цвета, как посоветовали выше.
Lua:
-- перед определением строки
text = text:gsub('{......}', '') -- должно работать, давно так не делал
Воспользовался этим способом, спасибо, работает. Проблема решена.
 

shrug228

Активный
212
75
  • Нравится
Реакции: F L I P S T A R