забрать определенную часть из текста чата

plohoy.

Известный
Автор темы
109
25
Версия MoonLoader
.026-beta
В чат пишется текст "Nick_Name купил у вас Семейный талон (1 шт.), вы получили $960 от продажи (комиссия 4 процент(а))".
Из этого текста необходимо забрать только "Семейный талон (1 шт.)", чтобы в дальнейшем это использовать.
Вместо ника, семейного талона, кол-ва и цены могут быть другие значения.
(к примеру "Vasya_Pupkin купил у вас Чипсы (5 шт.), вы получили $131260 от продажи (комиссия 4 процент(а))"
 

Sidney31

Известный
1,116
383
attempt to index global 'text' (a nil value)
stack traceback:
ну блин
Lua:
function sampev.onServerMessage(color, text)
    if text:find(" купил у вас .-, вы получили") then
        local item = text:match(" купил у вас (.-), вы получили")
    end
end

а вверху скрипта впихни это local sampev = require 'lib.samp.events'
 

Dmitriy Makarov

25.05.2021
Проверенный
2,513
1,140
Lua:
local sampev = require 'lib.samp.events'

function sampev.onServerMessage(color, text)
    if text:find(".- купил у вас (.+) %((%d+) шт.%), вы получили %$%d+ от продажи %(комиссия %d+ процент%(а%)%)") then
        local item, count = text:match(".- купил у вас (.+) %((%d+) шт.%), вы получили %$%d+ от продажи %(комиссия %d+ процент%(а%)%)")
        sampAddChatMessage(item.." "..count, -1)
    end
end
1653839954259.png

Если не выведет, то попробуй задержку поставить в потоке перед выводом.