Por que isso importa para o seu servidor
Loja fixa vira paisagem. O jogador olha uma vez, memoriza o que tem, e nunca mais abre. Loja rotativa com estoque limitado faz o contrário: ele abre todo dia para ver o que entrou, e compra na hora porque sabe que pode não estar lá amanhã.
Os três atributos que criam esse efeito — stock, frequency e faixa de preço — estão todos no arquivo. Você controla exatamente quão raro é cada item aparecer e quantos existem quando aparece.
Cada categoria é um arquivo em promotion/, numerado: 1-pets.xml, 2-elements.xml, 3-lifeStone.xml, 4-tattoBox.xml, 5-crystalStage.xml, 6-capsula of Augmets.xml, 7-blessedScroll.xml, 8-crystalScroll.xml, 9-cursedScroll.xml, 10-recipeBoss.xml, 11 - runes.xml, 12 - runes elements.xml e 13 - crystal.xml.
A estrutura do arquivo
<promo category="3">
<product price="9245-1" stock="1-5" itemId="8732" count="1-1" frequency="80" /><!-- Life Stone: level 76 -->
<product price="9245-5" stock="1-5" itemId="8742" count="1-1" frequency="70" /><!-- Mid-Grade -->
<product price="9245-10" stock="1-5" itemId="8752" count="1-1" frequency="60" /><!-- High-Grade -->
<product price="9245-20" stock="1-5" itemId="8762" count="1-1" frequency="50" /><!-- Top-Grade -->
<product price="9245-70" stock="1-5" itemId="9211" count="1-1" frequency="30" /><!-- Accessory Type -->
</promo>
| Atributo | Formato | O que faz |
|---|---|---|
category | número | O número da categoria, casando com o nome do arquivo. |
price | item-quantidade | A moeda e quanto custa. 9245-20 significa 20 unidades do item 9245. |
stock | min-max | Quantas unidades existem quando o produto aparece. 1-5 sorteia entre 1 e 5. |
itemId | número | O item vendido. |
count | min-max | Quantas unidades vêm por compra. 1-1 é sempre uma. |
frequency | 0–100 | A chance de o produto aparecer na rotação. É o atributo que define a raridade. |
Como a frequência desenha a raridade
Repare na curva do exemplo: 80, 70, 60, 50, 30. O Life Stone comum aparece quase sempre; o de acessório, raramente. O preço acompanha — de 1 para 70 unidades da moeda.
Essa é a estrutura que funciona: frequência e preço andam juntos, na direção oposta. O item barato aparece muito e não gera evento; o caro aparece pouco e, quando aparece, o servidor inteiro comenta.
O erro comum é fazer o item raro também barato — vira loteria e destrói o valor do item em uma semana. O outro erro é o oposto: item caro com frequência alta, que ninguém compra e ocupa espaço na vitrine para sempre.
Estoque limitado
O stock="1-5" é o que cria pressa. Quando o produto aparece com 2 unidades e há 300 pessoas online, quem viu primeiro leva. Isso faz o jogador manter a loja aberta e voltar a ela — e é de graça, você não precisa dar nada a mais por isso.
Estoque alto (stock="20-50") tira essa pressão e transforma a promoção em loja normal. Use nos consumíveis, não nos itens de progressão.
Cuidados
- A moeda
9245do exemplo é o item de doação. Confira qual moeda cada categoria usa antes de copiar valores entre arquivos — misturar moeda de evento com moeda de doação sem querer é fácil e caro de desfazer. frequency="100"desliga a rotação daquele produto. Ele passa a estar sempre lá, o que anula o efeito da vitrine.- Categoria com um produto só não rotaciona. Se a categoria tem uma linha, ela aparece sempre ou nunca. Precisa de pelo menos três ou quatro para a vitrine mudar de cara.
- O comentário ao lado do
itemIdé a única documentação do arquivo. Mantenha ao adicionar linhas: seis meses depois,8762não diz nada a ninguém.
Como isso conversa com o resto da base
As promoções são o principal destino da moeda que os outros sistemas entregam — recompensas, missões, eventos e voto. É onde o jogador gasta o que ganhou. A cápsula de augment (categoria 6) e as scrolls (7, 8, 9) ligam esta loja diretamente aos sistemas de enchant e augment.