diff --git a/evennia/contrib/base_systems/custom_gametime/custom_gametime.py b/evennia/contrib/base_systems/custom_gametime/custom_gametime.py index 5611580187..33588deca9 100644 --- a/evennia/contrib/base_systems/custom_gametime/custom_gametime.py +++ b/evennia/contrib/base_systems/custom_gametime/custom_gametime.py @@ -328,4 +328,4 @@ class GametimeScript(DefaultScript): callback() seconds = real_seconds_until(**self.db.gametime) - self.restart(interval=seconds) + self.start(interval=seconds,force_restart=True) diff --git a/evennia/utils/containers.py b/evennia/utils/containers.py index 85678ee03e..9a97e03ed0 100644 --- a/evennia/utils/containers.py +++ b/evennia/utils/containers.py @@ -167,7 +167,6 @@ class GlobalScriptContainer(Container): # store a hash representation of the setup script.attributes.add("_global_script_settings", compare_hash, category="settings_hash") - script.start() return script @@ -183,9 +182,12 @@ class GlobalScriptContainer(Container): # populate self.typeclass_storage self.load_data() - # start registered scripts + # make sure settings-defined scripts are loaded for key in self.loaded_data: self._load_script(key) + # start all global scripts + for script in self._get_scripts(): + script.start() def load_data(self): """ diff --git a/evennia/utils/gametime.py b/evennia/utils/gametime.py index 0e6358285c..ab14c77847 100644 --- a/evennia/utils/gametime.py +++ b/evennia/utils/gametime.py @@ -67,7 +67,7 @@ class TimeScript(DefaultScript): callback(*args, **kwargs) seconds = real_seconds_until(**self.db.gametime) - self.restart(interval=seconds) + self.start(interval=seconds,force_restart=True) # Access functions