mirror of
https://github.com/edubart/otclient.git
synced 2025-10-15 03:54: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 @@
|
||||
SpeakTypesSettings = {
|
||||
none = {},
|
||||
say = { speakType = MessageModes.Say, color = '#FFFF00' },
|
||||
whisper = { speakType = MessageModes.Whisper, color = '#FFFF00' },
|
||||
yell = { speakType = MessageModes.Yell, color = '#FFFF00' },
|
||||
@@ -31,6 +32,11 @@ SpeakTypes = {
|
||||
[MessageModes.ChannelHighlight] = SpeakTypesSettings.channelOrange,
|
||||
[MessageModes.MonsterSay] = SpeakTypesSettings.monsterSay,
|
||||
[MessageModes.MonsterYell] = SpeakTypesSettings.monsterYell,
|
||||
|
||||
-- ignored types
|
||||
[MessageModes.Spell] = SpeakTypesSettings.none,
|
||||
[MessageModes.BarkLow] = SpeakTypesSettings.none,
|
||||
[MessageModes.BarkLoud] = SpeakTypesSettings.none,
|
||||
}
|
||||
|
||||
SayModes = {
|
||||
@@ -454,16 +460,21 @@ function onTalk(name, level, mode, message, channelId, creaturePos)
|
||||
speaktype = SpeakTypes[mode]
|
||||
|
||||
if not speaktype then
|
||||
perror('unhandled onTalk message mode ' .. mode)
|
||||
perror('unhandled onTalk message mode ' .. mode .. ': ' .. message)
|
||||
return
|
||||
end
|
||||
|
||||
if speaktype == SpeakTypesSettings.none then return end
|
||||
|
||||
if speaktype.hideInConsole then return end
|
||||
|
||||
local composedMessage = applyMessagePrefixies(name, level, message)
|
||||
|
||||
if speaktype.private then
|
||||
addPrivateText(composedMessage, speaktype, name, false, name)
|
||||
if Options.getOption('showPrivateMessagesOnScreen') and speaktype.speakType ~= SpeakPrivateNpcToPlayer then
|
||||
modules.game_textmessage.displayPrivateMessage(name .. ':\n' .. message)
|
||||
end
|
||||
else
|
||||
local channel = tr('Default')
|
||||
if not defaultMessage then
|
||||
|
Reference in New Issue
Block a user