[OtClient] Mensagem Personalizada

Gengo
Por Gengo
em Tutoriais de Clients

Gengo

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 10/03/13Posts: 177Gênero: MasculinoChar no Tibia: stor akia

 

Hoje venho trazer um sistema que pode deixar seu servidor com um diferencial dos demais, espero que vocês possam aprender algo com esse sistema e criar outros tipos de personalização nas mensagens.

 

 

O que seria essa personalização?

Seria uma personalização da mensagem do broadcast, em vez de ficar aquela mensagem vermelha no meio da tela, você pode escolher sua própria cor para a mensagem, no fim do tópico demonstrarei com imagens para que você possa entender melhor.

 

 

Script:
Procure pela pasta no seu otclient em modules/game_textmessage e abra o arquivo textmessage.otui e substitua por esse:

Spoiler
TextMessageLabel < UILabel
  font: verdana-11px-rounded
  text-align: center
  text-wrap: true
  text-auto-resize: true
  margin-bottom: 2
  visible: false

Panel
  anchors.fill: gameMapPanel
  focusable: false

  Panel
    id: centerTextMessagePanel
    layout:
      type: verticalBox
      fit-children: true
    width: 360
    anchors.centerIn: parent

    TextMessageLabel
      id: highCenterLabel
    TextMessageLabel
      id: middleCenterLabel
    TextMessageLabel
      id: lowCenterLabel

  TextMessageLabel
    id: privateLabel
    anchors.top: parent.top
    anchors.bottom: centerTextMessagePanel.top
    anchors.horizontalCenter: parent.horizontalCenter
    text-auto-resize: false
    width: 275

  TextMessageLabel
    id: statusLabel
    anchors.bottom: parent.bottom
    anchors.left: parent.left
    anchors.right: parent.right

  TextMessageLabel
    id: customMessage
    height: 32
    anchors.top: parent.top
    anchors.horizontalCenter: parent.horizontalCenter
    background-color: #00000890
    border: 1 #cc0c0c
    margin-top: 80
    text-auto-resize: false
    text-wrap: false

 

 

Agora na mesma pasta abra o arquivo textmessage.lua e procure pela função displayMessage e debaixo de:

if msgtype == MessageSettings.none then return end

Coloque o seguinte script:

Spoiler
  if mode == MessageModes.Warning then
	local label = messagesPanel:recursiveGetChildById('customMessage')
	local color = msgtype.color
	
	if ( text:find('|') ) then
		color = text:explode('|')[1]
		text  = text:explode('|')[2]
	end

	label:setText(text)
	label:setColor(color)
	label:setBorderColor(color)
	label:setWidth(label:getTextSize().width+110)
	label:show()
	
	addEvent(function() g_effects.fadeIn(label, 250) end)
    removeEvent(label.hideEvent)
    label.hideEvent = scheduleEvent(function() 
		addEvent(function() g_effects.fadeOut(label, 250) end)
		scheduleEvent(function() label:hide() end, 250) 
	end, calculateVisibleTime(text))
	return 
  end

 

 

 

 Feito essas alterações a personalização já deve estar funcionando, para testar você pode utilizar o seguinte comando:
 

/bc green | O torneio mundial da Elite Four se iniciará em 15min.

 Onde /bc é o comando broadcast 

 green é a cor que deseja personalizar, pode ser tanto em hexa como o nome da cor 

 mensagem qualquer
 É necessário colocar o pipeline |  caso queira colocar uma outra cor, senão ele assumirá como padrão a cor vermelha do broadcast.

 

Caso você não tenha o script do broadcast, porem é impossivel não ter já que é padrão nos servidores, vou deixar disponível aqui:

Spoiler

 

Coloque na pasta do seu servidor em talkaction com o nome de broadocast.lua e coloque o seguinte:
 

function onSay(cid, words, param, channel)
	if(param == '') then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
		return true
	end
	local t = string.explode(param, " ", 1)
	doBroadcastMessage(param)
	return true
end

Coloque a tag no arquivo talkaction.xml:

<talkaction log="yes" words="/bc" access="4" event="script" value="broadcastclass.lua"/>

 

 

 

 

Imagens de como fica in-game:

Spoiler

phLMbIM.pngVU9rPkN.png

 

Eai, vai ficar de fora? 
Implemente já essa personalização e torne-se um servidor diferenciado dos demais.

dedefoxx

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/06/18Posts: 44

aqui funcionou rep Vlw Ai Ficou Top

broadcast.png

Ayron5

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 26/08/15Posts: 239
8 horas atrás, Gengo disse:

 

Hoje venho trazer um sistema que pode deixar seu servidor com um diferencial dos demais, espero que vocês possam aprender algo com esse sistema e criar outros tipos de personalização nas mensagens.

 

 

O que seria essa personalização?

Seria uma personalização da mensagem do broadcast, em vez de ficar aquela mensagem vermelha no meio da tela, você pode escolher sua própria cor para a mensagem, no fim do tópico demonstrarei com imagens para que você possa entender melhor.

 

 

Script:
Procure pela pasta no seu otclient em modules/game_textmessage e abra o arquivo textmessage.otui e substitua por esse:

  Mostrar conteúdo oculto

TextMessageLabel < UILabel
  font: verdana-11px-rounded
  text-align: center
  text-wrap: true
  text-auto-resize: true
  margin-bottom: 2
  visible: false

Panel
  anchors.fill: gameMapPanel
  focusable: false

  Panel
    id: centerTextMessagePanel
    layout:
      type: verticalBox
      fit-children: true
    width: 360
    anchors.centerIn: parent

    TextMessageLabel
      id: highCenterLabel
    TextMessageLabel
      id: middleCenterLabel
    TextMessageLabel
      id: lowCenterLabel

  TextMessageLabel
    id: privateLabel
    anchors.top: parent.top
    anchors.bottom: centerTextMessagePanel.top
    anchors.horizontalCenter: parent.horizontalCenter
    text-auto-resize: false
    width: 275

  TextMessageLabel
    id: statusLabel
    anchors.bottom: parent.bottom
    anchors.left: parent.left
    anchors.right: parent.right

  TextMessageLabel
    id: customMessage
    height: 32
    anchors.top: parent.top
    anchors.horizontalCenter: parent.horizontalCenter
    background-color: #00000890
    border: 1 #cc0c0c
    margin-top: 80
    text-auto-resize: false
    text-wrap: false

 

 

Agora na mesma pasta abra o arquivo textmessage.lua e procure pela função displayMessage e debaixo de:

if msgtype == MessageSettings.none then return end

Coloque o seguinte script:

  Ocultar conteúdo

  if mode == MessageModes.Warning then
	local label = messagesPanel:recursiveGetChildById('customMessage')
	local color = msgtype.color
	
	if ( text:find('|') ) then
		color = text:explode('|')[1]
		text  = text:explode('|')[2]
	end

	label:setText(text)
	label:setColor(color)
	label:setBorderColor(color)
	label:setWidth(label:getTextSize().width+110)
	label:show()
	
	addEvent(function() g_effects.fadeIn(label, 250) end)
    removeEvent(label.hideEvent)
    label.hideEvent = scheduleEvent(function() 
		addEvent(function() g_effects.fadeOut(label, 250) end)
		scheduleEvent(function() label:hide() end, 250) 
	end, calculateVisibleTime(text))
	return 
  end

 

 

 

 Feito essas alterações a personalização já deve estar funcionando, para testar você pode utilizar o seguinte comando:
 

/bc green | O torneio mundial da Elite Four se iniciará em 15min.

 Onde /bc é o comando broadcast 

 green é a cor que deseja personalizar, pode ser tanto em hexa como o nome da cor 

 mensagem qualquer
 É necessário colocar o pipeline |  caso queira colocar uma outra cor, senão ele assumirá como padrão a cor vermelha do broadcast.

 

Caso você não tenha o script do broadcast, porem é impossivel não ter já que é padrão nos servidores, vou deixar disponível aqui:

  Mostrar conteúdo oculto

 

Coloque na pasta do seu servidor em talkaction com o nome de broadocast.lua e coloque o seguinte:
 


function onSay(cid, words, param, channel)
	if(param == '') then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
		return true
	end
	local t = string.explode(param, " ", 1)
	doBroadcastMessage(param)
	return true
end

Coloque a tag no arquivo talkaction.xml:


<talkaction log="yes" words="/bc" access="4" event="script" value="broadcastclass.lua"/>

 

 

 

 

Imagens de como fica in-game:

  Ocultar conteúdo

phLMbIM.pngVU9rPkN.png

 

Eai, vai ficar de fora? 
Implemente já essa personalização e torne-se um servidor diferenciado dos demais.

Show! irei usar com certeza. ^^ 

                                                                  

                                                                    Meus tópicos         

                                                                   Se ajudei você deixe seu Rep! para fortalecer a amizade ^^

                                                                                        Vamos ajudar o fórum a crescer mais.

                                                                

                                                                                             ----- NPC que vende informação -----

                                                                                          -----Baú Que dá Outfit se tiver Level -----

                                                                    

Gengo

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 10/03/13Posts: 177Gênero: MasculinoChar no Tibia: stor akia
2 horas atrás, Thalles Vitor disse:

REP+.

È possível eu substituir esse bagulho verde, por imagem certo?

 

label:setColor(color)
label:setImageSource('imagem.png')

 

Sim é possível, o céu e o limite do qu3 pode ser feito kkkk.

vinicius231

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/07/18Posts: 112Gênero: Outro

Otimo trabalho, mereceu meu REP+

Marshmello

Alone ~ [✖‿✖]
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/04/16Posts: 831Gênero: Masculino
Em 22/06/2019 em 12:57, Gengo disse:

 

Hoje venho trazer um sistema que pode deixar seu servidor com um diferencial dos demais, espero que vocês possam aprender algo com esse sistema e criar outros tipos de personalização nas mensagens.

 

 

O que seria essa personalização?

Seria uma personalização da mensagem do broadcast, em vez de ficar aquela mensagem vermelha no meio da tela, você pode escolher sua própria cor para a mensagem, no fim do tópico demonstrarei com imagens para que você possa entender melhor.

 

 

Script:
Procure pela pasta no seu otclient em modules/game_textmessage e abra o arquivo textmessage.otui e substitua por esse:

  Ocultar conteúdo

TextMessageLabel < UILabel
  font: verdana-11px-rounded
  text-align: center
  text-wrap: true
  text-auto-resize: true
  margin-bottom: 2
  visible: false

Panel
  anchors.fill: gameMapPanel
  focusable: false

  Panel
    id: centerTextMessagePanel
    layout:
      type: verticalBox
      fit-children: true
    width: 360
    anchors.centerIn: parent

    TextMessageLabel
      id: highCenterLabel
    TextMessageLabel
      id: middleCenterLabel
    TextMessageLabel
      id: lowCenterLabel

  TextMessageLabel
    id: privateLabel
    anchors.top: parent.top
    anchors.bottom: centerTextMessagePanel.top
    anchors.horizontalCenter: parent.horizontalCenter
    text-auto-resize: false
    width: 275

  TextMessageLabel
    id: statusLabel
    anchors.bottom: parent.bottom
    anchors.left: parent.left
    anchors.right: parent.right

  TextMessageLabel
    id: customMessage
    height: 32
    anchors.top: parent.top
    anchors.horizontalCenter: parent.horizontalCenter
    background-color: #00000890
    border: 1 #cc0c0c
    margin-top: 80
    text-auto-resize: false
    text-wrap: false

 

 

Agora na mesma pasta abra o arquivo textmessage.lua e procure pela função displayMessage e debaixo de:

if msgtype == MessageSettings.none then return end

Coloque o seguinte script:

  Ocultar conteúdo

  if mode == MessageModes.Warning then
	local label = messagesPanel:recursiveGetChildById('customMessage')
	local color = msgtype.color
	
	if ( text:find('|') ) then
		color = text:explode('|')[1]
		text  = text:explode('|')[2]
	end

	label:setText(text)
	label:setColor(color)
	label:setBorderColor(color)
	label:setWidth(label:getTextSize().width+110)
	label:show()
	
	addEvent(function() g_effects.fadeIn(label, 250) end)
    removeEvent(label.hideEvent)
    label.hideEvent = scheduleEvent(function() 
		addEvent(function() g_effects.fadeOut(label, 250) end)
		scheduleEvent(function() label:hide() end, 250) 
	end, calculateVisibleTime(text))
	return 
  end

 

 

 

 Feito essas alterações a personalização já deve estar funcionando, para testar você pode utilizar o seguinte comando:
 

/bc green | O torneio mundial da Elite Four se iniciará em 15min.

 Onde /bc é o comando broadcast 

 green é a cor que deseja personalizar, pode ser tanto em hexa como o nome da cor 

 mensagem qualquer
 É necessário colocar o pipeline |  caso queira colocar uma outra cor, senão ele assumirá como padrão a cor vermelha do broadcast.

 

Caso você não tenha o script do broadcast, porem é impossivel não ter já que é padrão nos servidores, vou deixar disponível aqui:

  Ocultar conteúdo

 

Coloque na pasta do seu servidor em talkaction com o nome de broadocast.lua e coloque o seguinte:
 


function onSay(cid, words, param, channel)
	if(param == '') then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
		return true
	end
	local t = string.explode(param, " ", 1)
	doBroadcastMessage(param)
	return true
end

Coloque a tag no arquivo talkaction.xml:


<talkaction log="yes" words="/bc" access="4" event="script" value="broadcastclass.lua"/>

 

 

 

 

Imagens de como fica in-game:

  Ocultar conteúdo

phLMbIM.pngVU9rPkN.png

 

Eai, vai ficar de fora? 
Implemente já essa personalização e torne-se um servidor diferenciado dos demais.

Cada dia um code melhor que o outro , parabéns meu mano ♥

placa1.png.90a184502351cebe72cd7b69751e551d.png

Meu Facebook

INFOS:

Citar

CIDADE: Rio de janeiro

Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
 

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

 

 

Pluzetti2104

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/03/19Posts: 11
Em 22/06/2019 em 12:57, Gengo disse:

 

Hoje venho trazer um sistema que pode deixar seu servidor com um diferencial dos demais, espero que vocês possam aprender algo com esse sistema e criar outros tipos de personalização nas mensagens.

 

 

O que seria essa personalização?

Seria uma personalização da mensagem do broadcast, em vez de ficar aquela mensagem vermelha no meio da tela, você pode escolher sua própria cor para a mensagem, no fim do tópico demonstrarei com imagens para que você possa entender melhor.

 

 

Script:
Procure pela pasta no seu otclient em modules/game_textmessage e abra o arquivo textmessage.otui e substitua por esse:

  Ocultar conteúdo

TextMessageLabel < UILabel
  font: verdana-11px-rounded
  text-align: center
  text-wrap: true
  text-auto-resize: true
  margin-bottom: 2
  visible: false

Panel
  anchors.fill: gameMapPanel
  focusable: false

  Panel
    id: centerTextMessagePanel
    layout:
      type: verticalBox
      fit-children: true
    width: 360
    anchors.centerIn: parent

    TextMessageLabel
      id: highCenterLabel
    TextMessageLabel
      id: middleCenterLabel
    TextMessageLabel
      id: lowCenterLabel

  TextMessageLabel
    id: privateLabel
    anchors.top: parent.top
    anchors.bottom: centerTextMessagePanel.top
    anchors.horizontalCenter: parent.horizontalCenter
    text-auto-resize: false
    width: 275

  TextMessageLabel
    id: statusLabel
    anchors.bottom: parent.bottom
    anchors.left: parent.left
    anchors.right: parent.right

  TextMessageLabel
    id: customMessage
    height: 32
    anchors.top: parent.top
    anchors.horizontalCenter: parent.horizontalCenter
    background-color: #00000890
    border: 1 #cc0c0c
    margin-top: 80
    text-auto-resize: false
    text-wrap: false

 

 

Agora na mesma pasta abra o arquivo textmessage.lua e procure pela função displayMessage e debaixo de:

if msgtype == MessageSettings.none then return end

Coloque o seguinte script:

  Ocultar conteúdo

  if mode == MessageModes.Warning then
	local label = messagesPanel:recursiveGetChildById('customMessage')
	local color = msgtype.color
	
	if ( text:find('|') ) then
		color = text:explode('|')[1]
		text  = text:explode('|')[2]
	end

	label:setText(text)
	label:setColor(color)
	label:setBorderColor(color)
	label:setWidth(label:getTextSize().width+110)
	label:show()
	
	addEvent(function() g_effects.fadeIn(label, 250) end)
    removeEvent(label.hideEvent)
    label.hideEvent = scheduleEvent(function() 
		addEvent(function() g_effects.fadeOut(label, 250) end)
		scheduleEvent(function() label:hide() end, 250) 
	end, calculateVisibleTime(text))
	return 
  end

 

 

 

 Feito essas alterações a personalização já deve estar funcionando, para testar você pode utilizar o seguinte comando:
 

/bc green | O torneio mundial da Elite Four se iniciará em 15min.

 Onde /bc é o comando broadcast 

 green é a cor que deseja personalizar, pode ser tanto em hexa como o nome da cor 

 mensagem qualquer
 É necessário colocar o pipeline |  caso queira colocar uma outra cor, senão ele assumirá como padrão a cor vermelha do broadcast.

 

Caso você não tenha o script do broadcast, porem é impossivel não ter já que é padrão nos servidores, vou deixar disponível aqui:

  Ocultar conteúdo

 

Coloque na pasta do seu servidor em talkaction com o nome de broadocast.lua e coloque o seguinte:
 


function onSay(cid, words, param, channel)
	if(param == '') then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
		return true
	end
	local t = string.explode(param, " ", 1)
	doBroadcastMessage(param)
	return true
end

Coloque a tag no arquivo talkaction.xml:


<talkaction log="yes" words="/bc" access="4" event="script" value="broadcastclass.lua"/>

 

 

 

 

Imagens de como fica in-game:

  Ocultar conteúdo

phLMbIM.pngVU9rPkN.png

 

Eai, vai ficar de fora? 
Implemente já essa personalização e torne-se um servidor diferenciado dos demais.

eu nao consegui adicionar no meu, mas sabe o qe seria legal, lembra do msn plus? que vc escrevia em varias cores...exemplo:

 

/bc green |Oláaaaaaaa| /bc yellow |jogadores

 

ele iria escrever em verde e amarelo

WlyssesNegao

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/12/15Posts: 15Gênero: MasculinoChar no Tibia: [ADM] PGN

por que aqui só fico o vermelho não fico o amarelo é nem o verde

Gengo

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 10/03/13Posts: 177Gênero: MasculinoChar no Tibia: stor akia
37 minutos atrás, WlyssesNegao disse:

por que aqui só fico o vermelho não fico o amarelo é nem o verde

 

Segue o descrito no tutorial:

/bc green | O torneio mundial da Elite Four se iniciará em 15min.

 Onde /bc é o comando broadcast 

 green é a cor que deseja personalizar, pode ser tanto em hexa como o nome da cor 

 mensagem qualquer
 É necessário colocar o pipeline |  caso queira colocar uma outra cor, senão ele assumirá como padrão a cor vermelha do broadcast.

klbkevinklb

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/09/11Posts: 44
1 hora atrás, Gengo disse:

 

Segue o descrito no tutorial:

/bc green | O torneio mundial da Elite Four se iniciará em 15min.

 Onde /bc é o comando broadcast 

 green é a cor que deseja personalizar, pode ser tanto em hexa como o nome da cor 

 mensagem qualquer
 É necessário colocar o pipeline |  caso queira colocar uma outra cor, senão ele assumirá como padrão a cor vermelha do broadcast.

O que ele quis dizer que ele escreve /bc Green | blablabla lá e mesmo assim não funciona

gabrielzika

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/06/15Posts: 92Gênero: Masculino

Ótimo conteúdo!!

 

 

Quem estiver com problemas em colocar a cor, basta usar o mesmo broadcastclass.lua que ele disponiblizou.

Morduk

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/05/10Posts: 9Gênero: MasculinoChar no Tibia: Jhack Rullez-Deleted

é, o erro do tutorial é que você colocou pra alterar o broadcast.lua, mas como nosso amigo acima disse, é necessario mudar o broadcastclass.lua. +REP

WlyssesNegao

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/12/15Posts: 15Gênero: MasculinoChar no Tibia: [ADM] PGN
17 horas atrás, Gengo disse:

 

Segue o descrito no tutorial:

/bc green | O torneio mundial da Elite Four se iniciará em 15min.

 Onde /bc é o comando broadcast 

 green é a cor que deseja personalizar, pode ser tanto em hexa como o nome da cor 

 mensagem qualquer
 É necessário colocar o pipeline |  caso queira colocar uma outra cor, senão ele assumirá como padrão a cor vermelha do broadcast.

Sim desse modo troquei o broadcast mais mesmo assim não fico as cores amarelo ou verde Screenshot_1.png.d19283448472fdfd9efea62fb98301b4.png

Gengo

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 10/03/13Posts: 177Gênero: MasculinoChar no Tibia: stor akia
59 minutos atrás, WlyssesNegao disse:

Sim desse modo troquei o broadcast mais mesmo assim não fico as cores amarelo ou verde Screenshot_1.png.d19283448472fdfd9efea62fb98301b4.png

Posta aqui seu arquivo textmessage.lua e seu broadcast.lua

Taiger

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 02/07/07Posts: 1140Gênero: Masculino

Aqui funcionou mas só em vermelho, quando colocava a cor e aquela barrinha aparecia msg verde normal no meio da tela.

 

textmessage.lua

 



MessageSettings = {
  none            = {},
  consoleRed      = { color = TextColors.red,    consoleTab='Default' },
  consoleOrange   = { color = TextColors.orange, consoleTab='Default' },
  consoleBlue     = { color = TextColors.blue,   consoleTab='Default' },
  centerRed       = { color = TextColors.red,    consoleTab='Server Log', screenTarget='lowCenterLabel' },
  centerGreen     = { color = TextColors.green,  consoleTab='Server Log', screenTarget='highCenterLabel',   consoleOption='showInfoMessagesInConsole' },
  centerWhite     = { color = TextColors.white,  consoleTab='Server Log', screenTarget='middleCenterLabel', consoleOption='showEventMessagesInConsole' },
  bottomWhite     = { color = TextColors.white,  consoleTab='Server Log', screenTarget='statusLabel',       consoleOption='showEventMessagesInConsole' },
  status          = { color = TextColors.white,  consoleTab='Server Log', screenTarget='statusLabel',       consoleOption='showStatusMessagesInConsole' },
  statusSmall     = { color = TextColors.white,                           screenTarget='statusLabel' },
  private         = { color = TextColors.lightblue,                       screenTarget='privateLabel' }
}

MessageTypes = {
  [MessageModes.MonsterSay] = MessageSettings.consoleOrange,
  [MessageModes.MonsterYell] = MessageSettings.consoleOrange,
  [MessageModes.BarkLow] = MessageSettings.consoleOrange,
  [MessageModes.BarkLoud] = MessageSettings.consoleOrange,
  [MessageModes.Failure] = MessageSettings.statusSmall,
  [MessageModes.Login] = MessageSettings.bottomWhite,
  [MessageModes.Game] = MessageSettings.centerWhite,
  [MessageModes.Status] = MessageSettings.status,
  [MessageModes.Warning] = MessageSettings.centerRed,
  [MessageModes.Look] = MessageSettings.centerGreen,
  [MessageModes.Loot] = MessageSettings.centerGreen,
  [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
}

messagesPanel = nil

function init()
  connect(g_game, 'onTextMessage', displayMessage)
  connect(g_game, 'onGameEnd', clearMessages)
  messagesPanel = g_ui.loadUI('textmessage', modules.game_interface.getRootPanel())
end

function terminate()
  disconnect(g_game, 'onTextMessage', displayMessage)
  disconnect(g_game, 'onGameEnd',clearMessages)
  clearMessages()
  messagesPanel:destroy()
end

function calculateVisibleTime(text)
  return math.max(#text * 100, 4000)
end

function displayMessage(mode, text)
  if not g_game.isOnline() then return end

  local msgtype = MessageTypes[mode]

  if not msgtype then
    perror('unhandled onTextMessage message mode ' .. mode .. ': ' .. text)
    return
  end

  if msgtype == MessageSettings.none then return end
  
  if mode == MessageModes.Warning then
    local label = messagesPanel:recursiveGetChildById('customMessage')
    local color = msgtype.color
    
    if ( text:find('|') ) then
        color = text:explode('|')[1]
        text  = text:explode('|')[2]
    end

    label:setText(text)
    label:setColor(color)
    label:setBorderColor(color)
    label:setWidth(label:getTextSize().width+110)
    label:show()
    
    addEvent(function() g_effects.fadeIn(label, 250) end)
    removeEvent(label.hideEvent)
    label.hideEvent = scheduleEvent(function() 
    addEvent(function() g_effects.fadeOut(label, 250) end)
    scheduleEvent(function() label:hide() end, 250) 
    end, calculateVisibleTime(text))
    return 
  end

  if msgtype.consoleTab ~= nil and (msgtype.consoleOption == nil or modules.client_options.getOption(msgtype.consoleOption)) then
    modules.game_console.addText(text, msgtype, tr(msgtype.consoleTab))
  end

  if msgtype.screenTarget then
    if string.find(text, '12//,') or string.find(text, '12|,') or string.find(text, 'p#,') or string.find(text, '12&,') or string.find(text, '#ph#,') then
    return
         end
             if string.find(text, '@pokedex') and not string.find(text, 'MySelf') then
       local t = string.explode(text, "/")
          modules.Base.init2(t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10], t[11], t[12], t[13], t[14], t[15], t[16], t[17], text)
          return
    elseif string.find(text, 'MySelf') and string.find(text, '@pokedex') then 
            modules.Base.init3(text)
         return
    elseif string.find(text, '@dex') then 
    local t = string.explode(text, "/")
            modules.Base.init4(t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10], t[11], t[12], t[13], t[14], t[15], t[16], t[17], text)
         return
    elseif string.find(text, "%#CatcherWindow@") then
        return
    elseif string.find(text, "%#Pokedex") then
        return 
         end
    local label = messagesPanel:recursiveGetChildById(msgtype.screenTarget)
    label:setText(text)
    label:setColor(msgtype.color)
    label:setVisible(true)
    removeEvent(label.hideEvent)
    label.hideEvent = scheduleEvent(function() label:setVisible(false) end, calculateVisibleTime(text))
end
end

function displayPrivateMessage(text)
  displayMessage(254, text)
end

function displayStatusMessage(text)
  displayMessage(MessageModes.Status, text)
end

function displayFailureMessage(text)
  displayMessage(MessageModes.Failure, text)
end

function displayGameMessage(text)
  displayMessage(MessageModes.Game, text)
end

function displayBroadcastMessage(text)
  displayMessage(MessageModes.Warning, text)
end

function clearMessages()
  for _i,child in pairs(messagesPanel:recursiveGetChildren()) do
    if child:getId():match('Label') then
      child:hide()
      removeEvent(child.hideEvent)
    end
  end
end

function LocalPlayer:onAutoWalkFail(player)
  modules.game_textmessage.displayFailureMessage(tr('There is no way.'))
end

 

broadcast.lua

 



function onSay(cid, words, param, channel)
    if(param == '') then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
        return true
    end

    local t = string.explode(param, " ", 1)
    if(not t[2]) then
        doBroadcastMessage(t[1])
    elseif(not doBroadcastMessage(t[2], MESSAGE_TYPES[t[1]])) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Bad message color type.")
    end

    return true
end

 

Esse é o broadcast do meu server, testei o que vc postou e dai nao funciona o sistema.