Не работает 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
 

Иглобрюх

Активный
250
73
Правильно сохранил?
1659676654068.png
 

F L I P S T A R

Участник
Автор темы
62
1
Кодировку поставил Windows 1251, да.

Lua:
sampSendDialogResponse(id, 1, nil, 'Пароль')
Исправил, не помогло. При загрузке сервера при появлении нужного диалога с этой строчкой просто ничего не происходит. Смотрел в консоли, скрипт загрузился без ошибок.
 
Последнее редактирование:

AndroSamp

Активный
297
47
Кодировку поставил Windows 1251, да.


Исправил, не помогло. При загрузке сервера при появлении нужного диалога с этой строчкой просто ничего не происходит. Смотрел в консоли, скрипт загрузился без ошибок.
Lua:
sampSendDialogResponse(id, 0, nil, 'Пароль')
Попробуй
 

AndroSamp

Активный
297
47
Не помогло. Прикреплю сам диалог, может станет понятнее. Тип: Password Box.Посмотреть вложение 161084
Lua:
local samp = require 'samp.events'

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

Если не заработает, попробуй поменять кнопку с 0 на 1
 

F L I P S T A R

Участник
Автор темы
62
1
Lua:
local samp = require 'samp.events'

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

Если не заработает, попробуй поменять кнопку с 0 на 1
Все равно не работает...
 

Hatiko

Известный
Проверенный
1,472
611
1. Проверь просто на факт срабатывания, т.е без отправки ответа. К примеру, прописать print('test'). Также попробуй на других серверных диалогах.
2. В папке игры проверь наличия файла samp.asi, если есть, удали.
 

F L I P S T A R

Участник
Автор темы
62
1
Нашел обходное решение данной проблемы. Вместо поиска текста, сделал поиск title "Авторизация", и скрипт начал работать, т.е. находит строку и вводит значение. Видимо проблема была с поиском text, но почему?
 

AndroSamp

Активный
297
47
Нашел обходное решение данной проблемы. Вместо поиска текста, сделал поиск title "Авторизация", и скрипт начал работать, т.е. находит строку и вводит значение. Видимо проблема была с поиском text, но почему?
Там цветной текст. Нужен текст с кодами цветов. Без этих кодов скрипт не видит такой текст.
 

F L I P S T A R

Участник
Автор темы
62
1
Там цветной текст. Нужен текст с кодами цветов. Без этих кодов скрипт не видит такой текст.
Текст написан белым цветом, а значит код будет -1. Куда это значение нужно поставить, чтобы скрипт находил строчку "Введите ваш пароль в поле ниже"?
 

Hatiko

Известный
Проверенный
1,472
611
а значит код будет -1
У диалогов такого значения нет, цвет указывается в самом тексте в формате {XXXXXX}Text. По хорошему надо просто вывести текст диалога в print и тогда узнаешь все символы, которые используются в тексте.