diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/map/npc.c | 4 | ||||
-rw-r--r-- | src/map/script.c | 2 | ||||
-rw-r--r-- | src/map/script.h | 1 |
3 files changed, 6 insertions, 1 deletions
diff --git a/src/map/npc.c b/src/map/npc.c index 570305ba1..2f03623e4 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -390,7 +390,9 @@ static int npc_event_export(struct npc_data *nd, int i) lname = nd->u.scr.label_list[i].name; pos = nd->u.scr.label_list[i].pos; - if ((nd->u.scr.label_list[i].flags & LABEL_IS_EXTERN) != 0 && (nd->u.scr.label_list[i].flags & LABEL_IS_USERFUNC) == 0) { + if ((nd->u.scr.label_list[i].flags & LABEL_IS_EXTERN) != 0 + && ((nd->u.scr.label_list[i].flags & LABEL_IS_USERFUNC) == 0 + || script->config.functions_as_events)) { struct event_data *ev; struct linkdb_node **label_linkdb = NULL; char buf[EVENT_NAME_LENGTH]; diff --git a/src/map/script.c b/src/map/script.c index 6f21f2a82..bf9348645 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -4973,6 +4973,7 @@ static bool script_config_read(const char *filename, bool imported) libconfig->setting_lookup_bool_real(setting, "warn_func_mismatch_paramnum", &script->config.warn_func_mismatch_paramnum); libconfig->setting_lookup_bool_real(setting, "warn_func_mismatch_argtypes", &script->config.warn_func_mismatch_argtypes); libconfig->setting_lookup_bool_real(setting, "functions_private_by_default", &script->config.functions_private_by_default); + libconfig->setting_lookup_bool_real(setting, "functions_as_events", &script->config.functions_as_events); libconfig->setting_lookup_int(setting, "check_cmdcount", &script->config.check_cmdcount); libconfig->setting_lookup_int(setting, "check_gotocount", &script->config.check_gotocount); libconfig->setting_lookup_int(setting, "input_min_value", &script->config.input_min_value); @@ -28576,6 +28577,7 @@ void script_defaults(void) script->config.ontouch2_name = "OnTouch"; //ontouch2_name (run whenever a char walks into the OnTouch area) script->config.onuntouch_name = "OnUnTouch"; //onuntouch_name (run whenever a char walks from the OnTouch area) script->config.functions_private_by_default = true; + script->config.functions_as_events = false; // for ENABLE_CASE_CHECK script->calc_hash_ci = calc_hash_ci; diff --git a/src/map/script.h b/src/map/script.h index 0a6a21f1b..5a031e9f5 100644 --- a/src/map/script.h +++ b/src/map/script.h @@ -585,6 +585,7 @@ struct Script_Config { bool warn_func_mismatch_argtypes; bool warn_func_mismatch_paramnum; bool functions_private_by_default; + bool functions_as_events; int check_cmdcount; int check_gotocount; int input_min_value; |