Modders Guide to Civilization V

Ok, these informations are very usefull, but i'm not expert on pc, so how can i make changes to an existing mod ( my respect to the creators) ???? how can i transfer a mod from the download to skd???
 
Ok, these informations are very usefull, but i'm not expert on pc, so how can i make changes to an existing mod ( my respect to the creators) ???? how can i transfer a mod from the download to skd???
You can't do that easily. The author of the mod you want to change would have to send you, manually, or upload it, his project file(s).
Alternately, look for the mod in your mods directory, copy everything somewhere else, and create a project using all those files.
You'll duplicate lots of work that way, though.
 
I don't feel that ~2minutes of work is a lot. :p

Let's dissect my own Economy Mod as an example, here. The folder would be located in Documents/My Games/Civ5/MODS if you do (not important, just giving location as it's common to all mods! ;)).

The first thing you notice when you open it is it's split into multiple folders; Art, SQL, UI, and XML. One major limitation of ModBuddy is you cannot import entire folders, though you can import as many files as you wish at one time (Why this limitation exists I do not know). This means the first thing you should do is recreate the folder structure (Rightclick the project name in the Solution Explore, choose Add, New Folder. For subfolders (such as Icons, within the larger Art folder), rightclick the parent folder instead of the project itself. Once you have recreated the full folder structure, it should look like this:

  • Art
    • Icons
  • SQL
  • UI
    • InGame
      • CityView
      • CsebMod
      • Popups
      • WorldView
  • XML
    • Buildings
    • GameInfo
    • Terrain
    • Text
    • Units
Once you get used to adding folders, this should take no more than a few moments.

Now that the structure is set up, we need to import the files. Simply rightclick each folderin turn, choose Add, Existing Item, navigate to my mod folder, and add all files located within the corresponding folder (As in, right click Art, navigate to Economy Mod/Art, and add dds files located within; Then do the same for Art/Icons, and then SQL, and on down the line). Again, once you get used to this it shouldn't take more than a few moments.

Now for the part where we have to dissect any settings I used. Within any built mod, there is a modinfo file; This is produced by modbuddy when you build the mod, it is not actually a part of the project. It may be opened with any texteditor; I use Notepad++. Here is the modinfo file from my internal version of the Economy Mod (includes a few new things from the released version):

Code:
<?xml version="1.0" encoding="utf-8"?>
<Mod id="ec885493-035d-4a62-bf62-a42d99cd7e38" version="2">
  <Properties>
    <Name>Economy Mod</Name>
    <Stability>Beta</Stability>
    <Description>This mod affects many areas of the game in an attempt to 1. Improve the Interface, and 2. Improve Gameplay. Check [COLOR_POSITIVE_TEXT]http://tinyurl.com/economymod[ENDCOLOR] for full details!

[NEWLINE]Features:
[NEWLINE][ICON_BULLET]Building and Unit costs reduced by 20%, Technology costs increased by 50%.
[NEWLINE][ICON_BULLET]Engineer Specialists and Wealth Process buffed, Workshop tile improvement added. Trading Posts may be built on all resources.
[NEWLINE][ICON_BULLET]Bonus Resources such as Wheat now handled similiar to Strategic resources, and required for several new buildings.[NEWLINE][ICON_BULLET]Built-in clock display; Click to switch from 12 to 24 hour display.
[NEWLINE][ICON_BULLET]Included Mods:DireAussie's BuildQueue mod (with my own tweaks); ArgentumStudio's Resource Info Panel ; Csebal's Extended Plot Mouseover ; BlakeTheGreat's Great People Info Mod ; Thalassicus's Unofficial Patch ; Xienwolf's FlagPromotions ; Kael's ModLis and Hidden Unitflag option</Description>
    <Authors>Valkrionn</Authors>
    <SpecialThanks>DireAussie, ArgentumStudios, Csebal, Xienwolf, Kael, Thalassicus, Black_Imperator</SpecialThanks>
    <Homepage>http://forums.civfanatics.com/showthread.php?p=9685559#post9685559</Homepage>
    <AffectsSavedGames>1</AffectsSavedGames>
    <MinCompatibleSaveVersion>0</MinCompatibleSaveVersion>
    <SupportsSinglePlayer>1</SupportsSinglePlayer>
    <SupportsMultiplayer>1</SupportsMultiplayer>
    <SupportsMac>1</SupportsMac>
    <ReloadLandmarkSystem>1</ReloadLandmarkSystem>
    <ReloadUnitSystem>0</ReloadUnitSystem>
  </Properties>
  <Dependencies />
  <References />
  <Blocks />
  <Files>
    <File md5="D1797F3587A19EB946DADF58712029E4">Art/Icons/AgSMainResourceButton.dds</File>
    <File md5="15DA59DF82E7B05398D61BCC688A9062">Art/Icons/AgSMainResourceButtonHL.dds</File>
    <File md5="76FB22538641E8233E2D022C2C9C40B3">Art/infoaddicth.dds</File>
    <File md5="54749C2E542A9DD8C39CCBFE3A8EB832">Art/infoaddictv.dds</File>
    <File md5="249439E5614BCD3F5C5B81BE3D119D83">SQL/BuildingCosts.sql</File>
    <File md5="315786A11418CE048977E68E9F1D88F9">SQL/TechCosts.sql</File>
    <File md5="7A75E8360EA44D6F0D22EAA3B7000C5B">SQL/UnitCosts.sql</File>
    <File md5="F466AB1A4AA5A0D1FE0926F990C4DCAE">UI/InGame/CityView/CityView.lua</File>
    <File md5="A9677A025E7CAECC53D43147DB4C7796">UI/InGame/CityView/CityView.xml</File>
    <File md5="706F51BA570B7C83FF5B20B49BB346FD">UI/InGame/CsebMod/csbmod_Common_PlotHelpers.lua</File>
    <File md5="4AA95CECC81A4D73F1B898C32B439B58">UI/InGame/CsebMod/csbmod_extplotinfo_Common.lua</File>
    <File md5="1035E422B5A7EA588720D570F862E4E5">UI/InGame/CsebMod/csbmod_extplotinfo_PlotHelp.lua</File>
    <File md5="D45711CDDDCFB906C9A465A2F6A13EEE">UI/InGame/CsebMod/csbmod_extplotinfo_PlotPopup.lua</File>
    <File md5="1EBA2EBE289959C140D022A96B6B8594">UI/InGame/InfoCorner.xml</File>
    <File md5="E380A5E57C91B9E2BE5A0DBEDD5E4283">UI/InGame/InGame.xml</File>
    <File md5="322F2E7F0B8CF21FCC4EEEB7FB8A3E28">UI/InGame/InfoCorner.lua</File>
    <File md5="BF12817518FAB4DA3C018C2636A4B78F">UI/InGame/PlotHelpManager.lua</File>
    <File md5="77938A6593044D8C1F863407791B15AB">UI/InGame/Popups/InfoAddictCivRelations.lua</File>
    <File md5="AF800C2E531D2214AE6CF219F967A318">UI/InGame/Popups/InfoAddictCivRelations.xml</File>
    <File md5="80B265BA3089502666971B61B670EB2E">UI/InGame/Popups/InfoAddictCollector.lua</File>
    <File md5="775F2B8A50AA3F66260944348143D3A6">UI/InGame/Popups/InfoAddictHistoricalData.lua</File>
    <File md5="BEAF08BC6A284F60138DFD085CE9A48B">UI/InGame/Popups/InfoAddictHistoricalData.xml</File>
    <File md5="7D4C856D0F60BB709D6B6BA3777A41FA">UI/InGame/Popups/InfoAddictLib.lua</File>
    <File md5="FAC8E07B4CC0ACD8516BECCAFC56EC4B">UI/InGame/Popups/InfoAddictScreen.lua</File>
    <File md5="D8EB3B48C289B58DB3575E487D7BC687">UI/InGame/Popups/InfoAddictScreen.xml</File>
    <File md5="5B6C9514ADAE902B054FF5559F421241">UI/InGame/Popups/ModList.lua</File>
    <File md5="8134C6CECC31B0D39EDB2259F1F609D0">UI/InGame/Popups/ModList.xml</File>
    <File md5="9FDC11FCCEA2C3A9B5A678BF06DB787D">UI/InGame/Popups/NotificationLogPopup.lua</File>
    <File md5="41712F9953A71BC92CD11A5AD01C9C1B">UI/InGame/Popups/ProductionPopup.lua</File>
    <File md5="00C67042623C0DB5CAC1D302A1E582D9">UI/InGame/Popups/SocialPolicyPopup.lua</File>
    <File md5="A85E44DC42997C7D8E6376D0396D781C">UI/InGame/ResourceList.lua</File>
    <File md5="BD4877014DF5F4C33964DF7E28CA65F6">UI/InGame/ResourceList.xml</File>
    <File md5="E7B1367EB912B0B77CA06E4420EBA23A">UI/InGame/TopPanel.lua</File>
    <File md5="C29379BAED8E31E2D494371A52AA0AC0">UI/InGame/TopPanel.xml</File>
    <File md5="E1296F0D780F1D24C833174824E514C9">UI/InGame/UnitFlagManager.lua</File>
    <File md5="1759A387CD1719F627E46AE1FF659F76">UI/InGame/UnitFlagManager.xml</File>
    <File md5="14EAF0527C3AF14E1C82B365F2A04296">UI/InGame/WorldView/DiploCorner.lua</File>
    <File md5="777528AA10CB384557086B1853ED915A">UI/InGame/WorldView/DiploCorner.xml</File>
    <File md5="FF779C5159087A0AFDD88F1B01BF8192">UI/InGame/WorldView/MiniMapPanel.lua</File>
    <File md5="6BC738E89419F6D8A7CBEE02A3EB84D0">UI/InGame/WorldView/MiniMapPanel.xml</File>
    <File md5="D0F7567BF98D9F196A3B1BABAE39E896">UI/InGame/WorldView/PlotHelpText.lua</File>
    <File md5="6B2D79D4C97DF7CFEC4F280377E8EF16">UI/InGame/WorldView/UnitPanel.lua</File>
    <File md5="1110E92590D417741C206EDE71A2E52A">UI/InGame/WorldView/UnitPanel_small.xml</File>
    <File md5="AD6587ABAFA7B119DCFF1031794AFE19">XML/Buildings/BonusBuildings.xml</File>
    <File md5="BFD3029E45D44BDF7888323049F52C45">XML/GameInfo/ImprovedEngineers.xml</File>
    <File md5="B29085F69298A04FF540C324940A37CC">XML/GameInfo/ImprovedWealth.xml</File>
    <File md5="388327DE058B10105DC2644BBFBD9CBA">XML/Terrain/BetterTradingPosts.xml</File>
    <File md5="FC394F0D8F6B8EF7363087F4D10E844E">XML/Terrain/UpgradedBonusResources.xml</File>
    <File md5="1C3711E27B4CA8F344CA8711367A9618">XML/Terrain/TradingCampTweak.xml</File>
    <File md5="C639B2222E92736E993ECA06F3C440ED">XML/Terrain/Workshop.xml</File>
    <File md5="95E0E9679B9C9B5155EBDE4BF72C7871">XML/Text/AGSText.xml</File>
    <File md5="B6CC3AB39E157922C35CF8BCB7E4F933">XML/Text/text.xml</File>
    <File md5="E62C7BB7C6981A3DAB28F937CBE37798">XML/Units/Promotions.xml</File>
    <File md5="5BB894A1D69DF3DF92CFA19339CEC048">XML/Units/Units.xml</File>
  </Files>
  <Actions>
    <OnModActivated>
      <UpdateDatabase>XML/Terrain/Workshop.xml</UpdateDatabase>
      <UpdateDatabase>XML/GameInfo/ImprovedEngineers.xml</UpdateDatabase>
      <UpdateDatabase>XML/GameInfo/ImprovedWealth.xml</UpdateDatabase>
      <UpdateDatabase>SQL/BuildingCosts.sql</UpdateDatabase>
      <UpdateDatabase>SQL/UnitCosts.sql</UpdateDatabase>
      <UpdateDatabase>SQL/TechCosts.sql</UpdateDatabase>
      <UpdateDatabase>XML/Terrain/TradingCampTweak.xml</UpdateDatabase>
      <UpdateDatabase>XML/Terrain/UpgradedBonusResources.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/text.xml</UpdateDatabase>
      <UpdateDatabase>XML/Buildings/BonusBuildings.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/AGSText.xml</UpdateDatabase>
      <UpdateDatabase>XML/Units/Promotions.xml</UpdateDatabase>
      <UpdateDatabase>XML/Units/Units.xml</UpdateDatabase>
      <UpdateDatabase>XML/Terrain/BetterTradingPosts.xml</UpdateDatabase>
    </OnModActivated>
  </Actions>
  <EntryPoints>
    <EntryPoint type="InGameUIAddin" file="InfoAddictCollector.lua">
      <Name>Info Addict Collector</Name>
      <Description>Collects stats for Info Addict</Description>
    </EntryPoint>
  </EntryPoints>
</Mod>

All of this data is generated by settings made by the author. To see where to input this data, right-click the mod's name in the Solution Explorer, and select properties.
To go down the list of tags (much of this info can be found in modbuddy, via mouseover text):

  • Mod id - I doubt you can copy this, nor would you want to if you wanted to release it; Mods cannot share ids. However, at the end of this line you see 'version'; This can be copied if you wish.
  • Properties - These tags are in the first page of the project options, Mod Info, and contain many of the standard settings you'll use.
    • Name - Obvious.
    • Stability - How stable the release is.
    • Description - What is displayed when you select the mod in the modbrowser. ay be formatted just like other gametext, and as you can see, I made use of some of that formatting. You DO, however, have a limit to the number of characters allowed, and the formatting is included in this; Initially, the names of included mods were highlighted, had to trim that due to the character limit.
    • Authors - Obvious.
    • SpecialThanks - Anyone you feel should be credited.
    • Homepage - Not currently working, sadly, but it is being worked on.
    • AffectsSavedGames - If your mod does ANYTHING other than affect the UI, this should be set to 1.
    • MinCompatibleSaveVersion - What version of your mod will saves maintain compatibility with?
    • SupportsSinglePlayer - Obvious
    • SupportsMultiplayer - Obvious, though no mod can be used in multi yet.
    • SupportsMac - Again obvious, though again non-functional as yet. Capability is there in case it is needed in the future.
    • ReloadLandmarkSystem - If you affect improvements/terrains/feature art, this should be set to 1. I did just in case, when adding the workshop. :lol:
    • ReloadUnitSystem - Same, for units.
  • Dependencies/References/Blocks - These are in the third page, References, of the mod properties. They do not currently work, but will allow you to list mods which are required for yours to run, which will be activated, but not required by your mod, or which will be disabled by your mod.
  • Files - Don't worry about this section at all, it's done automatically. It just lists all the files that are part of your mod.
  • Actions - These are set in the fourth page of the Settings, Actions. These are very important, as without these virtually none of your changes will take effect, but are almost always the exact same thing and are quite easy to do. On the page, you see a table with three columns: Set, Type, and File Name. In my modinfo, you see that within the <Actions> tag is an <OnModActivated> tag; OnModActivated goes within the Set column, for all of the files listed. Next you have an <UpdateDatabase> column; UpdateDatabase goes in the Type column for all files listed. Finally, you have a file path string (Such as 'XML/Terrain/Workshop.xml'); This goes in the File Name column, and each line will have it's own file name. This setting tells the game to load your changes to the database; It must be done for all (non-UI) xml files, and all sql files. It will always be the same, so you literally just need to look at the file string and copy/paste it into your settings.
    • TLDR: In my settings you have 14 <UpdateDatabase> lines. For each of those, the chart should be filled in with OnModActivated, UpdateDatabase, and whatever is between the <UpdateDatabase> tags.
  • EntryPoints - These are set in the 5th page of the mod settings, Content. Again, you have a chart with multiple columns, this time 4; Type, Name, Description, Filename. This time, however, the text in the modinfo file explicitly tells you what they all are; The type for my file is InGameUIAddin, and you can see in the text it is 'type="InGameUIAddin"'. It should be quite obvious what to put in the various columns after just a quick glance.

And that's it. With that file and the folder structure of the mod, you can duplicate any settings the author may have made. Once you get used to it, it is the work of 5-10 minutes, if that. :goodjob:
 
I don't feel that ~2minutes of work is a lot. (...) Once you get used to it, it is the work of 5-10 minutes, if that.
We disagree on this topic. I already said that I thought it bad that the project was not delivered as part of the mod. It would definitely not increase the size of any mod by any significant amount, and would save time. To me, more than 1 second for this operation is too much work. ModBuddy should be able to open a mod, period.
 
I realize that, and we've had that discussion already.

However, your post was not exceedingly helpful to those who don't know what they are doing; Mine at least might be, which was it's whole point. I'm not here to argue hypotheticals and should-have-beens, I simply illustrated how it functions now. ;)
 
Thank u for your attention!! I' ll try to follow your suggestions. But (my opinion) the game could have a more easy wb for the players (like civ 3 % 4) and the sdk for the experts.
 
At least, with a normal wb (civ3 & 4) even mooders, could create very easy and fast the territory, resources, units e.t.c. and AFTER, could transfer this product almost ready to play to the sdk for any other change they like or create their own mod. Thanks again to all of you.....
 
However, your post was not exceedingly helpful to those who don't know what they are doing; Mine at least might be, which was it's whole point.
I said he should aks the modder for the project files. That's probably the easiest way of getting the stuff to work imo.
 
Back on topic,I 'd like to know how to modify the icon appearing on the "new turn" panel (The one which show the year,the name of the leader and the icon of the player's civ)
if anyone knows
 
I said he should aks the modder for the project files. That's probably the easiest way of getting the stuff to work imo.

Easiest, but takes the longest. Knowing how to set it up yourself from the modfiles helps you see how mods are packaged, and teaches you different settings within the modinfo file; It's actually pretty useful, and I started modding before the guide was out by looking at how Kael and Sseckman (Firaxian in charge of modding abilities in general).

So the easiest way is not always the best, IMO. Can learn by doing it yourself. ;)

Back on topic,I 'd like to know how to modify the icon appearing on the "new turn" panel (The one which show the year,the name of the leader and the icon of the player's civ)
if anyone knows

Hmm.... Off the top of my head I do not know, but there is a mod in the browser that already manipulates it somewhat (No banner on turn start; Probably called something like No Banner, might have to search the UI section).
 
If I want to add a picture, lets say as the <MapImage>, and i make a new picture using gimp, where do I upload that picture to so that I can insert it into <MapImage>...</MapImage>. In Kael's example, at one point he used a pic of Boudica from Warlords, but how did he get the Boudica picture into the civ V directory?

Im guessing that this is rather obvious and Im just overthinking it (as no one deems it important to put into their guides) but any help would be appreciated.

Thanks
 
EntryPoints - These are set in the 5th page of the mod settings, Content. Again, you have a chart with multiple columns, this time 4; Type, Name, Description, Filename. This time, however, the text in the modinfo file explicitly tells you what they all are; The type for my file is InGameUIAddin, and you can see in the text it is 'type="InGameUIAddin"'. It should be quite obvious what to put in the various columns after just a quick glance.

One of the big questions so far is what can be put into that type column? It's not quite obvious at all what to put there, if it's not a UI file.
 
If I want to add a picture, lets say as the <MapImage>, and i make a new picture using gimp, where do I upload that picture to so that I can insert it into <MapImage>...</MapImage>. In Kael's example, at one point he used a pic of Boudica from Warlords, but how did he get the Boudica picture into the civ V directory?

Im guessing that this is rather obvious and Im just overthinking it (as no one deems it important to put into their guides) but any help would be appreciated.

Thanks

Do you mean, how do you get the file included with the mod? Simple, just add it to the project as you would any xml/lua/sql file. Modbuddy can't open it (trying will open it in your default image editor), but including it in the project will cause it to be packaged up right along with all the other files.

One of the big questions so far is what can be put into that type column? It's not quite obvious at all what to put there, if it's not a UI file.

According to Kael's guide:

  • CityViewUIAddin- Adds the UI to the City View root
  • Custom- A custom UI which is added as an entry to the "Custom Game" menu.
  • DiplomacyUIAddin- Adds the UI to the Leaderhead root (base diplomacy screen).
  • InGameUIAddin- Adds to the UI of the main game interface.
  • Map- A world builder map (this doesn't have to be defined for this map to be usable, only for it to be published and for any UI's to know about it).
  • MapScript- A Lua map script (this doesn't have to be defined for this map to be usable, only for it to be published and for any UI's to know about it).
There may or may not be more, I have no idea atm.
 
I'm having serious problems getting my mod to load at all (no errors in the log); like some previous posters here. After checking my files multiple times, I tried making a new mod from Thalassicus' template, and copied one of the changes into those files. I built the solution and started, and voila it worked.

I then backed up my files and deleted the first solution, recreated it from the same template and did the exact same changes, and it no longer works. Something seems to be very weird with how the game loads mods.

Does anyone have any idea what the problem can be?

EDIT: I Finally found it.. Everything in the XML file is case-sensitive. Not just the names of tables and variables, but also <Update> <Set> etc.
 
Do you mean, how do you get the file included with the mod? Simple, just add it to the project as you would any xml/lua/sql file. Modbuddy can't open it (trying will open it in your default image editor), but including it in the project will cause it to be packaged up right along with all the other files.



Im confused, where do I add it? Like, (if the map is called MapIllian512.dds in My Pictures) where do I move it too? Do I just put <MapImage>MapIllian512.dds</MapImage> in the appropriate place in the Civilization XML?
 
I have had trouble getting my mods to load. It would seem that any changes I make after the first build are not recognized in Game until I rename the Mod. WTH? It's bad enough that I have to copy the mod over to the game directory manually.

I saw someone else had this problem? Is there a work around for this? At this point I am super frustrated and I am about to give up on Modding.

I haven't seen anyone speak on this point... can you make changes and recompile, copy your new Mod with old name, and get changes to load? Is it just me, or is this universal problem?

Can anyone offer explanation why this even happens?

Also, I agree that Project file should be distributed with the mod. That's epic weaksauce that it isn't.
 
I haven't seen anyone speak on this point... can you make changes and recompile, copy your new Mod with old name, and get changes to load? Is it just me, or is this universal problem?
When I recompile, there is no need to copy the new version anywhere. It automatically gets put into the Mod folder when compiled.
 
I have had trouble getting my mods to load. It would seem that any changes I make after the first build are not recognized in Game until I rename the Mod. WTH? It's bad enough that I have to copy the mod over to the game directory manually.

I saw someone else had this problem? Is there a work around for this? At this point I am super frustrated and I am about to give up on Modding.

I haven't seen anyone speak on this point... can you make changes and recompile, copy your new Mod with old name, and get changes to load? Is it just me, or is this universal problem?

Can anyone offer explanation why this even happens?

Also, I agree that Project file should be distributed with the mod. That's epic weaksauce that it isn't.

When I compile, the newly made mod is automatically placed within my mods folder, overwriting any previous version (of that same version number, at least).

So something with your install is causing problems there.
 
I wonder if Kael is too busy now to give us an updated version of this awesome guide? Or if it's even worth updating until the game and the SDK is out a little while longer and the patches aren't coming so fast and furious?
 
Back
Top Bottom