• 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.
Showing developer posts only. Show all posts in this thread.
Time for another round of Spot the False Positive!

Invalid node "desc" in scope BuildingDef (value is: ca_con_wall_6_desc)
Desc is now a valid attribute.

Invalid node "capital_holding" in scope CharTrigger (value is: <a complex type>)
Capital_holding is now a valid scope.

Invalid node "is_merchant_republic" in scope CharTrigger (value is: yes)
That's now a valid condition.

Invalid node "intrigue" in scope BuildingDef (value is: 1)
That's now a valid attribute. The other character attributes are presumably also valid.

Invalid node "monthly_character_piety" in scope BuildingDef (value is: 0.50)
Invalid node "church_opinion" in scope BuildingDef (value is: 10)
Invalid node "monthly_character_prestige" in scope BuildingDef (value is: 0.25)
Invalid node "fertility" in scope BuildingDef (value is: 0.1)
Invalid node "retinuesize" in scope BuildingDef (value is: 3000)
All valid attributes.

Invalid node "is_patrician" in scope CharTrigger (value is: yes)
Invalid node "trade_post_owner" in scope CbTitleTrigger (value is: <a complex type>)
Invalid node "has_trade_post" in scope CbTitleTrigger (value is: yes)
Invalid node "num_of_trade_post_diff" in scope CharTrigger (value is: <a complex type>)
Invalid node "has_embargo" in scope CharTrigger (value is: FROM)
Invalid node "num_of_trade_posts" in scope CharTrigger (value is: 1)
Valid conditions.

Invalid node "seize_trade_post" in scope CbTitleCommand (value is: ROOT)
Valid command.

Invalid node "trade_post_owner" in scope CbTitleTrigger (value is: <a complex type>)
Invalid node "any_direct_de_jure_vassal_title" in scope TitleTrigger (value is: <a complex type>)
Invalid node "thirdparty_title" in scope WarTrigger (value is: <a complex type>)
Valid scopes.

Invalid node "check_all_trade_posts" in scope CbTypeDef (value is: yes)
Valid CB attribute.

Probably not all of it, but should cover most of it.
 
Getting a false positive on this bit of code:
Code:
        NOT = {
            AND = {
                culture_group = celtic
                owner = { culture_group = germanic }
            }
        }
That's from a province scope, so the owner line should work fine.
The error I'm getting:
No direct match found for culture_group. However, other possible matches in scope CharTrigger were found.
Left: ["culture_group"] Right: [CultureGroup]
Left: ["culture_group"] Right: [ThisChar, ThisProv, or OpinionClauseDefinedTypes]
 
Here, have an actual false-positive though:
The scope for rep_trade_posts is a province scope, not a title scope. Title scope gives false positives such as this:

Invalid node "any_neighbor_province" in scope TitleObjectiveTrigger (value is: <a complex type>)
 
One thing I'd recommend detecting:
The game will simply freeze if at campaign start if there's any patrician vassalized by someone who isn't a merchant republic. The issue is very difficult to track down without knowledge of it, so if the Validator could detect it it'd be fantastic.
 
I don't know if this is a false positive or not:



The code in question
Code:
any_realm_character = {
    limit = { at_location = ROOT }
    OR = {
        NOT = { has_character_flag = skeleton }
        NOT = { has_character_flag = evil }
    }
}

I've tried variations. It's not accepting any_realm_character as a limitable scope.
Scopes are only limitable in command sections, E.G., effect, option, things like that. For conditions it makes no sense, as every condition is a limit.
 
Some more false positives:
trade_post_owner and has_trade_post are both valid from title scopes (though they'll only ever return true if the title is a county)
supported_claimant_title is a valid scope to enter from character scope
 
False positive:
province = PREV
home = PREV

These don't need to refer to provinces, they can also refer to characters (see event 600).

seize_trade_post = ROOT is a valid command from title scope (E.G., CbTitleCommand)
 
Right, a rather old false positive, but I've finally figured out why it is a false positive :p
At <mod>\common\cb_types\Vanilla CBs.txt [crusade\on_success_title\if[2]\most_participating_attacker\if[1]\if\limit\NOT\culture] (Line 3147, Column 16):
No direct match found for culture. However, other possible matches in scope CharTrigger were found.
Left: ["culture"] Right: [Culture]
Left: ["culture"] Right: [ThisChar, ThisProv, or OpinionClauseDefinedTypes]

Titles can infact have culture. I stumbled over this when I messed up some conditions for another thing and thus ended up successfully fetching the culture of a title. A title will take on the culture defined in landed titles, or if it doesn't have one, the culture of one of its dejure liege titles, whichever is closest in rank.

On another note, is it possible to hide these warnings?
This character, 72373, needs a twin trait, being the twin of 72372.
 
Fixed culture. For twin, you can use the ValidatorSettings.txt file; there is an option to disable it.
Thank you. That took me from 630 errors to 302.
Now, any way to disable these?
The string k_tekke_adj was not found in localization.
 
I guess you can disable localization checking? Though that may get rid of more than you want, so is the "_adj" stuff not required or something?
I'm not entirely sure how the _adj stuff works, but I've never really run into any issues caused by it.
 
I'm getting this error for some reason when trying to validate SWMH:
ERROR
System.InvalidOperationException: Sequence contains more than one matching element
at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
at Audax.Clausewitz.IO.C2.Clausewitz2ModPathResolver..ctor(DirectoryPath rootPath, Clausewitz2Mod mod, IList`1 allMods)
at Audax.Clausewitz.IO.C2.Clausewitz2FileSystem.CreateResolverForMod(Mod mod)
at Audax.Validator.ValidationManager.SetPath(GameFileSystem system)
at Audax.Validator.ValidationManager.Run(Dispatcher dispatcher)

Edit: And I'm also getting a lot of duplicate errors with another mod. 13 duplicates total, possibly varying from check to check.
 
Last edited:
It could be that you have multiple mods with the same name or path. Maybe some are in the game mods folder and some in documents?
I don't have any CKII Documents folder, so can't be there at least.
I can't see any mods with the same name or path.
 
So none of the ".mod" files have the same "name = XXX" entry? That seem to be what the Validator is checking for. If not, can you try removing all the .mod files except the one you want to validate temporarily (and make sure there are no hidden .mod files, etc) and check if it is still broken.
Still getting the error with only the swmh2615.mod file.
The .mod file's contents, in case that matters:
name = "Some what more historic 2.615"
path = "mod/swmh2.615"
user_dir = "Some what more historic (NV)" # optional. creates a sub directory where settings/map cache/savegames etc can be safely written for your mod and not get mixed up
#replace_path = "history/provinces" # optional. if you want to repalce a path instead of just extend the files already in the base game (liek if you want to have completely new technologies)
dependencies = { "Project Balance" }
 
Another issue I'm getting is duplicate error messages. The number of duplicates seems to vary; I've had everything from 2 to 13 duplicates.
E.G.,:
--- Error 1 of 1 ---
At <mod>\common\buildings\family_palace.txt [family_palace\fp_mansion_4] (Line 53, Column 2):
Invalid node "max_tradeposts" in scope BuildingDef (value is: 3)
--- Error 1 of 1 ---
At <mod>\common\buildings\family_palace.txt [family_palace\fp_mansion_4] (Line 53, Column 2):
Invalid node "max_tradeposts" in scope BuildingDef (value is: 3)
 
Seems it is related to the dependencies; commenting them out fixes the "System.InvalidOperationException: Sequence contains more than one matching element" error. However, I kind of need it to check the dependencies, so it isn't a good solution :p
 
To to confirm, inside the mod name, you put "Some what more historic 2.615" without quotes, and it crashes almost immediately with the exception you posted?

It is possible, though unlikely, that this issue was fixed in the new version, since I can't seem to reproduce it, so I will post one soon.

Also there will be better error messages.
Now it just get stuck on "processing <appdir>\C:\Crusader Kings II\mod\swmh2615.mod" rather than giving an error message.
It never crashed for me; it just gave an error message and refused to parse SWMH.
 
Hmm, can you paste the full contents of the list of errors and the log at the botom? I am confused...
There is no list of errors:
ONrJTYc.png

Nothing after I hit "Validate" is getting logged either:
Log of Audax.Validator, version 1.3 RC6 [1.3.5.0]

Current Time: 30.03.2013 00:51:21
.NET Version: 4.0.30319.269
OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1
Current Culture: nb-NO
Current UI Culture: en-US
Command Line: "E:\[user_name <******>]\Downloads\Audax.Validator\App\Audax.Validator.exe"
Processor Count: 4
Current Directory: E:\[user_name <******>]\Downloads\Audax.Validator\App
Machine Name: [machine_name <**>]
System Directory: C:\Windows\system32
User Name: [user_name <******>]
User Domain Name: [machine_name <**>]
User Interactive: True
Tick Count: -10.04:17:11.6720000
Shutdown Started: False

ENVIRONMENT VARIABLES
COMPUTERNAME: [machine_name <**>]
HOMEPATH: \Users\[user_name <******>]
LOCALAPPDATA: C:\Users\[user_name <******>]\AppData\Local
PSModulePath: C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PROCESSOR_ARCHITECTURE: AMD64
CommonProgramW6432: C:\Program Files\Common Files
CommonProgramFiles(x86): C:\Program Files (x86)\Common Files
ProgramFiles(x86): C:\Program Files (x86)
PROCESSOR_LEVEL: 16
__COMPAT_LAYER: DisableUserCallbackException
LOGONSERVER: \\[machine_name <**>]
USERNAME: [user_name <******>]
HOMEDRIVE: C:
USERPROFILE: C:\Users\[user_name <******>]
SystemRoot: C:\Windows
TEMP: C:\Users\[user_name <******>]\AppData\Local\Temp
PUBLIC: C:\Users\Public
ALLUSERSPROFILE: C:\ProgramData
ULTRAMON_LANGDIR: C:\Program Files\UltraMon\Resources\en
FP_NO_HOST_CHECK: NO
APPDATA: C:\Users\[user_name <******>]\AppData\Roaming
ProgramData: C:\ProgramData
PATHEXT: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
OS: Windows_NT
CommonProgramFiles: C:\Program Files\Common Files
AMDAPPSDKROOT: C:\Program Files (x86)\AMD APP\
PROCESSOR_IDENTIFIER: AMD64 Family 16 Model 4 Stepping 3, AuthenticAMD
ComSpec: C:\Windows\system32\cmd.exe
SESSIONNAME: Console
SystemDrive: C:
PROCESSOR_REVISION: 0403
ProgramFiles: C:\Program Files
MOZ_PLUGIN_PATH: C:\Foxit Reader\plugins\
NUMBER_OF_PROCESSORS: 4
TMP: C:\Users\[user_name <******>]\AppData\Local\Temp
ProgramW6432: C:\Program Files
Path: C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%CommonProgramFiles%\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\AMD\ATI.ACE\Core-Static;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\TortoiseSVN\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live
USERDOMAIN: [machine_name <**>]
windir: C:\Windows

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

StatusLog > Beginning initialization...
StatusLog > Initialization complete!