Jump to content

[AJUDA]COM A FUNÇAO DE TIME


Recommended Posts


 

Spoiler
local antiflood = { }
local currentflood = { }
local timer = { }

mutado = false

function antiFlood( mtaz )
    plr_source = source
    
    if isTimer( timer[source] ) then
        killTimer( timer[source] )
    end
    
    if not currentflood[source] then
        currentflood[source] = 0
    elseif currentflood[source] <= -1 then
        currentflood[source] = 0
    end 
    
    if currentflood[source] >= 3 then
        toggleControl ( source, "chatbox", false )
        outputChatBox ("Você foi mutado, aguarde 1 minuto para enviar mensagens novamente!", source, 0, 255, 0, true)
        mutado = true
    else
        if antiflood[source] == true then
            cancelEvent()
            currentflood[source] = currentflood[source] + 1
            outputChatBox("Aguarde 1 segundo!", source, 255, 0, 0, true)
        else
            currentflood[source] = currentflood[source] - 1
        end

        antiflood[source] = true

        timer[source] = setTimer ( function()
            antiflood[plr_source] = false
        end, 900, 1 )    
    end
end
addEventHandler( "onPlayerChat", root, antiFlood )

setTimer ( function()
if mutado == true then
    toggleControl ( source, "chatbox", true )
else
    return 
    end
end, 60000, 0 )    

 

Por que o  toggleControl ( source, "chatbox", true ) não esta indo?  não da erro no debugscript, e nem devolve a funçao do chatbox

Edited by FpX
Link to comment
  • 3 weeks later...

 

local antiflood = { }
local currentflood = { }
local timer = { }

mutado = false

function antiFlood( mtaz )
    if mutado then
        outputChatBox ("Você está mutado, aguarde um pouco para enviar mensagens novamente.", source, 0, 255, 0, true)
    	cancelEvent( )
        return false
    end
    plr_source = source
    if isTimer( timer[source] ) then
        killTimer( timer[source] )
    end
    
    if not currentflood[source] then
        currentflood[source] = 0
    elseif currentflood[source] <= -1 then
        currentflood[source] = 0
    end 
    
    if currentflood[source] >= 3 then
        setPlayerMuted( source, true )
        outputChatBox ("Você foi mutado, aguarde 1 minuto para enviar mensagens novamente!", source, 0, 255, 0, true)
        mutado = true
    else
        if antiflood[source] == true then
            cancelEvent()
            currentflood[source] = currentflood[source] + 1
            outputChatBox("Aguarde 1 segundo!", source, 255, 0, 0, true)
        else
            currentflood[source] = currentflood[source] - 1
        end

        antiflood[source] = true

        timer[source] = setTimer ( function()
            antiflood[plr_source] = false
        end, 900, 1 )    
    end
end
addEventHandler( "onPlayerChat", root, antiFlood )

Você colocou um setTimer fora da função atrelada ao evento "onPlayerChat", e também, o "chatbox" não é um control em si, e sim um comando, da maneira acima, se a variável "mutado" for verdadeira, a mensagem que o player enviar será cancelada e enviará um outputChatBox o avisando que ele está mutado.

  • Thanks 1
Link to comment

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.
×
×
  • Create New...