• Our friends from AlphaCentauri2.info are in need of technical assistance. If you have experience with the LAMP stack and some hours to spare, please help them out and post here.

Quick Modding Questions Thread

I was trying to compile but it failed. I followed asaf's guide but it didn't work and it "Error running fastdep". It also said, "not all dependents available".
 
I was trying to compile but it failed. I followed asaf's guide but it didn't work and it "Error running fastdep". It also said, "not all dependents available".

Asaf is excellent programmer and his tutorial is excellent.

I was wrote little instruction for compiling, you can see and read HERE. It's always work for me.
 
Hello. It's first time I make a question in this thread :)

Where can I find the codes that indicates who is the AP leader, especially when the AP is already on the map in the beginning of the game?
 
Does terrain/feature/city defense/attack count in Air Combat? I ask in order to decide whether Air Units should get possibility of +25 Coast Attack Promotion (no use if not) in my mod. I tried to look in Air Combat explained threads, but the only mention that I saw was 'not sure'.

So: If I try to perform a mission with a Air unit, and it is intercepted by a city defender with City Garrison promotions, does the promotion count in air combat? Would it matter if the intercepter was an Air Unit too? If the Air Unit had City Attack value, would it count? Does it matter if the mission was not for the city tile, but still got intercepted by a unit on one?

I'm aware this is not strictly speaking a modding question, but as it is tangentially related to modding (as no Air Unit normally has City/Terrain/Feature Attack), and requires quite high awareness of how Air Combat functions, I saw this to be the best place to ask.
 
So I guess here is the right place to ask...
Just bought my copiy of Civ 4 a few years late ;) I would like to play the Star Trek Mod but it wont install. When I Open the exe it will not find the proper filedirectory. Not even wehen I input it manualy. From what I have gathered out of the forums it has to do with the fact, that I had to install it on steam? Have the DVD but it wont let me install the game without steam. Is there no way to install the mod? Or am I just too stupid?
I even tried the Star Trek Expanded one, wich is a 7 z file and I copied/pasted the files in the Mod folder. I could even select the mod in the game but after pressing load mod, the game reboots and looks just like the original unmodded game.
Can someone help me? Thanks
 
Star Trek is not developped anymore and it is difficult to find somebody in the sub-forum to answer your questions. There is also a "Civ4 - Technical Support" section to answer your questions about Steam, but not everybody (including me) is familiar with Steam.

This said, the very first question to ask is about the version of your BtS. In the Advanced Menu, the version should clearly state BtS 3.19.

When it's clear that the game is correctly patched, try to play an official Mod first (Afterworld, Charlemagne, etc).

Check the folder structure of these mods and see if the "Star Trek" folder looks the same (the folder should directly include an "Assets" folder, etc).

Try the basic Star Trek before any "expanded" version.
 
Hi thanks.
Since the normal StMod is an exe I went on trying it with the expanded an it works now. Just the ingame audio and sone visual textures are missing. The readme is not very helpfull too me. But Ill kerp on trying.
 
I plan to make all civilizations (today nations) and separatist states for new version of my mod, RECONSTRUCTION. For almost nations i don't know which are their important or important historical leader, and which is their personality, and if i search for that, that will take much time, instead, i have one idea.
example:
Kenyan Leader 1, Kenyan Leader 2, Kenyan Leader 3, with some random civic and for every county in the world will be this system, this is example for Kenya.
Or for all nations on one continent:
African Leader 1 - 40, with random civic. And this leaders will be for every African country.
Asian Leader 1 - 40, with random civic. And this leaders will be for every Asian country.

What you think about this ?
 
Zlatko: Perhaps you could enable the "Unrestricted Leaders" game option, and define just one leader for each combination of traits, named after the traits, e.g. "Aggressive Organized", just so that the player can select the traits that he/she likes in the Custom Game screen. As for the AI personality, you could have the game randomly assign one of the existing personalities; basically what the "Random Personalities" option already does. Then you wouldn't have to come up with random values for new personalities.
 
We probably misunderstand each other. Your problem, as I understand it: You have added lots of civilizations, but you don't want to invent leaders for all of them. Your (second) idea: Define a leader "African Leader 1" in LeaderHeadInfos.xml with <FavoriteCivic>, for example, Vassalage, and another with Free Speech etc. But what about all the other AI attributes in that file? Seems like a lot of work to come up with values for all of them, and if you choose arbitrary values, the resulting leaders may not be interesting to play against. I think it would be better to reuse the existing personalities if possible.
 
Can someone let me know where the files are located for the background image that appears after you start a game. The screen that appears while you wait for the game to load after you have started a game. I want to change it but can't find the location.

And is it possible to change the beyond the swords loading screen when you start the game for your mod and if so where are the files located.

If someone just lets me know the name of the type in the xml /art/ folder I will be able to figure out the rest
 
Hi Lib, CIV4GameTextInfos.xml (vanilla) for example?

What I did a long time ago is to create a separate folder (somewhere in my modding space) compiling all the texts from Vanilla, Warlords and BtS. Then you can do a global 'Windows' search for a specific text. I find it useful. All the Warlords texts have it in their file name and the same goes for BtS, so it's easy to distinguish them. ;)

PS/Edit: or simply they don't exist. It doesn't seem that there is any "beaker" in all the text files.
 
Ah putting them all in a single folder to search is a good idea!

I think I found the 'beaker' [ICON_RESEARCH]

I was just wondering if anyone had ever made a 'Map' for all of these text codes. '%d1' these sorts of ones as well.

I don't even know what the proper term for them are. To do any kind of search
 
You might want to look inside CvDllTranslator.cpp. That file starts with translating all strings like [ICON_RESEARCH] into the character IDs. This part doubles as a list to look up what to write in XML.
Spoiler :
PHP:
	aIconMap[L"[ICON_BULLET]"] = std::wstring(1, (wchar)gDLL->getSymbolID(BULLET_CHAR));
	aIconMap[L"[ICON_HAPPY]"] = std::wstring(1, (wchar)gDLL->getSymbolID(HAPPY_CHAR));
	aIconMap[L"[ICON_UNHAPPY]"] = std::wstring(1, (wchar)gDLL->getSymbolID(UNHAPPY_CHAR));
	aIconMap[L"[ICON_HEALTHY]"] = std::wstring(1, (wchar)gDLL->getSymbolID(HEALTHY_CHAR));
	aIconMap[L"[ICON_UNHEALTHY]"] = std::wstring(1, (wchar)gDLL->getSymbolID(UNHEALTHY_CHAR));
	aIconMap[L"[ICON_STRENGTH]"] = std::wstring(1, (wchar)gDLL->getSymbolID(STRENGTH_CHAR));
	aIconMap[L"[ICON_MOVES]"] = std::wstring(1, (wchar)gDLL->getSymbolID(MOVES_CHAR));
	aIconMap[L"[ICON_RELIGION]"] = std::wstring(1, (wchar)gDLL->getSymbolID(RELIGION_CHAR));
	aIconMap[L"[ICON_STAR]"] = std::wstring(1, (wchar)gDLL->getSymbolID(STAR_CHAR));
	aIconMap[L"[ICON_SILVER_STAR]"] = std::wstring(1, (wchar)gDLL->getSymbolID(SILVER_STAR_CHAR));
	aIconMap[L"[ICON_TRADE]"] = std::wstring(1, (wchar)gDLL->getSymbolID(TRADE_CHAR));
	aIconMap[L"[ICON_DEFENSE]"] = std::wstring(1, (wchar)gDLL->getSymbolID(DEFENSE_CHAR));
	aIconMap[L"[ICON_GREATPEOPLE]"] = std::wstring(1, (wchar)gDLL->getSymbolID(GREAT_PEOPLE_CHAR));
	aIconMap[L"[ICON_BAD_GOLD]"] = std::wstring(1, (wchar)gDLL->getSymbolID(BAD_GOLD_CHAR));
	aIconMap[L"[ICON_BAD_FOOD]"] = std::wstring(1, (wchar)gDLL->getSymbolID(BAD_FOOD_CHAR));
	aIconMap[L"[ICON_EATENFOOD]"] = std::wstring(1, (wchar)gDLL->getSymbolID(EATEN_FOOD_CHAR));
	aIconMap[L"[ICON_GOLDENAGE]"] = std::wstring(1, (wchar)gDLL->getSymbolID(GOLDEN_AGE_CHAR));
	aIconMap[L"[ICON_ANGRYPOP]"] = std::wstring(1, (wchar)gDLL->getSymbolID(ANGRY_POP_CHAR));
	aIconMap[L"[ICON_OPENBORDERS]"] = std::wstring(1, (wchar)gDLL->getSymbolID(OPEN_BORDERS_CHAR));
	aIconMap[L"[ICON_DEFENSIVEPACT]"] = std::wstring(1, (wchar)gDLL->getSymbolID(DEFENSIVE_PACT_CHAR));
	aIconMap[L"[ICON_MAP]"] = std::wstring(1, (wchar)gDLL->getSymbolID(MAP_CHAR));
	aIconMap[L"[ICON_OCCUPATION]"] = std::wstring(1, (wchar)gDLL->getSymbolID(OCCUPATION_CHAR));
	aIconMap[L"[ICON_POWER]"] = std::wstring(1, (wchar)gDLL->getSymbolID(POWER_CHAR));
	aIconMap[L"[ICON_CITIZEN]"] = std::wstring(1, (wchar)gDLL->getSymbolID(CITIZEN_CHAR));
	aIconMap[L"[ICON_GREAT_GENERAL]"] = std::wstring(1, (wchar)gDLL->getSymbolID(GREAT_GENERAL_CHAR));
	aIconMap[L"[ICON_AIRPORT]"] = std::wstring(1, (wchar)gDLL->getSymbolID(AIRPORT_CHAR));

	aIconMap[L"[ICON_GOLD]"] = std::wstring(1, (wchar)GC.getCommerceInfo(COMMERCE_GOLD).getChar());
	aIconMap[L"[ICON_RESEARCH]"] = std::wstring(1, (wchar)GC.getCommerceInfo(COMMERCE_RESEARCH).getChar());
	aIconMap[L"[ICON_CULTURE]"] = std::wstring(1, (wchar)GC.getCommerceInfo(COMMERCE_CULTURE).getChar());
	aIconMap[L"[ICON_ESPIONAGE]"] = std::wstring(1, (wchar)GC.getCommerceInfo(COMMERCE_ESPIONAGE).getChar());

	aIconMap[L"[ICON_FOOD]"] = std::wstring(1, (wchar)GC.getYieldInfo(YIELD_FOOD).getChar());
	aIconMap[L"[ICON_PRODUCTION]"] = std::wstring(1, (wchar)GC.getYieldInfo(YIELD_PRODUCTION).getChar());
	aIconMap[L"[ICON_COMMERCE]"] = std::wstring(1, (wchar)GC.getYieldInfo(YIELD_COMMERCE).getChar());

	//create color map
	aColorMap[L"[COLOR_REVERT]"] = CvWString(L"</color>");
 
I did not understand correctly your request then, because I know that this info is also in the CvUtil.py file in Vanilla.
 
I want to change all announcements (the messages at the top of the screen at the start of the turn) to a civilization doing something, not the leader. Like this: "Russia has declared war on Ukraine!" and "Mongolia is the first to discover Liberalism!", "North Korea adopts Free Speech". It would help a lot when playing custom scenarios, where the leaders names are different.

I have found the correct XML file: Assets/XML/Text/CIV4GameTextInfos.xml , but I don't know what is the placeholder for civilization. Here's an example:

Code:
	<TEXT>
		<Tag>TXT_KEY_MISC_SOMEONE_DECLARED_WAR</Tag>
		<English>%s1_PlyrName has declared war on %s2_PlyrName!</English>
		<French>%s1_PlyrName a d&#233;clar&#233; la guerre &#224; %s2_PlyrName !</French>
		<German>%s1_PlyrName hat %s2_PlyrName den Krieg erkl&#228;rt!</German>
		<Italian>%s1_PlyrName ha dichiarato guerra a %s2_PlyrName!</Italian>
		<Spanish>%s1_PlyrName le ha declarado la guerra a %s2_PlyrName.</Spanish>
	</TEXT>


I would need to replace "%s1_PlyrName" and "%s2_PlyrName" with something. I found also this:
Code:
	<TEXT>
		<Tag>TXT_KEY_MISC_CITY_HAS_BEEN_RAZED_BY</Tag>
		<English>%s1_CityName has been razed by the %s2_CivName!!!</English>
		<French>La ville de %s1_CityName a &#233;t&#233; ras&#233;e par les %s2_CivName !</French>
		<German>Das %s2:2_CivName hat die Stadt %s1_CityName vernichtet!!!</German>
		<Italian>%s1_CityName &#232; stata razziata dall'%s2_CivName!</Italian>
		<Spanish>%s1_CityName ha sido arrasada por el %s2_CivName.</Spanish>
	</TEXT>

But I think %s2_CivName refer to the civilization's long name (Arabian Empire). What I would want, is the short name (Arabia).

And what's the difference with %s1_... and %s2_...?
 
Back
Top Bottom