Берешь и делаешь проверку по текстбуфферу:
ev = require 'samp.events'
function ev.onServerMessage(clr, msg)
if msg:match(textbuffer.v) then
msg = msg:match(textbuffer.v)
sampSendChat('/sms '..msg..' hello')
end
end
Но лучше искать строку без ника.
Такое уже есть, но если нужно именно на луа, то вот :
ev = require('samp.events')
function main()
repeat wait(0) until isSampAvailable()
sampRegisterChatCommand('repeat', function(id)
if id ~= nil then
name = sampGetPlayerNickname(id)
sampAddChatMessage('повторяем за '..name..'['..id..']', -1)
else
sampAddChatMessage('айди напиши', -1)
end
end); wait(-1)
end
function ev.onServerMessage(clr, msg)
if msg:match('говорит: .+') then
nick = msg:match('(.+)%[.-%]')
if nick == name then
text = msg:match('говорит: .+')
text = string.gsub(text, 'говорит:', '')
sampSendChat(text)
end
end
end
Хз где работать будет, на аризоне точно, подгонишь под себя.