Ir para conteúdo
  • 0

Gabriel Netto

Pergunta

E aí, galera, tranquilo?
Tô aqui pra pedirem q me sanem uma dúvida que tá foda.
Como funciona exatamente o doPlayerSetStorageValue(cid, x, key)? O -1 seria para remover e o 1 para adicionar, certo?
Vi em alguns scripts que caso a storage seja temporária eu altero na key também, mas queria saber como usar. Uso os.time? Como usar? EHAUEHAHEU


Valeus D: 

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

-1 indica que o jogador não tem a storage,

o 1 significa que alguma quest deu ele esse storage, lembrando que vc pode dar não só 1 como storage, pode dar qualqur numero, por exemplo

doPlayerSetStorage(cid, 100,10)

neste caso setou o valor 10 para storage 100 do player

Link para o comentário
Compartilhar em outros sites

  • 0

A ideia não é necessariamente essa. Independentemente do value (key é a storage), o jogador tem uma. O valor padrão é -1, mas isso não significa que a criatura (seja um monstro ou um player) não possui uma storage. Significa que ela não foi alterada (logo, uma linha na tabela do banco de dados não foi criada), ou, caso tenha sido, tenha voltado ao valor padrão (o valor na tabela do banco de dados continuará). A ideia de que -1 represente não ter a storage e 1 ter foi apenas uma ideia adotada e padronizada nos códigos. Entretanto, você pode sem problemas escrever códigos que contrariem esse padrão.

Quanto a usar tempos em storages, a estrutura é a seguinte:

setPlayerStorageValue(uid, key, os.time() + time)

os.time() retorna o tempo em segundos contado a partir de 01/01/1970, e somando-o ao time (que é em segundos) você obtém o valor que representa o os.time() daqui a time segundos.

Usando uma condição, você pode saber se o tempo estabelecido na storage já passou ou não:

if os.time() > getPlayerStorageValue(uid, key) then	--tempo já passouelse	--tempo ainda não passouend

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 06/08/2016 at 13:00, zipter98 disse:

A ideia não é necessariamente essa. Independentemente do value (key é a storage), o jogador tem uma. O valor padrão é -1, mas isso não significa que a criatura (seja um monstro ou um player) não possui uma storage. Significa que ela não foi alterada (logo, uma linha na tabela do banco de dados não foi criada), ou, caso tenha sido, tenha voltado ao valor padrão (o valor na tabela do banco de dados continuará). A ideia de que -1 represente não ter a storage e 1 ter foi apenas uma ideia adotada e padronizada nos códigos. Entretanto, você pode sem problemas escrever códigos que contrariem esse padrão.

Quanto a usar tempos em storages, a estrutura é a seguinte:

setPlayerStorageValue(uid, key, os.time() + time)

os.time() retorna o tempo em segundos contado a partir de 01/01/1970, e somando-o ao time (que é em segundos) você obtém o valor que representa o os.time() daqui a time segundos.

Usando uma condição, você pode saber se o tempo estabelecido na storage já passou ou não:

if os.time() > getPlayerStorageValue(uid, key) then	--tempo já passouelse	--tempo ainda não passouend

 

Pra variar, auxiliando d+. Valeus, cara.

Então não existe necessariamente uma função pra setar algum tempo pra storage, pra fazer isso seria só questão de lógica com as funções já existentes na lua?

Editado por Gabriel Netto
Link para o comentário
Compartilhar em outros sites

  • 0

Voce tem que criar uma logica para o uso do os.time.

A storage sempre vai continuar existindo, mas o valor dela pode mudar e é esse valor que é requisitado na logica do sistema.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...