Fecha actual 22 Oct 2017, 09:57


Intro a los XML (para modificar unidades)

Mods, parches, otras utilidades y todas tus dudas sobre su instalación y funcionamiento.
  • Autor
  • Mensaje
Desconectado
Avatar de Usuario

Tonyo

  • Mensajes: 59
  • Registrado: 30 May 2013, 01:41
  • Cuenta Steam: -

Intro a los XML (para modificar unidades)

Mensaje sin leer13 Jun 2013, 04:58

Valores Generales (para todos los xml)

- Los tags que empiezan con i minúscula son integers, o sea sólo números enteros, solo acepta esos valores. (se usan mucho para fuerza de ataque y defensa)
- Los tags que empiezan con f minúsucla son floats, sólo valores numéricos reales.
- Los tags que empiezan con b minúscula son booleans, sólo valores de verdadero o falso. 1 para verdadero, 0 para falso.
- Los demás son de texto y pueden aceptar cualquier cadena, y pueden ser de una línea o de varias dependiendo de como lo hayan hecho en el esquema.


Vamos por partes:


La CIVILOPEDIA es un conjunto de archivos que siempre esta en TEXT (carpeta) que se ubica en Assets/XML/Text.

Si al crear un mod, no se pone ningún archivo, por defecto se toman los archivos originales del juego.

Si se quiere modificar, pues esa seria la idea al hacer un mod, se deben copiar los archivos que tengan relación con el cambio, y por supuesto cambiarlos una vez que están en el directorio del mod.

La segunda parte empieza a complicarse:
Para meter algún cambio en juego no solo es necesario modificar la civilopedia, en ella dira lo que has puesto pero la acción no se hara si no cambias las ordenes del juego.

Por ejemplo:
Para cambiar una unidad como un colono.
Hay que ir primero a la civilopedia en este archivo:
CIV4GameText_Civilopedia_Units
Se ubica en Assets/XML/Text

Buscar la unidad y modificar lo escrito (en este caso es TXT_KEY_UNIT_SETTLER_PEDIA) lógicamente solo la parte que esta cubierta de <Spanish> el resto no hace falta.

Para que la unidad haga cosas específicas (contruir ciudades, carreteras, mas fuerza de ataque, menos, etc) hay que ir a este archivo: Assets/XML/Units

Analisis de carpetas:
CARPETA CIV4UnitClassInfos

Este archivo xml es el mas simple, te dice que tipo de unidad es y cuantas unidades puede tener la misma civilización (es casi igual para todas).
La excepción la detalle abajo, los misioneros de religiones se pueden tener cierto número a la vez, no más.
El -1 quiere decir ilimitado (el tag empieza con i, solo números enteros)
El principal problema para crear unidades es que todas tienen que tener data en las carpetas, y con un error no arranca el juego.


<UnitClassInfo>
<Type>UNITCLASS_SETTLER</Type>
<Description>TXT_KEY_UNIT_SETTLER</Description>
<iMaxGlobalInstances>-1</iMaxGlobalInstances>
<iMaxTeamInstances>-1</iMaxTeamInstances>
<iMaxPlayerInstances>-1</iMaxPlayerInstances>
<DefaultUnit>UNIT_SETTLER</DefaultUnit>
</UnitClassInfo>

<UnitClassInfo>
<Type>UNITCLASS_ISLAMIC_MISSIONARY</Type>
<Description>TXT_KEY_UNIT_ISLAMIC_MISSIONARY</Description>
<iMaxGlobalInstances>-1</iMaxGlobalInstances>
<iMaxTeamInstances>-1</iMaxTeamInstances>
<iMaxPlayerInstances>3</iMaxPlayerInstances>
<DefaultUnit>UNIT_ISLAMIC_MISSIONARY</DefaultUnit>
</UnitClassInfo>

Ahi se ve en comparacion las dos unidades (entre colono, el primero y misionero el segundo)

El colono dice "<iMaxPlayerInstances>-1</iMaxPlayerInstances>" quiere decir, cada civ puede hacer infinitas unidades. Fijense el misionero dice "3"maximo por civ.


Vamos al segundo archivo, quizá la mas compleja de todas:

CIV4UnitInfos
Ahora vamos a probar con el soldado con espada, ya que tiene fuerza de ataque. Una consideración, los tags que comiencen con b (minúscula) llevan 1 o 0. 1 verdadero, 0 falso.
En el archivo citado dice asi:

<UnitInfo>
<Class>UNITCLASS_SWORDSMAN</Class>
<Type>UNIT_SWORDSMAN</Type>
<UniqueNames/>
<Special>NONE</Special>
<Capture>NONE</Capture>
<Combat>UNITCOMBAT_MELEE</Combat>
<Domain>DOMAIN_LAND</Domain>
<DefaultUnitAI>UNITAI_ATTACK</DefaultUnitAI>
<Invisible>NONE</Invisible>
<SeeInvisible>NONE</SeeInvisible>
<Description>TXT_KEY_UNIT_SWORDSMAN</Description>
<Civilopedia>TXT_KEY_UNIT_SWORDSMAN_PEDIA</Civilopedia>
<Strategy>TXT_KEY_UNIT_SWORDSMAN_STRATEGY</Strategy>

Para saber, cada unidad ocupa 8 paginas enteras de un archivo de Word.
Si le prestas atencion veras que aqui dice si es de tierra de agua o de aire ("DOMAIN_LAND" por ej, tierra), los "PEDIA" es lo que has modificado en la civilopedia, en este caso es el soldado con espada. Y "MELEE" es cuerpo a cuerpo. Otra vez, solo es paciencia y sentido comun, aunque al principo es un mundo nuevo.
:)

El tema es comprender cuales son los tags relevantes de la unidad que queremos modificar.
En estos primeros tags, <Invisible> se aplica a los submarinos, <SeeInvisible>, por ejemplo a los destructores, que los pueden ver.
Recordar lo mas importante: los tags estilo “<bPillage>1” comienzan con b minúscula, por lo tanto “1” es que la unidad puede sabotear o pillar la casilla, si tuviera un 0 no podría hacerlo.
Sigue asi:

<Advisor>ADVISOR_MILITARY</Advisor>
<bAnimal>0</bAnimal>
<bFood>0</bFood>
<bNoBadGoodies>0</bNoBadGoodies>
<bOnlyDefensive>0</bOnlyDefensive>
<bNoCapture>0</bNoCapture>
<bRivalTerritory>0</bRivalTerritory>
<bMilitaryHappiness>1</bMilitaryHappiness>
<bMilitarySupport>1</bMilitarySupport>
<bMilitaryProduction>1</bMilitaryProduction>
<bPillage>1</bPillage>
<bSabotage>0</bSabotage>
<bDestroy>0</bDestroy>
<bStealPlans>0</bStealPlans>
<bInvestigate>0</bInvestigate>
<bCounterSpy>0</bCounterSpy>
<bFound>0</bFound>
<bGoldenAge>0</bGoldenAge>
<bInvisible>0</bInvisible>
<bFirstStrikeImmune>0</bFirstStrikeImmune>
<bNoDefensiveBonus>0</bNoDefensiveBonus>
<bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
<bCanMoveImpassable>0</bCanMoveImpassable>
<bFlatMovementCost>0</bFlatMovementCost>
<bIgnoreTerrainCost>0</bIgnoreTerrainCost>
<bNukeImmune>0</bNukeImmune>
<bPrereqBonuses>0</bPrereqBonuses>
<bPrereqReligion>0</bPrereqReligion>
<bMechanized>0</bMechanized>

Una vez entendido esto, seguimos con la tercera y ultima parte:

Aquí ya aparecen los tags con “i” (minúscula) sobre todo para indicar fuerza de ataque, defensa, coste de producción de la unidad, entre otras.
Es la parte mas difícil de editar pero si buscas en otras unidades algo que no entiendas por sentido común lo entenderas. Por ejemplo:

<PrereqReligion>NONE</PrereqReligion>
Dice “NONE”, en cambio los misioneros diran la religión que necesitan.
<PrereqTech>TECH_IRON_WORKING</PrereqTech>
Ahi dira bronce en lugar de “NONE", para hacer los soldados con espada necesitas esta tecnologia.
Esta es la parte mas larga y final:

<UnitClassUpgrades>
<UnitClassUpgrade>
<UnitClassUpgradeType>UNITCLASS_MACEMAN</UnitClassUpgradeType>
<bUnitClassUpgrade>1</bUnitClassUpgrade>
</UnitClassUpgrade>
</UnitClassUpgrades>
<UnitAIs>
<UnitAI>
<UnitAIType>UNITAI_ATTACK</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
<UnitAI>
<UnitAIType>UNITAI_ATTACK_CITY</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
</UnitAIs>
<NotUnitAIs/>
<Builds/>
<ReligionSpreads/>
<GreatPeoples/>
<Buildings/>
<ForceBuildings/>
<HolyCity>NONE</HolyCity>
<ReligionType>NONE</ReligionType>
<StateReligion>NONE</StateReligion>
<PrereqReligion>NONE</PrereqReligion>
<PrereqBuilding>NONE</PrereqBuilding>
<PrereqTech>TECH_IRON_WORKING</PrereqTech>
<TechTypes/>
<BonusType>BONUS_IRON</BonusType>
<PrereqBonuses/>
<ProductionTraits/>
<Flavors/>
<iAIWeight>0</iAIWeight>
<iCost>40</iCost>
<iHurryCostModifier>0</iHurryCostModifier>
<iMinAreaSize>-1</iMinAreaSize>
<iMoves>1</iMoves>
<iAirRange>0</iAirRange>
<iNukeRange>-1</iNukeRange>
<iWorkRate>0</iWorkRate>
<iBaseDiscover>0</iBaseDiscover>
<iDiscoverMultiplier>0</iDiscoverMultiplier>
<iBaseHurry>0</iBaseHurry>
<iHurryMultiplier>0</iHurryMultiplier>
<iBaseTrade>0</iBaseTrade>
<iTradeMultiplier>0</iTradeMultiplier>
<iGreatWorkCulture>0</iGreatWorkCulture>
<TerrainImpassables/>
<FeatureImpassables/>
<iCombat>6</iCombat>
<iAirCombat>0</iAirCombat>
<iAirCombatLimit>0</iAirCombatLimit>
<iXPValueAttack>4</iXPValueAttack>
<iXPValueDefense>2</iXPValueDefense>
<iFirstStrikes>0</iFirstStrikes>
<iChanceFirstStrikes>0</iChanceFirstStrikes>
<iInterceptionProbability>0</iInterceptionProbability>
<iEvasionProbability>0</iEvasionProbability>
<iWithdrawalProb>0</iWithdrawalProb>
<iCollateralDamage>0</iCollateralDamage>
<iCollateralDamageLimit>0</iCollateralDamageLimit>
<iCollateralDamageMaxUnits>0</iCollateralDamageMaxUnits>
<iCityAttack>10</iCityAttack>
<iCityDefense>0</iCityDefense>
<iAnimalCombat>0</iAnimalCombat>
<iHillsDefense>0</iHillsDefense>
<TerrainNatives/>
<FeatureNatives/>
<TerrainDefenses/>
<FeatureDefenses/>
<UnitClassAttackMods/>
<UnitClassDefenseMods/>
<UnitCombatMods/>
<DomainMods/>
<BonusProductionModifiers/>
<iBombRate>0</iBombRate>
<iBombardRate>0</iBombardRate>
<SpecialCargo>NONE</SpecialCargo>
<DomainCargo>NONE</DomainCargo>
<iCargo>0</iCargo>
<iConscription>0</iConscription>
<iCultureGarrison>5</iCultureGarrison>
<iExtraCost>0</iExtraCost>
<iAsset>2</iAsset>
<iPower>3</iPower>
<UnitMeshGroups>
<iGroupSize>3</iGroupSize>
<fMaxSpeed>1.75</fMaxSpeed>
<iMeleeWaveSize>3</iMeleeWaveSize>
<iRangedWaveSize>0</iRangedWaveSize>
<UnitMeshGroup>
<iRequired>3</iRequired>
<EarlyArtDefineTag>ART_DEF_UNIT_SWORDSMAN</EarlyArtDefineTag>
</UnitMeshGroup>
</UnitMeshGroups> <Button>,Art/Interface/Buttons/Units/Swordsman.dds,Art/Interface/Buttons/Unit_Resource_Atlas.dds,4,5</Button>
<HotKey/>
<bAltDown>0</bAltDown>
<bShiftDown>0</bShiftDown>
<bCtrlDown>0</bCtrlDown>
<iHotKeyPriority>0</iHotKeyPriority>
<FreePromotions/>
</UnitInfo>

Todos los archivos terminan con </el nombre que estas editando>.
Siempre es asi, sino pones al final no lo leera.
Para terminar, son 3 archivos básicos que tienes que modificar.
CIV4GameText_Civilopedia_Units
CIV4UnitClassInfos
CIV4UnitInfos

Lo recomendable es copiar una misma unidad cambiarle el nombre, las acciones que puede hacer, los edificios necesarios, o tech, o religión.
Las unidades únicas de cada civ es prácticamente lo mismo.

Lo difícil es crear una unidad desde cero, pero demás esta decir que necesita tener info en estos tres archivos si o si, y tiene que tener una entrada en la “Art”, en donde se pondrá el “botón” que es el icono que aparece al seleccionarla.
<Button>,Art/Interface/Buttons/Units/
Esa es la carpeta.
En
Assets/Art seria la parte grafica. Es decir, fuera de los XML.


Se que es un poco largo, y la verdad comprenderlo a mi me ha llevado bastante tiempo y al principio es algo confuso :bostezo: , pero al final lo saque y he introducido varias modificaciones, pero NUNCA modifiques el juego original, practica haciendo un mod propio y cualquier cosa lo eliminas.

Al principio, un minimo error y no te arranca el juego :angry: , pero paciencia y veras que puedes cambiar lo que quieras, tienes que tratar de entenderlo.

Esto es una INTRO, lo basico para modificar unidades que YA ESTEN en el juego. Para crear nuevas, o bien modificas totalmente una original (que no va a estar mas en el juego, atencion con eso) o bien te metes en la parte grafica y creas el boton como indico arriba, pero es otro mundo aun mas complicado (necesitas los iconos).

Se me hizo largo, lo siento, espero haber ayudado a alguien en este maravilloso mundo de los mods! :D
Desconectado
Avatar de Usuario

Tortuga

Site Admin

Site Admin

  • Mensajes: 3223
  • Registrado: 12 Jun 2010, 14:15
  • Ubicación: Spain
  • Cuenta Steam: TortugaJuma

Re: Intro a los XML (para modificar unidades)

Mensaje sin leer13 Jun 2013, 10:52

Genial por la introducción a los XML, a mi me dió hace algún tiempo y empecé a trastear. Lo pondré en el índice de guías ;)
Desconectado
Avatar de Usuario

Tonyo

  • Mensajes: 59
  • Registrado: 30 May 2013, 01:41
  • Cuenta Steam: -

Re: Intro a los XML (para modificar unidades)

Mensaje sin leer13 Jun 2013, 11:24

Gracias tortuga! a mi me ha costado un poco entenderlo y muuuuchas veces no arranca el juego hasta que ves que te falto por ejemplo "cerrar" el archivo (como puse en el post: poner </UnitClassInfo>) al final.

Por otro lado, soy novato (apenas gano en principe :cry:)pero entiendo de los xml, de la civilopedia, y de la interfaz del juego. Ahora mismo estoy traduciendo la "sevopedia", esa especie de civilopedia que tienen casi todos los mods, que creo que han sacado del bug mod.
La parte "Strategy Guides", que tiene una inmensa cantidad de articulos de estrategia, esta TODA en ingles.

Ya he traducido todo el apartado de los rasgos, y algunas estrategias, ya que son bastante largas :mf_bookread: . Estoy en eso. Como te he dicho tambien he puesto en la sevopedia del ATPmod las reglas del TCL. Solo para recordarmelas a mi, pues no me animo a postear pues soy relativamente nuevo en el foro.

Quiero ayudar a que mas gente conozca y disfrute de este gran juego, en lo que sea, y aprender cada dia mas! :grindance:
Desconectado
Avatar de Usuario

Wolf

  • Mensajes: 4404
  • Registrado: 07 Jul 2010, 00:15

Re: Intro a los XML (para modificar unidades)

Mensaje sin leer14 Jun 2013, 04:51

Buen trabajo Tonyo. Hace tiempo un usuario llamado Curbelo explicó un poco de esto. Lo tuyo tiene unas partes que aclaran algunas cosas.
Gracias.
Wolf is Megax

Volver a Civilization IV Utilidades, Mods y Guías

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados