Quick Modding Questions Thread

Is there a way to switch the team you are using mid-game? For example, if I create a map and then save the starting point as a 'Master' copy ... and then load that saved game, can I then switch to play with another civ mid game? If so, how?
 
You need to activate cheat mode by editing the .ini file and changing the 0 next to "cheat mode" or whatever to chipotle, then you can switch players during a game by pressing some hotkey combination. I think it's Ctrl+Z, but I'm not certain.
 
Ah, I was afraid of that. Is someone still willing to help with it?
It's best if you start with compiling the existing DLL. The ability to do that is a necessary requirement for further changes.

You need to activate cheat mode by editing the .ini file and changing the 0 next to "cheat mode" or whatever to chipotle, then you can switch players during a game by pressing some hotkey combination. I think it's Ctrl+Z, but I'm not certain.
It's Alt+Z and Alt+Shift+Z for cycling forward and backward respectively.
 
Alright - are there existing guides on how to do that? All my modding I do in C++ and am new to trying to mod Civ, so I'm a novice here.
 
You're in luck, the source code is in C++ as well. You can find a couple of different guides in the tutorials subforum. A while ago I created the most recent one, making sure to have working links and as many steps as possible taken care of for you.
 
I am having an issue and would really appreciate some help from the community:

I have a mod that I have created that runs perfectly. I first increased the DLL to 64 civs, and that runs perfectly. Then I created a 99-civ DLL and that runs perfectly. The game plays 99 civs fine. I played 300 turns just the other day with 99 civs ... no issues. I can enter WB just fine, too. And I can edit a huge map and create a scenario just fine ... no issues. I can then close world builder and continue playing, no issues.

But, now I am having an issue and I cannot figure out how to address it:

So, I have many 64-civ World Builders that Ive created as scenarios. When I go to the start screen and start a new game / custom scenario, I can load any of these fine ... no issues. But ... when I attempt to do the exact same thing with 99 civs (remember, the game plays with 99 civs just fine), the scenario screen crashes and references a runtime error from the .exe when trying to select a civ [I have attached a screenshot]. So, just because I'm increasing the worldbuilder save / scenario start screen from 64 [which works perfectly], to 99 the game is crashing? What gives?

If someone needs more clarification, please let me know.
 

Attachments

  • RuntimeError.jpg
    RuntimeError.jpg
    69.6 KB · Views: 158
Last edited:
I am working with Civ IV: BTS, and I would like to put together a mod that can change AI personalities mid-game. I'm on a mac, and as a result I would greatly prefer to accomplish this using Python exclusively. For my purposes, the name and graphical elements of the leader don't have to change (in fact, it'd be better if they didn't), but the weights that affect the leader's personality should.

From going over the documentation, it seems like setPersonalityType does what I need and is exposed to Python, but I can't figure out the proper way to use it. Does anyone have experience trying to change personality types in Civ IV, and is it possible to do this with a Python-only mod?
 
There is no strict difference between a leaderhead and its personality. I think the function to change personality only exists for the random LH personality option, but it still accepts an actually existing LH as argument. My assumption is that it will change the personality to that of the specified leaderhead while leaving the graphics unchanged. In practice that means if you want to have multiple personalities for the same leader, you still need to define that leader multiple times. So for your use case there is not much of a difference between using setPersonalityType and setLeader.
 
Oh, sorry, it only exists in my custom DLL. In any case setPersonalityType will do the job for you :)
 
You are using a debug DLL and the indicated assertions are violated. The error messages include source file and line where you can find the assertion. If that doesn't help, try attaching the Visual Studio debugger before encountering the assertion to get more information.
 
So, I have no created several world scenario maps; however, I'm running into an issue that I can't figure out how to solve. Since I have created scenarios based upon historical country borders, when a great artist gets discovered and 'culture bombs' the borders get thrown all out of whack. So, I have gone into the assets > xml > units > unitinfos folder and attempted to make several changes to how the artists world including making the culture to 0 and even -1, and also change their base discovery by a multiple of 10 ... none of which affect game play (as in they are still created with regularity and still culture bomb at the normal rate of culture). So, I have two questions; how can I effectively turn off culture bombs ... or, if that can't be done; how can I simply disable great artists in general?
 
There's some mods that have fixed borders, Earth 2010 for example, maybe you could look into that?
 
So, I have no created several world scenario maps; however, I'm running into an issue that I can't figure out how to solve. Since I have created scenarios based upon historical country borders, when a great artist gets discovered and 'culture bombs' the borders get thrown all out of whack. So, I have gone into the assets > xml > units > unitinfos folder and attempted to make several changes to how the artists world including making the culture to 0 and even -1, and also change their base discovery by a multiple of 10 ... none of which affect game play (as in they are still created with regularity and still culture bomb at the normal rate of culture). So, I have two questions; how can I effectively turn off culture bombs ... or, if that can't be done; how can I simply disable great artists in general?
Changing the culture value to 0 should do it, are you sure your XML files are used at all?
 
What do you mean "does nothing"? You can still do great works and they give 800 culture per era? Since your mod is based on K-Mod I'm not sure how the rules were changed, maybe something gets in the way of this XML change.
 
In vanilla BTS, great artists produce great works at 1,000 per era. I changed this to 800. The change from 1,000 to 800 works as intended. But when I further reduce that to, say 10, or 1, the change does not occur. That's what I mean when I say nothing occurs ... the change to reduce from 800 does not occur. If this cannot be changed for whatever reason, is there a way to disable the great artist as a unit?
 
Are you using the World of Civilization (WoC) modular system? If so you can't change a value to 0 or -1 in a module only in the main file. You can change it to any other value in a module and it will work, just not 0 or -1. It is to do with how the traditional master/update systems work. WoC is basically a master/update system.
 
Top Bottom