GetPlayerStorageValue()

betownage
em Scripts

betownage

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/10/13Posts: 49

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

60Minutos

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/02/14Posts: 12

Uma funciona para tirar storage de um player, e a outra serve para dar storage ao player.

IvanAppel

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 28/11/11Posts: 801Char no Tibia: Sei la

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

60Minutos

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/02/14Posts: 12

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  

betownage

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/10/13Posts: 49

Legal, e onde fica armazenado esse "Set 1" que voces colocaram?

No Banco? Se sim, é necessário criar uma coluna pro player antes?

60Minutos

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/02/14Posts: 12

não precisa criar nenhuma coluna de player, vc usa normalmente sem fazer nenhuma alteração no seu OT

RigBy

Katrina? Romero Brito?
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 05/02/14Posts: 411Gênero: MasculinoChar 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.



DXBXk1i.gif

betownage

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/10/13Posts: 49

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.