sábado, 21 de novembro de 2009

Criando a Primeira Missão p3 - Unidades de Infantaria Customizadas

Olá pessoal. Hoje falaremos a respeito de unidades customizadas.

Antes de começarmos a falar a respeito, não se esqueça de baixar e instalar os arquivos necessários para abrir a missão, que você encontra em http://ofp2editor.blogspot.com/2009/11/criando-primeira-missao-metralhadoras.html

Para criar essa primeira missão, eu havia pensado em criar uma campanha com missões exclusivamente black ops. E para isso, as unidades tinham que ser equipadas com armamento no turno e siliencioso.
Vasculhando o fórum da Codemasters, e mesmo o guia de comandos do help do mission editor, não consegui encontrar nenhuma função ou método para a troca de armas das unidades durante a missão, ou mesmo na entrada.
O único método que encontrei para fazer algo parecido foi um tópico sobre criação de unidades customizadas. Em resumo, você abre o "arquivo de definições de entidades" do editor, e insere lá dentro uma nova unidade com as armas e itens que você deseja incluir.

Este arquivo de entidades é um arquivo do tipo xml, que contém uma série de chaves de propriedade que indicarão o objeto a ser alterado. Ele se encontra no diretório do mission editor, e você terá que abrí-lo externamente (com um editor de texto, de preferência que abra arquivos xml, como o syneditor, ultra-edit, editplus, etc..).
O arquivo se encontra dentro do diretório do editor de missões do OFP DR, que geralmente fica em:
...\operation flashpoint dragon rising\Mission Editor\Database
O nome do arquivo é EntityDatabase.xml



Este arquivo é grande, tem quase 4mb, um tamanho grande para um arquivo do tipo texto. Por isso quando for abrí-lo em seu editor, não se assuste se isso demorar um pouco. NÂO SE ESQUEÇA DE FAZER UMA CÓPIA DE BACKUP DO ARQUIVO, POR SEGURANÇÃ.

Um arquivo padrão XML, em teoria é uma regra unificada entre os desenvolvedores de especificar objetos ou entidades estruturais de modo a organizar das as propriedades de forma hierárquica e legível . Na computação arquivos XML podem informar qualquer coisa, os dados de um fornecedor, dados de uma configuração de sistema, informações de sua agenda de endereços (como no outolook), enfim, qualquer coisa mesmo.
No mission editor, esses dados XML informarão entidades do jogo, desde armas, até unidades e veículos. E será em cima das unidades de infantaria que iremos implementar nossas unidades customizadas.

Abra o arquivo EntityDatabase.xml.
Ao abrir o arquivo, você irá ver uma porrada de chaves XML, cada uma definindo uma propriedade do elemento de entidade. As primeiras linhas são elementos de dados de configuração de tipos, somente adiante iremos encontrar dados dos elementos de unidades e veículos. Use a ferramenta find/search/procurar/pesquisar de seu editor para encontrar as entidades de infantaria informando a palavra "rifleman". A forma mais simples que encontrei para replicar as unidades é buscá-las no arquivo com o nome lá no mission editor, por exemplo "USMC Special Operations Rifleman", ou "USMC Medic", ou "PLA Sniper".
No meu arquivo, ao pesquisar a palavra rifleman, caí direto neste trecho.



O que vemos aí, são as definições necessárias para se compor uma unidade USMC Special Operations Rifleman. O trecho que compreende essas definições começa na linha 3120 e termina na linha 3139. Chamamos essas tags < >..< / > de início e fim de um elemento, caso houver mais elementos dentro de um elemento (<> <>..< / > < / > ), os elementos interiores são hierarquicamente descendentes dos elementos exteriores, chamados de filhos ou aqui, sub-elementos. A unidade é composta definindo seu elemento de tipo de "aparência" , seus sub-elementos de itens, armamentos primários, secundário. Aqui, cada elemento possui um ID (Não é FolderID ou ParentID), e como você já pode concluir ele é único e não pode se repetir no arquivo.

E assim vamos compor a nossa unidade customizada, utilizada para a missão.
Como a missão é noturna, quis pegas as unidades especiais de operações black op, que são os Hildalgos. Então fiz uma pesquisa no arquivo informando a palavra hidalgo, e caí na linha 39392, o elemento do soldado tipo "Hidalgo Stealth Variant" lá no editor. Então simplesmente peguei o trecho que fechava o elemento, e usando o CTRL + C e CTRL + V repliquei a unidade no arquivo. Depois disso tive que tirar suas duplicidades para não causar conflitos no mission editor e nem na missão criada.
O que é necessário alterar:

-Na linha do
-Todas as propriedades ID contidos neste trecho de EntityTemplate, que basicamente são as linhas "

Agora, procure dentro do arquivo EntityDatabase.xml que você baixou aqui do blog e pesquise utilizando o trecho "Psy Ops". E veja:




Note as alterações em Name, nos IDs (lembrando que este soldado será uma réplica do soldado hidalgono ), e em seu armamento e equipamento nos elementos Itens e SlotPrimaryB, SlotPrimaryF, e SlotSecondary.
O elemento SlotPrimaryF refere-se a arma que o soldado irá carregar nas mãos.
O elemento SlotPrimaryB refere-se a arma que o soldado irá carregar nas costas (B de Back).
O elemento SlotSecondary refere-se a arma de mão (pistola) que o soldado irá carregar.
Os elementos Itens de Item00 a Item07 irão definir as munições e equipamentos carregados. Lembre-se que os Itens devem incluem a munições das armas principais.
Segue uma lista que encontrei num tópico da Codemasters. O cara colocou os nomes das armas em negrito e seus respectivos nomes de munições como normal.

sa53m21 - M21 Sniper Rifle
am20mag762balls
am20mag762fmjs
am20mag762jhps
am20mag762fmj
am20mag762ball

sa11m2000 - M2000 Shotgun - DOES NOT WORK

sa10m1014 - M1014 Shotgun - DOES NOT WORK
am1she12buck
am1she12aphe

hw01javelin - FGM-148
ex49javelin

hw03smaw - SMAW
ex68smawheat
ex69smawhef

hw10fim92a - FIM-92A
ex72fim92a

sa12m16a4 - M16A4
sa15m16a4a - M16A4 w/ 203
sa13m16a4cqb - M16A4 w/ Eotech
sa14m16a4m - M16A4 w/ ACOG
sa16m16a4no - M16A4 w/ Night Optics
sa17m16a4s - M16A4 w/ Silencer

sa18m4a1 - M4A1
sa21m4a1a - M4A1 w/ 203
sa19m4a1cqb - M4A1 w/ Eotech
sa20m4a1m - M4A1 w/ ACOG
sa22m4a1no - M4A1 w/ Night Optics
sa23m4a1s - M4A1 w/ Silencer

am30mag556ball
am30mag556fmj
am30mag556jhp
am30mag556sub - USE WITH SILENCED
WEAPONS

sa51m32 - M32
am6drum46he
am6drum46hedp

sa39m240 - M240 Medium MG - DOES NOT WORK

sa55m107 - M82 Rifle
sa56m107no - M82 w/ Night Optics

am10mag99fmj
am10mag99apds
am10mag99aphe

sa37m249 - M249 LMG

am200box556ball
am200box556fmj
am200box556jhp

sa40mk48 - Mk48 M0 Medium MG
sa41mk48cqb - Mk48 w/ Eotech - DOES NOT WORK
am100box762ball
am100box762fmj"

sa03mp5a4 - MP5

sa05mp5a5 - MP5 - DOES NOT WORK
sa06mp5sd3 - MP5 SD - DOES NOT WORK
sa04mp5a4no - MP5 w/ Night Optics - DOES NOT WORK
am30mag9ball
am30mag9fmj
am30mag9jhp

sa24mk16 - MK16 SCAR-L
sa30mk16s - MK16 SCAR-L w/ Silencer
sa26mk16cqb - MK16 SCAR-L w/ Eotech
sa28mk16a - MK16 SCAR-L w/ 203

am30mag556ball
am30mag556fmj
am30mag556jhp
am30mag556sub

sa25mk17 - MK17 SCAR-H
sa27mk17m - MK17 SCAR-H w/ ACOG
sa29mk17no - MK17 SCAR-H w/ Night Optics

am20mag762ball
am20mag762fmj


Essas são as definições dos nomes de armamentos e munições que integrarão as propriedades Values dos elementos de itens e armamentos. Basta trocá-los e informar sua quantidade.

Trabalhar com este arquivo ficou mais complicado para os modders, dificultando um pouco a criação de pacotes de addons para distribuição, já que para distribuir, terão que interagir com este arquivo.

Bom amigos. Por hoje ficamos por aqui. Faça experimentos, teste as armas e equipamentos e brinque à vontade.

No próximo tópico, vamos ver se eu falo a respeito do script de detecção da missão.

Saudações

3 comentários:

Datadiuscita disse...

hi!
can you sand me all your mission for my map pack of operation flashpoint dragon rising?
you can find all information to:
www.tinyurl.com/nikmaps

Rodrigo da Fonseca disse...

belo tutorial, estou desenvolvendo uma missão na ilha completa para meu clan, você poderia me enviar esse scrip de detecção do inimigo que vc fez? é muito ruim o modo original do game onde um tiro desperta uma base inteira automaticamente.

Rodrigo da Fonseca disse...
Este comentário foi removido pelo autor.

Seguidores