Число из диалога | RakSamp

skatesss

Новичок
Автор темы
13
1
Версия SA-MP
  1. Любая
Всем привет, помогите пожалуйста
Не могу достать число из диалога
[22:08:38.189] ============= DIALOG =============
[22:08:38.192] "{BFBBBA}Продажа предмета"[3082] - 0 Style
[22:08:38.194]
[22:08:38.194] {FFFFFF}Предмет: {FF332C}Гражданский талон{ffffff}
[22:08:38.207] {FFFFFF}Количество данного предмета на сервере: {FFFF00}10000+ (нередкий){FFFFFF}
[22:08:38.209] {ffffff}Можно хранить в одной ячейке: {cccccc}1000 ед. предмета.
[22:08:38.212] {67BE55}
[22:08:38.212] Игрок покупает: 2000 шт.
[22:08:38.215] У вас в наличии: 43 шт.
[22:08:38.216] Стоимость: $10 за 1 шт.
[22:08:38.218]
[22:08:38.219] [Продать] [Отмена]
[22:08:38.221] ==================================

Мне нужно достать число после "У вас в наличии:", то есть 43

Пытался сделать так:
Код:
if title:find("Продажа предмета") then
    for line in text:gmatch("[^\r\n]+") do
        if line:find("У вас в наличии:") then
                grajdanki= string.match("У вас в наличии: (%d+)")
                print(grajdanki)
                sendDialogResponse(id, 1, 0, grajdanki)
        end
    end
end

Безуспешно(
 
Последнее редактирование:
Решение
Lua:
local sampev = require('samp.events')
function sampev.onShowDialog(id, style, title, btn1, btn2, text)
    -- [22:08:38.192] "{BFBBBA}Продажа предмета"[3082] - 0 Style
    -- [22:08:38.212] Игрок покупает: 2000 шт.
    if title:find('Продажа предмета') then
        for line in text:gmatch("[^\n]+") do
            if (line:find('Игрок покупает')
            and line:find('(%d+) шт')) then
                MyNumber = line:match('(%d+) шт')
                print('Игрок покупает: ' .. MyNumber)
            end
        end
    end
end

фидарза

Известный
349
199
Lua:
local sampev = require('samp.events')
function sampev.onShowDialog(id, style, title, btn1, btn2, text)
    -- [22:08:38.192] "{BFBBBA}Продажа предмета"[3082] - 0 Style
    -- [22:08:38.212] Игрок покупает: 2000 шт.
    if title:find('Продажа предмета') then
        for line in text:gmatch("[^\n]+") do
            if (line:find('Игрок покупает')
            and line:find('(%d+) шт')) then
                MyNumber = line:match('(%d+) шт')
                print('Игрок покупает: ' .. MyNumber)
            end
        end
    end
end
 
  • Нравится
Реакции: skatesss