Stack em inventário de um jogo mysql
Como alguns de vocês já jogaram algum MMO, quando você compra Life, Mana, etc.. Sempre vem um pacote com x unidades (chama-se stack).
Tenho um jogo aqui, aí há categorias de armas, consumíveis, etc. Os consumíveis só há 3 itens, como life, mana e coins.
A query pra fazer o stack, fica assim:
SELECT *, COUNT(inventario.iid) AS total FROM inventario,itens WHERE inventario.user_id = '1' AND inventario.item_id = itens.id AND inventario.tipo = 'Box' GROUP BY inventario.item_id LIMIT 0, 8
Esta query seleciona todos os itens do usuário, e já faz o stack. Por exemplo:
Box 1 (23 total)
Box 3 (14 total)
Ao invés de ficar assim:
Box 1, Box 1, Box 1, Box 1, ..., Box 1
Box 3, Box 3, ..., Box 3, Box 3
Acho que já entenderam o que eu quis dizer.. ^^
Agora, a minha dúvida é a seguinte. Na categoria Consumíveis, por exemplo, há os 3 itens que eu falei.
Tipo, o item_id do item Life é 55 e a item_id do item Mana é 61, e item_id de Coins é 74.
Eu preciso fazer o stack somente com o Life e o Mana.
A minha lógica seria fazer assim: GROUP BY inventario.item_id NOT IN(74)
Ou seja, este comando não exibiria em stack o item de id 74. Acho que deu pra entender ^^
- Stack significa compactar tudo em um só lugar, ao invés de exibir diversas vezes a mesma coisa;
Obrigado gente.. espero uma resposta.. :D
Discussão (15)
Carregando comentários...