Ir para conteúdo

Featured Replies

Postado

Olá galera do TK

Estou com um problema no meu script para adicionar um storage;

Acontece que ele só adiciona storage a um player e quero que ele adicione para todos da guild vou postar aqui e tentar explicar melhor!

Spoiler

 

killerG = killer:getGuild()

for _,n in ipairs(Game.getPlayers()) do
    j = n:getName()
    if j == killer then
        j:setStorageValue(4555, 1)
    elseif killerG:getId() == Game.getStorageValue(4556) and j:getStorageValue(6000) == Game.getStorageValue(6001) then -- caso o player tenha guild e os membros passem por essa verificação eles também ganham o storage
        j:setStorageValue(4555, 1)
    end    
end

-- o storage 6000 e 6001 é adicionado ao player quando ele passa no teleport(já está certo)
-- o storge 4556 é adicionado quando a guild ganha (já está certo)
-- o storage 4555 é que o player ganha

 

 

 

mas o problema é que só um player esta ganhando tentei usar um for mas também sem sucesso

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

Postado

O script é seu? porque eu acredito que essa checagem aqui está incorreta

killerG:getId() == Game.getStorageValue(4556) and j:getStorageValue(6000) == Game.getStorageValue(6001)

no caso vc quer verificar se j possui guild e se o guildid da guild de j é igual ao killerG:getId(), porque vc comparou com global storages?

Postado
  • Autor

Eu fiz assim Game.setStorageValue(4556, killerG:getId()) para guardar o id da guild por isso comparei com globalstorage

e a outra parte é para ver se o player passou pelo portal e está no evento para não adicionar a todos da guild online

 

obs: o script não é meu eu pego varias partes de script para ver se consigo fazer o que eu quero e acabou saindo isso

Postado

Bom, se tá salvando  Game.setStorageValue(4556, killerG:getId())  antes de executar o for, óbvio que essa primeira checagem é verdadeira e a segunda só garante que ele está dentro do evento..

  elseif n:getGuild():getId() == Game.getStorageValue(4556) and n:getStorageValue(6000) == Game.getStorageValue(6001)


pro restante> j é só o nome do player ( j = n:getName() ) se vc quer usar o player é com n:

 

killerG = killer:getGuild()
for _, n in ipairs(Game.getPlayers()) do
    if n == killer then
        n:setStorageValue(4555, 1)
    elseif n:getGuild():getId() == Game.getStorageValue(4556) and n:getStorageValue(6000) == Game.getStorageValue(6001) then
        n:setStorageValue(4555, 1)
    end    
end

mas aí tem que fazer uma verificação antes pra garantir que ele tenha guild, se nao me engano é só botar n:getGuild() and , ficando assim a linha:

elseif n:getGuild() and n:getGuild():getId() == Game.getStorageValue(4556) and n:getStorageValue(6000) == Game.getStorageValue(6001) then

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo