Para que serve o EventItemBagManager.txt
O arquivo MuServer\Data\EventItemBagManager.txt associa uma origem de recompensa a uma bolsa da pasta MuServer\Data\EventItemBag. A origem pode ser um item aberto pelo jogador, a classe de um monstro ou um valor especial enviado por um evento ou sistema do servidor. Os itens possíveis, quantidades e taxas de drop ficam dentro do arquivo da bolsa, não no gerenciador.
No pacote original do Genesys Plus há 131 associações, com índices de 0 a 130, e um arquivo de bolsa correspondente para cada índice.
Formato de cada linha
Index ItemIndex ItemLevel MonsterClass SpecialValue // comentário opcional
São cinco colunas numéricas, separadas por espaços ou tabulações. Termine a lista com end. Linhas iniciadas por // e comentários ao fim da linha servem apenas para identificar as entradas.
| Coluna | Significado |
|---|---|
Index |
Número da associação e da bolsa correspondente. O arquivo da pasta EventItemBag deve começar com esse índice em três dígitos, seguido de espaço, hífen e espaço: 000 - Box of Luck.txt, por exemplo. Preserve índices únicos. |
ItemIndex |
Índice interno do item que aciona a bolsa ao ser usado. Se for *, essa associação não participa da busca por item. |
ItemLevel |
Nível exato do item usado. * aceita qualquer nível, mas somente quando há um ItemIndex definido. |
MonsterClass |
Classe do monstro cuja morte pode usar a bolsa. * faz a associação não participar da busca por monstro. Não é o nível nem o nome visível do monstro. |
SpecialValue |
Código passado diretamente por um evento ou outro sistema para escolher a bolsa. * faz a associação não participar da busca por código especial. O número só terá efeito se algum sistema realmente solicitar esse código. |
// comentário |
Descrição para quem mantém o arquivo; não define os prêmios nem o comportamento do evento. |
O servidor interpreta * como -1. Aqui ele tem dois usos diferentes: em ItemLevel, aceita qualquer nível de um item específico; em ItemIndex, MonsterClass e SpecialValue, desliga aquela forma de localizar a bolsa. Não preencha todas as colunas com * esperando uma correspondência geral.
Exemplos do arquivo original
0 7179 0 * * // Box of Luck
1 * * 55 * // Skeleton King
12 * * * 0 // Blood Castle 1
35 6176 * * * // Red Ribbon Box
130 7179 12 * 250 // Box of Kundun 5 Master Reset
- A primeira linha associa o item interno
7179, no nível0, à bolsa000 - Box of Luck.txt. - A segunda permite que a classe de monstro
55use a bolsa001 - Skeleton King.txtquando o sistema de drop por bolsa for chamado. - A terceira é escolhida pelo código especial
0do Blood Castle 1; não está ligada a um item ou monstro pela tabela. - A quarta associa o item
6176em qualquer nível à bolsa035 - Red Ribbon Box.txt. - A última contém tanto a combinação de item
7179/nível12quanto o código especial250. A existência dessa linha não confirma, por si só, que o código250seja usado por algum evento.
Como o servidor escolhe a bolsa
Existem três buscas separadas: por item e nível, por classe do monstro e por código especial. Cada sistema chama a busca que precisa. Em cada busca, o GameServer percorre as entradas em ordem crescente de Index e usa a primeira associação compatível; ele não soma recompensas de várias bolsas correspondentes.
Isso importa quando há sobreposição. No arquivo original, a entrada 11 já associa o item 7179 no nível 12 à bolsa Box of Kundun 5. A entrada 130 usa o mesmo item e nível. Uma busca comum por item encontra primeiro a entrada 11, não a 130. Para alcançar a bolsa 130 por SpecialValue, algum sistema precisa solicitar explicitamente o código 250.
O Index do gerenciador e o SpecialValue têm papéis diferentes. Por exemplo, Blood Castle 1 usa índice de bolsa 12 e código especial 0. Não troque os dois números.
Relação com Data/EventItemBag
O gerenciador escolhe qual bolsa usar; o arquivo NNN - Nome.txt da pasta EventItemBag define o que ela entrega. O carregamento exige o prefixo NNN - no nome do arquivo. O restante do nome ajuda a reconhecer a bolsa, mas não substitui o número.
Para criar ou alterar uma associação, confira se o arquivo da bolsa existe e se seu prefixo corresponde ao Index. Evite dois arquivos com o mesmo prefixo: o carregamento escolhe apenas um deles. O formato e os exemplos de cada bolsa estão na pasta EventItemBag.
Ao editar e aplicar
- Faça uma cópia do gerenciador e da bolsa que será alterada. Preserve os índices já referenciados por itens, monstros e eventos.
- Teste o gatilho real: abrir o item, derrotar o monstro ou concluir o evento. Criar uma linha com
SpecialValuenão cria automaticamente um novo evento que a chame. - Após editar o gerenciador, reinicie o GameServer e o GameServerCS em manutenção planejada. O reload isolado de
EventItemBagManager.txtrecria as associações, mas não recarrega todas as bolsas; a inicialização completa carrega ambos. - Se editar somente o conteúdo de uma bolsa existente, use o reload específico daquela bolsa no menu
EventItemBagdos servidores e teste a recompensa.