Jump to content

[Ajuda] ajuda com timer


Recommended Posts

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

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

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 :wink:

Link to comment

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
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 :wink:

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