Ir para conteúdo
Entre para seguir isso  
izaiasousa

O que é storage value?

Recommended Posts

izaiasousa    0
izaiasousa

Funções dos scripts de Lua #7

*--------------------------*

|O que é storage value ?|

*--------------------------*

StorageValue é uma "variável" que armazena valores para serem usadas em outros coisas em scripts de Lua. Na maioria das vezes são valores sobre os jogadores.Mas antes de partimos para como "ler" a storage value do jogador cid vamos enteder mais sobre o que é.

 

 

function onUse(cid, item, frompos, item2, topos)

if item.uid == 900 then

storage = getPlayerStorageValue(cid, 9000) -- Aqui a storage. É como se fosse uma senha de acesso, por exemplo, um jogador vai em uma boca livre e ele só pode comer uma vez certo? um jogador vai fazer uma quest e só pode clicar sobre o baú uma vez só, entendem? Para isso temos que fazer com que o Unique Id do baú seja um número diferente dos outros, único, para que quando o jogador clicar sobre ela, ele ganhe uma senha e quando ele clicar novamente sobre o mesmo baú ele não consiga abrir ela. Entenderam o que eu quis dizer? Aqui no caso a senha é 9000. Coloque uids que você consiga se lembrar, por que não pode repetir a uid! Aqui a variavel storage recebe a "senha de acesso" do jogador que será verificada pelo get (se lembram de nossas aulas?) e retornando ao script dizendo se esse jogador ja abriu esse baú ou não!

 

if storage == -1 or storage == 0 then -- Aqui no caso, se o jogador ainda nao clicou, a storage pode ser -1 ou 0. Por que esses números tio ? :cry: Porque 0 representa nulo e tudo que vier antes dele também :)

 

doPlayerSendMessage(cid, 22, "Parabens!”)

doPlayerAddItem(cid, 2387, 1)

setPlayerStorageValue(cid, 9000, 1) -- Ará! Aqui o quê ele faz ? Ele adiciona o valor 1 na storage do jogador. Tioooo... 1?!! :cry: Por exemplo, para o script ser executado ele devia ter storage -1 ou 0 né ? Então para que ele não possa clicar no baú, por exemplo, ele agora vai receber o valor 1 que significa que ele clicou.

 

else -- Opa! Senão o quê? Se o jogador não tiver a storage igual à -1 ou 0, então ele já clicou no baú! Então ira aparecer a seguinte mensagem abaixo..

 

doPlayerSendMessage(cid, 22, “Você já pegou o que tinha aqui!”)

 

end

return 1

end

return 0

end

 

Bem, mostrei esse script aqui para vocês terem uma visualização de como é e onde se usa o storage value. Nós sabemos que para checar uma informação do jogador cid e retornar ao script essa informação, usamos o GET certo ? ^^

 

Para ler a informação do jogador sobre a storagevalue usamos o getPlayerStorageValue(cid).

 

Como Set significa "dar um novo valor", então para dizer que o jogador que não tinha clicado no baú e após ele ter clicado e ganhado seu prêmio, para que quando ele clicar denovo no baú ele não possa abrir, vamos ter que dar a ele o valor na storage de numero 1. Ou seja

 

setPlayerStorageValue (cid,9000,1) -- Vai dar o novo valor para a storage do jogador. Primeiro colocamos o Uid do baú que é 9000 e depois o 1 que significa que ele já clicou no baú.

 

 

É isso aí pessoal! Uma introdução do que é Storage :)

Espero que tenham aproveitado!

 

Até a próxima!

Editado por izaiasousa

Compartilhar este post


Link para o post
Flatronez    1
Flatronez

Movido.

 

aprovadog.png

Compartilhar este post


Link para o post
celtaaxel    0
celtaaxel

Muito Loko essa explicação brother!

Compartilhar este post


Link para o post
arthurmaffeis    0
arthurmaffeis

muito bom , vlw !

:D

agora entendi !

Compartilhar este post


Link para o post
otavio1234    0
otavio1234

boa :)

Compartilhar este post


Link para o post
Socket    0
Socket

Ficou boa a explicação, vai ajudar os iniciantes mas só tem uma coisa errada.

 

Storages values não são variáveis, e sim campos no database do server, e que para você "setar" ou "pegar" esses valores, são usadas funções que as mesmas utilizam de queries para o mesmo.

 

Att. Socket

Compartilhar este post


Link para o post
Mickfern    32
Mickfern

Sim, me ajudou muito.

Eu tenho uma certa dificuldade com storage em scripts, até porque eu to começando agora, mas isso me ajudou um pouco a entender... pelo menos agora eu saberei o que é e o que fazer.

Compartilhar este post


Link para o post
Arakuta    0
Arakuta

Ja sabia o que era storage, mas nao como usa-lo. Me ajudou muito. vlw!

Compartilhar este post


Link para o post
Sorcerer of luz    0
Sorcerer of luz

Aqui é a area de duvidas?

Compartilhar este post


Link para o post
gugogs    0
gugogs

if storage == -1 or storage == 0 then

nessa parte tambem estaria certo se colocasse assim?

if storage <= 0 then

 

:weegee:

Compartilhar este post


Link para o post
Sinister    0
Sinister

/\

Depende, pq ele quer -1 ou 0, <= 0 são todos os negativos e 0.

Compartilhar este post


Link para o post
Dartier    0
Dartier

-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9

em lua é assim, ou seja tá certo

-1 < 0

Compartilhar este post


Link para o post
fezao    0
fezao

vlws ai ...

entendi oque é mais ainda nao consegui colocalo no meu script :S

porque eu precisava colocar em 2 scripts ...

vamo supor : eu clico na placa e entro , dai eu mato o bixo , talz ...

dai eu recebo o premio

ateh essa parte ta beleza

mais dai queria que nao tivesse mais como o cara entrar na sala

e nao to conseguino :S

me ajuda alguem ai ?

Compartilhar este post


Link para o post
izaiasousa    0
izaiasousa
vlws ai ...

entendi oque é mais ainda nao consegui colocalo no meu script :S

porque eu precisava colocar em 2 scripts ...

vamo supor : eu clico na placa e entro , dai eu mato o bixo , talz ...

dai eu recebo o premio

ateh essa parte ta beleza

mais dai queria que nao tivesse mais como o cara entrar na sala

e nao to conseguino :S

me ajuda alguem ai ?

 

Você primeiramente criaria uma Storage Value para a placa, uma que seja única claro, Ex: 8568.

 

Primeiramente você irá ver se o jogador já está "marcado" ou já passou por ali.

 

 

Exemplo:

variavel = getPlayerStorageValue(cid,8568)

if (variavel <= 0) then

 

Ai faz o corpo do script, da quest. Você faz antes de... por exemplo, ele usar o item.

 

Depois dele ter usado o item ou ganhado o item por exemplo, você "marca" o jogador dizendo que ele já passou por ali, por aquela Storage Value (digamos assim).

 

setPlayerStorageValue(cid,8568,1)

 

Pronto, ai ele diz que ele passou ou usou aquele item. Se ele for clicar novamente no baú da quest por exemplo, ele vai verificar que nem ali em cima e irá ver que 1 não é igual a 0 ou menor que 0, e não irá executar o script.

 

 

Compartilhar este post


Link para o post
izaiasousa    0
izaiasousa
Ficou boa a explicação, vai ajudar os iniciantes mas só tem uma coisa errada.

 

Storages values não são variáveis, e sim campos no database do server, e que para você "setar" ou "pegar" esses valores, são usadas funções que as mesmas utilizam de queries para o mesmo.

 

Att. Socket

 

Por isso eu coloquei entre aspas, só para de uma maneira informal dizer que a storage será usada para identificar (usando o get) algo desejado pelo scripter.

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×