как получить номер строки в диалоге по ее тексту

Viant

Участник
Автор темы
56
2
Версия MoonLoader
.026-beta
Всем привет, есть диалог (на фото) нужно найти номер кнопки по её названию, которое я укажу в коде, а затем нажать на эту кнопку, видел тему: https://www.blast.hk/threads/51581/#post-474697 . Но она выдавала кривые значения, может кто-то знает и поможет с данной ситуацией. Отвечу на вопрос почему просто не нажать на кнопку? - потому-что кнопки могут быть в другом порядке и нужно именно то что я попросил.
1705061052588.png
 
Решение
Всем привет, есть диалог (на фото) нужно найти номер кнопки по её названию, которое я укажу в коде, а затем нажать на эту кнопку, видел тему: https://www.blast.hk/threads/51581/#post-474697 . Но она выдавала кривые значения, может кто-то знает и поможет с данной ситуацией. Отвечу на вопрос почему просто не нажать на кнопку? - потому-что кнопки могут быть в другом порядке и нужно именно то что я попросил.
Посмотреть вложение 228451
ток в функции закоментирруй,или сотри респонс если не хочешь чтобы выбирало его
D

deleted-user-489405

Гость
raksamplite:
local sampev = require("samp.events")
function sampev.onShowDialog(id, style, title, btn1, btn2, text)
    for line in text:gmatch("[^\n]+") do
        if line:find('этаж твой') then
            local lineIndex = -1
            lineIndex = lineIndex + 1
            sendDialogResponse(id, 1, lineIndex, '')
            return false
        end
    end
end
коидровку windows-1251
 
  • Ха-ха
  • Эм
Реакции: XRLM и YarikVL

Viant

Участник
Автор темы
56
2
raksamplite:
local sampev = require("samp.events")
function sampev.onShowDialog(id, style, title, btn1, btn2, text)
    for line in text:gmatch("[^\n]+") do
        if line:find('этаж твой') then
            local lineIndex = -1
            lineIndex = lineIndex + 1
            sendDialogResponse(id, 1, lineIndex, '')
            return false
        end
    end
end
коидровку windows-1251
1 для отправки диалога нужно sampSendDialogResponse
2 написал 8 этаж, выбрало -1 этаж
 
D

deleted-user-489405

Гость
1 для отправки диалога нужно sampSendDialogResponse
2 написал 8 этаж, выбрало -1 этаж
1. мне срать, я раксамп тебе код дал, додумася уже на луа одну строчку заменить
2. значит кодировку не поставил, или текст не тот указал
 

Viant

Участник
Автор темы
56
2
1. мне срать, я раксамп тебе код дал, додумася уже на луа одну строчку заменить
2. значит кодировку не поставил, или текст не тот указал
1 я вижу что ты дал мне раксамп, я тебя поправил, не осуждаю
2 я в глаза не ебусь и изначально знаю что кодировка кириллица виндовс 1251, а так-же этаж верно указан
 

chromiusj

Стань той переменой, которую хочешь увидеть в мире
Модератор
5,744
4,055
Всем привет, есть диалог (на фото) нужно найти номер кнопки по её названию, которое я укажу в коде, а затем нажать на эту кнопку, видел тему: https://www.blast.hk/threads/51581/#post-474697 . Но она выдавала кривые значения, может кто-то знает и поможет с данной ситуацией. Отвечу на вопрос почему просто не нажать на кнопку? - потому-что кнопки могут быть в другом порядке и нужно именно то что я попросил.
Посмотреть вложение 228451
ток в функции закоментирруй,или сотри респонс если не хочешь чтобы выбирало его
 

YarikVL

Известный
Проверенный
4,738
1,816
1 для отправки диалога нужно sampSendDialogResponse
1. мне срать, я раксамп тебе код дал, додумася уже на луа одну строчку заменить
Раз челу помогаешь, мог бы и после кодировки дописать чтоб ему надо поменять код, потому что это раксамп. Я сам тоже не обратил внимание на мелкий тэг raksamplite перед кодом.
2 написал 8 этаж, выбрало -1 этаж
Тебе уже готовый код дали, возьми хотяб проанализируй его и увидишь что каллик не умный или не внимательный:
И постоянно присваивает -1 переменной lineIndex каждый цикл в for

И даже изменив это думаю всё равно не будет работать и проще передавать в отправку диалога переменную line, только наверное отнять от line единицу нужно будет.
 
  • Нравится
Реакции: deleted-user-489405

Viant

Участник
Автор темы
56
2
Раз челу помогаешь, мог бы и после кодировки дописать чтоб ему надо поменять код, потому что это раксамп. Я сам тоже не обратил внимание на мелкий тэг raksamplite перед кодом.

Тебе уже готовый код дали, возьми хотяб проанализируй его и увидишь что каллик не умный или не внимательный:
И постоянно присваивает -1 переменной lineIndex каждый цикл в for

И даже изменив это думаю всё равно не будет работать и проще передавать в отправку диалога переменную line, только наверное отнять от line единицу нужно будет.
тут скорее не умный, если брать его работы, по анализу видно что не работает я поменятил ему что не так.
ток в функции закоментирруй,или сотри респонс если не хочешь чтобы выбирало его
рабочий код, немного подкорректировал и все запахало как черный на ферме! спасибо
 
  • Нравится
Реакции: chromiusj
D

deleted-user-489405

Гость
Раз челу помогаешь, мог бы и после кодировки дописать чтоб ему надо поменять код, потому что это раксамп. Я сам тоже не обратил внимание на мелкий тэг raksamplite перед кодом.

Тебе уже готовый код дали, возьми хотяб проанализируй его и увидишь что каллик не умный или не внимательный:
И постоянно присваивает -1 переменной lineIndex каждый цикл в for

И даже изменив это думаю всё равно не будет работать и проще передавать в отправку диалога переменную line, только наверное отнять от line единицу нужно будет.
Не там функцию и local вставил, суть он должен был уловить и уже додуматься что куда, не нужно ему все готовое делать, он сам ниче не может, вечно помощи у других просит, подсказу дали, пускай радуется и сам разбирается