MTS_LoneWolf Posted November 2, 2021 Share Posted November 2, 2021 estou pensando em algo mas não sei como fazer algo como function Assaltar(player) toggleAllControls(player, false) next:giveItem(player, "Dinheiro Sujo", 5000) (esperar 10 seg) next:giveItem(player, "Dinheiro Sujo", 5000) (esperar 10 seg) next:giveItem(player, "Dinheiro Sujo", 5000) toggleAllControls(player, true) end seria possível algo desse gênero? Link to comment
Other Languages Moderators androksi Posted November 2, 2021 Other Languages Moderators Share Posted November 2, 2021 (edited) Olá, @MTS_LoneWolf! Sim, isso é possível utilizando de timers. (setTimer) A lógica por trás desse exemplo que você deu, seria usar um timer com duas (2) execuções a cada 10 segundos, ou seja, ela iria demorar 20 segundos para executar todo o processo dado como exemplo e, caso estivesse executando pela segunda vez, a função toggleAllControls também iria ser chamada. Exemplo: addCommandHandler("assaltar", function(player) toggleAllControls(player, false) givePlayerMoney(player, 5000) setTimer(function(player) if isElement(player) then -- IMPORTANTE! Aqui checará se o jogador existe, pois ele pode sair do servidor, o timer continuaria executando e geraria um erro no '/debugscript 3'. local _, rTimes = getTimerDetails(sourceTimer) -- Será armazenado na variável 'rTimes' quantas vezes restam para terminar. givePlayerMoney(player, 5000) if rTimes == 0 then -- Caso esteja restando 0, ou seja, nada, então nós voltamos à situação normal do jogador, com todos os controles funcionando. toggleAllControls(player, true) end end end, 10000, 2, player) end) Edited November 2, 2021 by androksi 1 Link to comment
MTS_LoneWolf Posted November 2, 2021 Author Share Posted November 2, 2021 3 hours ago, androksi said: Olá, @MTS_LoneWolf! Sim, isso é possível utilizando de timers. (setTimer) A lógica por trás desse exemplo que você deu, seria usar um timer com duas (2) execuções a cada 10 segundos, ou seja, ela iria demorar 20 segundos para executar todo o processo dado como exemplo e, caso estivesse executando pela segunda vez, a função toggleAllControls também iria ser chamada. Exemplo: addCommandHandler("assaltar", function(player) toggleAllControls(player, false) givePlayerMoney(player, 5000) setTimer(function(player) if isElement(player) then -- IMPORTANTE! Aqui checará se o jogador existe, pois ele pode sair do servidor, o timer continuaria executando e geraria um erro no '/debugscript 3'. local _, rTimes = getTimerDetails(sourceTimer) -- Será armazenado na variável 'rTimes' quantas vezes restam para terminar. givePlayerMoney(player, 5000) if rTimes == 0 then -- Caso esteja restando 0, ou seja, nada, então nós voltamos à situação normal do jogador, com todos os controles funcionando. toggleAllControls(player, true) end end end, 10000, 2, player) end) caso eu crie uma outra função que de set no rTimes para 0, ele cancelaria o evento? caso ele tenha que executar a função por exemplo, 5 vezes, a variavel rTimes seria 5, caso quando ela estiver em 3, eu setar ela em 0, ele cancela as outras 2 ações que aconteceriam? Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now