- 1
- 1
--- Error 1 of 1 ---
At <mod>\decisions\dynasty_decisions.txt [targetted_decisions\legitimize_bastard\filter] (Line 101, column 3):
"close_relatives" is not a valid FilterTarget.
--- Error 1 of 1 ---
At <mod>\localisation\expd_tv_localisation.csv [Entry\2] (Line 6, column 165):
Localization error: Invalid color character 'u' in "En tant que membre [From.Get_du_Society], vous pouvez sonder les cieux pour avoir un aperçu de l'avenir de votre enfant, [Root.Get_le_TitledNameJ]."
expd_tv_make_horoscope_desc;As a member of [From.Society.GetName], you may search the heavens for insight into the future of your child §Y[Root.GetTitledName]§!.;En tant que membre [From.Get_du_Society], vous pouvez sonder les cieux pour avoir un aperçu de l'avenir de votre enfant, [Root.Get_le_TitledNameJ].;Als Mitglied des "[From.Society.GetName]"-Zirkels könnt Ihr am Himmel nach Erkenntnissen hinsichtlich der Zukunft Eures Kindes §Y[Root.GetTitledName]§! suchen.;;Como miembro de [From.Society.GetName], puedes buscar en el cielo sobre qué le deparará el futuro a tu hijo/a §Y[Root.GetTitledName]§!.;;;;;;;;;x
Potential false positive (in v1.33.21):
The suggested correction (after clicking the "i" button on the error) is "close_relative" (ie. remove the trailing "s").
This part of the mod code was copied from vanilla, so it should be correct. Also, the wiki says that "close_relatives" is a valid filter for targeted decisions. Also, the modded code seems to be working.
It looks like your localisation file has incorrect encoding, or something else is awry, if Validator can't read it properly. It should be encoded in ANSI Win-1252.And another one:
Actual text in the localisation file:
It looks like the Validator doesn't understand the character ç (or, probably, Ç).
At <mod>\localisation\00_CK2Plus_factions.csv [Entry\1] (Line 700, column 18):
Localization error: Invalid bracket command: "GetHumanName" in "This.GetHumanName" in "§P[This.GetHumanName]§! (§Y[This.GetBestName]§!)"
At <mod>\localisation\00_tooltips.csv [Entry\1] (Line 179, column 24):
Localization error: Invalid bracket command: "Root_From" in "Root_From.GetTitledFirstName" in "Is a subject of §Y[Root_From.GetTitledFirstName]§!"
At <mod>\events\CK2Plus_succession_law_events.txt [character_event\immediate\if\if\primary_title\heir_under_seniority_law] (Line 918, column 6):
Invalid node "heir_under_seniority_law" in scope TitleCommand (value is: <a complex type>)
Does @Whizzer's comment below resolve this? (From what I can tell this is indeed a non-AI filter) (@Whizzer please lmk if I am misunderstanding things)Potential false positive (in v1.33.21):
The suggested correction (after clicking the "i" button on the error) is "close_relative" (ie. remove the trailing "s").
This part of the mod code was copied from vanilla, so it should be correct. Also, the wiki says that "close_relatives" is a valid filter for targeted decisions. Also, the modded code seems to be working.
Correct, Paradox was rather careless with some of the filter names for targeted decisions. 'close_relative' is the filter for players, 'close_relatives' is the filter for AI.
filter = close_relative
ai_target_filter = close_relatives
It looks like your localisation file has incorrect encoding, or something else is awry, if Validator can't read it properly. It should be encoded in ANSI Win-1252.
--- Error 1 of 1 ---
At <mod>\localisation\expd_tv_localisation.csv [Entry\2] (Line 6, column 165):
Localization error: Invalid color character 'u' in "En tant que membre [From.Get_du_Society], vous pouvez sonder les cieux pour avoir un aperçu de l'avenir de votre enfant, [Root.Get_le_TitledNameJ]."
Hmm Validator says that valid color codes are the followingI have previously been burned by code page settings (thanks, Stellaris), so I have always been very careful to copy the vanilla file before making changes in Notepad++.
That said, changing the code page in Notepad++ from UTF-8 to Windows-1252 didn't fix the ç issue.
ValidColorCommands = { "!" "G" "W" "B" "C" "F" "K" "L" "M" "P" "R" "Y" "Z" }
Let's just say there's a reason I no longer make more validation or other tools (other than lack of time and the like)FWIW, yes, @Whizzer's comment resolved this. But I hate it.
Hmm Validator says that valid color codes are the following
Code:ValidColorCommands = { "!" "G" "W" "B" "C" "F" "K" "L" "M" "P" "R" "Y" "Z" }
So I assume that list is incomplete and needs more entries?
Let's just say there's a reason I no longer make more validation or other tools (other than lack of time and the like)
Are you definitely sure that the file is in 1252?No, I think the problem is that the Validator is somehow interpreting ç as a color code. (When it's actually a valid letter in the French language.) But I also can't find any way to force the issue other than to use my mod. (I've tried forcing all different types of code pages, but the Validator still errors. But it doesn't error with a literal copy of the vanilla MonksAndMystics.csv. I'm stumped.)
So, here's a zip of my mod. Maybe that helps to figure out the issue?
I'm happy to help some more if I can - your Validator is an immensely useful tool - but I'm not sure how at this point.
Yeah, I get it, I really do. Supporting mods/tools over periods of years is super hard :-/ (but always appreciated!)
Are you definitely sure that the file is in 1252?
Using 1252, I see this in notepad++: https://www.dropbox.com/s/i2dbdlv5bk26ti6/2022_07_23_a.png?dl=0
When loading with UTF8 it however matches what you say.
This is what it looks like to me in a hex editor: https://www.dropbox.com/s/1guq8kqqpfwqlhj/2022_07_23_b.png?dl=0
Using https://en.wikipedia.org/wiki/Windows-1252 and looking at the "c3, a7, 75" it seems to match what Validator claims (i.e. "çu")
Alternatively, can you detect the encoding of a text file? If so, I would welcome a Validator warning for not-being-saved-with-Windows-1252.Glad it worked. As for a hint, I think it would end up being a bit complicated and prone to just being confusing in the majority of cases.
Fair enough.The problem is, Validator read that file as perfectly valid 1252. Like on https://en.wikipedia.org/wiki/Windows-1252 basically every character is valid and something one might type into a file except for a handful. So if Valdiator gets this file and this set of bytes, there's no way for it to know that it's not actually 1252 (generally files do not explicitly specify what their encoding is). It might be able to make guesses in certain cases but this would be complex, prone to error, imperfect, and hence of questionable value given the effort involved.
#---VALIDATOR_IGNORE_START---
character_event = { id = IB.70 }
#---VALIDATOR_IGNORE_END---
See Information\DidYouKnow.pdf, section "Ignore Errors on a Case-By-Case Basis"
If the other mod's name having a space doesn't work (even when unzipped) then that is a Validator bug which would need fixing; if you can provide a simple repro of the issue.
dependencies = { "\"More Bloodlines Extracted\"" "\"More Bloodlines (Personalised)\"" }
, which is close to my ideal dependency setting. (It makes the game engine aware of the workshop version of the mod as well as my slightly-bugfixed version.) The Validator gives the error: "[Error] Could not load mod file: [...]\Crusader Kings II\mod\expanded_decisions_prisoners.mod [Invalid character ["] at line 3, column 47]". The issue is not exactly that the Validator doesn't like spaces in mod names - it's more that it doesn't like the fact that if there are spaces then you're supposed to wrap the mod name in escaped double-quotes.dependencies = { "\"More Bloodlines (Personalised)\"" }
, I get a different error: "[Error] Could not load mod file: [...]\Crusader Kings II\mod\expanded_decisions_prisoners.mod [Invalid character "(" at line 3, column 37]". So maybe the Validator also doesn't like brackets in mod names?... I really should have looked for documentation inside the tool itself, shouldn't I?! Sorry!See Information\DidYouKnow.pdf, section "Ignore Errors on a Case-By-Case Basis"
But yes, that seems like the exact solution that I'm looking for.
# Audax Validator "!" Ignore_ALL
, at the top of the file) suppresses the error, but has the unwanted side-effect of also suppressing every other potential error.# Audax Validator "." Ignore_ALL
and/or # Audax Validator "." Ignore_NEXT
, at approx line 614) does not suppress the error