Даже если ты так думаешь, тебе стоит всё равно скидывать всё полностью - весь лог и весь код, но ты же ничего не скинул. Тут телепаты не водятся.
Если в логе написано script terminated, то он и не будет работать, ты должен заморозить главный поток любым способом.
Еще одна причина, почему может не работать - кодировка. Ты должен сохранить луа файл в кодировке windows1251 (cp1251, ansi, ...), если работаешь с кириллицей.
это работает:
local sampev = require 'lib.samp.events'
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
sampAddChatMessage('тестовый скрипт загружен', -1)
wait(-1) -- замораживаем поток, чтобы скрипт продолжил работу
end
function sampev.onServerMessage(color, text)
if text:find('Привет') then -- чувствителен к регистру
sampAddChatMessage('какая-то строка была только что перехвачена, содержимое: ' .. text, -1) -- для отладки
return false -- блокируем дальнейшую обработку клиентом
end
end
приложил файл, сохраненный уже в правильной кодировке
upd: после загрузки файла сюда он перекодировался в maccyrillic, хз в чем прикол (upd 2: а не, это после сохранения, опять же хз в чем прикол)
в общем, как сменить кодировку:
в Notepad++ в меню выбрать Кодировка > Конвертировать в ANSI, после чего не забыть сохранить файл.
В VSCode справа внизу нажать на название кодировки (UTF-8, Windows 1251 и т.п.), нажать "Сохранить в кодировке" и выбрать Cyrillic (Windows 1251)
еще лучше пройти в настройки VSCode и выбрать кодировку по умолчанию как windows1251 и включить автоугадывание кодировки (Настройки > Текстовый редактор > Файлы)