문명2나 문명3는 게임 내에 에디터 기능이 있어서 여러가지 모딩을 하는데 상당히 수월한 편이었습니다.
하지만 이게 문명4로 넘어오면서 월드빌더만 남고 그런 자잘한 재미를 주던 부분들이 없어졌죠.
대신 골치 아픈 구문들과 씨름해야만 합니다.
프로그래밍에 약간, 아주 약간의 조예만 있으면 이게 더 편할 수도 있겠지만
보통 사람들은 그게 참...
물론 영문으로 된 포럼에선 이미 오래전에 이런 글들이 나돌았지만
원어민도 아니고... 알아볼 수 있어도 일단 머리가 아파지는 건 어쩔 수 없는 일입니다.
우선 저부터 그러니까요 -_-;
그래서 이번엔 되도록 이해가 쉽도록 간략하게...
가능할지는 모르지만 되도록 간략하고 쉽게 따라갈 수 있도록 유닛 추가 방법에 대해 적어볼 생각입니다.
1. 무엇이 필요한가.
필요한 것은 우선...
유닛 그래픽 파일들입니다.
DDS, NIF, KFM 확장자를 가진 유닛 그래픽 파일들이 바로 그것입니다.
DDS의 경우엔 일반 그림 파일에서 얼마든지 변환이 가능하기 때문에 쉽게 만들 수 있지만...
아쉽게도 NIF나 KFM파일은 3D MAX 같은 걸 써보지 않은 이상 이름조차 생소할 겁니다.
별 수 있습니까?
남들이 만든거라도 떼어와야죠.
문명4에 기본적으로 들어있는 것이든...
정 만들고 싶다면 말리진 않겠습니다만; 쉽지는 않을 겁니다;
남이 따로 만든 것이든 간에 어쨌든 이 세가지 파일을 구하면
유닛 제작의 1단계는 마친 셈입니다.
보통은 유닛 그래픽이라고 해서 폴더를 하나 압축해서 올리는데 그것을 그대로 쓰시면 됩니다.
2. 그럼 유닛 추가는 어떻게 할 것인가.
두 가지 방법이 있습니다. 고유 유닛을 추가하는 방법이 그 하나고, 기존의 유닛 그래픽을 바꾸는 것이 두번째입니다.
기존의 유닛 그래픽을 그냥 바꾸는 거라면... 번거롭게 이거저거 고칠 필요없이 그래픽 파일이 들어가 있는 폴더를 찾아서
NIF와 KFM, 그리고 DDS 파일을 교체해주면 그뿐입니다;
그러니까 여기선 고유유닛을 추가하는 걸 알아보도록 하죠.
고유유닛을 추가하려면 먼저 결정해야 할 것이 두가지 정도 있습니다.
어느 문명의 고유유닛으로 넣을 것인가!
그리고, 어떤 유닛을 교체할 것인가!
아쉽게도 그냥 기존의 걸 놔두고 새 유닛을 넣는 건 여러가지로 휠씬 귀찮아집니다;
테크도 손봐야 하고 클래스로 새로 만들어넣어야 하고;
이건 배보다 배꼽이 더 커지죠;
이런 건 좀 더 내공이 쌓이거든 하시고...
여기선 기존의 유닛을 고유유닛으로 교체하는 걸 알아보도록 하겠습니다.
전 일단 한국 문명의 도끼병을 원화라는 여자 검사로 바꾸어 넣어볼 생각입니다.
3. 이제 구한 그림들을 넣어보자.
먼저 해야할 일은 CIV4ArtDefines_Unit.xml 란 파일을 수정하는 일입니다.
이 파일은 보통 \Assets\XML\Art에 있습니다만,
제 경우엔 한국 그래픽 모드를 수정하는 것이라서
..\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Korean_Style\Assets\Modules\Korea
위의 폴더에 있는 Korea_Civ4ArtDefines_Unit.xml 파일을 수정합니다.
앞에 Korea란 단어가 붙기는 했지만...
뒤의 Civ4ArtDefines_Unit로 봐서 같은 기능을 하는 파일이란 걸 알 수 있죠.
일단 하나 복사해서 백업해두신 다음... (만약을 위해서 반드시 하세요!)
그럼 이제 안을 들여다 봅시다.
아참! XML 파일이라고 겁먹으실 것 없습니다.
XML파일은 인터넷 문서의 일종이라서 더블 클릭하시게 되면 익스창이 열리게 되어 있습니다.
때문에 이 파일을 열어서 수정하시려면
우클릭 하신 다음 가지고 계신 문서 편집기로 여시면 됩니다.
EMEDITOR 같은 것이 구하기도 쉽고 쓰기도 편하니까 추천드립니다.
자, 어쨌든 파일을 여셨으면 안을 들여다 봅시다.
뭔가 난감한 영어가 좌르륵 나오죠?
하지만 잘 보면 규칙성이 있습니다.
<UnitArtInfo>로 시작해서 </UnitArtInfo>로 끝나죠.
자, 그럼 찬찬히 하나 하나 살펴볼까요?
제 경우엔 도끼병을 추가하려고 기존의 Civ4ArtDefines_Unit.xml에서 AXEMAN 부분을 복사해서 파일 끄트머리의
</UnitArtInfos> 앞에 붙여 넣은 뒤 고치기 시작합니다.
<UnitArtInfo>
- 구문의 시작입니다.
<Type>ART_DEF_UNIT_SWORDSWOMAN</Type>
- 유닛을 선언합니다. ART_DEF_UNIT_SWORDSWOMAN이란 부분이 그것인데요.
ART_DEF_UNIT_ 뒤에 대문자로 자신이 넣고 싶은 영어 대문자로 빈칸없이 넣어주시면 됩니다.
여기선 SWORDSWOMAN이라고 선언을 했군요!
눈치채셨습니까? 좀전에 올린 아마존 모드의 여자 검사를 다른 문명의 고유유닛으로 집어넣으려는 수작이 엿보입니다!
<Button>Modules/Korea/Units/SwordGirl/valkyrie.dds</Button>
- 버튼으로 쓸 그림 파일을 지정합니다. DDS 파일이 바로 여기에 쓰이죠. 보시면 이 경우엔 한국 그래픽 모드의 유닛 폴더 안에 SwordGirl 이란 폴더를 만들어 그 안에 그림 파일들을 넣어두었다는 걸 알 수 있습니다!
<fScale>0.44</fScale>
- 이건 쉽게 말해서 크기를 조절하는 부분입니다. 배 같은 것의 크기를 조절할 때 이 부분의 값을 변경합니다. 숫자가 클 수록 크고, 작을 수록 작아집니다. (당연하죠?) 보통은 고치려는 유닛의 기본 값을 그대로 넣고 테스트 해본 다음 조절하시면 됩니다.
<fInterfaceScale>1.0</fInterfaceScale>
<bActAsLand>0</bActAsLand>
<bActAsAir>0</bActAsAir>
- 패스~ 사실은 무슨 효과인지 저도 잘 모름;
<NIF>Modules/Korea/Units/SwordGirl/valkry.nif</NIF>
- 이번엔 NIF 파일을 지정합니다. NIF 파일은 쉽게 말해서 유닛의 3d 그래픽이라고 할 수 있습니다. 즉, 게임 상에 나타나는 유닛의 그래픽이 바로 이 파일이란 소리죠!
<KFM>Modules/Korea/Units/SwordGirl/valkry.kfm</KFM>
- KFM 파일은 위의 NIF파일이 어떻게 움직일지 정의되어 있는 파일이라고 할 수 있습니다. NIF파일은 의외로 만들기가 쉽지만 (기존의 3D 그래픽에서 떼어와서 붙이고 하는게 가능하기 때문에) 이 녀석은 유닛이 실제로 어떻게 움직일지 정의되어 있기 때문에 만들기가 까다롭습니다; 때문에 NIF 파일만 만들고 KFM 파일은 기존의 유닛에서 따오는 경우가 많은데 이러면 게임 옵션 중 '유닛 애니메이션(한글판에선 동영상정지)' 옵션을 켜게 되면 멈춰 있을 때 움직이지 않기 때문에 NIF 파일이 아니라 이 KFM 파일이 나옵니다.
<SHADERNIF>Modules/Korea/Units/SwordGirl/valkry.nif</SHADERNIF>
- 셰이더를 지정해줍니다. 픽셸 셰이더 들어보셨죠? 하지만 뭐... 그냥 위의 NIF 파일을 그대로 쓰셔도 지장없습니다.
<ShadowDef>
<ShadowNIF>Art/Units/01_UnitShadows/UnitShadow.nif</ShadowNIF>
<ShadowAttachNode>BIP Pelvis</ShadowAttachNode>
<fShadowScale>0.9</fShadowScale>
</ShadowDef>
<fBattleDistance>0.35</fBattleDistance>
<fRangedDeathTime>0.31</fRangedDeathTime>
<bActAsRanged>0</bActAsRanged>
<TrainSound>AS2D_UNIT_BUILD_UNIT</TrainSound>
<AudioRunSounds>
<AudioRunTypeLoop/>
<AudioRunTypeEnd/>
</AudioRunSounds>
</UnitArtInfo>
- 그 아래는 만져주실 필요없습니다; 내공이 쌓이면 찬찬히 알아보셔도 상관없지만 유닛 추가하는데는 아무 상관없습니다.
자, 이제 작성이 되었으면 저장을 하시고 다음 단계로 넘어가도록 하겠습니다.
4. 이제 유닛의 능력치를 설정해 봅시다.
이번에 고치셔야 할 파일은 CIV4UnitInfos.xml입니다.
이 파일은 보통 \Assets\XML\Units 폴더에 있습니다만...
마찬가지로 전 한국 그래픽 모드를 수정하는 것이므로
..\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Korean_Style\Assets\Modules\Korea
에 있는 Korea_CIV4UnitInfos.xml 파일을 수정합니다.
아까와 마찬가지로 파일을 열어 보시면...
<UnitInfo>로 시작해서 </UnitInfo>로 끝나는 걸 알 수 있습니다.
그런데 이번엔 좀 길이가 길군요; 난감합니다.
아무튼 일단 유닛 추가를 위해 필요한 부분만 알아보도록 하죠.
마찬가지로 기존의 CIV4UnitInfos.xml 파일에서 Axeman 파트만 복사해다가 </UnitInfos> 앞에 붙여넣고 고칩니다.
<UnitInfo>
<Class>UNITCLASS_AXEMAN</Class>
- 클래스를 선언합니다. 쉽게 말해 어떤 유닛을 대체할 고유유닛인지 선언하는 부분이라고 할 수 있습니다. 제 경우엔 도끼병, 즉 Axeman을 고치므로 이렇게 선언이 되었습니다.
<Type>UNIT_SWORDSWOMAN</Type>
- 아까 SWORDSWOMAN이라고 이름 정한거 기억하시죠? 여기에 UNIT_AXEMAN대신 UNIT_SWORDSWOMAN을 집어넣었습니다.
<UniqueNames/>
<Special>NONE</Special>
<Capture>NONE</Capture>
<Combat>UNITCOMBAT_MELEE</Combat>
- 여기서부터 유닛의 속성을 정의하는 부분입니다. UNITCOMBAT_MELEE 라고 되어 있으니 이 유닛은 근접전 유닛이 되겠죠.
<Domain>DOMAIN_LAND</Domain>
- 지상 유닛이란 뜻입니다.
<DefaultUnitAI>UNITAI_COUNTER</DefaultUnitAI>
- 기본 AI를 설정하는 부분인데... 뭐 굳이 만지실 필요는 없습니다.
<Invisible>NONE</Invisible>
<SeeInvisible>NONE</SeeInvisible>
<Description>TXT_KEY_UNIT_SWORDSWOMAN</Description>
- 실제로 게임 상에 표시될 유닛의 이름을 설정하는 부분입니다. 여기선 TXT_KEY_UNIT_SWORDSWOMAN로 설정을 해주었는데요. 여기서 그냥 대충 이름을 넣어버리면 나중에 일괄적으로 수정할 때 무척 불편해집니다. 그래서 굳이 매크로 상수인 TXT_KEY_UNIT_SWORDSWOMAN를 정의해 준 거죠.
<Civilopedia>TXT_KEY_UNIT_AXEMAN_PEDIA</Civilopedia>
-문명 백과사전에 나올 설명 부분입니다. 귀차니즘이 발동해서 도끼병의 것을 그대로 쓰기로 했습니다 -_-;;
<Strategy>TXT_KEY_UNIT_AXEMAN_STRATEGY</Strategy>
<Advisor>ADVISOR_MILITARY</Advisor>
- 가끔 도시 내정할때 이거 만들어라 저거 만들어라 하는 경우 있죠? 그 경우에 해당되는 부분인데 귀찮아서 역시 도끼병의 것으로 그냥 씁니다;
<bAnimal>0</bAnimal>
<bFood>0</bFood>
<bNoBadGoodies>0</bNoBadGoodies>
<bOnlyDefensive>0</bOnlyDefensive>
<bNoCapture>0</bNoCapture>
<bQuickCombat>0</bQuickCombat>
<bRivalTerritory>0</bRivalTerritory>
<bMilitaryHappiness>1</bMilitaryHappiness>
<bMilitarySupport>1</bMilitarySupport>
<bMilitaryProduction>1</bMilitaryProduction>
<bPillage>1</bPillage>
<bSpy>0</bSpy>
<bSabotage>0</bSabotage>
<bDestroy>0</bDestroy>
<bStealPlans>0</bStealPlans>
<bInvestigate>0</bInvestigate>
<bCounterSpy>0</bCounterSpy>
<bFound>0</bFound>
<bGoldenAge>0</bGoldenAge>
<bInvisible>1</bInvisible>
- 대부분은 그냥 도끼병의 그것대로 놔뒀지만 요기 있는 <bInvisible>만 1로 수정했습니다. 이로서 이 유닛은 대부분의 유닛에게 보이지 않게 되었습니다. ㅋㅋㅋ;
<bFirstStrikeImmune>0</bFirstStrikeImmune>
<bNoDefensiveBonus>0</bNoDefensiveBonus>
<bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
<bCanMoveImpassable>0</bCanMoveImpassable>
<bCanMoveAllTerrain>0</bCanMoveAllTerrain>
<bFlatMovementCost>0</bFlatMovementCost>
<bIgnoreTerrainCost>0</bIgnoreTerrainCost>
<bNukeImmune>0</bNukeImmune>
<bPrereqBonuses>0</bPrereqBonuses>
<bPrereqReligion>0</bPrereqReligion>
<bMechanized>0</bMechanized>
<bSuicide>0</bSuicide>
<bHiddenNationality>0</bHiddenNationality>
<bAlwaysHostile>0</bAlwaysHostile>
<UnitClassUpgrades>
<UnitClassUpgrade>
<UnitClassUpgradeType>UNITCLASS_MACEMAN</UnitClassUpgradeType>
<bUnitClassUpgrade>1</bUnitClassUpgrade>
</UnitClassUpgrade>
</UnitClassUpgrades>
- 이 유닛이 장차 어떤 유닛으로 업그레이드 될지 여기서 결정됩니다. 뭐... 기존의 도끼병의 것 그대로 쓰기로 합니다.
<UnitClassTargets/>
<UnitCombatTargets/>
<UnitClassDefenders/>
<UnitCombatDefenders/>
<FlankingStrikes/>
<UnitAIs>
<UnitAI>
<UnitAIType>UNITAI_ATTACK</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
<UnitAI>
<UnitAIType>UNITAI_RESERVE</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
<UnitAI>
<UnitAIType>UNITAI_COUNTER</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
<UnitAI>
<UnitAIType>UNITAI_CITY_DEFENSE</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
</UnitAIs>
<NotUnitAIs/>
<Builds/>
<ReligionSpreads/>
<CorporationSpreads/>
<GreatPeoples/>
<Buildings/>
<ForceBuildings/>
<HolyCity>NONE</HolyCity>
<ReligionType>NONE</ReligionType>
<StateReligion>NONE</StateReligion>
<PrereqReligion>NONE</PrereqReligion>
<PrereqCorporation>NONE</PrereqCorporation>
<PrereqBuilding>NONE</PrereqBuilding>
<PrereqTech>TECH_BRONZE_WORKING</PrereqTech>
- 이 유닛을 만드는데 필요한 기술입니다.
<TechTypes/>
<BonusType>NONE</BonusType>
<PrereqBonuses>
<BonusType>BONUS_COPPER</BonusType>
<BonusType>BONUS_IRON</BonusType>
<BonusType>NONE</BonusType>
<BonusType>NONE</BonusType>
</PrereqBonuses>
- 마찬가지로 이 유닛을 만드는데 필요한 자원입니다.
<ProductionTraits/>
<Flavors/>
<iAIWeight>0</iAIWeight>
<iCost>35</iCost>
- 유닛을 만드는데 필요한 비용입니다.
<iHurryCostModifier>0</iHurryCostModifier>
<iAdvancedStartCost>100</iAdvancedStartCost>
<iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
<iMinAreaSize>-1</iMinAreaSize>
<iMoves>1</iMoves>
-유닛의 이동능력입니다.
<bNoRevealMap>0</bNoRevealMap>
<iAirRange>0</iAirRange>
<iAirUnitCap>0</iAirUnitCap>
<iDropRange>0</iDropRange>
<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>
<iEspionagePoints>0</iEspionagePoints>
<TerrainImpassables/>
<FeatureImpassables/>
<TerrainPassableTechs/>
<FeaturePassableTechs/>
<iCombat>5</iCombat>
- 이 유닛의 전투능력입니다.
<iCombatLimit>100</iCombatLimit>
<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>0</iCityAttack>
<iCityDefense>0</iCityDefense>
<iAnimalCombat>0</iAnimalCombat>
<iHillsAttack>0</iHillsAttack>
<iHillsDefense>0</iHillsDefense>
<TerrainNatives/>
<FeatureNatives/>
<TerrainAttacks/>
<TerrainDefenses/>
<FeatureAttacks/>
<FeatureDefenses/>
<UnitClassAttackMods/>
<UnitClassDefenseMods/>
<UnitCombatMods>
<UnitCombatMod>
<UnitCombatType>UNITCOMBAT_MELEE</UnitCombatType>
<iUnitCombatMod>50</iUnitCombatMod>
</UnitCombatMod>
</UnitCombatMods>
- 도끼병의 기본 속성인 근접전 유닛에 50퍼센트 공격력 증가 옵션입니다.
<UnitCombatCollateralImmunes/>
<DomainMods/>
<BonusProductionModifiers/>
<iBombRate>0</iBombRate>
<iBombardRate>0</iBombardRate>
<SpecialCargo>NONE</SpecialCargo>
<DomainCargo>NONE</DomainCargo>
<iCargo>0</iCargo>
<iConscription>2</iConscription>
<iCultureGarrison>4</iCultureGarrison>
<iExtraCost>0</iExtraCost>
<iAsset>2</iAsset>
<iPower>6</iPower>
<UnitMeshGroups>
- 싱글 유닛 그래픽 옵션을 설정한 것이 아닌 이상 이 아래의 수치를 조정함으로써 화면상에 나타나는 하나의 유닛을 구성하는 객체의 수나 이동 속도 진형등을 여기서 정의할 수 있습니다.
<iGroupSize>3</iGroupSize>
- 세개의 개별유닛이 하나의 그룹으로 묶여서 유닛을 구성합니다.
<fMaxSpeed>1.75</fMaxSpeed>
<fPadTime>1</fPadTime>
<iMeleeWaveSize>3</iMeleeWaveSize>
<iRangedWaveSize>0</iRangedWaveSize>
<UnitMeshGroup>
<iRequired>3</iRequired>
<EarlyArtDefineTag>ART_DEF_UNIT_SWORDSWOMAN</EarlyArtDefineTag>
- 중요합니다! 지금까지는 자잘한 옵션들의 설정이라 어떻게 고치든 유저 마음이었지만 여기서는 앞서 3단계에서 정한 ART_DEF_UNIT_SWORDSWOMAN로 고쳐주지 않으면 기존의 도끼병 그래픽이 그냥 떠버립니다; 여긴 반드시 고쳐줘야 할 부분입니다!
</UnitMeshGroup>
</UnitMeshGroups>
<FormationType>FORMATION_TYPE_DEFAULT</FormationType>
-진형을 선택합니다. 외국 모드 스샷 같은 걸 보면 일본 창병 유닛이 원진을 형성하고 있다든가 하는 걸 본 적이 있으실 겁니다. 그런 진형을 여기서 선언해 줍니다.
<HotKey/>
<bAltDown>0</bAltDown>
<bShiftDown>0</bShiftDown>
<bCtrlDown>0</bCtrlDown>
<iHotKeyPriority>0</iHotKeyPriority>
<FreePromotions>
<FreePromotion>
<PromotionType>PROMOTION_COVER</PromotionType>
<bFreePromotion>1</bFreePromotion>
</FreePromotion>
</FreePromotions>
- 여기선 유닛이 처음 생산되자 마자 가지고 있는 진급을 설정하는 부분입니다. 원래 도끼병은 이 부분이 그 <FreePromotions/>로 종결되지만 저는 여기에 cover(한글판에선 엄폐) 특성을 넣어주었습니다. 보통 도시를 지키는 것이 궁병들이므로 꽤 유용하겠죠 ㅎㅎ;
<LeaderPromotion>NONE</LeaderPromotion>
<iLeaderExperience>0</iLeaderExperience>
</UnitInfo>
휴; 길다... 실제로 고칠 부분은 얼마 안되는데 엄청 기네요;
이러니 유닛이 많아지면 버벅대지 -_-;
아무튼 이제 4단계로 끝났습니다; 휴;
5. 문명 정보를 수정합시다!
그래픽 정보를 고쳤고, 유닛도 만들어넣었으니, 이제 어느 문명의 고유유닛인지 선언해 주는 일이 남았습니다.
고쳐야 할 파일은 CIV4CivilizationInfos.xml 입니다. 이 파일은 보통 \Assets\XML\Civilizations에 있지만 전
\Firaxis Games\Sid Meier's Civilization 4\Beyond the sword\Mods\Korean_Style\Assets\Modules\Korea
에 있는 Korea_CIV4CivilizationInfos.xml를 수정합니다.
이번에도 마찬가지로 하나의 문명 정보는 <CivilizationInfo>로 시작해서 </CivilizationInfo>로 끝납니다.
Korea_CIV4CivilizationInfos.xml 속엔 문명 정보가 하나뿐이라 찾는 수고는 덜었군요 ㅎㅎ
하나라고는 해도 양은 역시 만만치 않습니다;
하지만 우리가 지금 할 일은 만든 유닛을 추가하는 일 하나 뿐이니까 고쳐야 할 부분도 하나 뿐이죠.
<CivilizationInfo>
<Type>CIVILIZATION_KOREA</Type>
<Description>TXT_KEY_CIV_KOREA_DESC</Description>
<ShortDescription>TXT_KEY_CIV_KOREA_SHORT_DESC</ShortDescription>
<Adjective>TXT_KEY_CIV_KOREA_ADJECTIVE</Adjective>
<Civilopedia>TXT_KEY_CIV_KOREA_PEDIA</Civilopedia>
<DefaultPlayerColor>PLAYERCOLOR_DARK_CYAN</DefaultPlayerColor>
<ArtDefineTag>ART_DEF_CIVILIZATION_KOREA</ArtDefineTag>
<ArtStyleType>ARTSTYLE_ASIAN</ArtStyleType>
<UnitArtStyleType>UNIT_ARTSTYLE_COREA</UnitArtStyleType>
<bPlayable>1</bPlayable>
<bAIPlayable>1</bAIPlayable>
<Cities>
<City>TXT_KEY_CITY_NAME_SEOUL</City>
<City>TXT_KEY_CITY_NAME_PYONGYANG</City>
<City>TXT_KEY_CITY_NAME_WONSAN</City>
<City>TXT_KEY_CITY_NAME_PUSAN</City>
<City>TXT_KEY_CITY_NAME_NAMPO</City>
<City>TXT_KEY_CITY_NAME_CHEJU</City>
<City>TXT_KEY_CITY_NAME_HYANGSAN</City>
<City>TXT_KEY_CITY_NAME_ULSAN</City>
<City>TXT_KEY_CITY_NAME_INCHON</City>
<City>TXT_KEY_CITY_NAME_PYONGSONG</City>
<City>TXT_KEY_CITY_NAME_TAEJON</City>
<City>TXT_KEY_CITY_NAME_PAEGAM</City>
<City>TXT_KEY_CITY_NAME_MANPO</City>
<City>TXT_KEY_CITY_NAME_KAESONG</City>
<City>TXT_KEY_CITY_NAME_CHONJU</City>
<City>TXT_KEY_CITY_NAME_SARIWON</City>
<City>TXT_KEY_CITY_NAME_SUWON</City>
<City>TXT_KEY_CITY_NAME_HAEJU</City>
<City>TXT_KEY_CITY_NAME_TAEGU</City>
<City>TXT_KEY_CITY_NAME_CHINJE</City>
<City>TXT_KEY_CITY_NAME_TOKCHON</City>
<City>TXT_KEY_CITY_NAME_CHONGFU</City>
<City>TXT_KEY_CITY_NAME_TAEGWON</City>
<City>TXT_KEY_CITY_NAME_SOKCHO</City>
<City>TXT_KEY_CITY_NAME_HAMHUNG</City>
<City>TXT_KEY_CITY_NAME_IRI</City>
<City>TXT_KEY_CITY_NAME_HUICHON</City>
<City>TXT_KEY_CITY_NAME_NAMWON</City>
<City>TXT_KEY_CITY_NAME_KUMGANG</City>
<City>TXT_KEY_CITY_NAME_OIJONGBU</City>
</Cities>
<Buildings>
<Building>
<BuildingClassType>BUILDINGCLASS_UNIVERSITY</BuildingClassType>
<BuildingType>BUILDING_KOREAN_SEOWON</BuildingType>
</Building>
<Building>
<BuildingClassType>BUILDINGCLASS_CASTLE</BuildingClassType>
<BuildingType>BUILDING_GOGURYEO_CASTLE</BuildingType>
</Building>
<Building>
<BuildingClassType>BUILDINGCLASS_OBSERVATORY</BuildingClassType>
<BuildingType>BUILDING_Cheomseongdae</BuildingType>
</Building>
<Building>
<BuildingClassType>BUILDINGCLASS_PALACE</BuildingClassType>
<BuildingType>BUILDING_COREAN_PALACE</BuildingType>
</Building>
<Building>
<BuildingClassType>BUILDINGCLASS_GREAT_PALACE</BuildingClassType>
<BuildingType>BUILDING_GREAT_PALACE_COREAN</BuildingType>
</Building>
</Buildings>
<Units>
<Unit>
<UnitClassType>UNITCLASS_CATAPULT</UnitClassType>
<UnitType>UNIT_KOREAN_HWACHA</UnitType>
</Unit>
<Unit>
<UnitClassType>UNITCLASS_CHARIOT</UnitClassType>
<UnitType>UNIT_COREAN_HORSE_ARCHER</UnitType>
</Unit>
<Unit>
<UnitClassType>UNITCLASS_HORSE_ARCHER</UnitClassType>
<UnitType>UNIT_GAEMAMUSA</UnitType>
</Unit>
<Unit>
<UnitClassType>UNITCLASS_TREBUCHET</UnitClassType>
<UnitType>UNIT_DAESINGIJEON</UnitType>
</Unit>
<Unit>
<UnitClassType>UNITCLASS_GREAT_GENERAL</UnitClassType>
<UnitType>UNIT_GREAT_GENERAL_COREAN</UnitType>
</Unit>
<Unit>
<UnitClassType>UNITCLASS_AXEMAN</UnitClassType>
<UnitType>UNIT_SWORDSWOMAN</UnitType>
</Unit>
- 자, 여기에 새로 만든 유닛을 넣었습니다.
UNITCLASS_AXEMAN에 들어갈 UNIT_SWORDSWOMAN라는 고유유닛이죠 ㅎㅎ;
이 부분 하나만 추가해서 넣으시면 이 파일은 더 손볼 필요가 없습니다.
</Units>
<FreeUnitClasses>
<FreeUnitClass>
<UnitClassType>UNITCLASS_SETTLER</UnitClassType>
<iFreeUnits>1</iFreeUnits>
</FreeUnitClass>
</FreeUnitClasses>
<FreeBuildingClasses>
<FreeBuildingClass>
<BuildingClassType>BUILDINGCLASS_PALACE</BuildingClassType>
<bFreeBuildingClass>1</bFreeBuildingClass>
</FreeBuildingClass>
</FreeBuildingClasses>
<FreeTechs>
<FreeTech>
<TechType>TECH_MINING</TechType>
<bFreeTech>1</bFreeTech>
</FreeTech>
<FreeTech>
<TechType>TECH_MYSTICISM</TechType>
<bFreeTech>1</bFreeTech>
</FreeTech>
</FreeTechs>
<DisableTechs/>
<InitialCivics>
<CivicType>CIVIC_DESPOTISM</CivicType>
<CivicType>CIVIC_BARBARISM</CivicType>
<CivicType>CIVIC_TRIBALISM</CivicType>
<CivicType>CIVIC_DECENTRALIZATION</CivicType>
<CivicType>CIVIC_PAGANISM</CivicType>
</InitialCivics>
<Leaders>
<Leader>
<LeaderName>LEADER_DANGUN</LeaderName>
<bLeaderAvailability>1</bLeaderAvailability>
</Leader>
<Leader>
<LeaderName>LEADER_DAMDEOK</LeaderName>
<bLeaderAvailability>1</bLeaderAvailability>
</Leader>
<Leader>
<LeaderName>LEADER_WANGKON</LeaderName>
<bLeaderAvailability>1</bLeaderAvailability>
</Leader>
<Leader>
<LeaderName>LEADER_SEJONG</LeaderName>
<bLeaderAvailability>1</bLeaderAvailability>
</Leader>
<Leader>
<LeaderName>LEADER_KIMJONGIL</LeaderName>
<bLeaderAvailability>1</bLeaderAvailability>
</Leader>
</Leaders>
<DerivativeCiv>CIVILIZATION_JAPAN</DerivativeCiv>
<Civilizati[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxonSelectionSound>AS3D_KOREA_SELECT</Civilizati[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxonSelectionSound>
<CivilizationActionSound>AS3D_KOREA_ORDER</CivilizationActionSound>
</CivilizationInfo>
자... 이제 수정하고... 마지막 작업으로 넘어가 봅시다 -_-;;
힘들다;
6. 텍스트 수정...
이제 새로 만든 유닛의 이름을 넣어주는 일만이 남았습니다 -_-;
고쳐야 할 파일은CIV4GameText.xml입니다.
이 파일은 보통 \Assets\XML\Text에 있지만...
사실은 이 폴더에 있는 어느 파일을 열어서 내용을 추가해도 상관없습니다 -_-;
제 경우엔 CIV4GameText_Objects_BTS.xml을 수정했는데...
이건 한국 그래픽 모드의 한글화를 하면서 이 파일 안에 한글 텍스트를 몰아넣었기 때문입니다 -_-;
이 단계는 별거 없습니다;
그냥 스크롤 주욱 내리신다음
</Civ4GameText> 앞에다
아래 내용을 넣어주시기만 하면 됩니다.
<TEXT>
<Tag>TXT_KEY_UNIT_SWORDSWOMAN</Tag>
- 아까 유닛이름으로 선언된 매크로 상수를 여기 넣어주었습니다;
<English>Wonhwa</English>
- 영문 이름입니다.
<L1 /><L2 /><L3 /><L4 />
- 스페인어 독일어 불어 같은거 쓸일 없으니 그냥 이렇게 써넣습니다;;
<Korean>원화</Korean>
- 그리고 이것이 바로 한글 이름... 화랑이 생기기 전에 참한 여자들을 데려다 육성하였으니 그것이 바로 원화라는 제도였죠;
그냥 떠올라서 넣어봤습니다 -_-;
</TEXT>
6. 이제 테스트를 해봅시다 -_-
게임 돌려서 테스트 해보면 됩니다 -_-
처음 게임이 로딩될때 XML 체크만 통과하면 됩니다.
만약 오류가 난다면 오류 메시지를 보고 수정하면 되죠.
제대로 단계를 밟았다면 보통은 </TEXT> 같은 걸 빼먹었다던가 하는 경우 밖에는 없을 겁니다.
오류가 나면 바로 확인 누르지 마시고 오류메시지를 잘 보고 수정하시는 것이 중요합니다.
여기까지 따라오시느라 수고하셨습니다;
새롭게 추가된 원화의 모습을 보면서 이만 줄일까 합니다;
첫댓글 원화라....참 무섭게 생겼습니다...ㅋㅋㅋ 멋진 글 잘 보았습니다!
휴.. 너무 어렵네요.. 오랜만에 새로운 형식의 팁이네요 감사합니다^^
머리가 빙글...
참고로 마지막에 고유 유닛으로 등록하는 과정을 생략하면... 그 유닛은 일반적으로는 생산할 수 없지만 월드빌더를 통해 나오도록 할 수 있습니다. 그렇게 만들어 놓고 시나리오 파일 수정하면서 하나 떨궈 놓으면 이른바 게임상에 단 하나뿐인 유니크 유닛으로 사용하는게 가능합니다 ㅎㅎ;
감사합니다! 저도 컨퀘 질리면 님하고 기라성님 글보고 따라하려고 벼르고 있습니다. 이카페엔 멋진 분들이 참 많아서 좋군요~ㅋㅋㅋ
수고하셨어요^^ 게임공략만 있는 게시판의 활력이 되네요^^
하가렌님 질문있습니다. 시빌 포럼에서 다운받은 유닛중 신체 특정 부위가 없다는거 하는건 뭔가요? 팩속에 보면 여러가지 합쳐서 쓸수 있게 만든 구조같던데 어떻게 하시는줄 아시나요?
이를테면 다리가 없는 유령 같은 형태의 유닛을 말씀하시는 모양이군요. 그걸 손보려면 NIF 파일을 직접 만져야 합니다. 3D MAX같은 그래픽 툴에 문명4용 플러그인을 설치하고 작업해야 하는데... 솔직히 배보다 배꼽이 더 큰 일인지라 -_-;; 저도 엄두가 안나네요 ㅎㅎ;
Bangs 님이 한국 그래픽 모드 만들때 그런 식으로 떼고 붙이는 일을 하신 걸로 아는데... 한번 물어보심은?
휴..그래픽부터 구하는게 난감하네요....
후우.. 너무 어렵네요.. 그냥 완성파일 올려주시면 감사할텐데...
좋은 자료 감사합니다~
근데 다른건 다되는데 고유유닛추가가 안되네요ㅠㅠ