@coandco: That's new. Can you duplicate this issue and then open both your vardefaults.txt and vars_<myname>.txt files and tell me the values of that setting in each file?
@txrangersxx: Funny because it works for me without vprops installed. 
@Theraze: Aha. This bit of ZLib loads the defaults into another global map called vardefaults:
PHP Code:
record singlesettingdefault {
string type; // int, string, boolean, etc. (later can be "list of X" or filter/mask)
string val; // default value as initialized in setvar
string init; // use date for now to form groups; ideally establishing script
};
static {
singlesettingdefault[string] vardefaults; // stores all script setting default values
file_to_map("vars_defaults.txt",vardefaults);
}
So for cases where you were checking vars[] for x, you'll have to check both. This ought to behave like your previous function did:
PHP Code:
boolean var_check(string vari) {
if(vars contains vari || vardefaults contains vari)
return getvar(vari).to_boolean();
return false;
}
If these variables aren't being set with setvar() though, there's no need to change anything, since they will never be present in vardefaults[].
This is much cleaner:
PHP Code:
boolean var_check(string vari) {
return getvar(vari).to_boolean();
}
but as you mentioned it does output those verbosity 4 alerts when trying to access settings that don't exist in either vars or vardefaults. That's a rather unorthodox use of script settings and would probably be better suited to a separate data file (imagine if BatBrain tracked happenings in ZLib vars, haha), so I'm not going to remove that friendly warning message as it is helpful for all the more "intended" uses.