Jump to content

Erro em função setTimer


Recommended Posts

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

  • Moderators
Posted

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)

 

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! spacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

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