FelipeMallmann Posted May 20, 2015 Share Posted May 20, 2015 Fala galera, estou precisando de ajuda urgente aqui Nem sei se é com timer que se resolve essa questão, mas vamos la: Estou usando um sistema que, quando um player morre, dropa dinheiro no chao ( o mesmo usado no gta offline ) Só que o problema está ai, o dinheiro fica no chao até ser pego, o que resulta em lag, caso fique muito dinheiro no chao.. Como fazer um tempo para que esse dinheiro que aparece no chao assim que o player morre, durasse por apenas 1 minuto por exemplo? Uma parte do codigo: setElementData(createPickup(x1, y1, z, 3, 1212), "ammount", moneyAmmount); setElementData(createPickup(x2, y2, z, 3, 1212), "ammount", moneyAmmount); setElementData(createPickup(x2, y2, z, 3, 1212), "ammount", moneyAmmount); end function moneyPickupHit(player) local money = getElementData(source, "ammount"); if money then givePlayerMoney(player, money); destroyElement(source); end end Não fui eu quem fiz esse codigo, apenas editei, e tmb gostaria de saber por que do uso de setElementData Obrigado! Link to comment
Stanley Sathler Posted May 20, 2015 Share Posted May 20, 2015 O único objetivo do setElementData() é garantir que esse pickup é um pickup de dinheiro. No seu caso, poderia simplesmente checar se o modelo do pickup é 1212 (dinheiro). Como cada caso é um caso, podem existir servidores que usem um pickup do modelo 1212 com o mesmo objetivo que você. Porém, use também o mesmo pickup (de dinheiro) para outros casos... as vezes pra montar um interior de um banco, enfim, diversas situações. Se esse setElementData() não existir, toda vez que um jogador passar por cima de uma pickup de modelo 1212, a condição será chamada. Isso só faz com que aquele pickup seja um pickup específico para essa função de dar o dinheiro para quem pegar. Link to comment
#RooTs Posted May 20, 2015 Share Posted May 20, 2015 substitua o seu codigo por este aqui local pickup = createPickup(x1, y1, z, 3, 1212) setElementData(pickup, "amount1", math.random( 1, 25 ) ); setTimer(function() if (isElement(pickup)) then destroyElement(pickup) end end, 15000, 1) end function moneyPickupHit(player) local money = getElementData(source, "ammount") if money then givePlayerMoney(player, money) destroyElement(source) end end eu costumo usar este site cara calcular o tempo em milisegundos http://www.convertworld.com/pt/tempo/Milissegundo.html 1 min = 60000 2 min = 120000 e por aii vai Link to comment
FelipeMallmann Posted May 20, 2015 Author Share Posted May 20, 2015 Obrigado Stanley e #RooTs por ajudarem!! Infelizmente como o Stanley havia comentado comigo, é muito trabalhoso fazer com a ideia que eu tinha em mente. Desse seu jeito RooTs, ele vai deletar todos elas depois de um tempo, e não só as que já estavam tempo demais no mapa. Mas eu ja busquei alternativas e já está tudo funcionando perfeitamente!! Muito Obrigado aos 2 Link to comment
#RooTs Posted May 20, 2015 Share Posted May 20, 2015 Obrigado Stanley e #RooTs por ajudarem!!Infelizmente como o Stanley havia comentado comigo, é muito trabalhoso fazer com a ideia que eu tinha em mente. Desse seu jeito RooTs, ele vai deletar todos elas depois de um tempo, e não só as que já estavam tempo demais no mapa. Mas eu ja busquei alternativas e já está tudo funcionando perfeitamente!! Muito Obrigado aos 2 de nada, fico feliz em poder te ajudar 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