сделать обратный додж по примеру луа скрипта

kee

Известный
Автор темы
192
11
короче вот код скрипта снизу, я взял чей-то исходник и проработал его под сервер. короче, суть его в том, что он изначально кидает весь чат в сампфункс консоль, но в его конце есть додж, который будет оставлять разные сообщения по цвету или по тексту в обычном чате. вопрос: как сделать обратный додж, как добавить еще один пункт в коде где я могу как раз таки кидать любые сообщения по коду или тексту, что я захочу в сам сампфункс (я ваще не разбираюсь в луа скриптинге поэтому прошу помощи че да как куда писать)
например: у меня стоит додж из сампфункса в обычный чат по цвету or tostring(bit.tohex(c)) == 'c2a2daff' (это цвет отыгровок /me), НО в этом цвете могут прилетать в чат сообщения что мне не нужны в обычном чате, так я хочу сделать отдельный додж, отдельную функцию, которая будет как раз таки кидать сообщения которые я захочу в сампфункс (отсюда и название что обнатный додж)
Код:
require 'lib.moonloader'
local e = require 'lib.samp.events'
local status = false
function main()
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('rp', function() status = not status printStringNow(status and 'RPChat ~g~ON' or 'RPChat ~r~OFF', 1000) end)
    sampRegisterChatCommand('cc', function() for i = 1, 99 do sampAddChatMessage('', -1) end end)
    wait(-1)
end
function e.onServerMessage(color, text)
    if status then
        sampfuncsLog(string.format('{%s}[%s] %s', tostring(bit.tohex(color)):sub(1, 6), os.date('%X'), text))
        if text:find('((', 1, true) or text:find('))', 1, true) or text:find('SMS:') then
            if tostring(bit.tohex(color)) ~= 'e75480ff' and tostring(bit.tohex(color)) ~= '6699ffaa' then
                addOneOffSound(0, 0, 0, 1138)
                return false
            end
        end
        if not isRolePlay(color, text) then return false end
    end
end
function isRolePlay(c, t)
    return tostring(bit.tohex(c)) == 'e75480ff'
    or tostring(bit.tohex(c)) == 'c2a2daff'
    or tostring(bit.tohex(c)) == '4dc9c9ff'
    or tostring(bit.tohex(c)) == 'BB6666FF'
    or t:find('сказал:', 1, true)
or t:find('крикнул:', 1, true)
or t:find('по телефону:', 1, true)
end

на конкретном примере это выглядит так:

1639248447042.png

у сервера есть системная хуйня что когда отправляешь смску то приходит ненужная отыгровка, которую никак не отключить и которые разрабы не собираются удалять.
из моего скрипта следует, что обычные отыгровки, которые я специально оставляю в чате функцией, такого же цвета с этой ненужной спамящейся поеботой.
вопрос: как сделать исходя из всего скрипта функцию, которая обратно будет кидать такие сообщения в консоль? (желательно не толкьо это одно сообщение, а любое, которое я впишу на примере с функцией выноса из консоли)
 
Последнее редактирование: