Ir para conteúdo
  • Cadastre-se

(Resolvido)Ajuda diferença de storage


Ir para solução Resolvido por Wakon,

Posts Recomendados

Olá pessoa, estou tentando remover as storage das missões mas não estou conseguindo por que não tenho muito conhecimento.

gostaria de saber qual a diferença entre

getPlayerStorageValue

setPlayerStorageValue

Obrigado!

Link para o post
Compartilhar em outros sites
  • Solução

getPlayerStorageValue retorna o valor da storage e setPlayerStorageValue define o valor da storage.

Editado por Wakon (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Só complementando:

Todas as funções que tiverem "get" no início, elas "pegam" algo, e todas as que tiverem "set" elas "marcam" algo.

Link para o post
Compartilhar em outros sites

Aí sim, @dominus. Isto é 'o espírito de colaboração' !

 

Tenho visto muitas pessoas no Fórum sendo agressivas, tentando demostrar confiança. Penso que este não é o caminho.

 

É de se admirar, iniciar com um 'complementando'. Parabéns mesmo, isto demonstra, ao contrário do exemplo dado, respeito. Senão maturidade.

 

O que é incomum em pessoas mais jovens.

 

Agora, @77mateus77complementando o tópico (antes da minha 'fala' dar dor de cabeça), se pretende remover as 'storages' da quest, suas funções não deveriam envolver o uso de 'storages'.

 

Logo, não deveriam utilizar 'gets' ou, até mesmo, 'sets'.

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Link para o post
Compartilhar em outros sites
3 horas atrás, Xagah disse:

Aí sim, @dominus. Isto é 'o espírito de colaboração' !

 

Tenho visto muitas pessoas no Fórum sendo agressivas, tentando demostrar confiança. Penso que este não é o caminho.

 

É de se admirar, iniciar com um 'complementando'. Parabéns mesmo, isto demonstra, ao contrário do exemplo dado, respeito. Senão maturidade.

 

O que é incomum em pessoas mais jovens.

 

Agora, @77mateus77complementando o tópico (antes da minha 'fala' dar dor de cabeça), se pretende remover as 'storages' da quest, suas funções não deveriam envolver o uso de 'storages'.

 

Logo, não deveriam utilizar 'gets' ou, até mesmo, 'sets'.

Certo! já encontrei um outro jeito, em vez de remover, vou dar aos players todas storages que precisam! ;D

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Nazo
      Buenas, TK!
      Um usuário pediu ajuda em um script, onde queria limitar para a quest ser feita apenas uma vez por IP, mesmo que ainda seja possível mudá-lo, resolvi postar aqui xd
       
      Execute esse código SQL no seu banco de dados MySQL, para a criação da tabela onde ficarão as storages e o IP armazenado do player:
      CREATE TABLE player_ip_storage( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, player_id INT NOT NULL, ip CHAR(15) NOT NULL, storage INT NOT NULL ); ALTER TABLE player_ip_storage ADD CONSTRAINT FK_PLAYER_ID FOREIGN KEY (player_id) REFERENCES players(id);  
      Ou caso seja SQLITE, utilize esse código:
      CREATE TABLE player_ip_storage( player_id INT NOT NULL, ip CHAR(15) NOT NULL, storage INT NOT NULL ); ALTER TABLE player_ip_storage ADD CONSTRAINT FK_PLAYER_ID FOREIGN KEY (player_id) REFERENCES players(id);  
      Crie um arquivo chamado nazo-functions.lua em data/lib e adicione o seguinte conteúdo:
      -- by Nazo (tibiaking.com) -- IP Storage System function getIpQuestStatus(cid, storage) storages = db.getResult("SELECT * FROM `player_ip_storage` WHERE `ip` = \"" .. doConvertIntegerToIp(getPlayerIp(cid)) .. "\" and `storage` = "..storage..";") if(storages:getID() ~= -1) then return false end return true end function setIpQuestStatus(cid, storage) db.executeQuery("INSERT INTO player_ip_storage(player_id, ip, storage) VALUES("..getPlayerGUID(cid)..",\""..doConvertIntegerToIp(getPlayerIp(cid)).."\","..storage..")") return true end  
      Agora, quando você tiver uma quest, adicione na verificação a função getIpQuestStatus na checagem junto, e quando finalizar a quest utilize o setIpQuestStatus, com os parâmetros cid e número da storage, porém a função só armazena que essa storage tem algo no banco de dados, ou seja, a quest já foi feita, você não armazena o valor da storage junto (como a função normal que geralmente adiciona "1" na storage).
       
      Exemplo de quest abaixo:
      -- by Nazo (tibiaking.com) config = { storage = 123123, -- storage da quest premio = {2160, 1} -- {itemid, quantia} } function onUse(cid, item, frompos, item2, toPosition) queststatus = getPlayerStorageValue(cid,config.storage) if(queststatus == -1 and getIpQuestStatus(cid, config.storage)) then -- note que eu só adicionei a função, nenhuma comparação, explicarei abaixo do código doPlayerSendTextMessage(cid,22,"Tome seu prêmio.") doPlayerAddItem(cid,config.premio[1],config.premio[2]) setPlayerStorageValue(cid,config.storage,1) setIpQuestStatus(cid,config.storage) -- função que adiciona a storage no banco de dados else doPlayerSendTextMessage(cid,22,"Você já fez esta quest.") end end  
      Explicação básica do motivo da função não possuir comparação na verificação e ficar como a seguir:
       
      if(getIpQuestStatus(cid, config.storage)) then Quando você faz um if, com uma função dentro sem comparações, ela continuará o bloco de comando apenas se o retorno da mesma for verdadeiro, assim quando você fizer a quest, e tentar novamente, o get retorna falso, e isso cancela a condição e vai para o bloco de comando do "else".
    • Por Digoshow
      Gente e o seguinte, eu fiz uma quest com o RME, e no final da quest quero que um player de use no Bau e Catar um item, o item seria Document = ID: 952, e apos ele dar use nesse document, e liberado e certo lugar para ele passar.
      Ele faz a quest, e quando ele pega o Document e ele der use, ira sair uma mensagem assim, Parabens, Voce conseguiu Acesso Full.
      E ai ia liberar tiles para ele passa para um Hunt sempre que ele quiser, entendero?
      Tipo uma quest da vip 2, Os player que termina a quest, e liberado acesso a vip 2 !
      Alguem pode me ajudar, sim eu procurei nao como eu nao so la aquelas coisas nao consegui, eu ate tentei mais deu o erro a seguir, e ainda o script nem dava item, mais tentei mesmo assim, olhem o erro que da.
       


        Ai gente alguem pode me ajudar com esse script? Que ao da use la no bau pega o item e quando usar, voce ganha acesso a lugares novos, tipo voce usa o item, e voce podera passar nos tiles. Obrigado, REP+ .
    • Por O.J
      Olá amigos estou aqui mais uma vez para pedir uma coisa, um NPC que peça items para o player e se o player trazer os itens ele ganha um prêmio, só que depois que ele pegasse o prêmio ele não pudesse fazer a quest novamente colocassem tipo uma storage que checa se ele ja fez a quest entendem? Por favor se puderem ajudar agradeço muito meu Ot é 8.60 obrigado comunidade .
    • Por 919894
      Olá TKbianos, baum?
       
       Seguinte, gostaria de uma action para uma alavanca que:
       
       --> O player só possa usar 1x na sua vida, ou seja, com storage.
       --> A alavanca só pode ser usada 1x por dia, ou seja, sever save.
       --> Teleporte para o local x697 y486 z7, se possível com um qualquer efeito e a mensagem de "Look for Loki and kill him!".
       
       Procurei no fórum, porém, sem sucesso.
       
       Desde já agradeço!
    • Por allanzinh
      fala galera estou presisando de um tile(piso) que remova a storage do player quando ele passe por ele  
       
      Storage que ira remover do player : 6598799
       
      Agradeço des de ja e do REEP + para quem me ajudar 
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo