Узнать ид строчки диалога по тексту.

Firus20016

Участник
Автор темы
148
15
Версия MoonLoader
.025-beta
Как в диалоге найти номер строчки, в которой название "{B0E73A}Вперед >>>"?
47122
 

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166
Теперь окно диалога появляется и становиться неактивным (кнопки и строчки нажимаются, но не несут последствий) id диалога = 2931
значит нажимает не ту кнопку хм.
дебажим

Lua:
    if id == 2931 then
      local tLines = split(text, "\n")
      sampAddChatMessage("Dialog 2931 showed", -1)
      if tLines[#tLines]:find("{B0E73A}Вперед >>>", 1, true) then
        sampSendDialogResponse(id, 1, #tLines-1 , "")
        sampAddChatMessage("Finded text and press " .. #tLines-1 .. " line", -1)
      end
    end
Скажи что будет в чате
 

Firus20016

Участник
Автор темы
148
15
значит нажимает не ту кнопку хм.
дебажим

Lua:
    if id == 2931 then
      local tLines = split(text, "\n")
      sampAddChatMessage("Dialog 2931 showed", -1)
      if tLines[#tLines]:find("{B0E73A}Вперед >>>", 1, true) then
        sampSendDialogResponse(id, 1, #tLines-1 , "")
        sampAddChatMessage("Finded text and press " .. #tLines-1 .. " line", -1)
      end
    end
Скажи что будет в чате
47135
 

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166

Firus20016

Участник
Автор темы
148
15
ты не сказал что стиль с заголовком. #tLines-2 делай, сработает
Поставил. Теперь #tLines-2 = 21 и когда завершается работа скрипта выходит предложение выгнать кого-то, но не кнопка далее :D
47141
 

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166

Firus20016

Участник
Автор темы
148
15
xd дичь конечно, а если - 3?
-3 выдает 20 строку. Я думаю это проблема в sampSendDialogResponse, если я меняю sampSendDialogResponse(id, 1, #tLines-3, "") на sampSendDialogResponse(id, 1, #tLines-3, -1), то мне предлагает выгнать игрока с ником -1. Видимо надо как то выбрать строку и нажать именно кнопку в диалоге или нажать ентер я хз.
 

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166
-3 выдает 20 строку. Я думаю это проблема в sampSendDialogResponse, если я меняю sampSendDialogResponse(id, 1, #tLines-3, "") на sampSendDialogResponse(id, 1, #tLines-3, -1), то мне предлагает выгнать игрока с ником -1. Видимо надо как то выбрать строку и нажать именно кнопку в диалоге или нажать ентер я хз.
ты не можешь отправлять в качестве текста -1. Это неправильно. Посылай пустую строку блин
 

Firus20016

Участник
Автор темы
148
15
ты не можешь отправлять в качестве текста -1. Это неправильно. Посылай пустую строку блин
если я пустую строку отправлю, то ничего особого не меняется) Мне предлагает выгнать игрока - 'пустую строку'. Мб можно как то спустится до 20 строки и нажать на неё без sampSendDialogResponse ?
 

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166
если я пустую строку отправлю, то ничего особого не меняется) Мне предлагает выгнать игрока - 'пустую строку'. Мб можно как то спустится до 20 строки и нажать на неё без sampSendDialogResponse ?
звучит бредово. Попробуй в тексте отправить nil