• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
--- Error 1 of 1 ---
At <mod>\common\scripted_triggers\00_scripted_triggers.txt [selected_ingredient_1_and_2_are_same\any_artifact\ROOT\any_artifact\is_artifact_same_type_as] (Line 4941, column 5):
Invalid node "is_artifact_same_type_as" in scope ArtifactTriggerWithCount (value is: PREVPREV)
* called from <mod>\events\mnm_hermetics_events.txt [character_event\option\name\trigger\selected_ingredient_1_and_2_are_same] (Line 6954, column 22)


Was added in 2.7. Takes an artifact as the target.

Here's an example from vanilla:
Code:
    any_artifact = {
       has_artifact_flag = selected_ingredient_1
       ROOT = {
           any_artifact = {
               has_artifact_flag = selected_ingredient_2
               is_artifact_same_type_as = PREVPREV
           }
       }
   }
 
--- Error 1 of 2 ---
At <mod>\events\wol_seduction_events.txt [character_event\immediate\hidden_tooltip\d_miaphysite\holder_scope\new_character\ROOT\random_list\50\create_character\genetic_father] (Line 11682, column 11):
Invalid node "genetic_father" in scope CharCreation (value is: ROOT)
--- Error 2 of 2 ---
At <mod>\events\wol_seduction_events.txt [character_event\immediate\hidden_tooltip\d_miaphysite\holder_scope\new_character\ROOT\random_list\50\create_character\genetic_mother] (Line 11681, column 11):
Invalid node "genetic_mother" in scope CharCreation (value is: PREV)


As I said in the beta, vanilla has switched to using genetic_* in create_character. Still not sure why, since it seems functionally identical to the more commonly used mother/father.


------------------
--- Error 1 of 1 ---
At <mod>\events\mnm_secret_religious_societies_events.txt [character_event\immediate\society\save_event_target_as] (Line 218, column 15):
No users of this event target recruiter_society


False positive? It's used in the same event, unless there's some typo I failed to spot:
Code:
character_event = {
   id = MNM.3422
   desc = EVTDESC_MNM_3422
   picture = GFX_evt_shady_meeting
   border = GFX_event_normal_frame_religion

   is_triggered_only = yes

   immediate = {
       society = { save_event_target_as = recruiter_society }
   }
 
   option = {
       name = EVTOPTA_MNM_3422
        tooltip = { event_target:secret_religion_recruitee = { join_society = event_target:recruiter_society } }

       hidden_effect = { event_target:secret_religion_recruitee = { character_event = { id = MNM.3424 days = 2 } } }
   }
}
 
Last edited:
--- Error 1 of 2 ---
At <mod>\events\wol_seduction_events.txt [character_event\immediate\hidden_tooltip\d_miaphysite\holder_scope\new_character\ROOT\random_list\50\create_character\genetic_father] (Line 11682, column 11):
Invalid node "genetic_father" in scope CharCreation (value is: ROOT)
--- Error 2 of 2 ---
At <mod>\events\wol_seduction_events.txt [character_event\immediate\hidden_tooltip\d_miaphysite\holder_scope\new_character\ROOT\random_list\50\create_character\genetic_mother] (Line 11681, column 11):
Invalid node "genetic_mother" in scope CharCreation (value is: PREV)


As I said in the beta, vanilla has switched to using genetic_* in create_character. Still not sure why, since it seems functionally identical to the more commonly used mother/father.


------------------
--- Error 1 of 1 ---
At <mod>\events\mnm_secret_religious_societies_events.txt [character_event\immediate\society\save_event_target_as] (Line 218, column 15):
No users of this event target recruiter_society


False positive? It's used in the same event, unless there's some typo I failed to spot:
Code:
character_event = {
   id = MNM.3422
   desc = EVTDESC_MNM_3422
   picture = GFX_evt_shady_meeting
   border = GFX_event_normal_frame_religion

   is_triggered_only = yes

   immediate = {
       society = { save_event_target_as = recruiter_society }
   }
 
   option = {
       name = EVTOPTA_MNM_3422
        tooltip = { event_target:secret_religion_recruitee = { join_society = event_target:recruiter_society } }

       hidden_effect = { event_target:secret_religion_recruitee = { character_event = { id = MNM.3424 days = 2 } } }
   }
}
genetic_* was switched to as it is more clear what the function is, the function of genetic_* in a create character command is to define who is the base for the character's portrait. Whilst the old father/mother still works they were often confused with actually setting the father and mother of the new character which is not what they do. Instead set_father/mother must be used in a new_character
 
Is it possible to remove the notification "Char IDs 10 digits or longer can cause problems" anywhere in the files with relative ease? I got the message the first 1000 times, and I get it, but we are assigned IDs based on 10 digits for our mods that aren't overhauls.
Use ValidatorSettings.txt; see option
Code:
# Reason for warnings: Could you add a warning if a non-namespace event ID is greater than 999999, or a namespace event ID is greater than 99999? These have the potential of causing an ID collision between non-namespace and namespace IDs, or between namespaces, because of the way event ID blocks are assigned to namespaces (100000 ID blocks, starting at 1000000.) 
#AddFlag = Events.NoCheckIdCollision

Information/DidYouKnow.pdf provides some information about ValidatorSettings, "Adjust Validation Settings"
 
Got quite a flood of these in the newest version:
--- Error 1 of 1 ---
At <mod>\decisions\mnm_secret_religious_societies_decisions.txt [title_decisions\secret_religions_prepare_grounds\potential\location\any_neighbor_province\OR\AND\FROM\society_member_of] (Line 6011, column 9):
"secret_religious_society_norse_pagan_reformed" is not a valid Society, SecretReligiousCult, or MaybeEventTargetSociety.

I don't remember seeing those in the previous build, but maybe I missed them. All false positives.
Any use of secret_religious_society_<religion> is valid as long as the religion exists (in /common/religions) . The societies that aren't defined separately get auto-generated from secret_religious_society_template (in 00_societies.txt).

--
--- Error 1 of 1 ---
At <mod>\events\z_debugevents.txt [character_event\immediate\if\abdicate_to] (Line 38, column 41):
"145889" is not a valid MaybeEventTarget(Char).


Character IDs work just fine with abdicate_to. Though there's rarely any reason to use them.
 
Last edited:
False positive:
--- Error 1 of 1 ---
At <mod>\events\hl_nomad_events.txt [character_event\trigger\log] (Line 214, column 3):
Invalid node "log" in scope CharTrigger (value is: DEBUG HL.4813: Does [From.GetBestName] ([From.GetID]) exist?)


Unlike the other commands, log works fine in triggers. Doesn't interfere with the actual triggers or anything, and is also usable in if = { limit = { ] }. Which isn't really surprising, considering that it's more of a debugging tool than an actual command.

(Which, by the way, is extremely useful for things such as figuring out which part of the trigger is blocking the event from firing.)
 
Last edited:
I'm having an issue where it seems it can't find a missing bracket? It says:

Parse Failure
Path: <mod>\common\landed_titles\landed_titles.txt
Approximate location: Line -1, column -1
Error: The file was not properly closed by a closing bracket.

what does "Line -1, column -1" mean? and how can I find this missing bracket? 00_landed_titles is obviously HUGE
 
Download Notepad++, and add the BracketsCheck plugin. It'll find it instantly.

Thanks for the advice, I tried it and it pointed me at the line with "e_byzantium = {", but byzantium IS closed properly at the bottom so I'm not sure I get what the issue is?

EDIT: Found the problem, accidentally removed the closing bracket for k_byzantium (greece). Thainks for the help! :D
 
Excellent. Thanks for the hard work. I'm down to under hundred errors now, excluding the event targets that get reported as unused because I'm only using them in localization.

There's still false positives, but none at the first glance that I'd consider important enough to be fixed quickly. Mostly uncommon code that hardly anyone uses, and some commands that nobody's bothered to even list in the wiki yet. Such as:

--- Error 1 of 3 ---
At <mod>\events\hl_raiding_adventurers_events.txt [character_event\immediate\liege\capital_scope\ROOT\primary_title\new_title\set_preferred_capital] (Line 378, column 8):
Invalid node "set_preferred_capital" in scope TitleCommand (value is: event_target:target_title)


Sets the preferred capital of a title, only works in title scope.

--- Error 2 of 3 ---
At <mod>\events\cm_charlemagne_story_events.txt [province_event\immediate\new_character\create_title\base_title] (Line 2038, column 5):
"k_saxony" is not a valid ThisTitle.
Additional information: Expected one of: THIS, ROOT, FROM, FROMFROM, FROMFROMFROM (and so on), PREV, PREVPREV (and so on)


Not sure why the validator doesn't consider k_saxony to be a title..

--- Error 3 of 3 ---
At <mod>\events\rebel_events_the_old_gods.txt [province_event\immediate\new_character] (Line 527, column 3):
There may be no duplications of a "set_defacto_liege" clause.
There were 2 duplicates.
[I11161|L529|C4]: set_defacto_liege = "event_target:rebellion"
[I11555|L548|C4]: set_defacto_liege = THIS


I have create_title between those. First set_defacto_liege ensures that the character has the correct home province from where to rebel, the second makes him independent under the rebel title.
 
Last edited:
--- Error 1 of 3 ---
At <mod>\events\hl_raiding_adventurers_events.txt [character_event\immediate\liege\capital_scope\ROOT\primary_title\new_title\set_preferred_capital] (Line 378, column 8):
Invalid node "set_preferred_capital" in scope TitleCommand (value is: event_target:target_title)


Sets the preferred capital of a title, only works in title scope.

Kind of going on a tangent here, but I didn't know "preferred capital" was a thing. Any idea what does it do more in detail? Is there a preferred_capital scope to go with the command?
 
Kind of going on a tangent here, but I didn't know "preferred capital" was a thing. Any idea what does it do more in detail? Is there a preferred_capital scope to go with the command?
It's from the 2.6 patch:
  • Added a "set_preferred_capital" effect, which sets the preferred capital of the title in the current scope (used for a variety of things, such as the AI to determine where to put their capital). Only works for dynamic titles, as static titles base their capital off of the landed_titles folder
Pretty useful, since if you're not careful when modding, dynamic titles tend to end up with province 0 as the capital. Which then causes all kinds of errors and bugs with anything that requires distance calculations, such as events and diplomacy. It can also cause armies to get stuck off the map, and tends to lead to eventual hard-to-debug crashes. So I've added that to most instances of create_title, to avoid such problems.

It's more reliable than just using base_title, because that one only works if the base title is of a higher rank than the created title. Which can be hard to determine in some cases.
 
Last edited:
I'm ready to lose my mind on this one.

Code:
        primary_title = {
            save_event_target_as = main_title
        }
        ROOT = {
            capital_scope = {
                # tribal chief 1
                create_character = {
                    name = "Menkhaf"
                    female = no
                    age = 42
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                       martial = 12
                       diplomacy = 6
                       stewardship = 9
                       intrigue = 8
                       learning = 6
                    }
                    trait = zealous
                    trait = cavalry_leader
                    trait = holy_warrior
                    trait = mystic
                    trait = skilled_tactician
                }
                new_character = {
                    spawn_unit = {
                     owner = ROOT
                     province = PREV
                     home = PREV
                     leader = THIS
                     troops = {
                       light_cavalry = { 600 600 }
                       horse_archers = { 400 400 }
                     }
                     attrition = 0
                     disband_on_peace = no
                     cannot_inherit = yes
                     maintenance_multiplier = 0.5
                    }
                }
                # tribal chief 2
                create_character = {
                    name = "Sihathor"
                    female = no
                    age = 32
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                        martial = 12
                        diplomacy = 6
                        stewardship = 6
                        intrigue = 12
                        learning = 8
                    }
                    trait = zealous
                    trait = cavalry_leader
                    trait = desert_terrain_leader
                    trait = tough_soldier
                }
                new_character = {
                    spawn_unit = {
                     owner = ROOT
                     province = PREV
                     home = PREV
                     leader = THIS
                     troops = {
                       light_cavalry = { 600 600 }
                       horse_archers = { 400 400 }
                     }
                     attrition = 0
                     disband_on_peace = no
                     cannot_inherit = yes
                     maintenance_multiplier = 0.5
                    }
                }
                # tribal chief 3
                create_character = {
                    name = "Wenishesmu"
                    female = no
                    age = 29
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                        martial = 9
                        diplomacy = 8
                        stewardship = 6
                        intrigue = 8
                        learning = 12
                    }
                    trait = zealous
                    trait = cavalry_leader
                    trait = rough_terrain_leader
                    trait = tough_soldier
                }
                new_character = {
                    spawn_unit = {
                     owner = ROOT
                     province = PREV
                     home = PREV
                     leader = THIS
                     troops = {
                       light_cavalry = { 600 600 }
                       horse_archers = { 400 400 }
                     }
                     attrition = 0
                     disband_on_peace = no
                     cannot_inherit = yes
                     maintenance_multiplier = 0.5
                    }
                }
                # the old man
                create_character = {
                    name = "Merptah"
                    has_nickname = nick_the_old
                    female = no
                    age = 55
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                        martial = 3
                        diplomacy = 8
                        stewardship = 5
                        intrigue = 7
                        learning = 10
                    }
                    trait = zealous
                    trait = mastermind_theologian
                    trait = mystic
                    trait = kind
                }
            }
        }

I can't get Validator to accept ANYTHING as a valid AnyTitle in the employer field for these create character commands. I've tried throwing the whole thing in the primary_title scope and using PREVPREV (and PREV, and PREVPREVPREV...). My most recent attempt has been using an event_target, which everything I've read says should work. Titles can be saved as event targets.

But Validator tells me everything is wrong and I should be ashamed for trying. I may have imagined the second part...

This version of my mod can be downloaded here: https://github.com/xirsoi/ancientreligions/tree/develop

The relevant event file is ACR_egyptian_events.txt
 
I'm ready to lose my mind on this one.

Code:
        primary_title = {
            save_event_target_as = main_title
        }
        ROOT = {
            capital_scope = {
                # tribal chief 1
                create_character = {
                    name = "Menkhaf"
                    female = no
                    age = 42
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                       martial = 12
                       diplomacy = 6
                       stewardship = 9
                       intrigue = 8
                       learning = 6
                    }
                    trait = zealous
                    trait = cavalry_leader
                    trait = holy_warrior
                    trait = mystic
                    trait = skilled_tactician
                }
                new_character = {
                    spawn_unit = {
                     owner = ROOT
                     province = PREV
                     home = PREV
                     leader = THIS
                     troops = {
                       light_cavalry = { 600 600 }
                       horse_archers = { 400 400 }
                     }
                     attrition = 0
                     disband_on_peace = no
                     cannot_inherit = yes
                     maintenance_multiplier = 0.5
                    }
                }
                # tribal chief 2
                create_character = {
                    name = "Sihathor"
                    female = no
                    age = 32
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                        martial = 12
                        diplomacy = 6
                        stewardship = 6
                        intrigue = 12
                        learning = 8
                    }
                    trait = zealous
                    trait = cavalry_leader
                    trait = desert_terrain_leader
                    trait = tough_soldier
                }
                new_character = {
                    spawn_unit = {
                     owner = ROOT
                     province = PREV
                     home = PREV
                     leader = THIS
                     troops = {
                       light_cavalry = { 600 600 }
                       horse_archers = { 400 400 }
                     }
                     attrition = 0
                     disband_on_peace = no
                     cannot_inherit = yes
                     maintenance_multiplier = 0.5
                    }
                }
                # tribal chief 3
                create_character = {
                    name = "Wenishesmu"
                    female = no
                    age = 29
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                        martial = 9
                        diplomacy = 8
                        stewardship = 6
                        intrigue = 8
                        learning = 12
                    }
                    trait = zealous
                    trait = cavalry_leader
                    trait = rough_terrain_leader
                    trait = tough_soldier
                }
                new_character = {
                    spawn_unit = {
                     owner = ROOT
                     province = PREV
                     home = PREV
                     leader = THIS
                     troops = {
                       light_cavalry = { 600 600 }
                       horse_archers = { 400 400 }
                     }
                     attrition = 0
                     disband_on_peace = no
                     cannot_inherit = yes
                     maintenance_multiplier = 0.5
                    }
                }
                # the old man
                create_character = {
                    name = "Merptah"
                    has_nickname = nick_the_old
                    female = no
                    age = 55
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                        martial = 3
                        diplomacy = 8
                        stewardship = 5
                        intrigue = 7
                        learning = 10
                    }
                    trait = zealous
                    trait = mastermind_theologian
                    trait = mystic
                    trait = kind
                }
            }
        }

I can't get Validator to accept ANYTHING as a valid AnyTitle in the employer field for these create character commands. I've tried throwing the whole thing in the primary_title scope and using PREVPREV (and PREV, and PREVPREVPREV...). My most recent attempt has been using an event_target, which everything I've read says should work. Titles can be saved as event targets.

But Validator tells me everything is wrong and I should be ashamed for trying. I may have imagined the second part...

This version of my mod can be downloaded here: https://github.com/xirsoi/ancientreligions/tree/develop

The relevant event file is ACR_egyptian_events.txt

Weird. I thought employer must be a character, not a title. Have you tried that?
 
Weird. I thought employer must be a character, not a title. Have you tried that?

That's what I tried originally, because that makes sense. But the wiki and Validator both say it needs to be a title. I'm wondering if I can just skip that parameter... I'm going to look at instances of create_character in vanilla and see how it's used there.

Vanilla only uses it when assigning people to e_rebels. I think I can forgo it in that case.
 
I keep getting an issue where the Validator can't find a few of my mods (specifically the ones I actually want to examine). However, in the list of mods the program shows are in the system include those same mods with the same exact spelling. Some of the other mods work with the Validator, but I can't seem to find any reason why this is happening.
 
I'm ready to lose my mind on this one.

Code:
        primary_title = {
            save_event_target_as = main_title
        }
        ROOT = {
            capital_scope = {
                # tribal chief 1
                create_character = {
                    name = "Menkhaf"
                    female = no
                    age = 42
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                       martial = 12
                       diplomacy = 6
                       stewardship = 9
                       intrigue = 8
                       learning = 6
                    }
                    trait = zealous
                    trait = cavalry_leader
                    trait = holy_warrior
                    trait = mystic
                    trait = skilled_tactician
                }
                new_character = {
                    spawn_unit = {
                     owner = ROOT
                     province = PREV
                     home = PREV
                     leader = THIS
                     troops = {
                       light_cavalry = { 600 600 }
                       horse_archers = { 400 400 }
                     }
                     attrition = 0
                     disband_on_peace = no
                     cannot_inherit = yes
                     maintenance_multiplier = 0.5
                    }
                }
                # tribal chief 2
                create_character = {
                    name = "Sihathor"
                    female = no
                    age = 32
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                        martial = 12
                        diplomacy = 6
                        stewardship = 6
                        intrigue = 12
                        learning = 8
                    }
                    trait = zealous
                    trait = cavalry_leader
                    trait = desert_terrain_leader
                    trait = tough_soldier
                }
                new_character = {
                    spawn_unit = {
                     owner = ROOT
                     province = PREV
                     home = PREV
                     leader = THIS
                     troops = {
                       light_cavalry = { 600 600 }
                       horse_archers = { 400 400 }
                     }
                     attrition = 0
                     disband_on_peace = no
                     cannot_inherit = yes
                     maintenance_multiplier = 0.5
                    }
                }
                # tribal chief 3
                create_character = {
                    name = "Wenishesmu"
                    female = no
                    age = 29
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                        martial = 9
                        diplomacy = 8
                        stewardship = 6
                        intrigue = 8
                        learning = 12
                    }
                    trait = zealous
                    trait = cavalry_leader
                    trait = rough_terrain_leader
                    trait = tough_soldier
                }
                new_character = {
                    spawn_unit = {
                     owner = ROOT
                     province = PREV
                     home = PREV
                     leader = THIS
                     troops = {
                       light_cavalry = { 600 600 }
                       horse_archers = { 400 400 }
                     }
                     attrition = 0
                     disband_on_peace = no
                     cannot_inherit = yes
                     maintenance_multiplier = 0.5
                    }
                }
                # the old man
                create_character = {
                    name = "Merptah"
                    has_nickname = nick_the_old
                    female = no
                    age = 55
                    culture = bedouin_arabic
                    religion = egyptian_pagan
                    employer = event_target:main_title
                    attributes = {
                        martial = 3
                        diplomacy = 8
                        stewardship = 5
                        intrigue = 7
                        learning = 10
                    }
                    trait = zealous
                    trait = mastermind_theologian
                    trait = mystic
                    trait = kind
                }
            }
        }

I can't get Validator to accept ANYTHING as a valid AnyTitle in the employer field for these create character commands. I've tried throwing the whole thing in the primary_title scope and using PREVPREV (and PREV, and PREVPREVPREV...). My most recent attempt has been using an event_target, which everything I've read says should work. Titles can be saved as event targets.
It does seem like vanilla uses it that way too, so it's probably a false positive. The wiki isn't always right.

Though personally, I tend to use new_character = { set_defacto_liege = <liege> } instead. So I don't know if it works, or if that single use of employer = e_rebels is actually broken in vanilla. Except for that one instance in hippodrome_events, employer is mainly used in conditionals and in the history files.

Weird. I thought employer must be a character, not a title. Have you tried that?
That'd require employer = { character = ROOT }, and create_character doesn't accept complex syntax like that.
 
Last edited:
I'm new and confused. On startup, I get this error:
Code:
Beginning initialization...
Warning: DynamicError not found: InvalidChildError
Attempted Error Report Failed! List of params:
Element: Global
TaskBase
Warning: DynamicError not found: InvalidChildError
Attempted Error Report Failed! List of params:
Element: Packages
TaskBase
Warning: DynamicError not found: InvalidChildError
Attempted Error Report Failed! List of params:
Element: Name
TaskBase
Warning: DynamicError not found: InvalidChildError
Attempted Error Report Failed! List of params:
Element: Key
TaskBase
Warning: DynamicError not found: InvalidChildError
Attempted Error Report Failed! List of params:
Element: System
TaskBase
Warning: DynamicError not found: InvalidChildError
Attempted Error Report Failed! List of params:
Element: AddFlag
TaskBase
Warning: DynamicError not found: InvalidChildError
Attempted Error Report Failed! List of params:
Element: Packages
TaskBase
Warning: DynamicError not found: InvalidChildError
Attempted Error Report Failed! List of params:
Element: Includes
TaskBase

ec) EXCEPTION CONTEXT



ERROR
Audax.Validator.ItemNotFoundInScopeException: Item " %Name" was not found in this scope.
   at Audax.Validator.Scope.Resolve[T](String name)
   at Audax.Validator.GameValidator..ctor(Context parentContext, CFilePath path, PathResolver resolver)
   at Audax.Validator.ValidationManager.ParseGameFiles()
Since there were problems with initial loading, validation cannot continue.