Jump to content

Como remover o Chat Nativo do MTA para usar um chat local


Recommended Posts

Oi @#DeltaSCR, vi o tópico e infelizmente não entendi como aplicar. Sou novo em Lua/MTA, desculpe se a pergunta é besta mas segue o código:

addEventHandler ("onPlayerJoin", root, function ()
	showChat (source, false)
end)

function onChat(message, messageType) onChat(message, messageType)
    if string.find(message, '/showChat') then  -- Searches for the string 'kill' in the message sentif string.find(message, 'kill') then  -- Searches for the string 'kill' in the message sent
    	cancelEvent()()
		outputChatBox("#FF0000[ERRO] #FFFFFF Chat desativado! Use o somente o chat local!", source, 255, 255, 255, true)
    endend
end --End of the functionend --End of the function
addEventHandler("onPlayerChat", root, onChat)("onPlayerChat", root, onChat)

 

Edited by Lord Henry
  • Like 1
Link to comment
  • 1 month later...

Pelo que entendi, você quer substituir o Chat do MTA por um chat diferente, porém ao que vejo no código que você está apresentando, isso é para impossibilitar do player digitar, ou seja, sumir completamente o chatbox.

Casa seja do seu interesse vou dar um exemplo aqui, e caso seja mais ou menos isso que você procura, vai lhe servir.

Vou dar um exemplo do Chat de RP.
Ele vai utilizar o chat para Twitter, Anonimo, Local, ForaRP... Etc...
1. Você deve desativar inicialmente o freeroam (é ele que tem nativamente aquele chat que aparece para todos os player quando digitamos algo)
2. Você deve ativar sua resource do Chat de RP que você tem.
3. Caso ainda fique o chat nativo, você além de desativar o freeroam, deve desativar também o pointcolor

 

Veja o seguinte vídeo caso seja isso que procure:
https://youtu.be/9CtnY_RUL2k?si=FzVfzL74sJD7aJdf

Link to comment
  • Other Languages Moderators
Posted (edited)

Por medidas de segurança, não é possível desativar o F8. O evento onClientKey não chega a ser chamado ao apertar a tecla F8.
Da mesma forma, não adianta bindar comandos no F8 pois eles não serão chamados.
Essa tecla é para uso restrito do Client Console e não pode ser utilizada para outras finalidades.

Edited by Lord Henry
Link to comment
  • Other Languages Moderators
Posted (edited)

Para fazer com que o jogador não consiga abrir o chatbox pela tecla T (isso também vai impedir que ele use o teamsay pela tecla Y), você pode simplesmente desativar o controle de acesso do chatbox com isso: (client-side)

-- CLIENT-SIDE
addEventHandler("onClientResourceStart", resourceRoot, function() -- Executa essa função ao iniciar este resource no client.
    toggleControl("chatbox", false) -- Bloqueia o acesso ao chatbox pelas teclas T e Y, mas ainda é possível enviar mensagens e comandos pelo F8.
    showChat (false) -- Esta função torna o chat invisível para este client.
    -- O jogador ainda pode restaurar o chat pelo comando "showchat" no F8. Mas ele continuará inacessível pelo T e Y devido ao toggleControl.
    -- Após restaurar o chat pelo F8, o jogador pode mandar mensagens e comandos pelo F8 também.
end)

Para evitar as mensagens de "say" e "teamsay" pelo F8, use isso: (server-side)

-- SERVER-SIDE
local cmdBloqueados = {"say", "teamsay"} -- Lista de comandos bloqueados.

addEventHandler("onPlayerCommand", root, function(command)
    for _,cmd in pairs(cmdBloqueados) do
        if (command == cmd) then
            cancelEvent() -- Só consegue bloquear comandos server-side.
            break
        end
    end
end)

Com isso você torna impossível usar o chatbox. Comandos server-side você pode bloquear adicionando ali na lista. Mas os comandos client-side não podem ser bloqueados por questões de segurança.

Edited by Lord Henry
Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...