Ir para conteúdo
  • 0

Query Add Item All Players Depot


atakashi

Pergunta

Boa noite pessoal, aqui estou com dificuldade para achar uma Query que adicione a todos Depot de todos players do servidor 1 Item.

entao se alguem que entenda melhor de sql aqui, uma query para add a todos do servidor na tabela Player_depotitems.

 

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Spoiler
INSERT INTO player_depotitems (player_id, sid, pid, itemtype, count, attributes)SELECT tb1.player_id as player_id, tb2.sid as pid, tb1.sid as pid, '2160', '15', 'NULL' FROM(SELECT player_id, sidFROM player_depotitemsWHERE itemtype = 2594) as tb1LEFT OUTER JOIN(SELECT player_id, MAX(sid) + 1 as sidFROM player_depotitemsGROUP BY player_id) as tb2USING (player_id);

 


No lugar de '2160', '15' vc bota o id e a quantidade que vc quer.
Nota q ele só vai executar isso pros players q tiverem aberto o depot pelo menos 1x na vida. Pro restante ficaria muito complicado pois eu teria que fazer o mesmo trabalho que a source faz só q considerando todos os ids da tabela players e isso ficaria BEEEM pesado prum servidor com bastante contas registradas.
Detalhe2: como é uma alteração na database, só irá funcionar se o player estiver offline. 

Link para o comentário
Compartilhar em outros sites

  • 0

e exatamente o que eu queria, so para os que tivesse ja aberto, muito obrigado, vou testar e assim respondo aqui.

deu esse erro,

# 1062 - Duplicate entry '14525-118' for key 'player_id_2'

o script que voce passou, com id 2594 nao funcionou, entao troquei para 2590, porem 2590 se repete umas 5x por personagem entao creio que o erro e devido a isso.

entao vou usar a query para deletar os 2590 duplicados que no caso estao nas sid 100 - 105, para ver se funciona depois.

deu certo nao ta dando mesmo erro ainda.

Valeu, ja conseguir acertar a query.

o Erro no seu script esta, se o player tiver item no depot ele tenta duplica a sid, e isso nao pode fazer.

Link para o comentário
Compartilhar em outros sites

  • 0

eu testei em 3 databases que eu tinha aqui e nenhuma delas deu erro de duplicata. A chave do banco é composta (player_id e sid), mas de se vc conseguiu arrumar, ótimo. O item deveria estar aparecendo dentro do Depot (abre o depot e dentro dele fica o "Depot", é lá dentro q deveria aparecer.) Poderia compartilhar qual a edição que vc fez pra eu poder testar aqui e dizer se vai dar erro no futuro?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...