Вопрос по скрипту

bruskin

Участник
Автор темы
151
14
Версия MoonLoader
Другое
Мне нужно чтобы когда человек писал "дебил", "дурак" и т.п. в чате появилась красная строка с предложением написать команду /mute [id этого игрока] 10 Неадекват. Подскажите как это сделать
 

Vespan

loneliness
Проверенный
2,140
1,783
Подскажите как это сделать
Lua:
events = require 'samp.events'
events.onServerMessage(color, text)
    for k,v in pairs({
        'еблан',
        'dolboen'
    }) do
    if text:find(v) then
        --если нашло сообщение

    end
end
hooks

получить айди-ник и так далее из текста через string.match

текст в чат
 

Vespan

loneliness
Проверенный
2,140
1,783
А если мне нужено ещё чтоб он id узнал, как сделать?
1682766983633.png
 

bruskin

Участник
Автор темы
151
14
Посмотреть вложение 199651
а если мне надо чтоб он искал слова в разных сообщениях (к примеру: в 1 сообщении привет, в другой пока), что писать?

Посмотреть вложение 199651
будет ли такой код верным?
Lua:
events = require 'samp.events'
events.onServerMessage(color, text)
    for k,v in pairs({
        'еблан',
        'dolboen'
    }) do
    if text:find(v) then
        if text:find("- (.+) ((.+)%[(%d+)%])") then
        nick, id, message = text:match("(.+)%[(%d+)%] говорит: (.+)")
        print(id)
        sampAddChatMessage(id, 0xFFFF00)
    end
    end
end

Сообщение: - dolboen (Test_Test[1])
 
Последнее редактирование:

Vespan

loneliness
Проверенный
2,140
1,783
Lua:
events = require 'samp.events'
function events.onServerMessage(color, text)
    for k,v in pairs({
        'еблан',
        'dolboen'
    }) do
    if text:find(v) then
        if text:find("%- (.+) %(%S+)%[(%d+)%]%)") then
            local nick, id, message = text:match("%- (.+) %(%S+)%[(%d+)%]%)")
            print(id)
            sampAddChatMessage(tostring(id), 0xFFFF00)
        end
    end
end
 

bruskin

Участник
Автор темы
151
14
Lua:
events = require 'samp.events'
function events.onServerMessage(color, text)
    for k,v in pairs({
        'еблан',
        'dolboen'
    }) do
    if text:find(v) then
        if text:find("%- (.+) %(%S+)%[(%d+)%]%)") then
            local nick, id, message = text:match("%- (.+) %(%S+)%[(%d+)%]%)")
            print(id)
            sampAddChatMessage(tostring(id), 0xFFFF00)
        end
    end
end
Мне надо чтоб сообщение реагировало так на на сообщение:
- dolboen {FFFFFF}(Mark_Bruskin)[60]