Детект строки | Маленькая задача хелп плиз

Ricardo_Miloss

Участник
Автор темы
40
3
Версия MoonLoader
Другое
[21:22:32] [Жалоба] от Аладдин Адидас[76]:{FFFFFF} яркий закат. Уже 1 жалоба!!!
Как задетектить эту строку? И получить с неё ид чела, помогите плиз, тупой чёт я совсем
 

bruskin

Участник
149
12
[21:22:32] [Жалоба] от Аладдин Адидас[76]:{FFFFFF} яркий закат. Уже 1 жалоба!!!
Как задетектить эту строку? И получить с неё ид чела, помогите плиз, тупой чёт я совсем
скриншотик строчки можно?
 

bruskin

Участник
149
12
Lua:
local sampev = require "lib.samp.events"

function sampev.onServerMessage(color, text)
    if text:find('[Жалоба] от (.*)')
        findedId = text:match('%d+')
    end
end
Lua:
local sampev = require "lib.samp.events"

function sampev.onServerMessage(color, text)
    if text:find('%[Жалоба%] от (.*)%[(.+)%]')
        nomynick, nomyid = text:match('%[Жалоба%] от (.*)%[(.+)%]')
    end
end

Балда я..
Lua:
local sampev = require "lib.samp.events"

function sampev.onServerMessage(color, text)
    for line in text:gmatch("[^\n]+") do
        if line:find("%[Жалоба%] от (.+)%[(.+)%]") then
            nomynick, nomyid = line:match("%[Жалоба%] от (.+)%[(.+)%]")
        end
    end
end
 

Ricardo_Miloss

Участник
Автор темы
40
3
Lua:
local sampev = require "lib.samp.events"

function sampev.onServerMessage(color, text)
    if text:find('%[Жалоба%] от (.*)%[(.+)%]')
        nomynick, nomyid = text:match('%[Жалоба%] от (.*)%[(.+)%]')
    end
end

Балда я..
Lua:
local sampev = require "lib.samp.events"

function sampev.onServerMessage(color, text)
    for line in text:gmatch("[^\n]+") do
        if line:find("%[Жалоба%] от (.+)%[(.+)%]") then
            nomynick, nomyid = line:match("%[Жалоба%] от (.+)%[(.+)%]")
        end
    end
end
надо чтобы обязательно чел писал "яркий закат" (
 

Ricardo_Miloss

Участник
Автор темы
40
3
Lua:
local name, id, reportCount = text:match('%[Жалоба%] от (.+)%[(%d+)%]:{FFFFFF} яркий закат%. Уже (%d+) жалоба!!!')
Lua:
local samp = require 'samp.events'
local hookDialog = false
local act = false

local playerArr = {};


function samp.onServerMessage(color, text)
      lua_thread.create(function()
            wait(0)
            
            for k, v in ipairs(playerArr) do
                if playerNick == v then
                    return
                end
            end
              if text:find('%[Жалоба%] от (.+)%[(%d+)%]:{FFFFFF} яркий закат%. Уже (%d+) жалоба!!!') then
                local nick, id, reportCount = text:match('%[Жалоба%] от (.+)%[(%d+)%]:{FFFFFF} яркий закат%. Уже (%d+) жалоба!!!')
                nick = playerNick
                sampSendChat("/pm " ..id.." Держи золотишка и прокачай как надо.")
                table.insert(playerArr, playerNick)
            end

    end)
end
Еще такой вопрос, если можно, надо чтобы оно срабатывало только один раз, далее ник запоминало и не работало больше если есть ник в массиве, сделал так, но не работает(
 

MrDorlik

Известный
972
392
local nick, id, reportCount = text:match('%[Жалоба%] от (.+)%[(%d+)%]:{FFFFFF} яркий закат%. Уже (%d+) жалоба!!!')
nick = playerNick
??? Ты получил nick, и потом перезаписываешь nick какой-то другой переменной, в итоге у тебя в обеих переменных 0 стоит
 

Ricardo_Miloss

Участник
Автор темы
40
3
??? Ты получил nick, и потом перезаписываешь nick какой-то другой переменной, в итоге у тебя в обеих переменных 0 стоит
то есть если сразу PlayerNick давать в локал то будет работать?