Por que isso importa para o seu servidor
Esta é a tabela que decide o ritmo do seu servidor. Rate multiplica o ganho, mas é aqui que está o custo de cada nível — e mexer nos dois sem olhar para os dois juntos é como acelerar sem saber a marcha.
O que costuma passar despercebido é o prêmio por nível. Entregar um item ao alcançar o nível 20, 40, 76 dá ao jogador novo uma recompensa que ele não precisou procurar. É o tipo de coisa que faz alguém passar do primeiro dia — e o primeiro dia é onde você perde a maior parte de quem entra.
A estrutura do arquivo
Uma linha por nível:
<playerLevel level="1" karmaModifier="0.772184315" requiredExpToLevelUp="0"
expLossAtDeath="10.0" fight="57-1"/>
<playerLevel level="2" karmaModifier="2.069377971" requiredExpToLevelUp="68"
expLossAtDeath="9.875" />
<playerLevel level="6" karmaModifier="2.510075822" requiredExpToLevelUp="6038"
expLossAtDeath="9.375" fight="57-1"/>
| Atributo | O que faz |
|---|---|
level | O nível descrito pela linha. |
requiredExpToLevelUp | A experiência acumulada necessária para chegar nele. |
expLossAtDeath | Percentual de experiência perdido ao morrer nesse nível. Repare que ele cai conforme o nível sobe. |
karmaModifier | O multiplicador usado no cálculo de karma. |
fight | Prêmio entregue a personagem de combate ao atingir o nível. |
mage | Prêmio entregue a personagem mágico. |
isIpBlock | Com true, aquele marco paga uma vez por IP. |
O formato do prêmio
fight e mage usam ItemId-Quantidade, e aceitam vários itens separados por ponto e vírgula:
fight="57-1000;9244-1"
Ter os dois campos separados permite premiar de forma útil: quem luta recebe algo que serve para lutar, quem conjura recebe outra coisa. Dar o mesmo item aos dois é uma oportunidade desperdiçada.
O isIpBlock
É a defesa contra o abuso óbvio: criar dez personagens, subir cada um até o nível premiado e recolher dez vezes. Com isIpBlock="true", o marco paga uma vez por IP.
Vale ligar em todos os marcos que entreguem item de valor. Nos marcos simbólicos, com item barato, não faz diferença — e deixar desligado ali evita punir irmãos jogando na mesma casa.
Onde colocar os marcos
O arquivo entregue já premia os níveis 1 e 6 com adena. A lógica de espalhar os demais:
- Níveis baixos (1 a 20) — prêmios pequenos e frequentes. O objetivo é dar ritmo ao começo, não dar poder.
- Marcos de classe (20, 40) — as mudanças de classe são o momento natural para um prêmio maior.
- 76 — o marco simbólico do Interlude. Vale algo à altura.
- Depois de 76 — cuidado. Aqui o jogador já está estabelecido, e prêmio automático compete com o conteúdo que deveria dar o item.
Cuidados
- Mexer em
requiredExpToLevelUpafeta quem já está jogando. Baixar o custo de um nível não devolve experiência a quem já passou por ele, mas muda a curva no meio da corrida. expLossAtDeathalto em nível baixo afasta jogador novo. A curva entregue já começa em 10% e diminui — mantenha essa direção.- Prêmio sem
isIpBlockem item de valor será explorado. Não é hipótese, é certeza. - Confira todos os IDs de item antes de abrir: um ID errado no
fightsimplesmente não entrega nada, e você só descobre quando alguém reclama de não ter recebido. - Não use este arquivo para ajustar rate. Rate tem lugar próprio nas configurações; usar a curva de nível para isso torna os dois impossíveis de raciocinar juntos.
Como isso conversa com o resto da base
O level_top.xml em reward/ premia quem lidera em nível, e há linha de missão que pode apontar para progresso de nível. Os multiplicadores de experiência do VIP atuam sobre o ganho, enquanto esta tabela define o custo — o resultado que o jogador sente é a razão entre os dois.