What I meant is that the best way to find something like a missing bracket is to successively divide the file in half until you isolate the error. Anyway, I'll take a look.
\Wid\s*=\s*\K0+
type\s*=\s*6\s+id\s*=\s*\K\d{6}
type\s*=\s*6\s+id\s*=\s*\K(?=\d\D)
type\s*=\s*6\s+id\s*=\s*\K(?=\d{2}\D)
type\s*=\s*6\s+id\s*=\s*\K(?=\d{3}\D)
type\s*=\s*6\s+id\s*=\s*\K(?=\d{4}\D)
type\s*=\s*6\s+id\s*=\s*\K(?=d{5}\D)
\Wday\s*=\s*\K3\d
^\s*random\s*=\s*no\s*\R
random\s*=\s*no
--- Error 1 of 1 ---
Type Mismatch Error
At <mod>\db\events\major_byz.txt [event[32]\action_b\command[2]\which] (1410, 30):
"-2" is not a valid LandProvinceCoastal, random, -1, last_random, -3, random_distinct, -4, random_not_capital, -5, random_distinct_not_capital, or -8.
random = yes
persistent = yes
global = yes
country = TAG
province = ID
^\s*random\s*=\s*no\s*\R
random\s*=\s*no
Beginning initialization...
ec) EXCEPTION CONTEXT
dec) DEFAULT EXCEPTION CONTEXT
ERROR
System.ComponentModel.Composition.ImportCardinalityMismatchException: No valid exports were found that match the constraint '((exportDefinition.ContractName == "SelfValidationCall") AndAlso (exportDefinition.Metadata.ContainsKey("ExportTypeIdentity") AndAlso "System.Void(Audax.Clausewitz.Validator.Context,Hydrus.Scripting.ElementNode)".Equals(exportDefinition.Metadata.get_Item("ExportTypeIdentity"))))', invalid exports may have been rejected.
at System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(ImportDefinition definition, AtomicComposition atomicComposition)
at System.ComponentModel.Composition.Hosting.ExportProvider.GetExportCore[T](String contractName)
at Audax.Clausewitz.Validator.Common.Validate(Context c, ElementNode module)
at Audax.Clausewitz.Validator.Common.ProcessModuleBody(Context c, ElementNode module, Scope scope)
at Audax.Clausewitz.Validator.Module..ctor(Context c, Scope scope)
at Audax.Clausewitz.Validator.Module.Create(Context c, Scope scope)
at Audax.Clausewitz.Validator.GameValidator..ctor(CFilePath path)
at Audax.Clausewitz.Validator.ValidationManager.ParseGameFiles()
Since there were problems with initial loading, validation cannot continue.
Maybe a typo somewhere? Or perhaps I already fixed it and forgot about it. Either way, the command is definitely recognized by the latest version.The validator tells me that "countryname" is not al valid type when I try to change the name by event.
The correct version is v0.8.9b. The error seems to be an initialization error, so this happens before you even try to validate anything, right? Nothing much I can do about that; you can try to reinstall it, run it in compatibility mode and with admin rights, reinstall .NET framework 4.0, etc.I'm getting this error when I run the validator. I tried both v0.8 and v0.8.9b.
The validator works now that I have installed a different Windows version.The correct version is v0.8.9b. The error seems to be an initialization error, so this happens before you even try to validate anything, right? Nothing much I can do about that; you can try to reinstall it, run it in compatibility mode and with admin rights, reinstall .NET framework 4.0, etc.
As usual, drop the folder ftg13 in data.
About the strictness levels...
The validator still has problems with monarch/leader IDs in savegames; unfortunately this is a limitation I cannot work around. In general, you should only ever have one scenario in the scenario folder (move the others elsewhere) and the IDs shouldn't overlap with those in the /db/monarchs/ and /db/leaders/ folders (which has implications for events and unions) or you can't validate scenarios. Also, the validator gets confused about any kind of IDs with leading zeroes, so those should be avoided.
- Critical errors is what you should be selecting when you use the validator to find the cause for a CTD.
- All errors is what you should be selecting when you validate a mod and are looking for general errors. This section should ideally be empty, or only list items that you deliberately do not want to "fix" at this point (e.g. 'breakdynastic' commands).
- Strict may list a lot of things that aren't necessarily errors, but are often caused by sloppiness, e.g. values outside of common ranges, events missing certain entries, or artifacts from EU2 that are being kept for compatibility reasons.
At the "strict" level, the event keys "random", "persistent" and "global" may not have the value "no". If you have any such events, you can simply remove those keys which has the same effect. See above for a regex to do this.
Groups and subgroups aren't hardcoded, are they? So they're defined by adding them as religion parameters?