Todos os sistemas Operação e divulgação

Anúncios automáticos

Doze gatilhos que fazem o servidor falar sozinho, sem GM digitando no chat: boss nascendo, boss morrendo, boss ferido, herói entrando, senhor de castelo, PK, PvP, sequência de abates, craft, modo self, top PK e top PvP. Cada gatilho tem a sua mensagem, as suas variáveis e, em alguns casos, som e efeito no jogador.

Por que isso importa para o seu servidor

Servidor calado parece vazio. Quando nada aparece no chat, o jogador sozinho numa zona conclui que não tem ninguém online — e sai.

Anúncio automático resolve isso sem ninguém precisar estar de plantão. Cada vez que algo relevante acontece em qualquer canto do mapa, o servidor inteiro fica sabendo: tem gente disputando boss, tem alguém numa sequência de abates, o herói acabou de entrar. É a diferença entre um servidor que parece vivo e um que parece abandonado.

Como um anúncio é montado

Todos os doze arquivos seguem a mesma forma. Um bloco <announce> com o tipo, e dentro dele um ou mais <settings> com a mensagem:

<announce type="BOSS_ALIVE">
    <settings message="%type% %boss% has spawned!" />
</announce>
ElementoO que faz
announce typeO gatilho. É o que liga o arquivo ao evento do jogo — não invente valores, use os doze da tabela abaixo.
settings messageA frase anunciada. As variáveis disponíveis mudam conforme o tipo.

Existem dois estilos de variável, e eles não são intercambiáveis:

  • %variavel% — usado na maioria dos gatilhos: %boss%, %player%, %castle%.
  • $variavel — usado nos gatilhos de combate: $killer, $target, $player.

Cada arquivo usa um estilo só. Trocar um pelo outro faz o texto aparecer literal no chat, sem substituição — se você escrever %killer% num arquivo que espera $killer, o jogador lê %killer%.

Os doze gatilhos

ArquivoTipoVariáveisQuando dispara
bossAlive.xmlBOSS_ALIVE%type% %boss%Um boss nasce.
bossDead.xmlBOSS_DEAD%type% %boss% %player%Um boss é derrotado.
bossHp.xmlBOSS_HP%boss% %type% %hp%O HP do boss cruza uma marca.
hero.xmlHERO%player% %classe%Um herói entra no mundo.
lords.xmlLORD%lord% %castle% %clan%Um senhor de castelo entra.
pvp.xmlPVP$killer $targetUm jogador mata outro em PvP.
pk.xmlPK$killer $targetUm jogador comete PK.
pvpSpree.xmlPVP_SPREE$player $heroSequência de abates sem morrer.
pvpSpree.xmlPVP_SPREE_DEAD$player $scoreA sequência é interrompida.
crafting.xmlCRAFT%name% %item% %enchant%Um craft é concluído.
self.xmlSELF%killer% %target%Alguém entra em modo self.
topPk.xmlTOP_PK%player% %pkkills%O líder de PK entra no mundo.
topPvp.xmlTOP_PVP%player% %pvpkills%O líder de PvP entra no mundo.

Criando cada tipo

Anúncio simples

A maioria dos gatilhos precisa só da frase. Trocar o texto é toda a configuração:

<announce type="HERO">
    <settings message="The Hero %player% from %classe% is now online." />
</announce>

Para deixar em português, basta reescrever mantendo as variáveis:

<settings message="O Herói %player%, da classe %classe%, acabou de entrar." />

Anúncio com faixas de HP

bossHp.xml é o único com marcas múltiplas e alcance:

<announce type="BOSS_HP">
    <settings radius="10000"
              hpBoss="80;60;40;20;10;5"
              message="The mighty %boss% (%type%) is weakening — only %hp%% HP remains!" />
</announce>
AtributoO que faz
radiusDistância, em unidades do mundo, dentro da qual o aviso é ouvido. É o que impede o servidor inteiro de receber o alerta de um boss do outro lado do mapa.
hpBossAs marcas de HP que disparam o aviso, separadas por ponto e vírgula. No exemplo: 80%, 60%, 40%, 20%, 10% e 5%.
%hp%Substituído pela marca atingida.

Repare no %hp%% da mensagem: o primeiro par de % é a variável, o segundo % é o símbolo de porcentagem que aparece no texto. Esquecer o segundo faz a frase sair sem o sinal.

Para deixar o alerta mais tenso, use menos marcas e mais baixas — hpBoss="30;15;5" avisa só quando a luta já está decidindo.

Anúncio com som e efeito: a sequência de abates

pvpSpree.xml é o mais completo do conjunto, e o único que muda o estado do jogador:

<announce type="PVP_SPREE">
    <settings score="1"  sound="firstblood"   message="$player shed the first blood $hero" />
    <settings score="2"  sound="doublekill"   message="$player is dominating$hero" />
    <settings score="3"  isHero="true" sound="triplekill"  message="$player is on a rampage $hero" />
    <settings score="5"  isHero="true" sound="megakill"    message="$player is unstoppable$hero" />
    <settings score="7"  sound="ultrakill"    message="$player is on an ultra kill$hero" />
    <settings score="10" sound="monsterkill"  message="$player is on a monster kill$hero" />
    <settings score="15" sound="killingspree" message="$player is on a killing spree$hero" />
</announce>
<announce type="PVP_SPREE_DEAD">
    <settings message="$player died after getting $score PvP in a row and his Hero Status ended!" />
</announce>
AtributoO que faz
scoreQuantos abates seguidos, sem morrer, disparam esta linha.
messageA frase. $player é quem está na sequência; $hero é preenchido quando ele ganha status de herói.
soundO som tocado para todo mundo.
isHeroCom true, o jogador vira herói temporário até morrer.

O isHero é o que transforma isso de enfeite em mecânica. A partir do terceiro abate seguido, quem está numa sequência ganha status de herói — e vira alvo do servidor inteiro. Cria uma caçada espontânea, sem evento, sem agendamento e sem GM.

O PVP_SPREE_DEAD fecha o ciclo: quando alguém finalmente derruba o jogador em sequência, o servidor anuncia o fim. É o momento que dá graça ao sistema, e vale caprichar na frase.

Para criar uma faixa nova, adicione um <settings> com o score desejado. As linhas não precisam ser sequenciais — o exemplo pula de 3 para 5, de 5 para 7, de 10 para 15. Quanto mais alto o score, mais rara a mensagem e mais impacto ela tem.

Sobre os sons

O sound toca um arquivo que precisa existir na instalação do Lineage II de cada jogador, na pasta music. Isso significa que:

  • Os sons do exemplo (firstblood, doublekill, triplekill, megakill, ultrakill, monsterkill, killingspree) só tocam se estiverem no patch do cliente que você distribui.
  • Som novo exige distribuir o arquivo junto com o patch. Um som que só existe na sua máquina não toca para ninguém.
  • Deixar o atributo sound de fora é válido: a mensagem aparece sem áudio.

Anúncio de combate

pvp.xml e pk.xml usam o estilo $variavel e a mensagem entregue termina com a preposição, porque o servidor completa com o local:

<settings message="$killer killed $target in"/>

Se você reescrever, mantenha essa estrutura — a frase é fechada pelo nome da região.

Escolhendo o que ligar

O erro que mata este sistema é ligar os doze. Chat cheio de anúncio vira ruído, o jogador aprende a ignorar tudo, e você perde a ferramenta inclusive para o que importa.

Uma seleção que funciona bem:

GatilhoRecomendação
BOSS_ALIVE, BOSS_DEADSempre ligados. São o principal motor de movimento do mapa.
BOSS_HPLigado, com poucas marcas e radius limitado.
HERO, LORDLigados. São status, e status faz o jogador querer.
PVP_SPREELigado a partir do score 3.
PVP, PK individuaisSó em servidor pequeno. Em servidor cheio, viram spam em minutos.
CRAFTSó para craft de item raro. Anunciar todo craft é ruído.
TOP_PK, TOP_PVPLigados — são poucos anúncios por dia, e alimentam a competição.

Cuidados

  • Variável errada aparece literal. %bos% no lugar de %boss% faz o jogador ler %bos%.
  • Estilo trocado não substitui. %killer% num arquivo que usa $killer não funciona.
  • isHero="true" em score baixo deixa metade do servidor com aura de herói e esvazia o significado do status. Do terceiro abate para cima.
  • Anunciar o nascimento do boss entrega a localização para quem estava esperando. Em servidor com clã dominante, isso pode significar que um só grupo pega todos os boss — considere anunciar só a morte.
  • self.xml não tem gatilho de horário. Não deixe texto de teste nele.
  • radius alto demais no BOSS_HP faz o servidor inteiro receber alerta de uma luta que não é dele.

Como isso conversa com o resto da base

Os anúncios automáticos são a metade reativa da conversa do servidor. A metade programada são os anúncios rotativos, que falam em intervalo fixo com link clicável. Os dois dividem o mesmo chat, então o volume precisa ser pensado junto: rotativo demais afoga o anúncio que importa. O TOP_PK e o TOP_PVP leem as mesmas posições das tabelas de recompensa de topo.

Falar no WhatsAppContato aqui