• 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.
Does this work for interface/portraits mods? Having odd troubles with my portrait mod
There definitely isn't extensive support for "interface/portraits" and possibly those files may not even be opened. If they are it would only be to extract some information and not really validate things.
 
Oh, but the syntax of portrait properties is pretty easy!
It's basically '(\d+\s*=\s*{(\d+\s*=\s*{/mtth/})*)*, where the firdt capture group corredpond to a property, the second capture group correspond to a slot within the property and /mtth/ is a placeholder for a mean time to happen block with the base value declared as factor = \d+
 
Hmm sorry not exactly sure what's wrong. I know others have seen similar errors and maybe they could chime in.

Two possible things to try
1. Before extracting the zip, right-click the zip file, and click Properties. Then If at the bottom there is a "Security" area with "This file came from ..." and an unblock button, click it, then extract the files.
2. Run the exe with admin privileges
1. I don't see a a "This file came from ..." or unblock button.
2. That's what I've been doing.

I 'm making a mod that I *know* is janked up somewhere, but I can't figure out where and I'm incredibly frustrated by the Validator not working. Thank you for your help.
 
1. I don't see a a "This file came from ..." or unblock button.
2. That's what I've been doing.

I 'm making a mod that I *know* is janked up somewhere, but I can't figure out where and I'm incredibly frustrated by the Validator not working. Thank you for your help.
Hmm one more thing to try is instead of launching Validator.exe, launch App\Audax.Validator.exe, with admin privileges as well. Otherwise sorry, unless you want to do some sort of remote control/debugging thing (I have not tried such a thing before and it would probably be slow and complicated)

Oh, but the syntax of portrait properties is pretty easy!
It's basically '(\d+\s*=\s*{(\d+\s*=\s*{/mtth/})*)*, where the firdt capture group corredpond to a property, the second capture group correspond to a slot within the property and /mtth/ is a placeholder for a mean time to happen block with the base value declared as factor = \d+

I mean, the normal syntax validator would be much better than the regex you suggest (which for one thing, can't count brackets so could easily swallow stuff up).

Also, things being easy doesn't mean that anyone has ever asked for it before or that I have noticed it as something lacking at some point in the past. In fact, I do not recall anyone requesting such things, nor I noticing it, which is why there is no support for it.

As for adding support, that may or may not be added in a later release (if it is indeed simple then most likely next one), depending on various factors.
 
Hmm one more thing to try is instead of launching Validator.exe, launch App\Audax.Validator.exe, with admin privileges as well. Otherwise sorry, unless you want to do some sort of remote control/debugging thing (I have not tried such a thing before and it would probably be slow and complicated
No, that's ok. Thank you
 
the normal syntax validator would be much better than the regex you suggest (which for one thing, can't count brackets so could easily swallow stuff up).

Also, things being easy doesn't mean that anyone has ever asked for it before or that I have noticed it as something lacking at some point in the past. In fact, I do not recall anyone requesting such things, nor I noticing it, which is why there is no support for it.

As for adding support, that may or may not be added in a later release (if it is indeed simple then most likely next one), depending on various factors.

There's probably a few reasons why this wasn't requested. One is that there aren't that many portrait mods to begin with.
Two, portraits are visualy debugged. One deals with missaligned layers more often than syntax. Three, if it works it works, don't touch :D

Adding some basic syntax checkup would probably be beneficial, but I'm really not the right person to judge that. Plus only has minor tweaks or copy/paste vanilla content.
 
There's probably a few reasons why this wasn't requested. One is that there aren't that many portrait mods to begin with.
Two, portraits are visualy debugged. One deals with missaligned layers more often than syntax. Three, if it works it works, don't touch :D

Adding some basic syntax checkup would probably be beneficial, but I'm really not the right person to judge that. Plus only has minor tweaks or copy/paste vanilla content.
That makes sense, but I was just saying I generally go by request for things that aren't obviously things people may want. So people may of course to request things they want, and if it's not too complex I would try to implement such things.
 
That makes sense, but I was just saying I generally go by request for things that aren't obviously things people may want. So people may of course to request things they want, and if it's not too complex I would try to implement such things.

I know that :) That's how things work in mods too.
I was just trying to explain why this apparently big thing is something nobody thought about before, or at least didn't vocalise it.
In any case, I think getting the "pure" script validated is far more important.
 
Hello!

I am getting the following error:

Invalid node "has_hospital" in scope ProvTrigger (value is: yes)

The condition "has_hospital" is listed in the wiki for provinces, though:
https://ck2.paradoxwikis.com/Conditions

And from my tests, it does work.

So it seems like that the Validator itself is missing information about that condition?
 
Could the Validator search for an event target in localisation before it reports that there are no users of this event target? Right now this is a cause of many false-positives, as event targets are often used just for localisation purpose.
I believe that if you do validate localization (i.e. checking the check box for localization), then it does do so. If this is not the case please post the mod and what error you are seeing you shouldn't be.
 
Hello there,
Without this tool I would have probably quit modding long ago, so thank you for this kind sir/madam and for keeping it up to date :).

I keep getting these false errors, they all work fine ingame:

1.
Code:
--- Error 1 of 1 ---
At <mod>\decisions\csm_decisions.txt [targeted_decisions\sell_mount_decision\effect\wealth] (Line 592, column 4):
"local_third_party_score" is not a valid MaybeEventTargetChar, Double, or VariableName.
local_third_party_score was added with third party decisions

2.
Code:
--- Error 1 of 1 ---
At <mod>\decisions\csm_decisions.txt [offmap_decisions\chinese_horse_decision\effect\FROM\sound_effect] (Line 795, column 5):
"china_grace_spend" is not a valid Sound.
The sound triggers fine.

3.
Code:
--- Error 1 of 1 ---
At <mod>\common\scripted_effects\csm_scripted_effects.txt [get_random_mount_no_immortal_2_effect\if\random_artifact\limit\NOT\artifact] (Line 73, column 13):
Invalid node "artifact" in scope ArtifactTrigger (value is: event_target:random_mount)
* called from <mod>\events\csm_events.txt [character_event\immediate\get_random_mount_no_immortal_2_effect] (Line 4124, column 3)
The "artifact" trigger was added in the JD patch, its used to compare 2 artifacts

4.
Code:
--- Error 1 of 1 ---
At <mod>\events\csm_maintenance_events.txt [character_event] (Line 905, column 1):
The event is set to be triggered only, but it is never called.
I trigger this event from my minor_titles file:
Code:
death_effect = {
        liege = { character_event = { id = csmm.009 days = 1 } }
    }


Also is it possible to have an "(AddToEnum Traits) = { }" for the settings file? That would be a tremendous help.
 
2.
Code:
--- Error 1 of 1 ---
At <mod>\decisions\csm_decisions.txt [offmap_decisions\chinese_horse_decision\effect\FROM\sound_effect] (Line 795, column 5):
"china_grace_spend" is not a valid Sound.
The sound triggers fine.
Where does the game find the available sounds? Presumably the Validator is doing things incorrectly when finding them.
 
Where does the game find the available sounds? Presumably the Validator is doing things incorrectly when finding them.

Should be in "Crusader Kings II\sound" but I can't find that specific file anywhere. It's not even in the DLC archives, I honestly have no idea sorry.
Also thank you for the update.