Jump to content

Erro em função setTimer


Recommended Posts

function assaltarlojinha (source)
    armas = getPedWeapon (source) 
    emcimamrk = getElementsWithinMarker(tabelafalsa[index])
    if isElementWithinMarker ( source, tabelafalsa[index]) then
        if #emcimamrk == 1 then
            if not isElementVisibleTo(assaltarassaltado,source) == true then
            if armas == 22 or armas == 24 or armas == 25 or armas == 26 or armas == 27 or armas == 29 or armas == 30 or armas == 31 or armas == 32 or armas == 33 or armas == 34 then  
                local accName = getAccountName ( getPlayerAccount ( source ) )
                if not isObjectInACLGroup ("user."..accName, aclGetGroup ( police ) ) then

                setElementFrozen(source,true)
                setPedAnimation (source, "SHOP", "ROB_Loop_Threat", -1, true, false, true)                                
                triggerClientEvent ( root, "alarme3", root, source,value )                                             
               
                for _, Player in pairs(getElementsByType("player")) do
                    local accName = getAccountName ( getPlayerAccount ( Player ) )
                    if isObjectInACLGroup ("user."..accName, aclGetGroup ( police ) ) then
                        setElementVisibleTo(assaltarassaltado,Player,true)
                          message(Player,"O alarme da loja "..value[11].." foi disparado em emergencia ","info")
                          setTimer(function()
                            setElementVisibleTo(assaltarassaltado,Player,false)
                        end,tempopranew,1,Player)

                    end
                end
                
                setTimer(function(source)
                    setPedAnimation( source )            
                    setElementFrozen(source,false)

                                message(source,"Você assaltou a "..value[11].." e ganhou R$"..valoroubo.."","info")

					local next = exports.n3xt_inventario

                    next:giveItem(source, "Dinheiro Sujo", valoroubo)
                end,tempodoassalto,1,source)
                
                    local procurado = getPlayerWantedLevel( source )
                    if procurado  < 6 then
                        setPlayerWantedLevel ( source, procurado+1 )                                                                  	 
                    else
                        setPlayerWantedLevel(source,1)
                    
                    end
                      
                
                setTimer(function(source)
                    assaltada3 = false 
                    setElementVisibleTo(assaltarassaltado,source,false)
                    setElementVisibleTo(assaltardessaltado,source,true)
                end,tempopranew,1,source)

                else
                    message(source,"Policial não pode assaltar lojas!","error")

                end
            else

            message(source,"Você precisar estar com a arma equipada em mãos","error")

            end
        else
            message(source,"Está loja foi assaltada recentemente","error")
        end
        end
    end
end
addCommandHandler("assaltar",assaltarlojinha)
end

 

Fala Galera beleza? Gostaria de uma ajudinha para saber onde esta o erro que não me permite definir o boqueio de tempo para que o player volte a assaltar a lojinha em um determinado espaço de tempo.. já mexi e mexi no código que não fui eu o autor mas quem me passou disse estar configurado porém não funciona apenas esta funcção que define o tempo para voltar a assaltar a loja.

Link to comment
  • Other Languages Moderators

Nesse seu setTimer, faltou você definir um parâmetro de função para receber o Player.

setTimer(function()
    setElementVisibleTo(assaltarassaltado,Player,false)
end,tempopranew,1,Player)

Faça dessa forma:

setTimer (function (thePlayer)
    setElementVisibleTo (assaltarassaltado, thePlayer, false)
end, tempopranew, 1, Player)

 


Além disso, nesse seu outro setTimer:

setTimer(function(source)
    assaltada3 = false 
    setElementVisibleTo(assaltarassaltado,source,false)
    setElementVisibleTo(assaltardessaltado,source,true)
end,tempopranew,1,source)

Nunca defina source como parâmetro de função, pois isso pode causar conflito.
Faça dessa forma:

setTimer (function (theSource)
    assaltada3 = false 
    setElementVisibleTo (assaltarassaltado, theSource, false)
    setElementVisibleTo (assaltardessaltado, theSource, true)
end, tempopranew, 1, source)

 

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...