Para que serve o Command.txt
O arquivo MuServer\Data\Command.txt define quais comandos de chat podem ser usados e as condições gerais de cada um: nível de conta, custo, nível do personagem, resets, intervalo entre usos e permissão de Game Master. O arquivo original do Genesys Plus contém 91 comandos, com índices de 0 a 90.
Ele não reúne todas as regras de cada comando. As opções específicas, como as do /reset e do /post, ficam também em GameServerInfo - Command.dat, dentro da pasta Data do GameServer e do GameServerCS. O comentário antigo do Command.txt chama esse arquivo apenas de Command.dat.
Como ler uma linha
Index "Command" Enable[AL0 AL1 AL2 AL3] Money[AL0 AL1 AL2 AL3]
MinLevel[AL0 AL1 AL2 AL3] MaxLevel[AL0 AL1 AL2 AL3]
MinReset[AL0 AL1 AL2 AL3] MaxReset[AL0 AL1 AL2 AL3]
Delay GameMaster WC WP GP // comentário opcional
O esquema acima foi quebrado em linhas apenas para facilitar a leitura. No arquivo, mantenha cada comando em uma única linha, com os valores na ordem indicada. São dois campos iniciais, seis grupos de quatro números e cinco números finais. Separe-os por espaços ou tabulações; termine a lista com end.
AL0 a AL3 são os quatro níveis de conta do servidor. Em cada grupo de quatro, a primeira posição vale para AL0, a segunda para AL1 e assim por diante. Nível de conta e permissão de Game Master são verificações separadas.
| Campo | Significado |
|---|---|
Index |
Identifica a função do comando no GameServer. Preserve o índice original: 1 é /post, 11 é /reset e 90 é /marketplace na configuração fornecida. Mudar apenas o número não cria outra função. |
Command |
Palavra digitada no chat, entre aspas, como "/post". Pode ser renomeada sem mudar a função vinculada ao Index, desde que não repita o nome de outro comando. |
Enable |
Quatro chaves 0 ou 1: desativado ou ativado para cada nível de conta. Por exemplo, 0 1 1 1 bloqueia AL0 e libera AL1, AL2 e AL3. |
Money |
Custo em Zen, com um valor diferente para cada nível de conta. 0 não cobra Zen nesta tabela. |
MinLevel, MaxLevel |
Nível mínimo e máximo do personagem, por nível de conta. 0 em MaxLevel significa sem teto definido aqui. |
MinReset, MaxReset |
Quantidade mínima e máxima de resets, por nível de conta. 0 em MaxReset significa sem teto definido aqui. |
Delay |
Intervalo mínimo entre execuções bem-sucedidas do mesmo comando pelo personagem, em segundos. 0 não impõe intervalo nesta tabela. |
GameMaster |
Nível mínimo de permissão da equipe: 0 não exige Game Master, 1 exige Game Master e 2 exige Administrador. Mesmo com Enable = 1, um usuário sem essa permissão não passa na verificação. |
WC, WP, GP |
Custos em WCoinC, WCoinP e GoblinPoint, respectivamente. São três valores únicos por comando, não quatro por nível de conta. 0 não cobra a moeda correspondente. |
// comentário |
Anotação para quem edita o arquivo. Não define os argumentos nem substitui a implementação do comando. |
Exemplos do arquivo original
| Comando | O que observar |
|---|---|
/post (Index 1) |
Enable = 1 1 1 1, Money = 0 0 0 0 e GameMaster = 0: a tabela não bloqueia nenhum nível de conta nem cobra Zen. O formato da mensagem e outras opções dependem também do arquivo GameServerInfo - Command.dat. |
/s (Index 2) |
Enable = 0 1 1 1: o comando de pontos está desativado para AL0 e ativado para os outros três níveis de conta. O mesmo padrão aparece em /a, /v, /e e /c. |
/ajuda (Index 55) |
MaxLevel = 200 200 200 200: a tabela limita o uso a personagens de nível até 200, em todas as contas. |
/gmmove (Index 12) |
GameMaster = 1: requer a permissão de Game Master, além do Enable do nível de conta. |
/reload (Index 35) |
GameMaster = 2: requer a permissão de Administrador. |
Esses são valores da configuração fornecida, não recomendações universais para outros servidores. Confirme as necessidades do seu projeto antes de alterá-los.
Cuidados ao editar
- Faça uma cópia do arquivo. Mantenha os índices únicos e na função original. O GameServer associa o índice
0à primeira função, o1à segunda e assim por diante; trocar índices entre linhas troca o comportamento dos nomes. - Revise
EnableeGameMaster, especialmente nos comandos que criam itens, alteram moedas, movem jogadores, moderam contas ou iniciam eventos. Um nome parecido com comando de equipe não garante proteção por si só. - Não presuma que custo ou requisito configurado em
Command.txtseja o único: alguns comandos possuem regras adicionais emGameServerInfo - Command.datou nos próprios sistemas do servidor. - Depois de salvar, recarregue
Command.txtno menu de reload do GameServer e do GameServerCS, ou reinicie os processos em uma manutenção planejada. Teste com contas dos níveis afetados e com/sem permissão de equipe.
O custo em Zen e nas três moedas é descontado quando o comando é executado com sucesso. Para comandos com custo em moedas, o servidor primeiro informa o preço e solicita uma segunda tentativa antes de executar.