Civ not showing up, and unit errors

aaronjay

Chieftain
Joined
Aug 5, 2014
Messages
8
Hi all, I have been following a tutorial in this forum, and its fantastic, this is my first attempt at creating a civilization, so I'd expect to come by some issues, but I am not sure why my civ doesn't show up at all.

I anyone would be so kind as to have a check I would be greatly appreciated. I'll keep at it myself too, in hope that I may see whee I went wrong.

http://forums.civfanatics.com/showpost.php?p=13374148&postcount=16

Thanks all

Much appreciated
Aaron
 
The file and <IconAtlas> references you are making don't exist anywhere so the game doesn't know what to do with these references
Code:
  <Civilizations>
   <Row>
      ..............(I removed multiple lines of XML for clarity)...............
      <IconAtlas>MMMRRRGGGLLL_CIV_COLOR_ATLAS</IconAtlas>
      <AlphaIconAtlas>MMMRRRGGGLLL_CIV_ALPHA_ATLAS</AlphaIconAtlas>
      <MapImage>MapMMMRRRGGGLLL360x410.dds</MapImage>
      <DawnOfManQuote>TXT_KEY_CIV5_DAWN_MMMRRRGGGLLL_TEXT</DawnOfManQuote>
      <DawnOfManAudio>AS2D_DOM_SPEECH_MMMRRRGGGLLL</DawnOfManAudio>
  </Row>
  </Civilizations>
The error you have here will cause the game to abort loading the file for your civilization:
Code:
  <Civilization_FreeUnits>
    <Row>
      <CivilizationType>CIVILIZATION_MURLOC</CivilizationType>
      <UnitClassType>UNITCLASS_SETTLER</UnitClassType>
      <UnitAIType>UNITAI_SETTLE</UnitAIType>
      <Count>1</Count>
	  <CivilizationType>CIVILIZATION_MURLOC</CivilizationType>
	  <UnitClassType>UNITCLASS_WARRIOR</UnitClassType>
	  <UnitAIType>UNITAI_Attack</UnitAIType>
	  <Count>1</Count>
    </Row>
  </Civilization_FreeUnits>
needs to be
Code:
  <Civilization_FreeUnits>
    <Row>
      <CivilizationType>CIVILIZATION_MURLOC</CivilizationType>
      <UnitClassType>UNITCLASS_SETTLER</UnitClassType>
      <UnitAIType>UNITAI_SETTLE</UnitAIType>
      <Count>1</Count>
[COLOR="Blue"]    </Row>
    <Row>[/COLOR]
	  <CivilizationType>CIVILIZATION_MURLOC</CivilizationType>
	  <UnitClassType>UNITCLASS_WARRIOR</UnitClassType>
	  <UnitAIType>UNITAI_Attack</UnitAIType>
	  <Count>1</Count>
    </Row>
  </Civilization_FreeUnits>
this:
Code:
  <Civilization_UnitClassOverrides>
    <Row>
      <CivilizationType>CIVILIZATION_MURLOC</CivilizationType>
      <UnitClassType>[COLOR="Red"][B]UNITCLASS_WARRIOR[/B][/COLOR]</UnitClassType>
      <UnitType>[COLOR="Red"][B]UNIT_MURLOC_TIDECALLER[/B][/COLOR]</UnitType>
    </Row>
  </Civilization_UnitClassOverrides>
does not match with this:
Code:
<GameData>
  <Units>
    <Row>
      <Type>[COLOR="red"][B]UNIT_MURLOC_TIDERUNNER[/B][/COLOR]</Type>
      ............................
      <Class>[COLOR="red"][B]UNITCLASS_PIKEMAN[/B][/COLOR]</Class>
So your unique unit doesn't 'register' properly for your civ, which has the same effect of not having the necessary 2nd unique for your civilization.

I don't know enough about defining leaders to know if you've made any mistakes there.
You've created a custom improvement but you've never told workers they can build it, how long it takes, etc.
There may be other errors that must be addressed.
 
Thats makes sense, thanks for your eyes! I had two unit types there going on, went a bit wrong, as i only had 1 unit.xlm and never put 2 specialist units in it.

I was wondering about 'Yieldtypes'
Would you know a place where I could find out the variables? i know there's YIELD_GROWTH and YIELD_PRODUCTION is Gold simply YIELD_GOLD or YIELD_PROFIT (Sorry i have nothing to reference, im still new to the forums, and looking left right and center)

Thanks for having a look, I really appreciate it!
 
Thats makes sense, thanks for your eyes! I had two unit types there going on, went a bit wrong, as i only had 1 unit.xlm and never put 2 specialist units in it.

I was wondering about 'Yieldtypes'
Would you know a place where I could find out the variables? i know there's YIELD_GROWTH and YIELD_PRODUCTION is Gold simply YIELD_GOLD or YIELD_PROFIT (Sorry i have nothing to reference, im still new to the forums, and looking left right and center)

Thanks for having a look, I really appreciate it!
There is no YIELD_GROWTH. It's YIELD_FOOD. You may be confusing with FLAVOR_GROWTH, which is valid. Some people also get confused and try to use FLAVOR_FOOD, which isn't valid.

These are the valid Yield types:
Code:
YIELD_GOLD
YIELD_PRODUCTION
YIELD_SCIENCE
YIELD_CULTURE
YIELD_FOOD
YIELD_FAITH
But YIELD_CULTURE and YIELD_FAITH don't work in all game tables that want a yield statement like these. It's a Firaxis-created problem in that they didn't always make every game table 'recognize' every type of Yield.

Some people try to use YIELD_HAPPINESS but there is no such thing. The game simply ignores (in most cases) such references.

As a side note, if you have BNW, you can not add Tourism anywhere by trying YIELD_TOURISM. The game simply ignores any such.
 
Thanks for clearing that up. Superstar!

Thanks for your patience and all. I just spent nearly 2 hours amending, but still not having much luck haha.

I'll keep cracking on, but a do value your and anyone else eyes

updated version (much more tidy):
View attachment Warcraft Civs - The Murloc.rar

Im sure it has something to do with ICON ATLAS, but not sure what else I am to place in there.

Almost finished all the art work in PS, so that's ready to go!
Cheers


[Edit: Is it possible that I need to mention the special unit that i have a unit.xml for into Civilization.xml? i think it possibly is, as ive not done that]
Tried the above, I have the Special unit now in the Civ.xml - still no joy, hmm must be something Im missing...
 
i have nothing to reference

The primary reference for every modder are the original game files.

For Vanilla these are in
  • C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization V\Assets\Gameplay\Lua
  • C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization V\Assets\Gameplay\XML
  • C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization V\Assets\UI

If you're modding for G&K, there are changes to the Vanilla files in
  • C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization V\Assets\DLC\Expansion\Gameplay\Lua
  • C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization V\Assets\DLC\Expansion\Gameplay\XML
  • C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization V\Assets\DLC\Expansion\UI
(so for G&K you'd first look in those three places and if you can't find the details then look in the same place as Vanilla)

If you're modding BNW, there are changes to the Vanilla files in
  • C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization V\Assets\DLC\Expansion2\Gameplay\Lua
  • C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization V\Assets\DLC\Expansion2\Gameplay\XML
  • C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization V\Assets\DLC\Expansion2\UI
(so for BNW you'd first look in those three places and if you can't find the details then look in the same place as Vanilla)

Yields are in Civ5Yields.xml, and being different between the expansions and vanilla (culture was added as a yield in G&K and inherited by BNW), for BNW the yield types can be found in C:\Program Files (x86)\Steam\SteamApps\common\Sid Meier's Civilization V\Assets\DLC\Expansion2\Gameplay\ XML\Terrain\CIV5Yields.xml.

Looking in that file, you'll find the six yield types listed by LeeS above

A good multiple file search tool is essential.
 
The main reason that your mod is doing nothing is that you have no "OnModActivated->UpdateDatabase" entries for any of your XML files - see the third link in my sig.

Once you've done that, read the first link in my sig and enable logging. The following are errors from your mod you'll need to track down and fix

Code:
[38954.338] no such table: Civilization_Start_Place_Along_Ocean
[38954.338] In Query - insert into Civilization_Start_Place_Along_Ocean('CivilizationType', 'StartAlongOcean') values (?, ?);
[38954.338] In XMLSerializer while updating table Civilization_Start_Place_Along_Ocean from file Civilization.xml.
[38963.371] Invalid Reference on Buildings.IconAtlas - "MURLOC_ATLAS" does not exist in IconTextureAtlases
[38963.605] Invalid Reference on Buildings.Help - "TXT_KEY_BUILDING_MURLOC_UNOPENED_CLAM_TRADEPOST_HELP" does not exist in Language_en_US
[38963.683] Invalid Reference on Buildings.Strategy - "TXT_KEY_BUILDING_MURLOC_UNOPENED_CLAM_TRADEPOST_STRATEGY" does not exist in Language_en_US
[38963.745] Invalid Reference on Buildings.Civilopedia - "TXT_KEY_BUILDING_MURLOC_UNOPENED_CLAM_TRADEPOST_PEDIA" does not exist in Language_en_US
[38963.808] Invalid Reference on Buildings.Description - "TXT_KEY_BUILDING_MURLOC_UNOPENED_CLAM_TRADEPOST" does not exist in Language_en_US
[38965.009] Invalid Reference on Leaders.IconAtlas - "MMMRRRGGGLLL_ATLAS" does not exist in IconTextureAtlases
[38965.633] Invalid Reference on Improvements.IconAtlas - "DLC03_MURLOC_ATLAS" does not exist in IconTextureAtlases
[38965.633] Invalid Reference on Improvements.CivilizationType - "CIVILIZATION_MURLOC" does not exist in Civilizations
[38966.194] Invalid Reference on Builds.IconAtlas - "MURLOC_ATLAS" does not exist in IconTextureAtlases

Always deal with errors from the top down, as a single error in an XML file will cause the game to discard the entire file which will often be the cause of later errors.

And while you're reading links, read the second, as there is no need to upload the ModBuddy project (as it is at least three times the size of the actual mod), just the built mod for your MODS sub-directory.
 
I would suggest you also add (or think about adding) somewhere in the defintion of BUILDING_MURLOC_UNOPENED_CLAM_TRADEPOST within the <Buildings> table:
Code:
		<SpecialistType>SPECIALIST_MERCHANT</SpecialistType>
		<SpecialistCount>1</SpecialistCount>
Also suggest adding this in the file for the building somewhere, to make it match up with the other Market-type buildings:
Code:
<Building_YieldModifiers>
	<Row>
		<BuildingType>BUILDING_MURLOC_UNOPENED_CLAM_TRADEPOST</BuildingType>
		<YieldType>YIELD_GOLD</YieldType>
		<Yield>25</Yield>
	</Row>
</Building_YieldModifiers>
And you will need this to make the unit assigned as a unique for your civilization:
Code:
	<Civilization_UnitClassOverrides>
		<Row>
			<CivilizationType>CIVILIZATION_MURLOC</CivilizationType>
			<UnitClassType>UNITCLASS_PIKEMAN</UnitClassType>
			<UnitType>UNIT_MURLOC_TIDERUNNER</UnitType>
		</Row>
	</Civilization_UnitClassOverrides>

in your Warcraft Civs - The Murloc (v 1).modinfo file, you have this:
Spoiler :
Code:
<?xml version="1.0" encoding="utf-8"?>
<Mod id="8b2db022-c2ed-46cc-b62c-a6eb6b956629" version="1">
  <Properties>
    <Name>Warcraft Civs - The Murloc</Name>
    <Stability>Alpha</Stability>
    <Teaser>Civilizations from the popular World of Warcraft MMO</Teaser>
    <Description>Civilizations from the popular World of Warcraft MMO</Description>
    <Authors>Aaron</Authors>
    <HideSetupGame>0</HideSetupGame>
    <AffectsSavedGames>1</AffectsSavedGames>
    <MinCompatibleSaveVersion>0</MinCompatibleSaveVersion>
    <SupportsSinglePlayer>1</SupportsSinglePlayer>
    <SupportsMultiplayer>1</SupportsMultiplayer>
    <SupportsHotSeat>1</SupportsHotSeat>
    <SupportsMac>1</SupportsMac>
    <ReloadAudioSystem>0</ReloadAudioSystem>
    <ReloadLandmarkSystem>0</ReloadLandmarkSystem>
    <ReloadStrategicViewSystem>0</ReloadStrategicViewSystem>
    <ReloadUnitSystem>0</ReloadUnitSystem>
  </Properties>
  <Dependencies />
  <References />
  <Blocks />
  <Files>
    <File md5="B042D6888CC4009B3789ADF19262A43F" import="0">Buildings.xml</File>
    <File md5="2A5DB7F1B17D2F09D47FDFFC38302608" import="0">Civilization.xml</File>
    <File md5="94F66D08DB69C20675E4B92AD877D862" import="0">Improvements.xml</File>
    <File md5="63EC38E0C81612967893E01682B6ECC3" import="0">Leader.xml</File>
    <File md5="A2F00FE2C6B62AEF19055B6C74A55731" import="0">Trait.xml</File>
    <File md5="AD06D49831E5042303D409FDF3E4D93F" import="0">Units.xml</File>
  </Files>
</Mod>
Since there are no 'OnModActivated' rows you have omitted to tell modbuddy to do anything with latest version of the mod.

You will need to do two things before your <IconAtlas> and <AlphaIconAtlas>, etc., commands within your <Civilizations> definition will work:
(1) add the required DDS files for Icons, etc., and set them up properly in modbuddy
(2) add a file defining what DDS files for each Icon Size belong to MURLOC_ATLAS and MURLOC_ALPHA_ATLAS.

Here is an example of the kind of thing I mean for (2):
Spoiler :
Note that I borrowed this code for example purposes from a mod I had subscribed to and that was in my MODS folder:
Code:
<GameData>
	<IconTextureAtlases>
		<Row>
			<Atlas>RANCH_ICON</Atlas>
			<IconSize>256</IconSize>
			<Filename>ART/RanchIcon256.dds</Filename>
			<IconsPerRow>1</IconsPerRow>
			<IconsPerColumn>1</IconsPerColumn>
		</Row>
		<Row>
			<Atlas>RANCH_ICON</Atlas>
			<IconSize>128</IconSize>
			<Filename>ART/RanchIcon128.dds</Filename>
			<IconsPerRow>1</IconsPerRow>
			<IconsPerColumn>1</IconsPerColumn>
		</Row>
		<Row>
			<Atlas>RANCH_ICON</Atlas>
			<IconSize>64</IconSize>
			<Filename>ART/RanchIcon64.dds</Filename>
			<IconsPerRow>1</IconsPerRow>
			<IconsPerColumn>1</IconsPerColumn>
		</Row>
		<Row>
			<Atlas>RANCH_ICON</Atlas>
			<IconSize>45</IconSize>
			<Filename>ART/RanchIcon45.dds</Filename>
			<IconsPerRow>1</IconsPerRow>
			<IconsPerColumn>1</IconsPerColumn>
		</Row>
	</IconTextureAtlases>
</GameData>
Also: whoward69's zip your mods and attach tutorial. We only actually need the "built" version of the mod, and not the entire project from modbuddy. It is actually easier for us when we are looking at only exactly what modbuddy sends out as an enable-able mod.

Also: whoward69's what setting for what file types tutorial so you have a reference of where to look if you are not certain how to "add in" to your mod file types other than XML.

............................................................................................................................................
[edit]
And as far as whoward's comment about erro messages: the missing TXT_KEY reference errors are probably because you didn't add anything in the <Language_en_US> table for the TXT_KEYS you reference in your building.

Code:
  [COLOR="Red"][B]<Civilization_Start_Place_Along_Ocean>[/B][/COLOR]
	  <Row>
		 <CivilizationType>CIVILIZATION_MURLOC</CivilizationType>
		 <StartAlongOcean>1</StartAlongOcean>
	  </Row>
  [COLOR="red"][B]</Civilization_Start_Place_Along_Ocean>[/B][/COLOR]
The correct name of the table is <Civilization_Start_Along_Ocean>.

NOTE: there is a table called <Civilization_Start_Place_First_Along_Ocean> but it is not the same thing, and does not use the <StartAlongOcean> column.

This error causes discard of the civilization file, which in turn leads to other errors because there is never a CIVILIZATION_MURLOC registered with the game.
 
Thanks, I'll go through both your comments carefully and slowly so I don't miss anything.
Thank you kindly.
 
Hey thanks for both your input, helped so much, and I understand a lot more, through trial and error.
My Civ seems to be in a more working order now. Lots of things show up correctly which is nice. There is a few aesthetics that I need to change mainly in Leader Scenes, which im sorting out.

My main question, is that when you load up a game, the Dawn of man text comes up, and at the bottom it shows icons of your unique unit, building improvement etc. However mine isn't showing and I can't see why. Also in game, the unique Building and the Improvement doesn't seem to be showing up. However in the trial before they were there.
Ever so complicated.
If you have some spare time, I would appreciate a few fresh eyes :)
View attachment The Murloc [WoW Civ]6.rar
 
This file is not correct for "OnModActivated > UpdateDatabase."
Code:
<UpdateDatabase>XML/NewText/Civ5_Dialog_mmmrrrggglll.xml</UpdateDatabase>
If you re-read very carefully whoward's tutorial you will see that he says that an xml file that has
Code:
<LeaderScene
at the beginning is done as Import Into VFS = true and without an "OnModActivated".

..............................................................................................................................................

No such unit class as UNITCLASS_ATLATLIST. The Mayan atlatlist is UNIT_MAYAN_ATLATLIST and is part of UNITCLASS_ARCHER.

..............................................................................................................................................

No such column as shown in red within the <Buildings> table:
Code:
	<Buildings>
		<Row>
			<Type>[COLOR="blue"]BUILDING_CLAM_TRADEPOST[/COLOR]</Type>
			<BuildingClass>BUILDINGCLASS_MARKET</BuildingClass>
			<Cost>85</Cost>
			<GoldMaintenance>1</GoldMaintenance>
			<PrereqTech>TECH_CURRENCY</PrereqTech>
			<Description>TXT_KEY_BUILDING_CLAM_TRADEPOST</Description>
			<Civilopedia>TXT_KEY_CIV5_BUILDINGS_CLAM_TRADEPOST_TEXT</Civilopedia>
			<Strategy>TXT_KEY_BUILDING_CLAM_TRADEPOST_STRATEGY</Strategy>
			<Help>TXT_KEY_BUILDING_CLAM_TRADEPOST_HELP</Help>
			<ArtDefineTag>ART_DEF_BUILDING_MARKET</ArtDefineTag>
			<MinAreaSize>-1</MinAreaSize>
			<ConquestProb>66</ConquestProb>
			[COLOR="Red"]<Food>2</Food>[/COLOR]
			<Gold>3</Gold>
			<Happiness>1</Happiness>
			<HurryCostModifier>25</HurryCostModifier>
			<IconAtlas>CIV_COLOR_MURLOC_ATLAS</IconAtlas>
			<PortraitIndex>1</PortraitIndex>
		</Row>
	</Buildings>
There is a column called <Gold>, but it is a one-shot amount given when the building is constructed. What you have here is correct for adding food-per-turn and gold-per-turn as part of the building's effects, except for where I have highlighted blue in these two examples. The blue bits don't match so the game has no idea what to do with the code shown below:
Code:
	<Building_YieldChanges>
		<Row>
			<BuildingType>[COLOR="Blue"]BUILDING_MURLOC_CLAM_TRADEPOST[/COLOR]</BuildingType>
			<YieldType>YIELD_GOLD</YieldType>
			<Yield>3</Yield>
		</Row>
		<Row>
			<BuildingType>[COLOR="blue"]BUILDING_MURLOC_CLAM_TRADEPOST[/COLOR]</BuildingType>
			<YieldType>YIELD_FOOD</YieldType>
			<Yield>2</Yield>
		</Row>
	</Building_YieldChanges>
and also mismatch between what you have in the <Buildings> table and what you have here, also highlighted in blue:
Code:
  <Civilization_BuildingClassOverrides>
	  <Row>
		 <CivilizationType>CIVILIZATION_MURLOC</CivilizationType>
		 <BuildingClassType>BUILDINGCLASS_MARKET</BuildingClassType>
		 <BuildingType>[COLOR="blue"]BUILDING_MURLOC_CLAM_TRADEPOST[/COLOR]</BuildingType>
	  </Row>
  </Civilization_BuildingClassOverrides>

Long story short you forgot the "_MURLOC_" within the <Buildings> table for the <Type> line. Fix that and the <Food> error and everything should work fine.

........................................................................................................................................

There may be other errors still waiting to be fixed that I did not see elsewhere in the mod. But, my advice is to fix these 1st and only these, and then see what you get via looking at the logs when you try to run the mod.

Do not make sweeping changes to your mod at this point. You can actually end up going backward when you do that sort of thing. I think you are actually closer than you think to having everything working properly, so work on getting what you have to work before "re-drafting" to make things different. By this I mean such things as changing to a different sort of unique unit. Get what you have to work first, and then decide if you want to try to make larger changes.

[edit]Look at the signature at the bottom of whoward69's posts. He has several links in his signature. The one called "Logging" is to a tutorial on how to enable logging so you can look at what kind of errors are being generated by the game when you try to run your mod, but the mod doesn't work. It may take you a little to get onto how to read these error logs but it's better than taking wild guesses. Plus you can always attach your logs to a post so we can look at what is being given. In most cases you want to start with the log file called DataBase.log
 
Top Bottom