Ir para conteúdo
  • Cadastre-se

[Resolvido] Script que adiciona Storages.


Posts Recomendados

Um script simples, que o player clica no item, adiciona 12 storages nele. Seria as Storage das VIPS :D

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

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

local storages = {10101,10102,10103,10104,10105,10106,10107,10108,10109,10110}

if stoorage(cid,storages[1]) <= 0 and stoorage(cid,storages[2]) <= 0 and stoorage(cid,storages[3]) <= 0 and stoorage(cid,storages[4]) <= 0 and stoorage(cid,storages[5]) <= 0 then

if stoorage(cid,storages[6]) <= 0 and stoorage(cid,storages[7]) <= 0 and stoorage(cid,storages[8]) <= 0 and stoorage(cid,storages[9]) <= 0 and stoorage(cid,storages[10]) <= 0 then

setPlayerStorageValue(cid,storages[1],1)

setPlayerStorageValue(cid,storages[2],1)

setPlayerStorageValue(cid,storages[3],1)

setPlayerStorageValue(cid,storages[4],1)

setPlayerStorageValue(cid,storages[5],1)

setPlayerStorageValue(cid,storages[6],1)

setPlayerStorageValue(cid,storages[7],1)

setPlayerStorageValue(cid,storages[8],1)

setPlayerStorageValue(cid,storages[9],1)

setPlayerStorageValue(cid,storages[10],1)

doPlayerSendTextMessage(cid,27,"Voce ganhou uma porrada de storages, parabéns.")

else

doPlayerSendTextMessage(cid,27,"Voce já tem essas storages.")

end

return true

end

end

Editado por tonyplyson (veja o histórico de edições)

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

Link para o post
Compartilhar em outros sites

Movido para a area correta.

Mais atenção da proxima vez.

Tenso, jurava que postei na area de suporte de ot, mais vlw :D

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

Tony, você devia estudar loop's para diminuir o script

um exêmplo com um loop para determinar value:

function onUse(cid, item)



local Msg = "Você ganhou acesso a todas áreas vip's parabéns."

local storages = {{10101, 1}, {10102, 1}, {10103, 1}, {10104, 1}, {10105, 1}, {10106, 1}, {10107, 1}, {10108, 1}, {10109, 1}, {10110, 1}}   


for _, T in pairs(storages) do


if getPlayerStorageValue(cid, T[1]) < T[2] then

      setPlayerStorageValue(cid, T[1], T[2])

        end

           doPlayerSendTextMessage(cid, 27, Msg)

               end

    return true

end


@Sintaxe: storages = {{Storage id, value}} .
Ou um exêmplo mais simples ainda
function onUse(cid, item)



local Msg = "Você ganhou acesso a todas áreas vip's parabéns."

local storages = {10101, 10102, 10103, 10104, 10105, 10106, 10107, 10108, 10109, 10110}


for T = 1, #storages do


if getPlayerStorageValue(cid, storages[T]) < 1 then

      setPlayerStorageValue(cid, storages[T], 1)

        end

           doPlayerSendTextMessage(cid, 27, Msg)

               end

    return true

end

pode usar qualquer um que vai funcionar xP.

Retirado.

 

Skype: joaoxtibia85.

Link para o post
Compartilhar em outros sites

Eu fiz uma edição, veja se ta certo, e também da erro, diz na distro que não sabe o que é 'stoorage'.

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

local storages = {13701,13702,13703,7527,7528,7529,7530,7525,7520,5722, 5721}

if stoorage(cid,storages[1]) <= 0 and stoorage(cid,storages[2]) <= 0 and stoorage(cid,storages[3]) <= 0 and stoorage(cid,storages[4]) <= 0 and stoorage(cid,storages[5]) <= 0 then

if stoorage(cid,storages[6]) <= 0 and stoorage(cid,storages[7]) <= 0 and stoorage(cid,storages[8]) <= 0 and stoorage(cid,storages[9]) <= 0 and stoorage(cid,storages[10]) <= 0 and stoorage(cid,storages[11]) <= 0 then

setPlayerStorageValue(cid,storages[1],1)

setPlayerStorageValue(cid,storages[2],1)

setPlayerStorageValue(cid,storages[3],1)

setPlayerStorageValue(cid,storages[4],1)

setPlayerStorageValue(cid,storages[5],1)

setPlayerStorageValue(cid,storages[6],1)

setPlayerStorageValue(cid,storages[7],1)

setPlayerStorageValue(cid,storages[8],1)

setPlayerStorageValue(cid,storages[9],1)

setPlayerStorageValue(cid,storages[10],1)

setPlayerStorageValue(cid,storages[11],1)

doPlayerSendTextMessage(cid,27,"Voce ganhou todas VIPS acess (menos donate), parabéns.")

else

doPlayerSendTextMessage(cid,27,"Voce já tem essas storages.")

end

return true

end

end

Vou testar o seu Sky

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

Sky, o seu funciono bonitinho, porém o item não some, pode add isso? vlw.

function onUse(cid, item)

local Msg = "Você ganhou acesso a todas áreas vip's parabéns."

local storages = {13701,13702,13703,7527,7528,7529,7530,7525,7520,5722, 5721}

for T = 1, #storages do

if getPlayerStorageValue(cid, storages[T]) < 1 then

setPlayerStorageValue(cid, storages[T], 1)

end

doPlayerSendTextMessage(cid, 27, Msg)

end

return true

end

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

Você não falou que precisa remover...

function onUse(cid, item)



local Msg = "Você ganhou acesso a todas áreas vip's parabéns."

local storages = {13701, 13702, 13703, 7527, 7528, 7529, 7530, 7525, 7520, 5722,  5721}


for T = 1, #storages do


if getPlayerStorageValue(cid, storages[T]) < 1 then

          setPlayerStorageValue(cid, storages[T], 1)

                end

                   doPlayerSendTextMessage(cid, 27, Msg)

                        doRemoveItem(item.uid, 1)

                           end

        return true

end

Retirado.

 

Skype: joaoxtibia85.

Link para o post
Compartilhar em outros sites

@Skyforever vlw, fumfo direitinho.

@tony vlw tb pela ajuda.

Edit. Sky deu um erro na distro, mals eu não vi. --" Mais funcionou, só da esse erro apos sumir.

e7fib8.jpg

Editado por jNo (veja o histórico de edições)

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

Duvida sanada

movido.

Att,

Skyligh

Entrada Como Membro 14 / 08 / 2012

Entrada Como Suporte 05 / 12 / 2012

Saída Como Suporte 06 / 01 / 2013

sem_ta28.png

Contato : [email protected] / [email protected]

Link para o post
Compartilhar em outros sites

@Skyforever vlw, fumfo direitinho.

@tony vlw tb pela ajuda.

Edit. Sky deu um erro na distro, mals eu não vi. --" Mais funcionou, só da esse erro apos sumir.

e7fib8.jpg

Mals errei as posições.

function onUse(cid, item)

local Msg = "Você ganhou acesso a todas áreas vip's parabéns."

local storages = {13701, 13702, 13703, 7527, 7528, 7529, 7530, 7525, 7520, 5722, 5721}


for T = 1, #storages do


if getPlayerStorageValue(cid, storages[T]) < 1 then

setPlayerStorageValue(cid, storages[T], 1)

end

end

doPlayerSendTextMessage(cid, 27, Msg)

doRemoveItem(item.uid, 1)

return true

end

Editado por Skyforever (veja o histórico de edições)

Retirado.

 

Skype: joaoxtibia85.

Link para o post
Compartilhar em outros sites

Vlw Skyforever, funcionou ;D

Editado por jNo (veja o histórico de edições)

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

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