Uma funciona para tirar storage de um player, e a outra serve para dar storage ao player.
Editado Março 22 por 60Minutos
Digamos que tem um baú de uma quest.
Ai é assim:
na tag de actions coloca um actionid"1234" e poe o arquivo "quest.lua"
em quest .lua vc colocaria
function onUse(cid, item, frompos, item2, topos) -- Ao dar use
if getPlayerStorageValue(cid,1234) == -1 then -- Checar se o player tem a storage 1234
doPlayerAddItem(cid,2160,1) -- se não tiver a storage 1234 vai dar 1 crystal coin (2160 = id do crystal coin, numero 1 igual a quantidade do item que vai dar)
setPlayerStorageValue(cid,1234,1) -- Setar a storage 1 ou seja, dar a storage para o player
elseif
doPlayerSendCancel(cid, This chest empty.) -- Se o player tentar dar use no baú novamente vai dizer "This chest empty." pois já fez a quest.
end
end
Ou seja, a função storage é usada para muitas coisas como quest e etc.. qualquer dúvida só dizer ai
Um exemplo de de remoção de storage:
if getPlayerStorageValue(cid, 54321) >= 1 then if getPlayerStorageValue(cid, 12345) ~= 1 then setPlayerStorageValue(cid, 12345, 1) end elseif getPlayerStorageValue(cid, 54321) ~= 1 then if getPlayerStorageValue(cid, 12345) == 1 then doTeleportThing(cid, pos, true).") doPlayerSendTextMessage(cid, 22, "Você perdeu sua storage.") setPlayerStorageValue(cid, 44444, 0) end end return true end
Editado Março 22 por 60Minutos
Legal, e onde fica armazenado esse "Set 1" que voces colocaram?
No Banco? Se sim, é necessário criar uma coluna pro player antes?
não precisa criar nenhuma coluna de player, vc usa normalmente sem fazer nenhuma alteração no seu OT
info
Grupo: Visconde
Registrado: 05/02/14
Posts: 411
Reputação: +285
Gênero: Masculino
Char no Tibia: Zeh Sergipano

Vo tentar esplica do meu jeito:
Todos player tem todas as storage só que todas(TODAS MESMO) começa no valor de -1
Principais funções usando storage
getPlayerStorageValue(cid, key) == valor -- cheka o valor da storage setPlayerStorageValue(cid, key, valor) -- muda o valor da storage pra outra
Exemplo:
Uma quest
Function onUse(cid, item, fromPosition, itemEx, toPosition) -- função usa
if getPlayerStorageValue(cid, 123456) == -1 then --Se a storage for igual e -1 ele continua
doPlayerSendCancel(cid, "Você ganho a storage.")
setPlayerStorageValue(cid, 123456, 1) -- mudo o valor da storage 123456 para 1
else -- caso a storage dele não seja -1
doPlayerSendCancel(cid, "Você ha ganho a storage.")
end -- fecho o if
return true
end -- fecho a função
Onde a storage fica guardada: Eu acho que fica na db.
Editado Março 22 por RigBy
Entendi as funções já.
No caso então, ele detecta, não importa o número da storage, já existe então uma storage nmr 12489172412? algo do genero?
Na real, vo olhar o banco e ver.
Resolvido.
Editado Março 22 por betownage






info
Grupo: Campones
Registrado: 15/10/13
Posts: 49
Reputação: +1
Alguém poderia me explicar como esta função funciona exatamente? O que ela busca ou pode buscar?
Onde ficam armazenados os dados que ela busca?
Existe a função SetPlayerStorageValue(), como ela funciona também?
Aguardo