WIKI

ARTIGO · GENESYS WIKI

Effect.txt.

Entenda grupos, persistência, duração e valores dos efeitos configurados no Effect.txt.

Para que serve o Effect.txt

O arquivo MuServer\Data\Effect.txt reúne as definições de efeitos de personagem e monstro usados pelo GameServer, como buffs, debuffs, selos e efeitos aplicados por itens. Cada linha identifica um efeito, seu grupo, sua duração padrão, se pode ser salvo e até quatro valores usados pela lógica específica daquele efeito.

O arquivo original do Genesys Plus contém 172 entradas, com índices entre 1 e 204. Há números não utilizados nesse intervalo; não é necessário preencher as lacunas.

Formato de cada entrada

Index  Group  ItemIndex  "Name"  Save  Type  Flag  Count  Value1  Value2  Value3  Value4

São 12 campos nessa ordem. Use espaços ou tabulações, mantenha o nome entre aspas e termine o arquivo com end. Linhas iniciadas por // são comentários. O caractere * em um campo numérico é interpretado pelo servidor como -1; seu efeito concreto depende da coluna.

Campo O que controla
Index Identificador interno do efeito, usado por habilidades, itens e sistemas do servidor. Preserve os índices existentes: mudar um número não muda automaticamente as referências a ele. O limite aceito pelo código é de 0 a 255.
Group Grupo de exclusividade. Em um personagem, efeitos do mesmo grupo não ficam ativos ao mesmo tempo: a aplicação de outro efeito desse grupo pode substituir o anterior. Não é a categoria visual exibida ao jogador.
ItemIndex Índice interno do item que pode acionar o efeito. Use * quando o efeito não estiver associado a um item por essa busca. Se dois efeitos tiverem o mesmo ItemIndex, a busca por item encontra primeiro o efeito de menor Index.
Name Nome descritivo da linha para quem configura o servidor. A mecânica é identificada pelo Index; trocar só o nome não cria nem altera a habilidade.
Save 1 permite que o efeito ativo seja gravado com o personagem; 0 exclui o efeito dessa gravação. Isso influencia se ele pode voltar após uma nova entrada no jogo.
Type 0: efeito com duração contada pelo servidor e sujeito à limpeza geral de efeitos comuns. 1: duração contada, mas não removido por essa limpeza geral. 2: efeito com horário real de expiração, adequado a efeitos cujo prazo continua a correr fora do jogo.
Flag Para efeitos Type = 0, 1 marca o efeito como removível pela rotina de limpeza de debuffs; 0 não. Não determina sozinho se o efeito é positivo ou negativo.
Count Duração padrão em segundos quando o sistema aplica o efeito no modo que usa o arquivo. * conserva a duração fornecida pela habilidade, item ou outro sistema que o aplicou. Em Type = 2, um número como 1800 define um prazo real de 30 minutos.
Value1 a Value4 Parâmetros do efeito. Um número definido aqui substitui o valor recebido do sistema que aplicou o efeito; * conserva esse valor recebido. A função de cada posição varia conforme o Index, portanto não existe uma única unidade válida para todos os efeitos.

Exemplos do arquivo original

1   1   *      "Greater Damage"     1   0   0   *      *    *   *   *
29  60  6699   "Seal of Ascension"  1   2   0   1800   50   *   *   *
55  27  *      "Poison"             0   0   1   *      *    *   *   *
  • Greater Damage usa a duração e os valores fornecidos pela habilidade que o aplica. Seu Save = 1 permite persistência, e Group = 1 o coloca no grupo próprio desse buff.
  • Seal of Ascension está ligado ao item de índice 6699, tem prazo padrão real de 1800 segundos e fixa Value1 = 50. Os demais valores vêm de quem aplica o efeito.
  • Poison não é salvo (Save = 0) e está marcado para a rotina de limpeza de debuffs (Flag = 1); sua duração e seus valores vêm da origem da aplicação.

Os exemplos são linhas existentes no arquivo fornecido. Não interprete Value1 = 50 como uma porcentagem em todos os efeitos: o uso de cada valor é definido pelo código do efeito correspondente.

Grupos, itens e valores variáveis

O servidor procura um efeito ativo pelo Group. Ao aplicar outro efeito do mesmo grupo, ele pode substituir o anterior. Por isso, mudar o grupo de um buff altera sua convivência com outros buffs. No arquivo original há, por exemplo, diferentes selos de ascensão no grupo 60.

ItemIndex usa o índice interno do item, não o número da linha do Effect.txt. Para efeitos aplicados por habilidade ou script sem busca por item, normalmente aparece *. A associação com um item não basta para criar um efeito novo: a ação precisa existir no servidor e, quando aplicável, no cliente.

O * merece atenção especial: em Count e Value1 a Value4, ele deixa o valor recebido no momento da aplicação. Em ItemIndex, significa ausência de associação por índice de item. Não substitua todos os * por 0: isso pode zerar uma duração ou uma força que antes vinha da habilidade.

Ao editar

  1. Faça uma cópia do arquivo e preserve os Index usados pelo servidor e pelo cliente.
  2. Confira Group antes de tentar combinar buffs: efeitos do mesmo grupo podem se substituir. Confira também se um ItemIndex já aparece em outra linha.
  3. Ajuste Count e Value1 a Value4 apenas após identificar como o efeito específico usa esses parâmetros. Alterar Save, Type ou Flag pode mudar persistência, expiração e remoção de debuffs.
  4. Recarregue Effect.txt pelo menu de reload do GameServer e do GameServerCS, ou reinicie os processos em uma manutenção planejada. Teste a aplicação, a expiração e, se Save = 1, a saída e o retorno do personagem.

O reload atualiza as definições. Para verificar mudanças em um efeito que já estava ativo, remova-o e aplique-o novamente no personagem de teste.

Fim do artigo
AJUDE A MELHORAR A WIKI

Encontrou algo incorreto ou faltando?

O WhatsApp abrirá com o título e o link deste artigo. Conte no atendimento o que precisamos ajustar.

Reportar uma questão