• 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.
As it says in the comments at the top of the file, in the CK2 base folder.
 
As it says in the comments at the top of the file, in the CK2 base folder.
Actually, as is also documented, you can put your ValidatorSettings.txt directly into the top-level of the mod which you're validating. This is particularly handy when you have mod-wide default validator settings; I just keep my ValidatorSettings.txt checked into my mod's GitHub repository so that anybody else which may find themselves validating it can just get straight to work rather than be spammed with tons of irrelevant messages specific to the mod's content and have to figure-out the configuration for themselves.

So you're both right.
 
Code:
--- Error 1 of 1 ---
At common\bookmarks\00_bookmarks.txt [bm_100_years_war] (Line 608, column 1):
Invalid node "bm_100_years_war" in scope BookmarkFile (value is: <a complex type>)
New bookmark structure. For era bookmarks:
Code:
bm_charlemagne = {
   name = "BM_CHARLEMAGNE"
   desc = "BM_BM_CHARLEMAGNE_DESC"
   date = 769.1.1

   era = yes             ## Will be shown on Era screen.
   picture = GFX_pick_era_image_1

   selectable_character = {
     id = 6392 # Charlemagne
     age = 26
     name = ERA_CHAR_NAME_6392
     title = k_france
     title_name = WEST_FRANCIA

     character = {
       dna = bcedirmbfcy
       properties = aj00bc00000
       religion="catholic"
       culture="old_frankish"
       government = feudal_government
       dynasty=25061
     }
   }
#5 more selectable_characters with stats
#variable number of additional selectable_characters without stats (id only)
}
For non-era bookmarks:
Code:
bm_norman_conquest = {
   name = "BM_NORMAN_CONQUEST"
   desc = "BM_NORMAN_CONQUEST_DESC"
   date = 1066.12.26

   selectable_character = {
     id = 140 # William the Conqueror
   }

#variable number of additional selectable_characters
}
--- Error 1 of 1 ---
At common\cb_types\00_cb_types.txt [nomad_humiliate_cb\on_success\ROOT\steal_population_scaled] (Line 13268, column 4):
Invalid node "steal_population_scaled" in scope CharCommand (value is: <a complex type>)
New effect:
Code:
      steal_population_scaled = {
         target = FROM
         percentage = 0.1
       }
Code:
--- Error 1 of 2 ---
At common\cb_types\00_cb_types.txt [nomad_humiliate_cb\allowed_to_target_suzerains] (Line 13198, column 2):
Invalid node "allowed_to_target_suzerains" in scope CbTypeDef (value is: no)
--- Error 2 of 2 ---
At common\cb_types\00_cb_types.txt [nomad_humiliate_cb\allowed_to_target_tributaries] (Line 13197, column 2):
Invalid node "allowed_to_target_tributaries" in scope CbTypeDef (value is: no)
--- Error 1 of 1 ---
At common\cb_types\00_cb_types.txt [nomad_humiliate_cb\coalition_threat] (Line 13196, column 2):
Invalid node "coalition_threat" in scope CbTypeDef (value is: no)
--- Error 1 of 1 ---
At common\cb_types\00_cb_types.txt [seize_trade_post\ticking_war_score_multiplier] (Line 6574, column 2):
Invalid node "ticking_war_score_multiplier" in scope CbTypeDef (value is: 5.0)
--- Error 1 of 1 ---
At common\cb_types\00_cb_types.txt [overthrow_ruler\is_tyranny_cb] (Line 4188, column 2):
Invalid node "is_tyranny_cb" in scope CbTypeDef (value is: yes)
New commands valid only in CbTypeDef
Code:
--- Error 1 of 1 ---
At common\cb_types\00_cb_types.txt [overthrow_ruler\on_success\FROM\if\limit\NOT\has_dlc] (Line 4235, column 23):
"Zeus" is not a valid "The Sword of Islam", "Legacy of Rome", "Sunset Invasion", "The Republic", "The Old Gods", "Sons of Abraham", "Rajas of India", "Charlemagne", "Way of Life", or "Horse Lords".
Both "Zeus" and "Conclave" should be accepted as valid DLCs.
Code:
--- Error 1 of 1 ---
At common\cultures\99_animals.txt [horse_group\horse\allow_in_ruler_designer] (Line 34, column 3):
Invalid node "allow_in_ruler_designer" in scope CultureDef (value is: no)
allow_in_ruler_designer is now valid in culture definitions
Code:
--- Error 1 of 2 ---
At decisions\conversion_decisions.txt [decisions\convert_to_russian\ai_will_do\modifier\num_culture_realm_provs] (Line 4669, column 5):
The required "num" entry was not found.
--- Error 2 of 2 ---
At decisions\conversion_decisions.txt [decisions\convert_to_russian\ai_will_do\modifier\num_culture_realm_provs\value] (Line 4670, column 6):
Invalid node "value" in scope <anon> (value is: 10)
"num" field has been replaced by "value" field in num_* triggers
Code:
--- Error 1 of 1 ---
At decisions\faction_decisions.txt [plot_decisions\faction_increase_council_power_ultimatum\allow\liege\OR\AND\will_liege_enforce_peace] (Line 1269, column 7):
Invalid node "will_liege_enforce_peace" in scope CharTrigger (value is: no)
--- Error 1 of 1 ---
At decisions\faction_decisions.txt [plot_decisions\faction_succ_feudal_elective_ultimatum\allow\liege\OR\AND\has_liege_enforced_peace] (Line 259, column 7):
Invalid node "has_liege_enforced_peace" in scope CharTrigger (value is: no)
New triggers
Code:
--- Error 1 of 1 ---
At decisions\settlement_decisions.txt [settlement_decisions\adopt_tribalism\effect\FROM\primary_title\ROOT\most_prestigious_clan_vassal] (Line 697, column 7):
Invalid node "most_prestigious_clan_vassal" in scope TitleCommand (value is: <a complex type>)
New character scope
Code:
--- Error 1 of 1 ---
At decisions\ze_ambition_decisions.txt [decisions\ask_for_land\allow\any_child\is_heir] (Line 76, column 5):
Invalid node "is_heir" in scope CharTriggerWithCount (value is: no)
New trigger
Code:
--- Error 1 of 1 ---
At decisions\ze_decisions.txt [targetted_decisions\ask_wards_liege_to_allow_culture_religion_swap\potential\NOT\educator] (Line 172, column 5):
Invalid node "educator" in scope CharTrigger (value is: <a complex type>)
New character scope
Code:
--- Error 1 of 2 ---
At decisions\ze_decisions.txt [targetted_decisions\ask_wards_liege_to_allow_culture_religion_swap\effect\if\hidden_tooltip\clear_focus] (Line 192, column 6):
Invalid node "clear_focus" in scope CharCommand (value is: yes)
--- Error 2 of 2 ---
At decisions\ze_decisions.txt [targetted_decisions\ask_wards_liege_to_allow_culture_religion_swap\effect\if\set_focus] (Line 194, column 5):
Invalid node "set_focus" in scope CharIfClause (value is: focus_ch_heritage)
New effects
Code:
--- Error 1 of 1 ---
At decisions\ze_decisions.txt [targetted_decisions\create_mercenary_company_feudal\allow\FROM\NOT\has_mercenary_band] (Line 46, column 13):
Invalid node "has_mercenary_band" in scope CharTrigger (value is: yes)
New trigger
Code:
--- Error 1 of 2 ---
At decisions\ze_decisions.txt [targetted_decisions\create_mercenary_company_feudal\effect\FROM\custom_tooltip\hidden_tooltip\primary_title\create_title\siphons_income_to_creator] (Line 69, column 9):
Invalid node "siphons_income_to_creator" in scope CreateTitle (value is: 0.15)
--- Error 2 of 2 ---
At decisions\ze_decisions.txt [targetted_decisions\create_mercenary_company_feudal\effect\FROM\custom_tooltip\hidden_tooltip\primary_title\create_title\replace_captain_on_death] (Line 68, column 9):
Invalid node "replace_captain_on_death" in scope CreateTitle (value is: yes)
New commands in CreateTitle scope
Code:
--- Error 1 of 1 ---
At decisions\ze_war_chest.txt [decisions\donate_to_liege\allow\NOT\liege\owes_favor_to] (Line 166, column 22):
Invalid node "owes_favor_to" in scope CharTrigger (value is: ROOT)
New trigger
Code:
--- Error 1 of 2 ---
At decisions\ze_war_chest.txt [decisions\donate_to_liege\ai_will_do\modifier\is_friend] (Line 246, column 5):
"LIEGE" is not a valid MaybeEventTarget(Char).
--- Error 2 of 2 ---
At decisions\ze_war_chest.txt [decisions\donate_to_liege\ai_will_do\modifier\is_rival] (Line 211, column 5):
"LIEGE" is not a valid MaybeEventTarget(Char).
LIEGE/liege should be considered a valid RHS for is_friend and is_rival
Code:
--- Error 1 of 8 ---
At common\laws\demesne_laws.txt [laws\tribal_organization_2\effect\hidden_tooltip\if\hidden_tooltip\disable_council_voting_on_issue] (Line 922, column 7):
Invalid node "disable_council_voting_on_issue" in scope TitleCommand (value is: imprison_character_interaction)
--- Error 2 of 8 ---
At common\laws\demesne_laws.txt [laws\tribal_organization_2\effect\hidden_tooltip\if\hidden_tooltip\disable_council_voting_on_issue] (Line 923, column 7):
Invalid node "disable_council_voting_on_issue" in scope TitleCommand (value is: exile_imprisoned_interaction)
--- Error 3 of 8 ---
At common\laws\demesne_laws.txt [laws\tribal_organization_2\effect\hidden_tooltip\if\hidden_tooltip\disable_council_voting_on_issue] (Line 924, column 7):
Invalid node "disable_council_voting_on_issue" in scope TitleCommand (value is: execute_imprisoned_interaction)
--- Error 4 of 8 ---
At common\laws\demesne_laws.txt [laws\tribal_organization_1\effect\hidden_tooltip\if\hidden_tooltip\disable_council_voting_on_issue] (Line 739, column 7):
Invalid node "disable_council_voting_on_issue" in scope TitleCommand (value is: revoke_title_interaction)
--- Error 5 of 8 ---
At common\laws\demesne_laws.txt [laws\tribal_organization_1\effect\hidden_tooltip\if\hidden_tooltip\disable_council_voting_on_issue] (Line 740, column 7):
Invalid node "disable_council_voting_on_issue" in scope TitleCommand (value is: grant_landed_title_interaction)
--- Error 6 of 8 ---
At common\laws\demesne_laws.txt [laws\tribal_organization_0\effect\hidden_tooltip\if\disable_council_voting_on_issue] (Line 494, column 6):
Invalid node "disable_council_voting_on_issue" in scope TitleIfClause (value is: declare_war_interaction)
--- Error 7 of 8 ---
At common\laws\demesne_laws.txt [laws\tribal_organization_0\effect\hidden_tooltip\if\disable_council_voting_on_issue] (Line 493, column 6):
Invalid node "disable_council_voting_on_issue" in scope TitleIfClause (value is: enforce_peace)
--- Error 8 of 8 ---
At common\laws\demesne_laws.txt [laws\tribal_organization_0\effect\hidden_tooltip\if\disable_council_voting_on_issue] (Line 492, column 6):
Invalid node "disable_council_voting_on_issue" in scope TitleIfClause (value is: laws)
New effect in title scope. I think I grabbed all the variants. Also, "enable_council_voiting_on_issue" in same context and same RHSs.
Code:
--- Error 1 of 1 ---
At common\laws\demesne_laws.txt [law_groups] (Line 3, column 1):
Invalid node "law_groups" in scope LawFile (value is: <a complex type>)
New scope in LawFiles, telling what tab each law_group in this file should appear. Not needed for legacy laws (NOT = { has_dlc = Zeus }) or for succession laws.
Code:
law_groups = {
   centralization = {
     law_type = realm
   }
#more realm law groups
}
Code:
law_groups = {
   law_voting_power = {
     law_type = council
     allowed_for_councillors = yes
   }
#more council law groups
}
Code:
law_groups = {
   out_of_realm_inheritance_law = {
     law_type = realm
     allowed_for_councillors = yes
   }
}
Code:
law_groups = {
   tax_levy_law_feudal = {
     law_type = obligations
     left_value = TAX
     right_value = LEVY
     slider_sprite = GFX_tax_levy_slider
     allowed_for_councillors = yes
   }
#more obligations laws
}
Code:
--- Error 1 of 1 ---
At common\laws\succession_laws.txt [gender_laws\true_cognatic_succession\effect\set_allows_matrilineal_marriage] (Line 883, column 4):
Invalid node "set_allows_matrilineal_marriage" in scope DecisionCommand (value is: yes)
New effect
Code:
--- Error 1 of 1 ---
At common\laws\succession_laws.txt [gender_laws\agnatic_succession\default_selection] (Line 813, column 3):
Invalid node "default_selection" in scope DecisionDef (value is: <a complex type>)
New scope in law definitions:
Code:
    default = yes
     default_selection = {
       factor = 1
     }
Code:
    default_selection = {
       factor = 0
      
       additive_modifier = {
         value = 10      
         year = 1200
         holder_scope = {
           religion = catholic
           is_feudal = yes
         }  
       }
       additive_modifier = {
         value = 10      
         title = e_hre  
       }
       additive_modifier = {
         value = 10      
         OR = {
           holder_scope = { is_nomadic = yes }  
         }
       }
     }
 
Last edited:
  • 1
Reactions:
Code:
--- Error 1 of 2 ---
At common\laws\ze_demesne_laws.txt [laws\status_of_women_4\effect\set_allow_gender_laws] (Line 433, column 4):
Invalid node "set_allow_gender_laws" in scope DecisionCommand (value is: yes)
--- Error 2 of 2 ---
At common\laws\ze_demesne_laws.txt [laws\status_of_women_4\effect\set_allow_feminism] (Line 432, column 4):
Invalid node "set_allow_feminism" in scope DecisionCommand (value is: yes)
New effects
Code:
--- Error 1 of 1 ---
At common\laws\ze_obligation_laws.txt [laws\tax_levy_law_tribal_7\tribal_vassal_min_levy] (Line 4155, column 3):
Invalid node "tribal_vassal_min_levy" in scope DecisionDef (value is: 0.5)
New command in law definition scope
Code:
--- Error 1 of 1 ---
At events\achievement_events.txt [character_event\trigger\owns_mercenary_units] (Line 928, column 3):
Invalid node "owns_mercenary_units" in scope CharTrigger (value is: yes)
new trigger
Code:
--- Error 1 of 1 ---
At events\achievement_events.txt [character_event\trigger\FROM] (Line 861, column 3):
No direct match found for FROM (is the casing correct?). However, other possible matches in scope CharTrigger were found.
Left: [ThisChar] Right: [CharTrigger] cannot be correct because of left: FROM points to <null>.
However, a Char was expected.
This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_law_vote_passed\events\726] (Line 2239, column 3) has no scope.
Left: [ThisProv] Right: [ProvTrigger] cannot be correct because of left: FROM points to <null>.
However, a Prov was expected.
This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_law_vote_passed\events\726] (Line 2239, column 3) has no scope.
Left: [ThisTitle] Right: [TitleTrigger] cannot be correct because of left: FROM points to <null>.
However, a Title was expected.
This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_law_vote_passed\events\726] (Line 2239, column 3) has no scope.
Left: [ThisBattle] Right: [BattleTrigger] cannot be correct because of left: FROM points to <null>.
However, a Battle was expected.
This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_law_vote_passed\events\726] (Line 2239, column 3) has no scope.
--- Error 1 of 1 ---
At events\achievement_events.txt [character_event\trigger\FROM] (Line 861, column 3):
Invalid use of 'FROM': This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_law_vote_passed\events\726] (Line 2239, column 3) has no scope.
--- Error 1 of 1 ---
At events\achievement_events.txt [character_event\immediate\FROM] (Line 868, column 3):
No direct match found for FROM (is the casing correct?). However, other possible matches in scope CharCommand were found.
Left: [ThisChar] Right: [CharCommand] cannot be correct because of left: FROM points to <null>.
However, a Char was expected.
This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_law_vote_passed\events\726] (Line 2239, column 3) has no scope.
Left: [ThisProv] Right: [ProvCommand] cannot be correct because of left: FROM points to <null>.
However, a Prov was expected.
This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_law_vote_passed\events\726] (Line 2239, column 3) has no scope.
Left: [ThisTitle] Right: [TitleCommand] cannot be correct because of left: FROM points to <null>.
However, a Title was expected.
This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_law_vote_passed\events\726] (Line 2239, column 3) has no scope.
FROM for on_law_vote_passed/on_law_vote_failed should be understood to be the vote initiator (character scope)
Code:
--- Error 1 of 2 ---
At events\bankruptcy_events.txt [character_event\option\trigger\NOT\liege\owes_favor_to] (Line 754, column 15):
Invalid node "owes_favor_to" in scope CharTrigger (value is: ROOT)
--- Error 2 of 2 ---
At events\bankruptcy_events.txt [character_event\option\trigger\NOT\holds_favor_on] (Line 254, column 5):
Invalid node "holds_favor_on" in scope CharTrigger (value is: FROM)
New triggers
Code:
--- Error 1 of 1 ---
At events\bankruptcy_events.txt [character_event\option\liege\tooltip\ROOT\add_favor] (Line 780, column 6):
Invalid node "add_favor" in scope CharCommand (value is: PREV)
--- Error 1 of 1 ---
At events\vassal_request_events.txt [character_event\option\tooltip\reverse_add_favor] (Line 377, column 15):
Invalid node "reverse_add_favor" in scope CharCommand (value is: liege)
New effects
Code:
--- Error 1 of 1 ---
At events\on_action_events.txt [letter_event\trigger\is_voter] (Line 4934, column 3):
Invalid node "is_voter" in scope CharTrigger (value is: yes)
New trigger
Code:
--- Error 1 of 1 ---
At events\on_action_events.txt [letter_event\option\decline_law] (Line 3920, column 3):
Invalid node "decline_law" in scope Option (value is: FROM)
New effect
Code:
--- Error 1 of 1 ---
At events\republic_trade_events.txt [province_event\trigger\trade_post_owner\ROOT\owner\NOT\has_non_aggression_pact_with] (Line 3573, column 7):
Invalid node "has_non_aggression_pact_with" in scope CharTrigger (value is: PREVPREV)
New trigger
 
Last edited:
Code:
--- Error 1 of 1 ---
At events\siege_events.txt [character_event\option\trigger\center_flank_leader] (Line 1772, column 4):
Invalid node "center_flank_leader" in scope CharTrigger (value is: <a complex type>)
New character scope
Code:
--- Error 1 of 1 ---
At events\wol_hunting_events.txt [character_event\option\new_character\hidden_tooltip\add_random_education_trait] (Line 864, column 23):
Invalid node "add_random_education_trait" in scope CharCommand (value is: martial)
New effect
Code:
--- Error 1 of 1 ---
At events\ze_adolescence_events.txt [character_event\immediate\educator] (Line 3705, column 3):
Invalid node "educator" in scope CharCommand (value is: <a complex type>)
--- Error 1 of 3 ---
At events\ze_alliance_events.txt [character_event\trigger\OR\any_non_aggression_pact_character] (Line 218, column 4):
Invalid node "any_non_aggression_pact_character" in scope CharTrigger (value is: <a complex type>)
--- Error 2 of 3 ---
At events\ze_alliance_events.txt [character_event\immediate\if\random_allied_character] (Line 244, column 4):
Invalid node "random_allied_character" in scope CharIfClause (value is: <a complex type>)
--- Error 3 of 3 ---
At events\ze_alliance_events.txt [character_event\immediate\if\random_non_aggression_pact_character] (Line 265, column 4):
Invalid node "random_non_aggression_pact_character" in scope CharIfClause (value is: <a complex type>)
New character scopes
Code:
--- Error 1 of 1 ---
At events\ze_alliance_events.txt [character_event\trigger\any_independent_ruler\NOR\has_non_aggression_pact_with] (Line 38, column 5):
Invalid node "has_non_aggression_pact_with" in scope CharTrigger (value is: ROOT)
New trigger
Code:
--- Error 1 of 1 ---
At events\ze_alliance_events.txt [letter_event\option\custom_tooltip\break_alliance] (Line 508, column 4):
Invalid node "break_alliance" in scope <anon> (value is: FROM)
New effect
Code:
--- Error 1 of 1 ---
At events\ze_alliance_events.txt [letter_event\option\custom_tooltip\opinion\origin_description] (Line 142, column 5):
Invalid node "origin_description" in scope OpinionCommand (value is: EVTTITLE_ZE_8001)
New optional field in opinion effect.
Code:
--- Error 1 of 1 ---
At events\ze_alliance_events_2.txt [character_event\trigger\any_allied_character\ROOT\any_war\days_since_last_hostile_action] (Line 66, column 6):
Invalid node "days_since_last_hostile_action" in scope WarTrigger (value is: <a complex type>)
New trigger
Code:
--- Error 1 of 1 ---
At events\ze_ambition_events.txt [character_event\option\trigger\OR\job_spiritual\AND\can_swap_job_title] (Line 1243, column 7):
Invalid node "can_swap_job_title" in scope CharTrigger (value is: FROM)
New trigger
Code:
--- Error 1 of 1 ---
At events\ze_ambition_events.txt [character_event\immediate\FROM\random_child\limit\liege\character] (Line 684, column 7):
"ROOT_FROM" is not a valid MaybeEventTargetCharTitle, OpinionClauseDefinedTypes, CharacterId, or Yes.
@Divine: In event ZE.6012 (in ze_ambition_events.txt) there's the line character = ROOT_FROM. What is the nature of ROOT_FROM? I see other similar tags in the executable (root_fromfrom, root_fromfromfrom, root_fromfromfromfrom) which aren't in the 2.4.5 executable.

@richvh Oh yeah, about that.
We realized that when the FROM-scope and it's sibling scopes FROMFROM, FROMFROMFROM and FROMFROMFROMFROM are all relative scopes (ie if you nest a FROMFROM inside a FROM the FROMFROM scope will actually point to the same scope as if you directly did a FROMFROMFROM switch from the top of the effect/trigger), we needed some way to refer to the absolute FROM scopes that exist from the top of the effect/trigger when we did some hefty scope changes foremost in the voting patterns for the council.

So basically when we've already used a FROMFROM-scope and want to refer to the original FROM scope inside this FROMFROM scope we can now use ROOT_FROM to access that scope because it breaks the relative-chain that is built up inside the scope changes. It would have been very hard or impossible to do this reference previously (would require multiple uses of PREV and PREVPREV and other various creative techniques of scope-juggling to sort).

We know that this is kinda messy so please don't hesitate to ask any questions about things that are unclear and I'll try to help out.
Note that Root_From[From[From[From]]] are also available for localization. (Brackets to indicate optional additional Froms.)
Code:
--- Error 1 of 1 ---
At events\ze_ambition_events.txt [character_event\immediate\liege\random_vassal\if\limit\NOT\among_most_powerful_vassals] (Line 222, column 8):
Invalid node "among_most_powerful_vassals" in scope CharTrigger (value is: 5)
New trigger
 
Last edited:
Code:
--- Error 1 of 1 ---
At events\ze_childhood_events.txt [character_event\desc\picture] (Line 8483, column 3):
Invalid node "picture" in scope NamingInfo (value is: GFX_evt_child_talking)
Pictures can now be specified in triggered description blocks:
Code:
  desc = {
     text = EVTDESCD_ZE_12116
     picture = GFX_evt_child_talking
     trigger = {
       FROM = {
         has_character_flag = child_idolizer_version_2_unanswered
       }
     }
   }
Code:
--- Error 1 of 7 ---
At events\ze_lord_spiritual_events.txt [character_event\immediate\job_spiritual\location\trigger_switch\on_trigger] (Line 277, column 6):
"religion_group" is not a valid on_trigger.
--- Error 2 of 7 ---
At events\ze_lord_spiritual_events.txt [character_event\immediate\job_spiritual\location\trigger_switch\indian_group] (Line 283, column 6):
Invalid node "indian_group" in scope <anon> (value is: <a complex type>)
--- Error 3 of 7 ---
At events\ze_lord_spiritual_events.txt [character_event\immediate\job_spiritual\location\trigger_switch\jewish_group] (Line 282, column 6):
Invalid node "jewish_group" in scope <anon> (value is: <a complex type>)
--- Error 4 of 7 ---
At events\ze_lord_spiritual_events.txt [character_event\immediate\job_spiritual\location\trigger_switch\zoroastrian_group] (Line 281, column 6):
Invalid node "zoroastrian_group" in scope <anon> (value is: <a complex type>)
--- Error 5 of 7 ---
At events\ze_lord_spiritual_events.txt [character_event\immediate\job_spiritual\location\trigger_switch\pagan_group] (Line 280, column 6):
Invalid node "pagan_group" in scope <anon> (value is: <a complex type>)
--- Error 6 of 7 ---
At events\ze_lord_spiritual_events.txt [character_event\immediate\job_spiritual\location\trigger_switch\muslim] (Line 279, column 6):
Invalid node "muslim" in scope <anon> (value is: <a complex type>)
--- Error 7 of 7 ---
At events\ze_lord_spiritual_events.txt [character_event\immediate\job_spiritual\location\trigger_switch\christian] (Line 278, column 6):
Invalid node "christian" in scope <anon> (value is: <a complex type>)
religion_group is a valid RHS for on_trigger, and any valid religion_group can be used as the trigger in the rest of the trigger_switch:
Code:
        trigger_switch = {
           on_trigger = religion_group
           christian        = { PREV = { add_trait = sympathy_christendom } }
           muslim          = { PREV = { add_trait = sympathy_islam } }
           pagan_group      = { PREV = { add_trait = sympathy_pagans } }
           zoroastrian_group    = { PREV = { add_trait = sympathy_zoroastrianism } }
           jewish_group      = { PREV = { add_trait = sympathy_judaism } }
           indian_group      = { PREV = { add_trait = sympathy_indian } }
         }
Code:
--- Error 1 of 1 ---
At events\ze_lord_spiritual_events.txt [character_event\option\job_spiritual\set_job_action] (Line 137, column 4):
Invalid node "set_job_action" in scope CharCommand (value is: <a complex type>)
New effect:
Code:
    job_spiritual = {
       set_job_action = {
         action = action_inquisition
         where = event_target:event_ze_5000_province
       }
     }
Code:
--- Error 1 of 3 ---
At events\ze_lunatic.txt [character_event\option\random_list\50\create_character\race] (Line 85, column 6):
"horse" is not a valid ThisChar.
Additional information: Expected one of: THIS, ROOT, FROM, FROMFROM, FROMFROMFROM (and so on), PREV, PREVPREV (and so on)
--- Error 2 of 3 ---
At events\ze_lunatic.txt [character_event\option\random_list\50\create_character\race] (Line 69, column 6):
"horse" is not a valid ThisChar.
Additional information: Expected one of: THIS, ROOT, FROM, FROMFROM, FROMFROMFROM (and so on), PREV, PREVPREV (and so on)
--- Error 3 of 3 ---
At events\ze_lunatic.txt [character_event\option\any_courtier\limit\race] (Line 57, column 5):
Invalid node "race" in scope CharTrigger (value is: horse)
"horse" is a valid race.
(I'm not aware of anywhere the horse race is defined; race may be like character flags, not needing to be defined.)
Code:
--- Error 1 of 1 ---
At events\ze_marshal_events.txt [character_event\trigger\OR\AND\any_realm_character\can_hold_title] (Line 48, column 6):
"title_commander" is not a valid JobTitle.
can_hold_title can also take minor_titles as the RHS.
Code:
--- Error 1 of 1 ---
At events\ze_mercenary_events.txt [character_event\immediate\random_list\10\modifier\band_creator] (Line 116, column 6):
Invalid node "band_creator" in scope CharRandomListModifier (value is: <a complex type>)
band_creator is a valid character scope (I think added in Horse Lords)
Code:
--- Error 1 of 2 ---
At events\ze_mercenary_events.txt [character_event\immediate\random_list\10\modifier\primary_title\had_title_flag] (Line 271, column 7):
The required "days" entry was not found.
--- Error 2 of 2 ---
At events\ze_mercenary_events.txt [character_event\immediate\random_list\10\modifier\primary_title\had_title_flag\years] (Line 273, column 8):
Invalid node "years" in scope TitleFlagClause (value is: 10)
had_*_flag can now take days, months or years
Code:
--- Error 1 of 1 ---
At events\ze_mercenary_events.txt [character_event\immediate\random_list\10\modifier\NOT\primary_title\mercenary_siphon_factor] (Line 336, column 32):
Invalid node "mercenary_siphon_factor" in scope TitleTrigger (value is: 0.05)
New trigger
Code:
--- Error 1 of 1 ---
At events\ze_mercenary_events.txt [letter_event\option\FROM\primary_title\adjust_siphon_factor] (Line 728, column 5):
Invalid node "adjust_siphon_factor" in scope TitleCommand (value is: -0.01)
New effect
Code:
--- Error 1 of 3 ---
At events\ze_mercenary_events_02.txt [character_event\immediate\FROM] (Line 341, column 3):
No direct match found for FROM (is the casing correct?). However, other possible matches in scope CharCommand were found.
Left: [ThisChar] Right: [CharCommand] cannot be correct because of left: FROM points to <null>.
However, a Char was expected.
This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_mercenary_captain_replacement\events\ZE.11040] (Line 2221, column 3) has no scope.
Left: [ThisProv] Right: [ProvCommand] cannot be correct because of left: FROM points to <null>.
However, a Prov was expected.
This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_mercenary_captain_replacement\events\ZE.11040] (Line 2221, column 3) has no scope.
Left: [ThisTitle] Right: [TitleCommand] cannot be correct because of left: FROM points to <null>.
However, a Title was expected.
This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_mercenary_captain_replacement\events\ZE.11040] (Line 2221, column 3) has no scope.
--- Error 2 of 3 ---
At events\ze_mercenary_events_02.txt [character_event\immediate\FROMFROM] (Line 344, column 3):
No direct match found for FROMFROM (is the casing correct?). However, other possible matches in scope CharCommand were found.
Left: [ThisChar] Right: [CharCommand] cannot be correct because of left: FROMFROM points to <null>.
However, a Char was expected.
The FROMFROM could not be determined, because the FROM of common\on_actions\00_on_actions.txt [on_mercenary_captain_replacement\events\ZE.11040] (Line 2221, column 3) could not be determined.
This event , at common\on_actions\00_on_actions.txt [on_mercenary_captain_replacement\events\ZE.11040] (Line 2221, column 3), must be called from somewhere else, which it is not.
Left: [ThisProv] Right: [ProvCommand] cannot be correct because of left: FROMFROM points to <null>.
However, a Prov was expected.
The FROMFROM could not be determined, because the FROM of common\on_actions\00_on_actions.txt [on_mercenary_captain_replacement\events\ZE.11040] (Line 2221, column 3) could not be determined.
This event , at common\on_actions\00_on_actions.txt [on_mercenary_captain_replacement\events\ZE.11040] (Line 2221, column 3), must be called from somewhere else, which it is not.
Left: [ThisTitle] Right: [TitleCommand] cannot be correct because of left: FROMFROM points to <null>.
However, a Title was expected.
The FROMFROM could not be determined, because the FROM of common\on_actions\00_on_actions.txt [on_mercenary_captain_replacement\events\ZE.11040] (Line 2221, column 3) could not be determined.
This event , at common\on_actions\00_on_actions.txt [on_mercenary_captain_replacement\events\ZE.11040] (Line 2221, column 3), must be called from somewhere else, which it is not.
--- Error 3 of 3 ---
At events\ze_mercenary_events_02.txt [character_event\immediate\FROM] (Line 341, column 3):
Invalid use of 'FROM': This scope has no FROM due to the fact that common\on_actions\00_on_actions.txt [on_mercenary_captain_replacement\events\ZE.11040] (Line 2221, column 3) has no scope.
FROM and FROMFROM are both character scopes for on_mercenary_captain_replacement
Code:
--- Error 1 of 1 ---
At common\scripted_effects\00_scripted_effects.txt [increase_mercenary_troop_support_effect\if\limit\has_mercenary_maintenance_modifier] (Line 30, column 4):
Invalid node "has_mercenary_maintenance_modifier" in scope TitleTrigger (value is: maintaining_mercenary_band_6)
* called from events\ze_mercenary_events_02.txt [character_event\option\FROM\primary_title\increase_mercenary_troop_support_effect] (Line 181, column 5)
New trigger
Code:
--- Error 1 of 1 ---
At common\scripted_effects\00_scripted_effects.txt [increase_mercenary_troop_support_effect\if\set_mercenary_maintenance_modifier] (Line 32, column 3):
Invalid node "set_mercenary_maintenance_modifier" in scope TitleIfClause (value is: maintaining_mercenary_band_7)
* called from events\ze_mercenary_events_02.txt [character_event\option\FROM\primary_title\increase_mercenary_troop_support_effect] (Line 181, column 5)
New effect
Code:
--- Error 1 of 2 ---
At events\ze_spymaster_events.txt [character_event\option\tooltip\scaled_wealth\value] (Line 417, column 5):
"-0.05" is not a valid All or NnDbl.
--- Error 2 of 2 ---
At events\ze_spymaster_events.txt [character_event\option\tooltip\scaled_wealth\min] (Line 418, column 5):
The value '-5' on node 'min' must be a double 0 or above.
min can take a negative double, at least in a tooltip:
Code:
  option = {
     name = EVTOPTA_ZE_2062
     tooltip = {
       scaled_wealth = {
         value = -0.05
         min = -5
       }
     }
     hidden_tooltip = {
       transfer_scaled_wealth = {
         value = 0.05
         to = FROM
         min = 5
       }
     }
   }
Code:
--- Error 1 of 1 ---
At events\ze_various_events.txt [character_event\option\FROM\create_title\army_template] (Line 1086, column 5):
Invalid node "army_template" in scope CreateTitle (value is: mercenary_princess_composition)
New field in CreateTitle
Code:
--- Error 1 of 1 ---
At events\ze_various_events.txt [character_event\immediate\random_list\10\liege\random_courtier\limit\is_valid_romance_target] (Line 784, column 8):
Invalid node "is_valid_romance_target" in scope CharTrigger (value is: ROOT)
New trigger
Code:
--- Error 1 of 1 ---
At common\governments\feudal_governments.txt [feudal_governments\muslim_government\free_levies_in_offensive_war] (Line 81, column 3):
Invalid node "free_levies_in_offensive_war" in scope GovernmentDef (value is: yes)
New command in GovernmentDef
Code:
--- Error 1 of 1 ---
At localisation\v2_50.csv [Entry\1] (Line 311, column 41):
Localization error: Invalid dollar sign command: "REALM|Y" in "Press §GControl + Left Click§! to show Patricians of $REALM|Y$"
New color command style for $ commands: $REALM|Y$ is equivalent to §Y$REALM$§!
 
Last edited:
Code:
--- Error 1 of 1 ---
At localisation\v2_50.csv [Entry\1] (Line 457, column 32):
Localization error: Invalid bracket command: "GetCouncilName" in "This.Liege.GetCouncilName" in "[This.GetTitledFirstName] would like a seat on the [This.Liege.GetCouncilName] of [This.GetHerHis] liege."
New bracket command
Code:
--- Error 1 of 1 ---
At localisation\v2_50.csv [Entry\1] (Line 503, column 17):
Localization error: Invalid bracket command: "GetHusbandWifeOpp" in "target_ruler.GetHusbandWifeOpp" in "Dear [Root.GetTitledName],\n\nI am glad to hear you are well and that my [target_ruler.GetHusbandWifeOpp]'s visit was a good experience. Unfortunately, in these times pacts are broken left and right and to avoid going back on my word in the future, I would rather not give this kind of guarantee. I hope you understand."
GetHusbandWifeOpp is a valid bracket command. (Not sure if it's new, haven't checked older patches)
Code:
--- Error 1 of 1 ---
At localisation\v2_50.csv [Entry\1] (Line 599, column 19):
Localization error: Invalid dollar sign command: "MEMBERS" in "Members: $MEMBERS$"
--- Error 1 of 1 ---
At localisation\v2_50.csv [Entry\1] (Line 603, column 27):
Localization error: Invalid dollar sign command: "MEMBER" in "$TARGET$ is the target of a coalition that $MEMBER$ is a member of."
New $ commands
Code:
--- Error 1 of 1 ---
At localisation\v2_50.csv [Entry\1] (Line 616, column 47):
Localization error: Invalid dollar sign command: "RATIO|Y%0" in "§Y[Actor.GetTitledFirstName]§! must be at least $RATIO|Y%0$ smaller than §Y[Recipient.GetTitledFirstName]§!"
New $ command style. Haven't checked in-game, but probably equivalent to §Y$RATIO$%§! with no decimal point or significant digits after decimal point.
Code:
--- Error 1 of 1 ---
At localisation\v2_50b.csv [Entry\1] (Line 44, column 21):
Localization error: Invalid bracket command: "Educator" in "This.Educator.Religion.GetName" in "[This.GetTitledFirstName] is tutored by priests, focusing on the §Y[This.Educator.Religion.GetName]§! faith and religious learning. A common trait outcome for this Focus is §YIdolizer§!."
New bracket command
Code:
--- Error 1 of 1 ---
At localisation\v2_50b.csv [Entry\1] (Line 662, column 39):
Localization error: Invalid dollar sign command: "CB" in "I request that you repay the favor you owe me by declaring $CB$ against $RECIPIENT$. If you decline my rightful request, I will make sure the council hears of it."
New $ command
Code:
--- Error 1 of 1 ---
At localisation\v2_50b.csv [Entry\1] (Line 1501, column 12):
Localization error: Invalid bracket command: "GetLawProposer" in "From.GetLawProposer" in "I have been convinced by [From.GetLawProposer] to institute the [From.GetProposedLaw] Law. All that is needed is the support of yourself and my other loyal vassals.\n\nYour [From.Holder.GetTitle]"
New bracket command
Code:
--- Error 1 of 1 ---
At localisation\v2_50b.csv [Entry\1] (Line 1508, column 25):
Localization error: Invalid dollar sign command: "VOTE" in "$CHARACTER|Y$ has voted $VOTE$ $LAW|Y$ due to returning a favor to $TARGET|Y$."
New $ command
 
Last edited:
I have a problem with the validator. When i run the exe, the application don't open and load infinitely, I canno't even stop the process with ctrl+alt+supr, I can just reboot my computer for stop it.
 
Note the upcoming version will not support ROOT_(FROM)+ and anything that is checked in the Validator of "Modifiers" or later. That will come later, but everything else from Bookmarks to Map should mostly work.

@richvh: Re most_prestigious_clan_vassal, that is already accepted in char scope. So now it should be accepted in title scope as well?

Re band_creator, it is currently allowed in a title scope. So it works in char scope as well?

I have a problem with the validator. When i run the exe, the application don't open and load infinitely, I canno't even stop the process with ctrl+alt+supr, I can just reboot my computer for stop it.

Did anything appear in Data\log.txt? I haven't heard of this problem before.
 
Note the upcoming version will not support ROOT_(FROM)+ and anything that is checked in the Validator of "Modifiers" or later. That will come later, but everything else from Bookmarks to Map should mostly work.
Forgive me for being stupid but what do you mean that it won't support ROOT_(FROM)+?
Also thanks for continuously updating this, the validator is an amazing thing!
 
Jamie550 said:
@@richvh: Re most_prestigious_clan_vassal, that is already accepted in char scope. So now it should be accepted in title scope as well?

Re band_creator, it is currently allowed in a title scope. So it works in char scope as well?
Hm... let me test some things. Thought I had gotten them to fix most Validator reported bugs.

After looking at the code, both of those appear to be bugs and will be bug reported.
 
Last edited:
Forgive me for being stupid but what do you mean that it won't support ROOT_(FROM)+?
Also thanks for continuously updating this, the validator is an amazing thing!
ROOT_FROM is a new scope they added in to allow simpler solutions to some complex scripting problems, specifically, referring to a FROM scope from within a FROMFROM scope, since FROMFROM = { FROM = { is equivalent to FROMFROMFROM = {. ROOT_FROM will always refer to FROM, no matter what scope it's used within. If you look back a few posts, you'll find a quote from one of the devs about it buried in my reports.
 
ROOT_FROM is a new scope they added in to allow simpler solutions to some complex scripting problems, specifically, referring to a FROM scope from within a FROMFROM scope, since FROMFROM = { FROM = { is equivalent to FROMFROMFROM = {. ROOT_FROM will always refer to FROM, no matter what scope it's used within. If you look back a few posts, you'll find a quote from one of the devs about it buried in my reports.
Ohhhh, that's actually rather useful
 
Code:
--- Error 1 of 8 ---
At <mod>\common\traits\00_traits.txt [inbred\both_parent_has_trait_inherit_chance] (Line 896, column 2):
Invalid node "both_parent_has_trait_inherit_chance" in scope Trait (value is: 50)
--- Error 2 of 8 ---
At <mod>\common\traits\00_traits.txt [mastermind_theologian\attribute] (Line 248, column 2):
Invalid node "attribute" in scope Trait (value is: learning)
--- Error 3 of 8 ---
At <mod>\common\traits\00_traits.txt [brilliant_strategist\attribute] (Line 198, column 2):
Invalid node "attribute" in scope Trait (value is: martial)
--- Error 4 of 8 ---
At <mod>\common\traits\00_traits.txt [midas_touched\attribute] (Line 145, column 2):
Invalid node "attribute" in scope Trait (value is: stewardship)
--- Error 5 of 8 ---
At <mod>\common\traits\00_traits.txt [grey_eminence\attribute] (Line 99, column 2):
Invalid node "attribute" in scope Trait (value is: diplomacy)
--- Error 6 of 8 ---
At <mod>\common\traits\00_traits.txt [elusive_shadow\attribute] (Line 51, column 2):
Invalid node "attribute" in scope Trait (value is: intrigue)
--- Error 7 of 8 ---
At <mod>\common\traits\02_traits.txt [horse\can_hold_titles] (Line 1560, column 2):
Invalid node "can_hold_titles" in scope Trait (value is: no)
--- Error 8 of 8 ---
At <mod>\common\traits\02_traits.txt [idolizer\childhood] (Line 1536, column 2):
Invalid node "childhood" in scope Trait (value is: yes)
New stuff in Traits
Code:
--- Error 1 of 3 ---
At <mod>\common\cb_types\cb_Claims.txt [dejure_county_claim\on_success_title\holder_scope\if\add_pressed_claim] (Line 1960, column 5):
"PREV" is not a valid AnyTitle.
--- Error 2 of 3 ---
At <mod>\common\cb_types\cb_Claims.txt [claim_all\on_reverse_demand\ROOT\any_claim\ROOT\remove_claim] (Line 1751, column 6):
"PREV" is not a valid AnyTitle.
--- Error 3 of 3 ---
At <mod>\common\cb_types\cb_Claims.txt [other_claim\on_reverse_demand_title\ROOT\remove_claim] (Line 564, column 4):
"PREV" is not a valid AnyTitle.
These should all be valid (and aren't new.) any/random_claim is a title scope, and the various _title sections of CBs all have the title in dispute as the starting scope.
Code:
--- Error 1 of 2 ---
At <mod>\decisions\way_of_life_decisions.txt [targetted_decisions\stop_spy_on_decision_target\potential\FROM\has_opinion_modifier] (Line 547, column 5):
The required "modifier" entry was not found.
--- Error 2 of 2 ---
At <mod>\decisions\way_of_life_decisions.txt [targetted_decisions\stop_spy_on_decision_target\potential\FROM\has_opinion_modifier\name] (Line 549, column 6):
Invalid node "name" in scope OpinionModifierClause (value is: opinion_spying_on)
"name" and "modifier" are now interchangeable in modifier clauses.
dev said:
It is however valid to use 'name' instead of 'modifier' in has_opinion_modifier in the current build.
me said:
Which is preferred, going forward?
dev said:
It was changed due to the fact that we had different triggers/effects that handled modifiers which referred to the modifier by either name or modifier and it was always confusing to remember which trigger/effect used which variable name. So I wouldn't say that we have any clear preference but modifier is the most common one. So one could say that there's a slight preference for modifier.
 
Last edited:
Code:
--- Error 1 of 3 ---
At <mod>\common\cb_types\cb_Claims.txt [dejure_county_claim\on_success_title\holder_scope\if\add_pressed_claim] (Line 1960, column 5):
"PREV" is not a valid AnyTitle.
--- Error 2 of 3 ---
At <mod>\common\cb_types\cb_Claims.txt [claim_all\on_reverse_demand\ROOT\any_claim\ROOT\remove_claim] (Line 1751, column 6):
"PREV" is not a valid AnyTitle.
--- Error 3 of 3 ---
At <mod>\common\cb_types\cb_Claims.txt [other_claim\on_reverse_demand_title\ROOT\remove_claim] (Line 564, column 4):
"PREV" is not a valid AnyTitle.
These should all be valid (and aren't new.) any/random_claim is a title scope, and the various _title sections of CBs all have the title in dispute as the starting scope.
Per @Rylock here: https://forum.paradoxplaza.com/foru...ith-minimal-pain.597480/page-96#post-19867947

Apparently at some point there were problems. However I don't have much context on it.
 
@Rylock: Can you confirm there are still problems with these?
 
v1.13.1: https://www.dropbox.com/s/en3p4hyll24tudm/Audax.Validator v1.13.1.zip?dl=0

Now supporting more of the new patch, though undoubtedly there are still issues
ROOT_FROM is supported, kind of. It uses the same logic as the current FROM, because it looks like FROM={FROM={ may not work right today in the Validator. Who knows...
Some more fixes, and more checks for council stuff in Government check