PDA

View Full Version : How to mod your traits/VnV



fenir
10-21-2004, 06:33
Not sure if anyone has done this yet, doesn’t look like too many howtos are happening, so my contribution mainly to help new modders, and those doing other parts.

The file you need is "export_descr_character_traits" this is located in your data folder, near the bottom.
F:\Program Files\Activision\Rome - Total War\Data

F:\ being my test drive install, please look to your own install drive to locate the game.

Now the first trait we see at the top of the notepad is that of "Good Commander". So we will decipher this first.

Insert
================================================== ======
Trait GoodCommander
Characters family
AntiTraits BadCommander

Level Confident_Commander
Description Confident_Commander_desc
EffectsDescription Confident_Commander_effects_desc
GainMessage Confident_Commander_gain_desc
Threshold 1

Effect Command 1

================================================== ======


Trait GoodCommander
This is the trait title name, it is the title to which the AI will re-refer when doing a look up. It can be thought of as the group name for a list of traits, 5 in this case, when each level has been obtained.
As your character obtains each level, the AI will allocate the level of trait applied to the character in question.

Characters family
This refers to the group that will be allocated these traits. In this case it can only be applied to the named members, ei: your family members.
It cannot be applied to spies, assassins, Diplomats, or Captains.
So in essence this tells us that the application group is Family members.

AntiTrait
Now this here is only what we suppose happens, as myself, and Lord Gnome have come up with several thoughts on this.
My testing has shown it can be allocated after one good battle, or a build up of battles, that Lord Gnome and I suspect form a points system. So there must be a system of hard-coded points value, which correspond to the allocation of each trait or anti-trait.
Now if winning a battle gains you a point’s value to obtain the trait, losing the battle can gain points in the opposite direction, which will gain in the anti-trait direction.

So lets suppose you win a battle, you gain a “Confident Commander” +1 Command Trait. Then winning battles after this gains you points towards the Trait “Good Command” +2 Command; which is second on the “GoodCommander” levels;
However, if you lose battles after this, points are taken to gain the “BadCommander” Trait, (anti-Trait), which will result in a –1 Command.
If you lose a battle without a “Confident Commander” Trait +1 Command, then you will build on points to a “BadCommander” –1 Command Trait.

Level Confident_Commander
This relates to the first level of the “GoodCommander” Trait family. By winning a battle, you gain points towards this trait for your family member.
If you however gain more points by winning more battles, you will gain the second level and become a “Good Commander” +2 Command at level 2. Then More points after this, you will gain level 3 “SuperiorCommander” +3 Command.

Insert, Lord Gnomes thoughts.
But to be explicit if a trait has an antitrait(s) then gaining points in the antitrait(s) deducts points from the trait value (unless the trait has gone beyond the 'no going back' level). So if you have some points in the romanhero trait and you get a point towards the coward trait (the antitrait for romanhero) then you lose a point of romanhero rather than go straight to being a coward. If you had no points in romanhero then you would gain a point in the coward trait.

I have included this below for you to look over.

Level Good_Commander
Description Good_Commander_desc
EffectsDescription Good_Commander_effects_desc
GainMessage Good_Commander_gain_desc
Threshold 2

Effect Command 2

Level Superior_Commander
Description Superior_Commander_desc
EffectsDescription Superior_Commander_effects_desc
GainMessage Superior_Commander_gain_desc
Threshold 4

Effect Command 3


Description Confident_Commander_desc
Now the Description, is that of Confident Commander. The Insert is that of “Confident_Commander_desc” which you will find mirrored on the lists lookup in the file "export_descr_VnVs_enums" which is located just down from the "export_descr_character_traits" file we are now looking at.

This is the description look up for the AI. I do suspect this is also the name you see on your character listing of family members in game.
The AI then looks for the description for this trait in "export_VnVs" file located in F:\Program Files\Activision\Rome - Total War\Data\text
This description is actually what you will see in game.


Example:

Insert
=============================================================

{Confident_Commander} Confident Commander

{Confident_Commander_desc}
This man is definitely developing his skills as a general.

{Confident_Commander_gain_desc}
This man has gained a Command star thanks to his battle skills.

=============================================================

The first line is that of the description, which must correspond to the lookup in export_descr_VnVs_enums, the second line.
This is the description you see in game when you mouse over the traits on your family members character listings.
And the third line we will now deal with.



{Confident_Commander_gain_desc}
This man has gained a Command star thanks to his battle skills.


This is the message you receive at the end of each turn, (drops down the left hand side of the screen), when the family member has obtained the level of a confident commander +1 command.
This is what is actually shown in the message box.




You can play with both of these quite a bit, Example: "This man is definitely developing his skills as a general" is what the AI is supposed to say.

But

Add, "Like he needed too." to the end of the message.
Or
Change to, "Wins one battle gets a star! Don’t figure!"

But more on that another time. You can play with these as you see fit. Just remember to back up all files before changing them.




EffectsDescription Confident_Commander_effects_desc
Now this is what the AI will look at to determine the description of your advancement. This can be found in the “export_VnVs” file as well.
This lets the AI inform you of the effect, In this case, +1 command.



Threshold

Now this relates to say the number of points you need to gain to achieve this level. It is a threshold level needed to gain the trait.
The threshold level for this is “1” so lets say you need 1 point to obtain this level, maybe only 1 battle.
Where as you need “2” points to obtain the 2nd level. Then 4 points to obtain the 3rd level.
These can be changed, to allow a harder or easier/quicker advancement.

Insert from Lord Gnome.
So VictorRomanVirtue, (inserted below), trait (applies to family members - excludes all cultures but roman) has 3 levels. The threshold for each level is 5, 10, 15, respectively. This means you can get points in this trait but until you hit the threshold for the next level you won't get the appropriate trait-level.
One trigger for VictorRomanVirtue is postbattle, and you always get a point if you win, but it will take 5 wins to advance each level as you only get 1 point awarded each time (and the gap between thresholds is 5 each time);


Effect
Here we have the effect of your advancement. +1 command. This is the effect of gaining the points to the level 1 or Confident commander.
This tells the Ai how to treat your advancement, by giving you a +1 command.



Now, there are two other inserts that are not included in the above description so I will attempt to bring them now to complete the overall picture.

ExcludeCultures
This tells the AI what cultures cannot obtain this trait. Quite simply, the factions/Cultures listed here cannot obtain, or gain points to the trait listed.



Note below.

Trait VictorRomanVirtue
Characters family
ExcludeCultures barbarian, greek, eastern, egyptian, carthaginian

Level Vanquisher
Description Vanquisher_desc
EffectsDescription Vanquisher_effects_desc
Threshold 5

Effect SenateStanding -5
Effect PopularStanding 10

Level Great_Vanquisher
Description Great_Vanquisher_desc
EffectsDescription Great_Vanquisher_effects_desc
Threshold 10

Effect SenateStanding -10
Effect PopularStanding 20

Level Conqueror
Description Conqueror_desc
EffectsDescription Conqueror_effects_desc
Epithet Conqueror_epithet_desc
Threshold 15

Effect SenateStanding -15
Effect PopularStanding 30


If you look on the third line, there is a “ExcludeCultures” line. This is telling us and the AI that all Cultures/factions listed here cannot obtain, or gain points to this trait.
It is totally excluding them from the trait.



The second point

NoGoingBack
This is the second listings, this means that after a certain level, the character cannot lose points in a trait, they can only remain static, very unlikely, or advance further.


Trait Drink
Characters family
NoGoingBackLevel 5
AntiTraits Sobriety

Level Social_Drinker
Description Social_Drinker_desc
EffectsDescription Social_Drinker_effects_desc
LoseMessage Social_Drinker_lose_desc
Threshold 1

Effect Command 1

Level Likes_a_Drink
Description Likes_a_Drink_desc
EffectsDescription Likes_a_Drink_effects_desc
Threshold 2

Effect Management -1

Level Drunkard
Description Drunkard_desc
EffectsDescription Drunkard_effects_desc
Threshold 4

Effect Influence -1
Effect Command -1
Effect Management –1

As you will see on the Second line, there is a “NoGoingBack” insert. This is telling us the after reaching Level 5, your family member cannot go backwards.
Therefore, cannot become “AntiTraits Sobriety” or lessen the effects of become a absolute drunk.




I have included below a insert that allows us to see all the workings of traits and the various lines involved.

Trait BadDisciplinarian
Characters family
ExcludeCultures barbarian, eastern, egyptian, carthaginian
NoGoingBackLevel 2
AntiTraits Disciplinarian

Level Poor_Disciplinarian
Description Poor_Disciplinarian_desc
EffectsDescription Poor_Disciplinarian_effects_desc
Threshold 2

Effect TroopMorale 1
Effect MovementPoints –2



Now, we can look at this and list the order in which they go.

First

1. Trait name
2. Who the Trait can be assigned to.
3. Which culture it will exclude
4. Whether you can be redeemed.
5. The opposite trait. Or anti-trait.

6. The level of trait. Trait name.
7. The trait Description.
8. The Effect Description of the trait.
9. The traits name description.
10.The Threshold needed to obtain trait.
11. The Effect.






Additional
I did however go a little further, when playing around, I made the follwing and got it to work. quite simple really, but effective.

The Trigger

;------------------------------------------
Trigger dads_energetic
WhenToTest CharacterComesOfAge

Condition FatherTrait Energetic >= 1
and romans_julii

Affects Energetic 3 Chance 100

;------------------------------------------

I noted Julii having a Lively trait, so did a search, and came up with the Energetic trait.
I added the Energetic trigger into the dads Trigger
So when a Father Named member has the trait, they can pass it on.

So when Dad has Lively trait.
And his son "comes of Age", the AI knows to check the triggers for traits.
As i have told it to test when Character comes of age.

The Condition of this, is,
The Father must have the trait Energetic >=1 (which is equal to or great than level 1 in the trait listings).
And the Condition is, the Son and father have to be of the Julii faction of Romans.

Now i have also included, the Affect
Which is to rank the son up to a Level 3 energetic trait which i have inserted below.

Now the Chance of this being assigned, is 100%. you can change this to whatever just remember that it is a percentage chance.

So the Son will come of age with, +3 management, +2 (20%) movement, and -15% Construction costs).

The outcome

================================================== =======
Level Energetic
Description Energetic_desc
EffectsDescription Energetic_effects_desc
Threshold 4

Effect Management 3
Effect MovementPoints 2
Effect Construction 15
================================================== ========




Well I hope that helps.



Fenir

With thank you to Alpaca and Lord Gnome.

Lord Gnome
10-21-2004, 16:43
Good post, I have a couple of suggestions/observations;

The 'character' field relates to what type of characters the trait applys. Most are 'family' meaning family members, but there are traits for spies/diplomats/assassins too. I think the full list of valid values is 'family', 'spy', 'assassin', and 'diplomat'.

Threshold and Level - not sure what you mean by hardcoded but you can change the threshold level for each level of the trait. For example look at this trait;

;------------------------------------------
Trait VictorRomanVirtue
Characters family
ExcludeCultures barbarian, greek, eastern, egyptian, carthaginian

Level Vanquisher
Description Vanquisher_desc
EffectsDescription Vanquisher_effects_desc
Threshold 5

Effect SenateStanding -5
Effect PopularStanding 10

Level Great_Vanquisher
Description Great_Vanquisher_desc
EffectsDescription Great_Vanquisher_effects_desc
Threshold 10

Effect SenateStanding -10
Effect PopularStanding 20

Level Conqueror
Description Conqueror_desc
EffectsDescription Conqueror_effects_desc
Epithet Conqueror_epithet_desc
Threshold 15

Effect SenateStanding -15
Effect PopularStanding 30

;------------------------------------------

So VictorRomanVirtue trait (applys to family members - excludes all cultures but roman) has 3 levels. The threshold for each level is 5, 10, 15 respectively. This means you can get points in this trait but until you hit the threshold for the next level you won't get the appropriate trait-level.
One trigger for VictorRomanVirtue is postbattle, and you always get a point if you win, but it will take 5 wins to advance each level as you only get 1 point awarded each time (and the gap between thresholds is 5 each time);

;------------------------------------------
Trigger battle5
WhenToTest PostBattle

Condition IsGeneral
and WonBattle
and CultureType roman

Affects VictorRomanVirtue 1 Chance 100
Affects InspiringSpeaker 1 Chance 4

;------------------------------------------




I think you have got antitraits about right - but to be explicit if a trait has an antitrait(s) then gaining points in the antitrait(s) deducts points from the trait value (unless the trait has gone beyond the 'no going back' level). So if you have some points in the romanhero trait and you get a point towards the coward trait (the antitrait for romanhero) then you lose a point of romanhero rather than go straight to being a coward. If you had no points in romanhero then you would gain a point in the coward trait.


The Effects Description, ie. what 'trait_name_effects_desc' is a tag for is not hardcoded, it can be found in the same txt file as the other descriptions (data/text/export_VnVs.txt), they are just scattered about that file.

Additionally the actual tags (enums) for the descriptions etc. do not appear to be hardcoded either (thankfully - or else adding completely new traits would be impossible). They are contained in the txt file 'data/export_descr_VnVs_enums.txt'. They follow the form;
trait_name
trait_name_desc
trait_name_effects_desc
trait_name_gain_desc*
trait_name_epitath_desc*
*optional

The first 'trait_name' is used as the identifying tag in the 'Level' field in the actual trait entry, the rest are referenced in the appropriate fileds for Description, EffectsDescription, GainDescription*, Epitath* respectively. (*=optional)

Each of these must have a corresponding entry in the data/text/export_VnVs.txt file too, these entries being the text you actually see in-game.

The triggers work just like you say I reckon.

Also, some changes won't take affect until you restart a campaign. Certainly changes to the enum file appear to be like this, and I have a feeling that new triggers are also not 'noticed' until you restart. YMMV (ie. I haven't tested it much, so see what happens.) I haven't broken it yet though, which shows a certain built-in resiliance to stupid changes... nice programming by CA!

alpaca
10-21-2004, 19:13
Now the "EffectsDescription Confident_Commander_effects_desc" is hard coded, so you cannot change this.
This is what tells the AI how to treat this new addition to the named members in game.
Not True ~:)
You can find this one, too, in export_VnVs.txt:

{Confident_Commander_effects_desc}
+1 Command

The Effect is, as you later describe correctly, created by the "Effect" line and the effects description is only information about what happens if this trait is applied (as shown just below the {Confident_Commander_desc} in game)

Threshold is as described by Lord Gnome

Great post though, thank you for it, helped me quite a lot ~:cheers:

fenir
10-22-2004, 06:51
Lord Gnome, Alpaca
Thank you for pointing these points out. I was quite tired when i wrote it, but was more to get the ball rolling, so to speak.

I noticed the mistakes after going back over my notes and re visiting the txt files.
But I thought no one would notice until i had my sleep, then i would re-write it.
I should have it up in a hours.


thank you again

fenir

fenir
10-23-2004, 15:24
PS: I will be adding more to this thread as I go.

Covering all the units and possible combinations in the traits VnV character file. So hang tight, i haven't finished.

But like all things, it depends on a lot, the missus, the boss, the work factor, the fenir gets tired, (afer leaving uni, I found out I do have to sleep).

fenir

sharrukin
11-04-2004, 13:08
The 'character' field relates to what type of characters the trait applys. Most are 'family' meaning family members, but there are traits for spies/diplomats/assassins too. I think the full list of valid values is 'family', 'spy', 'assassin', and 'diplomat'.


This is probably a stupid question but has anyone tried to put an invalid unit such as Roman Hastati instead of a spy or family member?
ie; =15% move trait

Jagger
11-06-2004, 19:58
Good post on traits!

There is also an export_descr_ancillary file. It describes the characters which are added to family members. It appears to be set up in a very similiar manner to the VnV file.

I am experimenting to see if I can increase the effects of a mercenary captain. I would like to see the captain increase the morale of only mercenary troops.

I noticed that there is an effect listed as " Effect TroopMorale +1" for increasing all troop morale.

So I added the following line " Effect TroopMoraleMerc +1" at the end of the mercenary captain description.

Hopefully it won't crash the next time I receive a mercenary captain. Although the next big question is how will I know if only the mercenaries received one extra morale point or not???????

If it does work, you could tailer ancillary characters and probably family members to increase/decrease the effectiveness of specific types of units such as praetorian guards or whatever.

Lopus
11-07-2004, 15:47
Has anyone actually figured out how to make the damned naval traits and ancillaries work?

TosaInu
11-08-2004, 12:30
Hello,

Poohbear mailed me about some Excel and PDF sheets explaining RTW character traits and triggers http://www.geraldtan.com/rtw I guess it will be useful to check out when making a mod.

Sinner
11-08-2004, 16:07
Has anyone actually figured out how to make the damned naval traits and ancillaries work?

You do occasionally get the ancilliaries assigned to your admirals - Priest of Neptune, Seamaster or Shipwright upon unit creation, Navigator upon using all movement points - but the gaining/losing of command ability due to battle results was bugged, see this thread (https://forums.totalwar.org/vb/showthread.php?t=39016) for how you can fix that.

The key issue is that admirals have their own character type of admiral just like the other agents - spy, etc.

lysarin
11-30-2004, 23:10
How about adding you own traits? Anyone tried that?
I tried it with various success. The effects of all traits seemed to work fine but the descriptions were wrong on all but one (no matter what I did they all used the same description). Also I don't think I managed to get the triggers right, so no character will ever get the traits (I used the console command to test them).
I added a new dads_xxxxx(whatever) and a new random birth trigger and added my new traits to the adoption and marriage triggers, with no success (although I didn't try it very much as I ran out of patience).
I also tried to add some old traits to the adoption and marriage triggers but noone seemed to get them...

fFriZBee
01-04-2005, 18:26
Is there anyway to remove al the 'bad' traits, like poor farmer?
I tried removing them from the export_descr_character_traits file and the export_descr_VnVs_enums files, but they just keep showing up in my game or the game crashes when I continue my campaign or start a new one.

I'm tired of having governors who all become terrible taxcollectors with a hate for farms and open for al kind of nasty games with other man, and heroic, true roman generals. So if anyone could help me out I would be very happy ~D

llegacyl
01-21-2005, 12:43
excellent post fenir, i have one correction though..

I noted Julii having a Lively trait, so did a search, and came up with the Energetic trait. I added the Energetic trigger into the dads Trigger So when a Father Named member has the trait, they can pass it on. So when Dad has Lively trait. And his son "comes of Age", the AI knows to check the triggers for traits. As i have told it to test when Character comes of age. The Condition of this, is, The Father must have the trait Energetic >=1 (which is equal to or great than level 1 in the trait listings). And the Condition is, the Son and father have to be of the Julii faction of Romans. Now i have also included, the Affect Which is to rank the son up to a Level 3 energetic trait which i have inserted below. Now the Chance of this being assigned, is 100%. you can change this to whatever just remember that it is a percentage chance. So the Son will come of age with, +3 management, +2 (20%) movement, and -15% Construction costs).

this is not true, if it says
;------------------------------------------
Trigger dads_energetic
WhenToTest CharacterComesOfAge

Condition FatherTrait Energetic >= 1
and romans_julii

Affects Energetic 3 Chance 100
;------------------------------------------
what that will do is give 3 points to lively, not make him 3rd level, he will still need the appropriate amount more points to achive the threshold for the third tier trait of lively

other than that, looks good ~:)

dclare4
02-07-2005, 06:02
I've been trying out that new variable speed for the strat map thing as was described in the Some How To's sticky using the admiral as an example. I'm a bit mixed up as to the logic of the triggers. Lets say you have a VIRTUE VIRTUE_X which has one level and is changed everytime TRIGGER_X fires. Lets say TRIGGER_X fires randomly 40% of the time as long as VIRTUE_X does not have the value of 1, and Affects VIRTUE_X by 1. I'm confused about the 1 - does it load VIRTUE_X with the value of 1 or does it add one, so everytime it fires it keeps adding one (1+1+1+1,etc) - how do I make the value go down so it returns to 0? Do I make it Affect VIRTUE_X by -1? Basically what I want to happen is for the character to be given a new movement point value, lets say 100, but at random times this will be totally negated whenever this random trigger fires.

Follow up question, does the movement value given mean 100 movement points or +100 movement points on top of whatever the value in descr_characters is? So lets say originally there are 20 movement points will it automatically make it 100 movement points or will it add 100, making it 120 movement points? If I negate it as I described above, should I add a negative amount + (-100)? What if I subtract a number greater than the movement points added (like if I added 100 MP, and subtracted 110 will that work? Will the character/agent become immobile?)

Thanks,
Clare

Zakor
02-21-2005, 00:36
I'm sorry, but it's not clear to me which file I need to edit to change these things. Some appear to be merely output files from the game. Which does the game take as input?

llegacyl
02-26-2005, 21:30
the way to add "negative" points, is make the trigger add points to the ANTI-trait, i have not tried doing strait "negative" adds before, so I don't know if it works, it could crash or just not work at all....

MPPercentage = Movement Point Percentage, so regardless of if you have changed the movement points(or say, your general knows how to force march his troops) you never have more than 100% movement points, they just sometimes mean that that particular general can move farther with his 100% than other generals....so, no, you don't have to change it to 120 or something like that, indeed i think it should CTD if you did do that..

Malrubius
04-06-2005, 00:58
Also, it seems that you can't assign a trait to multiple AgentTypes. It will only work for the first one listed.

example (from Data\export_descr_character_traits.txt):
Trait AgentTrait
Characters diplomat, assassin

will only work for diplomats. It's like it ignores the rest of the line.

If you make two traits, they both should work:

Trait DiplomatTrait
Characters diplomat

...


Trait AssassinTrait
Characters assassin


Now, if you want a trait to apply to all characters, try this:
Trait AllTrait
Characters all


.

thelordskinner
04-09-2005, 16:59
Very Helpfull! ~:cheers:

Malrubius
05-19-2005, 19:02
This is something I've been working on. It's not complete, but I figured it would be more help posted here than sitting on my harddrive.

Recommendations
1. Store your original files in a safe location where you won't overwrite them, and where you can find them.

Files
(in folder Data)
export_descr_ancillaries.txt
export_descr_ancillary_enums.txt
export_descr_character_traits.txt
export_descr_VnVs_enums.txt

(in folder Data\text)
export_ancillaries.txt
export_VnVs.txt

(in folder Data\world\campaign\imperial_campaign)
descr_strat.txt

2. Make careful notes of all the changes you make, so you can reverse them. Also, get a program like ExamDiff http://www.prestosoft.com/ps.asp?page=edp_examdiff that does text file comparisons. This can be very helpful in tracking down the cause of crashes.

3. Make sure to use Wordpad to edit the files. Notepad can do strange things with the formatting.

4. When (not if) you get a CTD, try to repeat it by going back to the last save and doing the same things. Once you've figured out how to repeat it, you're on your way to figuring out how to fix it.

5. Make sure to name your triggers differently. Using descriptions of what is going on in the trigger is good, as well as numbers that you change each time you make a new trigger. Even if you forget to do one of these, the other will protect you. Two triggers with the same name may cause random errors.

6. Make sure you put "Trait NameOfYourTrait" inside the triggers for the Condition statement. If you leave off "Trait" it won't work.

Ways to Crash RTW
------------------

Types of crashes

1. Crash To Desktop on program startup

Description
The red-screen background displays, about Creative Assembly and Soundblaster and everything, but the intro movie doesn't play. Instead, it goes back to your desktop.

Likely causes
This usually happens when there is a problem with the ancillaries files, either too many ExcludedAncillaries defined (max is 3) in export_ancillaries.txt or bad formatting. The list in the enums file must be one per line.


2. CTD on Campaign Startup
Description
You click on the faction you want to play and start the campaign, but the intro movie doesn't play. Instead you're back at the desktop.

Likely causes
A character in the descr_strat.txt file for the campaign has been given a trait that doesn't exist, or isn't defined in the export_descr_character_traits.txt file. I'm sure something similar happens if you assign a character an ancillary that isn't defined.




3. CTD during play
Description
You're playing the game and suddenly it crashes. The important thing to know is whether it crashed when you were about to see the traits for the general or his ancillaries; or whether it crashed at some other time, like after an event, at the end of your turn, or during the AI's turn.

a. When trying to view character's portrait
Likely causes
If the CTD occurred when you should have been seeing the character's list of traits or retainers, that narrows the problem down to one of display. The trait or retainer may not have a corresponding entry in the correct enums file, or there may be no description in the file in the text folder. Or there could be a problem with the description--make sure you have the squiggly brackets {} and not parentheses () or square brackets []. Also, putting comment lines where the game expects to see a description is a no-no and will cause this crash.

b. After some event or end of turn
Likely causes
You've just won a battle, or clicked "End Turn", or lost a battle, or selected a new faction heir, completed a spying mission, etc. The key thing is that you did something that would have activated one of the triggers in export_descr_character_traits.txt or export_descr_ancillaries.txt. An End Turn CTD is the worst because so many triggers occur at the end of the turn. Think about what your characters did during their turn that would have caused a trigger to activate (even sitting in a settlement doing nothing) and look at the triggers tied to that event. Trying to affect a trait that is not defined will cause this error, so it could be spelling, a bad comment inside the trigger, etc.

c. During the AI's turn
Resolution
This is the worst, because you don't know what the AI did, like in the previous problem. It may not be repeatable. To resolve this, you need to study the changes you've made, and try to assign the traits or ancillaries to your characters automatically at the start of the game to see what happens.

Cheater
06-29-2005, 17:35
I figured this one out on my own. I used this to make the 'ultimate' trait and I made it impossible for anyone to obtain it by any other means than cheating.

The reason why I made it is because is so I don't have to continually use the give trait cheat all the time and I can just use it once for every time I get a new faction member. Giving traits is one of the most boring cheating activities I can imagine.

Malrubius
07-12-2005, 17:55
Here's a trait generator (http://www.geocities.com/malrubius_eb/traitgen.html) some might find handy.

Instructions:
Should be pretty self-explanatory. Type in the name you want for the trait and its levels, where indicated, what the effect will be, and how much of a bonus it gives. Copy and paste the rightmost column into notepad. Tweak "ExcludeCultures", "AntiTraits", and anything else as desired, then copy and paste each section into the correct file (as indicated), and voila! Working trait.

A little faster than typing by hand, but most importantly, less chance of a CTD from a typo! ~:)

spikemerlin
07-28-2005, 05:25
Can anyone tell me how to create a new trait and trigger to go with it?

Malrubius
08-18-2005, 05:04
Hmm, I think trying to have an "ExcludeCultures" line AND a "Hidden" line for the same trait will cause a CTD.

OGGleep
08-31-2005, 15:50
Malrubius, you seem to know your stuff. I was hoping you could help me out on a couple things.

Titles: To assign a title, is the following procedure correct?

1. Create an entry trait_name_epithet_desc in export_vnv.txt (does placement matter?)

2. Add the Epithet trait_name_epithet_desc to the trait

Is that it?

Does it have to be the top level of the trait?

If a character has multiple title giving traits, how does the game determine which title to assign?


We were looking at making Faction specific campaign files for each faction to increase the difficulty. What are the options as far as limiting which factions are able to or prevented from getting the traits?

Can you exclude or include factions and not cultures?

Thanks

Malrubius
09-01-2005, 01:52
Malrubius, you seem to know your stuff. I was hoping you could help me out on a couple things.

Titles: To assign a title, is the following procedure correct?

1. Create an entry trait_name_epithet_desc in export_vnv.txt (does placement matter?)

2. Add the Epithet trait_name_epithet_desc to the trait

Is that it?


You also need the relevant entry in the enums file (export_descr_VnV_enums.txt):
trait_name_epithet_desc



Does it have to be the top level of the trait?

If a character has multiple title giving traits, how does the game determine which title to assign?


You could have different epithets at different levels of the trait, and the game awards the epithet that is most recently gained (so your "the Conqueror" could become "the Fat" if you're not careful ~;) )



We were looking at making Faction specific campaign files for each faction to increase the difficulty. What are the options as far as limiting which factions are able to or prevented from getting the traits?

Can you exclude or include factions and not cultures?

Thanks

You can directly exclude cultures in the trait defintion, or in the triggers themselves. Factions can only be excluded or singled out in the triggers.


Condition not CultureType barbarian
or

Condition FactionType britons
etc.

Burns
09-10-2005, 03:21
Ive been trying to create a new trait that works similarily to RTR's "Roman Marching" trait, but for some reason I cannot get it to work.
Perhaps Ive missed a file but the ones I did edit were:
export_descr_character_traits.txt,
export_descr_VnVs_enums.txt
(in folder Data\text) export_VnVs.txt

I used the trait generator, but I guess something wasnt correct.
Needless to say, I wanted to give factions members for Parthia more movement points. I also wanted to add it to starting characters, but also to any character, be they adoptee or coming of age and it did not work out either way. Any tips?

Malrubius
09-11-2005, 06:05
What did your triggers look like?

The simplest trigger would be something like this:


Trigger fast_Parthians
WhenToTest CharacterTurnStart

Condition FactionType parthia
and Trait FastParthian < 1

Affects FastParthian 1 Chance 100



And here is the trait:


;------------------------------------------
Trait FastParthian
Characters family

Level Fast_Parthian
Description Fast_Parthian_desc
EffectsDescription Fast_Parthian_effects_desc
Threshold 1

Effect MovementPoints 5

Upxl
12-02-2005, 05:24
BI

I want to put the Romano-british Empire into some exclude cultures.
What is the correct (name)command line fore this empire?

romano_british
romano british
roman

Malrubius
12-11-2005, 13:56
I'd guess it's romano-british. I don't have BI, so I'm not sure. It would be the same way it's named in all the other files, so you could ask in a general BI-modding thread and get a more informed answer. :san_smiley:

Meneldil
12-11-2005, 16:57
romano_british, part of the roman culture.

GrimSta
01-18-2006, 03:16
hey guys.

Is it possible to create a trait that will only get given to the AI, and never to the player? i need this for my new mod...

Malrubius
01-18-2006, 05:11
Use this condition:


Condition not CharacterIsLocal

GrimSta
01-18-2006, 11:05
thanks mate!

Meneldil
01-20-2006, 23:00
Has anyone succesfully used the "I_SettlementOwner settlementname = factionname" condition with BI ? The game will not check it for me, whatever I do. I doubt this is a name or tag issue, since I tried both with the settlement {tag} and with the settlement name. None of them worked.

Meneldil
01-21-2006, 12:14
I'm seriously thinking this condition doesn't work anymore with BI cause since it allows the player to edit his settlements' name while the game is running.

Edit : I tried to turn EDIT_SETTLEMENT_NAMES:TRUE to FALSE in preferences.txt. I wasn't able to edit settlement names during a campaign, but the condition didn't work.
Oddly, the SettlementName condition works perfectly.

Nicodemus
03-02-2007, 14:28
Is there a limit to the number of conditions on a trigger ?

Can "or" be used in these conditions, as well as "not" ?

Atilius
03-02-2007, 15:52
Is there a limit to the number of conditions on a trigger ?


If there is one for scripts, it's well over 100. I doubt it's any different for trait triggers.



Can "or" be used in these conditions, as well as "not" ?

No.

Squid
03-09-2007, 18:18
Something I found but didn't see listed anywhere is that the only unique things you need to have in the export_descr_character_traits.txt are the trait name and the trigger names, the levels of the traits can share names with other levels.

So you could have the following:


Trait traitA
Characters all

level C
Description C_desc
EffectsDescription C_desc
Threshold 1

Effects . . . .

Trait traitB
Characters all

level C
Description C_desc
EffectsDescription C_desc
Threshold 1

Effects . . . .


So this can be used to simplify the export_VnV.txt file since you can eliminate any duplicate entries.

BozosLiveHere
03-11-2007, 05:46
I always wondered if that would work but never bothered to test it. Nice find.

cwastoinand
07-10-2007, 16:51
mm most be something els sorry fore bordering you

Conquest
02-19-2013, 06:01
I'm a newbie here so I have a question. Will I have to edit the VnV text in order for the modded traits to work ingame or do I just mod the character traits file? (I've modded the character traits file and nothing as far as I could see had changed). I have read your breakdown but I still don't understand, as I don't exactly have a big attention span and I'm also quite a fast reader so a lot of it may not have registered, how the traits system works. I just want a heads-up just in case I do need to edit the VnV file.

Any help is appreciated. ~:)