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 ?
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?!!
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!