If enabled and used without setting an ELC script it will function just like ELC/ILR in the base game.
This is a pretty advanced plugin and may at times require you to dive into the source code to figure out what's going on.
| Variable Name | Value | Default | Notes | 
|---|---|---|---|
| NWNX_ELC_ELC_SCRIPT | string | "" | Set the NWScript that receives all the ELC validation failure events. | 
| NWNX_ELC_CUSTOM_ELC_CHECK | true/false | false | Enables the custom ELC check, an ELC script must be set for it to run. | 
| NWNX_ELC_ENFORCE_DEFAULT_EVENT_SCRIPTS | true/false | false | If enabled, resets a character's event scripts to default. Requires ELC to be enabled. | 
| NWNX_ELC_ENFORCE_EMPTY_DIALOG_RESREF | true/false | false | If enabled, resets a character's dialog resref to empty. Requires ELC to be enabled. | 
| NWNX_ELC_ENFORCE_CASTER_PRIMARY_STAT_IS_11 | true/false | false | If enabled, check when a character's first level class is a spellcaster, if their primary casting stat is >= 11. | 
This plugin adds the following events which can be subscribed to with NWNX_Events.
NWNX_ON_ELC_VALIDATE_CHARACTER_BEFORE
NWNX_ON_ELC_VALIDATE_CHARACTER_AFTER
OBJECT_SELF is the player object, the _AFTER event only runs if the character successfully validates.
| Files | |
| file | nwnx_elc.nss | 
| Functions | |
| void | NWNX_ELC_SetELCScript (string sScript) | 
| Sets the script that runs whenever an ELC validation failure happens.  More... | |
| void | NWNX_ELC_EnableCustomELCCheck (int bEnabled) | 
| Enables a custom ELC Check that will call the ELC Script with the NWNX_ELC_VALIDATION_FAILURE_TYPE_CUSTOM type.  More... | |
| void | NWNX_ELC_SkipValidationFailure () | 
| Skip an ELC Validation Failure Event.  More... | |
| int | NWNX_ELC_GetValidationFailureType () | 
| Get the validation failure type.  More... | |
| int | NWNX_ELC_GetValidationFailureSubType () | 
| Get the validation failure subtype.  More... | |
| int | NWNX_ELC_GetValidationFailureMessageStrRef () | 
| Get the failure message.  More... | |
| void | NWNX_ELC_SetValidationFailureMessageStrRef (int nStrRef) | 
| Set the failure message.  More... | |
| object | NWNX_ELC_GetValidationFailureItem () | 
| Get the item that failed ILR validation.  More... | |
| int | NWNX_ELC_GetValidationFailureLevel () | 
| Get the character level at which the validation failure occurred.  More... | |
| int | NWNX_ELC_GetValidationFailureSkillID () | 
| Get the ID of the skill that failed ELC validation.  More... | |
| int | NWNX_ELC_GetValidationFailureFeatID () | 
| Get the ID of the feat that failed ELC validation.  More... | |
| int | NWNX_ELC_GetValidationFailureSpellID () | 
| Get the ID of the spell that failed ELC validation.  More... | |
| void NWNX_ELC_SetELCScript | ( | string | sScript | ) | 
Sets the script that runs whenever an ELC validation failure happens.
| sScript | The script name. | 
Definition at line 147 of file nwnx_elc.nss.
| void NWNX_ELC_EnableCustomELCCheck | ( | int | bEnabled | ) | 
Enables a custom ELC Check that will call the ELC Script with the NWNX_ELC_VALIDATION_FAILURE_TYPE_CUSTOM type.
| bEnabled | TRUE to use this check. | 
Definition at line 153 of file nwnx_elc.nss.
| void NWNX_ELC_SkipValidationFailure | ( | ) | 
Skip an ELC Validation Failure Event.
Definition at line 159 of file nwnx_elc.nss.
| int NWNX_ELC_GetValidationFailureType | ( | ) | 
Get the validation failure type.
Definition at line 164 of file nwnx_elc.nss.
| int NWNX_ELC_GetValidationFailureSubType | ( | ) | 
Get the validation failure subtype.
Definition at line 170 of file nwnx_elc.nss.
| int NWNX_ELC_GetValidationFailureMessageStrRef | ( | ) | 
Get the failure message.
Definition at line 176 of file nwnx_elc.nss.
| void NWNX_ELC_SetValidationFailureMessageStrRef | ( | int | nStrRef | ) | 
Set the failure message.
| nStrRef | The talk table strref the player receives, must be > 0. | 
Definition at line 182 of file nwnx_elc.nss.
| object NWNX_ELC_GetValidationFailureItem | ( | ) | 
Get the item that failed ILR validation.
Definition at line 188 of file nwnx_elc.nss.
| int NWNX_ELC_GetValidationFailureLevel | ( | ) | 
Get the character level at which the validation failure occurred.
Definition at line 194 of file nwnx_elc.nss.
| int NWNX_ELC_GetValidationFailureSkillID | ( | ) | 
Get the ID of the skill that failed ELC validation.
Definition at line 200 of file nwnx_elc.nss.
| int NWNX_ELC_GetValidationFailureFeatID | ( | ) | 
Get the ID of the feat that failed ELC validation.
Definition at line 206 of file nwnx_elc.nss.
| int NWNX_ELC_GetValidationFailureSpellID | ( | ) | 
Get the ID of the spell that failed ELC validation.
Definition at line 212 of file nwnx_elc.nss.
| const int NWNX_ELC_VALIDATION_FAILURE_TYPE_NONE = 0 | 
Definition at line 12 of file nwnx_elc.nss.
| const int NWNX_ELC_VALIDATION_FAILURE_TYPE_CHARACTER = 1 | 
Definition at line 13 of file nwnx_elc.nss.
| const int NWNX_ELC_VALIDATION_FAILURE_TYPE_ITEM = 2 | 
Definition at line 14 of file nwnx_elc.nss.
| const int NWNX_ELC_VALIDATION_FAILURE_TYPE_SKILL = 3 | 
Definition at line 15 of file nwnx_elc.nss.
| const int NWNX_ELC_VALIDATION_FAILURE_TYPE_FEAT = 4 | 
Definition at line 16 of file nwnx_elc.nss.
| const int NWNX_ELC_VALIDATION_FAILURE_TYPE_SPELL = 5 | 
Definition at line 17 of file nwnx_elc.nss.
| const int NWNX_ELC_VALIDATION_FAILURE_TYPE_CUSTOM = 6 | 
Definition at line 18 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_NONE = 0 | 
Definition at line 24 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_SERVER_LEVEL_RESTRICTION = 1 | 
Definition at line 25 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_LEVEL_HACK = 2 | 
Definition at line 26 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_COLORED_NAME = 3 | 
Definition at line 27 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_UNIDENTIFIED_EQUIPPED_ITEM = 4 | 
Definition at line 28 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_MIN_EQUIP_LEVEL = 5 | 
Definition at line 29 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_NON_PC_CHARACTER = 6 | 
Definition at line 30 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_DM_CHARACTER = 7 | 
Definition at line 31 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_NON_PLAYER_RACE = 8 | 
Definition at line 32 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_NON_PLAYER_CLASS = 9 | 
Definition at line 33 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_CLASS_LEVEL_RESTRICTION = 10 | 
Definition at line 34 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_PRESTIGE_CLASS_REQUIREMENTS = 11 | 
Definition at line 35 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_CLASS_ALIGNMENT_RESTRICTION = 12 | 
Definition at line 36 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_STARTING_ABILITY_VALUE_MAX = 13 | 
Definition at line 37 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_ABILITY_POINT_BUY_SYSTEM_CALCULATION = 14 | 
Definition at line 38 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_CLASS_SPELLCASTER_INVALID_PRIMARY_STAT = 15 | 
Definition at line 39 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_EPIC_LEVEL_FLAG = 16 | 
Definition at line 40 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_TOO_MANY_HITPOINTS = 17 | 
Definition at line 41 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_UNUSABLE_SKILL = 18 | 
Definition at line 42 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_NOT_ENOUGH_SKILLPOINTS = 19 | 
Definition at line 43 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_INVALID_NUM_RANKS_IN_CLASS_SKILL = 20 | 
Definition at line 44 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_INVALID_NUM_RANKS_IN_NON_CLASS_SKILL = 21 | 
Definition at line 45 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_INVALID_NUM_REMAINING_SKILL_POINTS = 22 | 
Definition at line 46 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_INVALID_FEAT = 23 | 
Definition at line 47 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_FEAT_REQUIRED_SPELL_LEVEL_NOT_MET = 24 | 
Definition at line 48 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_FEAT_REQUIRED_BASE_ATTACK_BONUS_NOT_MET = 25 | 
Definition at line 49 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_FEAT_REQUIRED_ABILITY_VALUE_NOT_MET = 26 | 
Definition at line 50 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_FEAT_REQUIRED_SKILL_NOT_MET = 27 | 
Definition at line 51 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_FEAT_REQUIRED_FEAT_NOT_MET = 28 | 
Definition at line 52 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_TOO_MANY_FEATS_THIS_LEVEL = 29 | 
Definition at line 53 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_FEAT_NOT_AVAILABLE_TO_CLASS = 30 | 
Definition at line 54 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_FEAT_IS_NORMAL_FEAT_ONLY = 31 | 
Definition at line 55 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_FEAT_IS_BONUS_FEAT_ONLY = 32 | 
Definition at line 56 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_SPELL_INVALID_SPELL_GAIN_WIZARD = 33 | 
Definition at line 57 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_SPELL_INVALID_SPELL_GAIN_BARD_SORCERER = 34 | 
Definition at line 58 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_SPELL_INVALID_SPELL_GAIN_OTHER_CLASSES = 35 | 
Definition at line 59 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_INVALID_SPELL = 36 | 
Definition at line 60 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_SPELL_INVALID_SPELL_LEVEL = 37 | 
Definition at line 61 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_SPELL_MINIMUM_ABILITY = 40 | 
Definition at line 62 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_SPELL_RESTRICTED_SPELL_SCHOOL = 41 | 
Definition at line 63 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_SPELL_ALREADY_KNOWN = 42 | 
Definition at line 64 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_SPELL_WIZARD_EXCEEDS_NUMSPELLS_TO_ADD = 43 | 
Definition at line 65 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_ILLEGAL_REMOVED_SPELL = 44 | 
Definition at line 66 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_REMOVED_NOT_KNOWN_SPELL = 45 | 
Definition at line 67 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_INVALID_NUM_SPELLS = 46 | 
Definition at line 68 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_SPELL_LIST_COMPARISON = 47 | 
Definition at line 69 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_SKILL_LIST_COMPARISON = 48 | 
Definition at line 70 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_FEAT_LIST_COMPARISON = 49 | 
Definition at line 71 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_MISC_SAVING_THROW = 50 | 
Definition at line 72 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_NUM_FEAT_COMPARISON = 51 | 
Definition at line 73 of file nwnx_elc.nss.
| const int NWNX_ELC_SUBTYPE_NUM_MULTICLASS = 52 | 
Definition at line 74 of file nwnx_elc.nss.