[Dialog] Нужно, чтоб находилась нужная строка в диалоге.

Tranzit

Известный
Автор темы
269
154
Версия MoonLoader
.026-beta
Привяу!
Знатоки, помогите пожалуйста. Я сделал имгуи-окно с выбором предметов, и при выборе, например металла, нужно чтобы строка с металлом находилась и автоматически выбиралась, думаю вы поняли. Вот скрин диалога
1587132122047.png
Спасибо)
А и еще. Нужно, чтобы потом в выборе кол-ва и цены вводилось количество предмета из строки "В наличии"
Up
 
Последнее редактирование:
Решение
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if text:find('Бронза') then
        vsego = text:match('Бронза (%d+) шт.')
    end
    local count = 0
    for n in text:gmatch('[^\r\n]+') do
        if n:find('Бронза') then
            sampSendDialogResponse(dialogId, 1, count, vsego)
        end
        count = count + 1
    end
end

Tranzit

Известный
Автор темы
269
154
Lua:
local count = 0
require('samp.events').onShowDialog = function(dialogId, style, title, button1, button2, text)
    for n in text:gmatch('[^\r\n]+') do
        if n:find('Металл') then
            sampSendDialogResponse(dialogId, -1, count, '')
        end
        count = count + 1
    end
end
нее, я имею ввиду, что типа металла 176, нужно чтоб ввелось 176
 

andrey_hacker

Известный
274
88
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if text:find('Бронза') then
        vsego,vistavleno = text:match('Бронза (%d+) шт. (%d+)')
    end
end
Вроде должно работать
а как сделать, чтоб выбиралась строка с бронзой например?
 
  • Нравится
Реакции: Tranzit

Tranzit

Известный
Автор темы
269
154
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if text:find('Бронза') then
        vsego,vistavleno = text:match('Бронза (%d+) шт. (%d+)')
    end
end
Вроде должно работать
я чет не совсем понял) можешь плиз полный код дать?
ааа, доперло
только вот как серверу послать именно выбор строки с бронзой??
 

andrey_hacker

Известный
274
88
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if text:find('Бронза') then
        vsego = text:match('Бронза (%d+) шт.')
    end
    local count = 0
    for n in text:gmatch('[^\r\n]+') do
        if n:find('Бронза') then
            sampSendDialogResponse(dialogId, 1, count, vsego)
        end
        count = count + 1
    end
end
 
  • Нравится
Реакции: Tranzit