Pular automaticamente cenas em dungeons do FFXIV com plugin ACT

Jogadores de Final Fantasy XIV frequentemente enfrentam repetições tediosas de cenas em certas dungeons, especialmente durante atividades diárias ou farm intensivo. Um plugin para o Advanced Combat Tracker (ACT) permite pular automaticamente essas cenas em servidores específicos, como os da versão chinesa do jogo.

Problema: cenas interrompendo o fluxo do jogo

Dungeons como "Donggua Bao" (ID: 01:413) e "Animation City" (IDs: 01:414, 01:418) incluem sequências longas que se repetem a cada entrada. Isso pode consumir entre 3 e 5 minutos por run — tempo valioso desperdiçado em espera passiva.

Solução técnica: plugin baseado em manipulação de memória

O plugin FFXIV_ACT_CutsceneSkip opera injetando lógica leve no processo do jogo via ACT. Ele identifica automaticamente quando o jogador entra em uma dungeon suportada e modifica flags de memória responsáveis pela reprodução das cenas.

Instalação

  1. Clone o repositório: ``` git clone https://gitcode.com/gh_mirrors/ff/FFXIV_ACT_CutsceneSkip
  2. Compile com Visual Studio (configuração Release) para gerar o arquivo .dll.
  3. No ACT, vá até a aba Plugins, clique em Browse e selecione o FFXIV_ACT_CutsceneSkip.dll compilado.

Funcionamento interno

O plugin monitora logs do jogo em tempo real. Quando detecta uma linha contendo Territory 01:413:, 01:414: ou 01:418:, ativa um temporizador que verifica periodicamente o estado da memória do processo ffxiv_dx11.exe.

Usando as APIs do Windows ReadProcessMemory e WriteProcessMemory, ele localiza um padrão de bytes específico associado ao controle de cenas e altera seu valor para forçar o avanço imediato.

if (logLine.Contains("Territory 01:413:") || 
    logLine.Contains("Territory 01:414:") || 
    logLine.Contains("Territory 01:418:"))
{
    EnableCutsceneSkip();
}

Cenários de uso

  • Farm diário: economiza dezenas de minutos por sessão.
  • Multiboxing: sincroniza múltiplas instâncias sem atrasos causados por cenas.
  • Rotação de conteúdos: mantém o ritmo acelerado em runs repetitivos.

Estrutura do projeto


FFXIV_ACT_CutsceneSkip/
├── CutSceneSkip.cs          # Lógica principal de leitura/escrita de memória
├── FFXIV_ACT_CutsceneSkip.csproj
├── Properties/AssemblyInfo.cs
└── FFXIV_ACT_CutsceneSkip.sln

Personalização

Para adicionar suporte a novas dungeons, basta incluir o ID correspondente na verificação de território:

// Exemplo: adicionar suporte à dungeon com ID 01:999
if (logLine.Contains("Territory 01:999:"))
{
    SetActive(true);
}

O intervalo de verificação padrão é de 3000 ms. Pode ser ajustado alterando:

updateTimer.Interval = 2000; // Verifica a cada 2 segundos

Considerações de segurança

O plugin restaura o valor original da memória ao desativar ou encerrar, minimizando riscos de corrupção. No entanto, modificar a memória de um processo de jogo pode violar os termos de serviço. Recomenda-se uso apenas em contextos não competitivos e com pleno conhecimento dos riscos.

Requisitos

  • .NET Framework 4.7.2 ou superior
  • Advanced Combat Tracker (ACT) configurado para FFXIV
  • Acesso de administrador (em alguns sistemas, para operações de memória)

O código-fonte está disponível publicamente para estudo e contribuição técnica, servindo também como exemplo prático de comunicação com processos externos no Windows.

Tags: FFXIV ACT Windows-API Memory-Manipulation C#

Publicado em 9-1 18:22