Se você está começando a desenvolver mods para DayZ, entender a estrutura de scripts do jogo é fundamental. O DayZ usa o Enforce Script, uma linguagem de script derivada do C, para permitir a criação e modificação de funcionalidades do jogo. Neste artigo, vamos explorar a estrutura de scripts no DayZ, destacando os principais diretórios e arquivos que você precisará modificar para criar seu mod.
A Estrutura Básica
Os scripts do DayZ estão organizados em várias pastas, cada uma servindo a um propósito específico. Aqui está uma visão geral das principais pastas que você encontrará após extrair os dados do jogo:
- Scripts/1_Core: Contém scripts usados pelo motor do jogo. É melhor não modificar esses arquivos, pois eles contêm funcionalidades críticas.
- Scripts/2_GameLib: Possui bibliotecas dos componentes de sistema.
- Scripts/3_Game: Contém a lógica da interface. Aqui você encontrará scripts como da interface de notificações.
- Scripts/4_World: Inclui scripts relacionados ao comportamento do jogo, como entidades(player) e objetos.
- Scripts/5_Mission: Contém scripts que definem o comportamento das missões e eventos que ocorrem no jogo.
Navegando pelos Scripts
Vamos explorar algumas dessas pastas com mais detalhes, vamos mostrar o básico do que cada um possui, para te contextualizar do que podemos encontrar, lembrando que são só exemplos, você encontrara muito mais funcionalidades do que vamos mostrar aqui.
Scripts/3_Game
Esta pasta contém scripts que alteram a interface do jogo como as notificações. Por exemplo, o script que exibe as
notificações está localizado em Scripts/3_Game/Client/Notifications/NotificationUI.c
.
class NotificationUI
{
void NotificationUI()
{
// Logica de notificação.
}
}
Scripts/4_World
Esta pasta contém scripts que definem a lógica de entidades e mecânicas de jogo. Por exemplo, o script que define o
comportamento do jogador está localizado em Scripts/4_World/Entities/ManBase/PlayerBase.c
.
class PlayerBase extends ManBase
{
override void EEKilled(Object killer)
{
// Logica de morte do player.
}
}
Scripts/5_Mission
Os scripts aqui definem eventos que podem ocorrer durante uma missão, ou inicialização da missão.
class MissionServer
{
void OnMissionStart()
{
// Inicialização da missão.
}
}
Criando seu Mod
Agora que você entende a estrutura básica, vamos falar um pouco sobre como criar seu próprio mod, temos outro artigo
com mais detalhes de como criar um mod aqui, caso queira aprender
mais sobre isso. Suponha que você queira adicionar uma nova funcionalidade ao jogador. Primeiro, crie uma pasta para o
seu mod em Scripts
.
Estrutura de Pastas do Mod
MeuMod
└── Scripts
├── 3_Game
│ └── Client
│ └── Notifications
│ └── NotificationUI.c
├── 4_World
│ └── Entities
│ └── ManBase
│ └── PlayerBase.c
└── 5_Mission
└── MissionServer.c
Modificando Scripts
Você pode começar modificando o script PlayerBase.c
para adicionar uma nova funcionalidade. Lembre-se de usar a
palavra-chave modded
para indicar que você está modificando uma classe existente, e em frente do método que quer
modificar, acrescente override
para sobrescrevê-lo, e não se esqueça de chamar o método original usando super
.
modded class PlayerBase extends ManBase
{
// Metodo que modifica o comportamento quando o player morre.
override void EEKilled(Object killer)
{
// Adicione sua nova funcionalidade aqui
super.EEKilled(killer);
}
}
Compilando e Testando
Após fazer suas modificações, compile seu mod usando o Addon Builder e teste-o em um servidor local para garantir que tudo esteja funcionando conforme o esperado.
Caso queira aprender a compilar seu mod, acesse aqui.
Conclusão
Entender a estrutura de scripts do DayZ é essencial para qualquer desenvolvedor de mods. Com este guia, você deve estar mais confortável navegando e modificando os scripts do jogo. Continue explorando e experimentando para criar seus mods!
Junte-se à nossa comunidade no Discord.
Até logo.