Тип сообщения от скрипта (onSystemMessage)

Статус
В этой теме нельзя размещать новые ответы.

donaks.

Активный
Автор темы
101
67
Версия MoonLoader
.026-beta
Здравствуйте. Хотелось бы узнать, как вывести сообщение в moonloader.log с определённым типом (префиксом). Иными словами, мне нужно, чтобы в логе мунлоадера выводились типы моих сообщения: дебаг, варн, экскепшн и т.п. Полный список префиксов можно найти в moonloader.lua:
moonloader.lua:
-- Message Prefix Types
TAG = {
    TYPE_INFO = 1,
    TYPE_DEBUG = 2,
    TYPE_ERROR = 3,
    TYPE_WARN = 4,
    TYPE_SYSTEM = 5,
    TYPE_FATAL = 6,
    TYPE_EXCEPTION = 7
}

Я пытался это реализовать с помощью функции "log_message" в "SF Integration.lua", но понял, что она выводит сообщение только в лог сампфункса, но не в лог муна. В том же скрипте обнаружил хендлер onSystemMessage(string msg, int type, LuaScript s), но не пойму как вызвать функцию, на которую он триггерится. В самом "SF Integration.lua" при выводе ошибки в чат, используется та же функция: обработчик события вызывает событие. Но используя такой метод, сообщение не сохранится в moonloader.log.

Немного о возражении против такой затеи в принципе: мол есть префикс "script", который вмещает в себя все сообщения от скриптов, которые были сделаны с помощью print, а остальные сообщение с префиксом должны использоваться только мунлоадером. Да, префикс "script" действительно есть, а типы сообщений используется мунлоадером. Но всё же хотелось бы сделать взять эту фичу у мунлоадера и сделать более красивый вывод сообщений. Тем более он ничему не помешает, ведь сообщений мунлоадер отправляет достаточно мало, все они однотипные и нет такого, что можно в них заблудиться (более того, некоторые из них даже муном не используются: 4 и 6 например). И даже если вы пользуетесь дебаг сообщениями в логе сампфункса (в чём я очень сильно сомневаюсь, ведь для этого нужно изменить значение переменной logDebugMessages на true в "SF Integration.lua"), дебаг сообщения от скрипта можно отличать по наличию названия этого скрипта перед сообщением.
 
Последнее редактирование:

paulohardy

вы еще постите говно? тогда я иду к вам
Всефорумный модератор
1,907
1,283
И даже если вы пользуетесь дебаг сообщениями в логе сампфункса (в чём я очень сильно сомневаюсь, ведь для этого нужно изменить значение переменной logDebugMessages на true в "SF Integration.lua"), дебаг сообщения от скрипта можно отличать по наличию названия этого скрипта перед сообщением.
тег debug предназначен для служебных сообщений, от значения logDebugMessages зависит лишь вывод этих сообщений в консоль SF, в moonloader.log они все равно пишутся
Но всё же хотелось бы сделать взять эту фичу у мунлоадера и сделать более красивый вывод сообщений
красивый это какой? если в print тебе мешает [ML] (%msg_type%) %script_name%:, то используй \n перед текстом
 

donaks.

Активный
Автор темы
101
67
красивый это какой?
Красивый - это вывод с тегом (дебаг/варнинг/экскепшн) и с отдельным цветом для этого тега в консоле сф.
тег debug предназначен для служебных сообщений
Я в курсе. Я и хочу выводить служебные сообщения скрипта, а в print'е нет разделения на типы сообщений.
если в print тебе мешает [ML] (%msg_type%) %script_name%:, то используй \n перед текстом
Мне не мешает это, наоборот, я хочу расширить функционал print'a, добавив возможность указывать %msg_type%. Я не хочу, чтобы вывод всех сообщений был с типом "script" (отображающийся зелёным цветом в консоле сф).
 

paulohardy

вы еще постите говно? тогда я иду к вам
Всефорумный модератор
1,907
1,283
Красивый - это вывод с тегом (дебаг/варнинг/экскепшн) и с отдельным цветом для этого тега в консоле сф
функция sampfuncsLog позволяет это сделать, чем так принципиально важен вывод в moonloader.log?
нужно красиво для себя или вообще? если вообще, то кому это кроме тебя нужно будет? если для себя, то можешь хоть собственную консоль написать
Я в курсе. Я и хочу выводить служебные сообщения скрипта, а в print'е нет разделения на типы сообщений.
служебные сообщения скрипта это не служебные сообщения мунлоадера, именно для них выделен тег(инициализация плагина/информация о загруженном скрипте)
Мне не мешает это, наоборот, я хочу расширить функционал print'a, добавив возможность указывать %msg_type%. Я не хочу, чтобы вывод всех сообщений был с типом "script" (отображающийся зелёным цветом в консоле сф).
возможность выбора типа сообщений не предусмотрена, все что выводит скрипт использует тег (script)
изменения внесенные в sf integration.lua никак не повлияют на формат вывода в moonloader.log
 
  • Нравится
Реакции: FYP
Статус
В этой теме нельзя размещать новые ответы.