OrrutoSCR

BLOQUEIO DE CODIGO DE COR NO NICK CHAT LOCAL

Recommended Posts

Bom dia alguem poderia me ajudar estou com uma dificuldade no meu chat local, estou tentando colocar o meu chat local para quando os jogadores usar codigos de cores no nick deles ficar branco a cor quando eles for falar no chat, Assim bloqueando as cores para não modificar no chat local. Esse script abaixo é meu chat local, espero que me ajudem, já tem muito tempo que tou tentando não consigo de jeito nenhum. 

 

DistanciaDoChatLocal = 200 -- Metros
MensagemFalandoRapidoDemaisLocal = '#ffffff[ #CE98EBAnti Flood #ffffff] - #ffffffVocê Esta Digitando Muito Rapido, Aguarde 2 Segundos' --

ComandoDoChatGlobal = "f" -- Ex /g Mensagem
ComandoDoChatGlobal2 = "u"

ValorDoChatGlobal = 0 -- Dinheiro
--MensagemFalandoRapidoDemaisGlobal =  '#ffffff[ #FF0000Anti Flood #ffffff] - #ffffffVocê Esta Digitando Muito Rapido, Aguarde 5 Segundos'
MensagemVoceEstaMutadoGlobal2 = '#ffffff[ #FF0000Aviso #ffffff] - #FF0000Você Esta Mutado, e Não Podera Utilizar os Chat do Servidor'
MensagemVoceEstaMutadoGlobal = '#ffffff[ #FF0000Aviso #ffffff] - #FF0000Você Esta Mutado, e Não Podera Utilizar os Chat do Servidor'

--------------------------------------------------------------------------------------------

-- Config do Chat Local

addEventHandler("onPlayerChat", root, function(tresc, msgtype)
if (msgtype == 0) then
    cancelEvent()
    local x,y,z = getElementPosition(source)
    for key, gracze in ipairs(getElementsByType("player")) do
    local x2,y2,z2 = getElementPosition(gracze)

--    if getElementData (source, "ChatLocal:Delay", true) then 
--    outputChatBox ( MensagemFalandoRapidoDemaisLocal, source, 255, 255, 255, true ) return end 

    if ( getDistanceBetweenPoints3D ( x, y, z, x2, y2, z2 ) < DistanciaDoChatLocal ) then
    local int = getElementInterior   ( source )
    local dim = getElementDimension  ( source )
    local int2 = getElementInterior  ( gracze )
    local dim2 = getElementDimension ( gracze )
    if ( int == int2 and dim == dim2 ) then

    conta = getAccountName ( getPlayerAccount ( source ) )

    if isObjectInACLGroup ("user."..conta, aclGetGroup ( "Console" ) ) then
    outputChatBox("*#FFEE00ʙᴄʙ ʟᴏᴄᴀʟ  #FFEE00-  #FF6A6APresidente #FFEE00-  #ffffff"..getPlayerName(source).. " ("..getElementData(source, "ID")..")#FFEE00 - #ffffff#FF6A6A "..tresc, gracze, 255, 255, 255, true)

    elseif isObjectInACLGroup ("user."..conta, aclGetGroup ( "Admin" ) ) then
    outputChatBox("*#FFEE00ʙᴄʙ ʟᴏᴄᴀʟ  #FFEE00-  #FF6A6AVice Presidente #FFEE00-  #ffffff"..getPlayerName(source).." ("..getElementData(source, "ID")..")#FFEE00 - #ffffff#FF6A6A "..tresc, gracze, 255, 255, 255, true)

Share this post


Link to post

Utilize o botão <> do fórum para postar códigos. Não cole direto no texto.

UqAT5Nh.png

  • Like 1
  • Haha 1

Share this post


Link to post
8 hours ago, OrrutoSCR said:

Bom dia alguem poderia me ajudar estou com uma dificuldade no meu chat local, estou tentando colocar o meu chat local para quando os jogadores usar codigos de cores no nick deles ficar branco a cor quando eles for falar no chat, Assim bloqueando as cores para não modificar no chat local. Esse script abaixo é meu chat local, espero que me ajudem, já tem muito tempo que tou tentando não consigo de jeito nenhum. 

 

DistanciaDoChatLocal = 200 -- Metros
MensagemFalandoRapidoDemaisLocal = '#ffffff[ #CE98EBAnti Flood #ffffff] - #ffffffVocê Esta Digitando Muito Rapido, Aguarde 2 Segundos' --

ComandoDoChatGlobal = "f" -- Ex /g Mensagem
ComandoDoChatGlobal2 = "u"

ValorDoChatGlobal = 0 -- Dinheiro
--MensagemFalandoRapidoDemaisGlobal =  '#ffffff[ #FF0000Anti Flood #ffffff] - #ffffffVocê Esta Digitando Muito Rapido, Aguarde 5 Segundos'
MensagemVoceEstaMutadoGlobal2 = '#ffffff[ #FF0000Aviso #ffffff] - #FF0000Você Esta Mutado, e Não Podera Utilizar os Chat do Servidor'
MensagemVoceEstaMutadoGlobal = '#ffffff[ #FF0000Aviso #ffffff] - #FF0000Você Esta Mutado, e Não Podera Utilizar os Chat do Servidor'

--------------------------------------------------------------------------------------------

-- Config do Chat Local

addEventHandler("onPlayerChat", root, function(tresc, msgtype)
if (msgtype == 0) then
    cancelEvent()
    local x,y,z = getElementPosition(source)
    for key, gracze in ipairs(getElementsByType("player")) do
    local x2,y2,z2 = getElementPosition(gracze)

--    if getElementData (source, "ChatLocal:Delay", true) then 
--    outputChatBox ( MensagemFalandoRapidoDemaisLocal, source, 255, 255, 255, true ) return end 

    if ( getDistanceBetweenPoints3D ( x, y, z, x2, y2, z2 ) < DistanciaDoChatLocal ) then
    local int = getElementInterior   ( source )
    local dim = getElementDimension  ( source )
    local int2 = getElementInterior  ( gracze )
    local dim2 = getElementDimension ( gracze )
    if ( int == int2 and dim == dim2 ) then

    conta = getAccountName ( getPlayerAccount ( source ) )

    if isObjectInACLGroup ("user."..conta, aclGetGroup ( "Console" ) ) then
    outputChatBox("*#FFEE00ʙᴄʙ ʟᴏᴄᴀʟ  #FFEE00-  #FF6A6APresidente #FFEE00-  #ffffff"..getPlayerName(source).. " ("..getElementData(source, "ID")..")#FFEE00 - #ffffff#FF6A6A "..tresc, gracze, 255, 255, 255, true)

    elseif isObjectInACLGroup ("user."..conta, aclGetGroup ( "Admin" ) ) then
    outputChatBox("*#FFEE00ʙᴄʙ ʟᴏᴄᴀʟ  #FFEE00-  #FF6A6AVice Presidente #FFEE00-  #ffffff"..getPlayerName(source).." ("..getElementData(source, "ID")..")#FFEE00 - #ffffff#FF6A6A "..tresc, gracze, 255, 255, 255, true)

DistanciaDoChatLocal = 200 -- Metros
MensagemFalandoRapidoDemaisLocal = '#ffffff[ #CE98EBAnti Flood #ffffff] - #ffffffVocê Esta Digitando Muito Rapido, Aguarde 2 Segundos' --

ComandoDoChatGlobal = "f" -- Ex /g Mensagem
ComandoDoChatGlobal2 = "u"

ValorDoChatGlobal = 0 -- Dinheiro
--MensagemFalandoRapidoDemaisGlobal =  '#ffffff[ #FF0000Anti Flood #ffffff] - #ffffffVocê Esta Digitando Muito Rapido, Aguarde 5 Segundos'
MensagemVoceEstaMutadoGlobal2 = '#ffffff[ #FF0000Aviso #ffffff] - #FF0000Você Esta Mutado, e Não Podera Utilizar os Chat do Servidor'
MensagemVoceEstaMutadoGlobal = '#ffffff[ #FF0000Aviso #ffffff] - #FF0000Você Esta Mutado, e Não Podera Utilizar os Chat do Servidor'

--------------------------------------------------------------------------------------------

-- Config do Chat Local

addEventHandler("onPlayerChat", root, function(tresc, msgtype)
if (msgtype == 0) then
    cancelEvent()
    local x,y,z = getElementPosition(source)
    for key, gracze in ipairs(getElementsByType("player")) do
    local x2,y2,z2 = getElementPosition(gracze)

--    if getElementData (source, "ChatLocal:Delay", true) then 
--    outputChatBox ( MensagemFalandoRapidoDemaisLocal, source, 255, 255, 255, true ) return end 

    if ( getDistanceBetweenPoints3D ( x, y, z, x2, y2, z2 ) < DistanciaDoChatLocal ) then
    local int = getElementInterior   ( source )
    local dim = getElementDimension  ( source )
    local int2 = getElementInterior  ( gracze )
    local dim2 = getElementDimension ( gracze )
    if ( int == int2 and dim == dim2 ) then

    conta = getAccountName ( getPlayerAccount ( source ) )

    if isObjectInACLGroup ("user."..conta, aclGetGroup ( "Console" ) ) then
    outputChatBox("*#FFEE00ʙᴄʙ ʟᴏᴄᴀʟ  #FFEE00-  #FF6A6APresidente #FFEE00-  #ffffff"..getPlayerName(source).. " ("..getElementData(source, "ID")..")#FFEE00 - #ffffff#FF6A6A "..tresc, gracze, 255, 255, 255, true)

    elseif isObjectInACLGroup ("user."..conta, aclGetGroup ( "Admin" ) ) then
    outputChatBox("*#FFEE00ʙᴄʙ ʟᴏᴄᴀʟ  #FFEE00-  #FF6A6AVice Presidente #FFEE00-  #ffffff"..getPlayerName(source).." ("..getElementData(source, "ID")..")#FFEE00 - #ffffff#FF6A6A "..tresc, gracze, 255, 255, 255, true)

 

1 hour ago, Lord Henry said:

Utilize o botão <> do fórum para postar códigos. Não cole direto no texto.

UqAT5Nh.png

Me desculpe eu não sabia, é minha primeira vez aqui no fórum, você poderia me ajudar pfvr?

Share this post


Link to post

Já foi respondido no discord pelo iDannz [Breno]#2456
Vou postar o que ele enviou:
 

function removeHex(s)
    return string.gsub(s,"#%x%x%x%x%x%x", "")
end

 

  • Like 1

Share this post


Link to post

Usando o código acima ainda tem como burlar com os códigos hex, então para remover de uma forma definitiva use isto:

function removeHex( s )
	if type(s) == "string" then
		while(s:find("#%x%x%x%x%x%x")) do
			s = s:gsub("#%x%x%x%x%x%x","")
		end
	end
	return s or false
end

 

  • Thanks 1

Share this post


Link to post
6 hours ago, DNL291 said:

Usando o código acima ainda tem como burlar com os códigos hex, então para remover de uma forma definitiva use isto:


function removeHex( s )
	if type(s) == "string" then
		while(s:find("#%x%x%x%x%x%x")) do
			s = s:gsub("#%x%x%x%x%x%x","")
		end
	end
	return s or false
end

 

Oi, pramin não funcionou não sei se fiz algo de errado, vou mandar como que eu coloquei a função no script do chat.

--------------------------------------------------------------------------------------------

DistanciaDoChatLocal = 200 -- Metros
MensagemFalandoRapidoDemaisLocal = '#ffffff[ #CE98EBAnti Flood #ffffff] - #ffffffVocê Esta Digitando Muito Rapido, Aguarde 2 Segundos' --

ComandoDoChatGlobal = "f" -- Ex /g Mensagem
ComandoDoChatGlobal2 = "u"

ValorDoChatGlobal = 0 -- Dinheiro
--MensagemFalandoRapidoDemaisGlobal =  '#ffffff[ #FF0000Anti Flood #ffffff] - #ffffffVocê Esta Digitando Muito Rapido, Aguarde 5 Segundos'
MensagemVoceEstaMutadoGlobal2 = '#ffffff[ #FF0000Aviso #ffffff] - #FF0000Você Esta Mutado, e Não Podera Utilizar os Chat do Servidor'
MensagemVoceEstaMutadoGlobal = '#ffffff[ #FF0000Aviso #ffffff] - #FF0000Você Esta Mutado, e Não Podera Utilizar os Chat do Servidor'

--------------------------------------------------------------------------------------------

function removeHex( s )
	if type(s) == "string" then
		while(s:find("#%x%x%x%x%x%x")) do
			s = s:gsub("#%x%x%x%x%x%x","")
		end
	end
	return s or false
end

---------------------------------------------------------------------------------------------
-- Config do Chat Local

addEventHandler("onPlayerChat", root, function(tresc, msgtype)
if (msgtype == 0) then
    cancelEvent()
	local x,y,z = getElementPosition(source)
	for key, gracze in ipairs(getElementsByType("player")) do
	local x2,y2,z2 = getElementPosition(gracze)

--	if getElementData (source, "ChatLocal:Delay", true) then 
--	outputChatBox ( MensagemFalandoRapidoDemaisLocal, source, 255, 255, 255, true ) return end 

	if ( getDistanceBetweenPoints3D ( x, y, z, x2, y2, z2 ) < DistanciaDoChatLocal ) then
	local int = getElementInterior   ( source )
	local dim = getElementDimension  ( source )
	local int2 = getElementInterior  ( gracze )
	local dim2 = getElementDimension ( gracze )
	if ( int == int2 and dim == dim2 ) then

	conta = getAccountName ( getPlayerAccount ( source ) )

	if isObjectInACLGroup ("user."..conta, aclGetGroup ( "Console" ) ) then
	outputChatBox("*#FFEE00ʙᴄʙ ʟᴏᴄᴀʟ  #FFEE00-  #FF6A6APresidente #FFEE00-  #ffffff"..getPlayerName(source).. " ("..getElementData(source, "ID")..")#FFEE00 - #ffffff#FF6A6A "..tresc, gracze, 255, 255, 255, true)

 

Share this post


Link to post

Você só copiou a função no seu código e como espera que vá funcionar? Seu próximo passo é chamá-la no getPlayerName.

  • Thanks 1

Share this post


Link to post
40 minutes ago, DNL291 said:

Você só copiou a função no seu código e como espera que vá funcionar? Seu próximo passo é chamá-la no getPlayerName.

Eu não sei fazer isso, se você poder me ajuda dando um exemplo eu agradeceria, sou iniciante em script Lua DNL.

Edited by OrrutoSCR

Share this post


Link to post

Como iniciante em script Lua, você se assemelha à uma formiga carregando um navio. Antes de entender o que você quer solução, você precisa estudar no que está disponível na rede para ser estudado. DNL já deu o exemplo no histórico do tópico :D agora só basta você entender o que o código que ele publicou quer dizer, e assim 'conectá-lo' ao seu código.
Para iniciar bem em scripting Lua(especificamente para MTA), leia as documentações disponíveis, como: Introdução ao Scripting do MTA e o Manual Lua para ter uma boa lógica de iniciação .-.

edit1: Para cada função que você ver e não entender, procure pela página daquela função na wikipédia do MTA.

Edited by KronoS Lettify
+1 observação; Alteração de comparação

Share this post


Link to post
6 minutes ago, KronoS Lettify said:

Como iniciante em script Lua, você está parecendo um bebê querendo casar-se com um mulherão. Antes de entender o que você quer solução, você precisa estudar no que está disponível na rede para ser estudado. DNL já deu o exemplo no histórico do tópico :D agora só basta você entender o que o código que ele publicou quer dizer, e assim 'conectá-lo' ao seu código.
Para iniciar bem em scripting Lua(especificamente para MTA), leia as documentações disponíveis, como: Introdução ao Scripting do MTA e o Manual Lua para ter uma boa lógica de iniciação .-.

Não gostei do seu argumento, Mais valeu vou estudar mais sobre isso aí

  • Sad 1

Share this post


Link to post
22 minutes ago, OrrutoSCR said:

Não gostei do seu argumento, Mais valeu vou estudar mais sobre isso aí

Me desculpe, interpretei mal a comparação. E já corrigi o erro :D . Isso se tiver sido isso mesmo o seu desconforto, e qualquer dúvida a mais sobre mais assuntos relacionados ao MTA, só criar os tópicos e tentarei ajudar no que for possível.

Share this post


Link to post

Dificuldade em...

if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount (source)), aclGetGroup ("Console")) then
	outputChatBox ("*#FFEE00ʙᴄʙ ʟᴏᴄᴀʟ  #FFEE00-  #FF6A6APresidente #FFEE00-  #ffffff"..removeHex(getPlayerName(source)).." ("..getElementData(source, "ID")..")#FFEE00 - #ffffff#FF6A6A "..tresc, gracze, 255, 255, 255, true)
end

function removeHex( s )
	if type(s) == "string" then
		while(s:find("#%x%x%x%x%x%x")) do
			s = s:gsub("#%x%x%x%x%x%x","")
		end
	end
	return s or false
end

 

Share this post


Link to post
17 hours ago, Jonas^ said:

Dificuldade em...


if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount (source)), aclGetGroup ("Console")) then
	outputChatBox ("*#FFEE00ʙᴄʙ ʟᴏᴄᴀʟ  #FFEE00-  #FF6A6APresidente #FFEE00-  #ffffff"..removeHex(getPlayerName(source)).." ("..getElementData(source, "ID")..")#FFEE00 - #ffffff#FF6A6A "..tresc, gracze, 255, 255, 255, true)
end

function removeHex( s )
	if type(s) == "string" then
		while(s:find("#%x%x%x%x%x%x")) do
			s = s:gsub("#%x%x%x%x%x%x","")
		end
	end
	return s or false
end

 

Já consegui ^^, mais obrigado todos vocês por me ajudar

  • Like 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.