- 24
- 9
- 3
1) Ваш NickName: Sabbath_Massacre
2) Подробное описание вашего предложения:
В меню есть прекрасная настройка, которая может отключать ненужные сообщения в чате.

Но к сожалению нет возможности убрать ООС сообщения из чата, которые выделяются скобками (( )).
Понятное дело там может быть информации об откате или объяснения в рации по поводу системных тонкостей мода, и как то сервером скрывать их было бы неразумно так как сообщениям сохраняться негде и скорее всего они бы удалялись бесследно.
Но есть одно прекрасное решение.
Есть луа скрипт, он запускается, но работает не так как надо. Его бы доделать, но я не понимаю этот эльфийский язык.
Его бы чуть чуть доработать под пирс и добавить в сборку лаунчера. По задумке он должен переносить все сообщения, которые выделяются (( )) из чата на экране в консоль SAMPFUNCS`a.
Сейчас этот скрипт переносит либо все сообщения из чата в консоль со звуковым сигналом, либо не те которые надо. /me он оставляет в чате.
Он должен работать следующим образом: Если в строчке чата появляется сообщение которые содержит эти скобочки (( )) то скрипт удаляет эту строчку и переносит в консоль SAMPFUNCS`a в нетронутом виде. Переносит он со звуковым сигналом который берётся из игры по id звука самой игры, то есть дополнительных звуковых файлов не нужно для работы скрипта.

Включается и выключается он командой /rpchat. Так же в нём есть очистка чата, её лучше бы вырезать от туда, да она и так не работает в нём.


3) Чем ваше предложение поможет проекту или игрокам:
- Меньше ООС сообщений в чате, в рации.
- Можно играть только по IC информации, не отвлекаясь на ООС сообщения.
4) Примеры и концепты для реализации идеи:
1. Скрипт включается и выключается командой /rpchat
2. Если в чат приходит сообщение которое содержит в себе скобочки (( )), то оно удаляется из чата со звуковым сигналом.
4. Удалённая из чата строка переносится в консоль SAMPFUNCS`a.
5. Добавить исключение на слова, что бы ОСС сообщения об откате оставались в основном чате:
- (( Откат ))
- (( ОТКАТ ))
- (( откат ))
- (( ! ))
2) Подробное описание вашего предложения:
В меню есть прекрасная настройка, которая может отключать ненужные сообщения в чате.

Но к сожалению нет возможности убрать ООС сообщения из чата, которые выделяются скобками (( )).
Понятное дело там может быть информации об откате или объяснения в рации по поводу системных тонкостей мода, и как то сервером скрывать их было бы неразумно так как сообщениям сохраняться негде и скорее всего они бы удалялись бесследно.
Но есть одно прекрасное решение.
Есть луа скрипт, он запускается, но работает не так как надо. Его бы доделать, но я не понимаю этот эльфийский язык.
Его бы чуть чуть доработать под пирс и добавить в сборку лаунчера. По задумке он должен переносить все сообщения, которые выделяются (( )) из чата на экране в консоль SAMPFUNCS`a.
Код:
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
-- Обрати внимание на добавленный кусок кода.
if text:find("достал из кармана телефон и отправил sms") or
text:find("ДРУГОЙ ТЕКСТ")
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
Код:
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 string.find(text, '%(%(', 1, true) or string.find(text, '%)%)', 1, true) or string.find(text, 'Ответ от администратора') then
if tostring(bit.tohex(color)) ~= 'e75480ff' and tostring(bit.tohex(color)) ~= '6699ffaa' then
addOneOffSound(0, 0, 0, 1138)
return false
end
end
return not(isRolePlay(color, text))
end
end
local TalbeColor = {
'e75480ff',
'e6e6e6e6',
'6e6e6e6e',
'8c8c8c8c',
'aaaaaaaa',
'00c6ffff',
'c8c8c8c8',
'ffff00aa', -- мегафон
'ff9945aa', -- микрофон
'ffffccaa', -- /r
'e6e6b8aa', -- /rr
}
function isRolePlay(c, t)
for i = 1, #TalbeColor do
if tostring(bit.tohex(c)) == TalbeColor[i] then
return true
end
end
return string.find(t,'[Телефон]', 1, true) or string.find(t, '[Дверь]', 1, true)
end
Сейчас этот скрипт переносит либо все сообщения из чата в консоль со звуковым сигналом, либо не те которые надо. /me он оставляет в чате.
Он должен работать следующим образом: Если в строчке чата появляется сообщение которые содержит эти скобочки (( )) то скрипт удаляет эту строчку и переносит в консоль SAMPFUNCS`a в нетронутом виде. Переносит он со звуковым сигналом который берётся из игры по id звука самой игры, то есть дополнительных звуковых файлов не нужно для работы скрипта.

Включается и выключается он командой /rpchat. Так же в нём есть очистка чата, её лучше бы вырезать от туда, да она и так не работает в нём.


3) Чем ваше предложение поможет проекту или игрокам:
- Меньше ООС сообщений в чате, в рации.
- Можно играть только по IC информации, не отвлекаясь на ООС сообщения.
4) Примеры и концепты для реализации идеи:
1. Скрипт включается и выключается командой /rpchat
2. Если в чат приходит сообщение которое содержит в себе скобочки (( )), то оно удаляется из чата со звуковым сигналом.
4. Удалённая из чата строка переносится в консоль SAMPFUNCS`a.
5. Добавить исключение на слова, что бы ОСС сообщения об откате оставались в основном чате:
- (( Откат ))
- (( ОТКАТ ))
- (( откат ))
- (( ! ))
Последнее редактирование: