Чат

monster595

Участник
Автор темы
34
0
Как блокировать некоторые сообщения в чате? к примеру обычную фракционную рацию?
 

asdzxcjqwe

¯\_(ツ)_/¯
Друг
621
705
Все присутствует
Даже если ты так думаешь, тебе стоит всё равно скидывать всё полностью - весь лог и весь код, но ты же ничего не скинул. Тут телепаты не водятся.
Если в логе написано script terminated, то он и не будет работать, ты должен заморозить главный поток любым способом.
Еще одна причина, почему может не работать - кодировка. Ты должен сохранить луа файл в кодировке windows1251 (cp1251, ansi, ...), если работаешь с кириллицей.

это работает:
Lua:
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, после чего не забыть сохранить файл.
3s3XBOU.png


В VSCode справа внизу нажать на название кодировки (UTF-8, Windows 1251 и т.п.), нажать "Сохранить в кодировке" и выбрать Cyrillic (Windows 1251)
XblSWvy.png

NsTLTs1.png


еще лучше пройти в настройки VSCode и выбрать кодировку по умолчанию как windows1251 и включить автоугадывание кодировки (Настройки > Текстовый редактор > Файлы)
 

Вложения

  • test.lua
    610 байт · Просмотры: 10
Последнее редактирование:

monster595

Участник
Автор темы
34
0
Даже если ты так думаешь, тебе стоит всё равно скидывать всё полностью - весь лог и весь код, но ты же ничего не скинул. Тут телепаты не водятся.
Если в логе написано script terminated, то он и не будет работать, ты должен заморозить главный поток любым способом.
Еще одна причина, почему может не работать - кодировка. Ты должен сохранить луа файл в кодировке windows1251 (cp1251, ansi, ...), если работаешь с кириллицей.

это работает:
Lua:
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, после чего не забыть сохранить файл.
3s3XBOU.png


В VSCode справа внизу нажать на название кодировки (UTF-8, Windows 1251 и т.п.), нажать "Сохранить в кодировке" и выбрать Cyrillic (Windows 1251)
XblSWvy.png

NsTLTs1.png


еще лучше пройти в настройки VSCode и выбрать кодировку по умолчанию как windows1251 и включить автоугадывание кодировки (Настройки > Текстовый редактор > Файлы)
Действительно дело было в кодировке