mirror of
https://github.com/edubart/otclient.git
synced 2025-10-14 19:44:54 +02:00
Implement message modes for 9.6
Fix possible crash when closing otclient Fix private messages Fix messages in 9.6
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
MessageSettings = {
|
||||
none = {},
|
||||
consoleRed = { color = TextColors.red, consoleTab='Default' },
|
||||
consoleOrange = { color = TextColors.orange, consoleTab='Default' },
|
||||
consoleBlue = { color = TextColors.blue, consoleTab='Default' },
|
||||
@@ -24,6 +25,25 @@ MessageTypes = {
|
||||
[MessageModes.Red] = MessageSettings.consoleRed,
|
||||
[MessageModes.Blue] = MessageSettings.consoleBlue,
|
||||
[MessageModes.PrivateFrom] = MessageSettings.consoleBlue,
|
||||
|
||||
[MessageModes.DamageDealed] = MessageSettings.status,
|
||||
[MessageModes.DamageReceived] = MessageSettings.status,
|
||||
[MessageModes.Heal] = MessageSettings.status,
|
||||
[MessageModes.Exp] = MessageSettings.status,
|
||||
|
||||
[MessageModes.DamageOthers] = MessageSettings.none,
|
||||
[MessageModes.HealOthers] = MessageSettings.none,
|
||||
[MessageModes.ExpOthers] = MessageSettings.none,
|
||||
|
||||
[MessageModes.TradeNpc] = MessageSettings.centerWhite,
|
||||
[MessageModes.Guild] = MessageSettings.centerWhite,
|
||||
[MessageModes.PartyManagement] = MessageSettings.centerWhite,
|
||||
[MessageModes.TutorialHint] = MessageSettings.centerWhite,
|
||||
[MessageModes.Market] = MessageSettings.centerWhite,
|
||||
[MessageModes.BeyondLast] = MessageSettings.centerWhite,
|
||||
[MessageModes.Report] = MessageSettings.consoleRed,
|
||||
[MessageModes.HotkeyUse] = MessageSettings.centerGreen,
|
||||
|
||||
[254] = MessageSettings.private
|
||||
}
|
||||
|
||||
@@ -37,7 +57,6 @@ end
|
||||
|
||||
function terminate()
|
||||
disconnect(g_game, 'onTextMessage', displayMessage)
|
||||
disconnect(g_game, 'onPrivateTalk', onPrivateTalk)
|
||||
disconnect(g_game, 'onGameEnd',clearMessages)
|
||||
clearMessages()
|
||||
messagesPanel:destroy()
|
||||
@@ -53,10 +72,12 @@ function displayMessage(mode, text)
|
||||
local msgtype = MessageTypes[mode]
|
||||
|
||||
if not msgtype then
|
||||
perror('unhandled onTextMessage message mode ' .. mode)
|
||||
perror('unhandled onTextMessage message mode ' .. mode .. ': ' .. text)
|
||||
return
|
||||
end
|
||||
|
||||
if msgtype == MessageSettings.none then return end
|
||||
|
||||
if msgtype.consoleTab ~= nil and (msgtype.consoleOption == nil or Options.getOption(msgtype.consoleOption)) then
|
||||
modules.game_console.addText(text, msgtype, tr(msgtype.consoleTab))
|
||||
--TODO move to game_console
|
||||
@@ -72,6 +93,10 @@ function displayMessage(mode, text)
|
||||
end
|
||||
end
|
||||
|
||||
function displayPrivateMessage(text)
|
||||
displayMessage(254, text)
|
||||
end
|
||||
|
||||
function displayStatusMessage(text)
|
||||
displayMessage(MessageModes.Status, text)
|
||||
end
|
||||
@@ -88,9 +113,3 @@ function clearMessages()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function onPrivateTalk(code, text, speaker, speakerlevel, statmentid)
|
||||
if Options.getOption('showPrivateMessagesOnScreen') then
|
||||
displayMessage(254, speaker .. ':\n' .. text)
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user