<spanid="evennia-contrib-base-systems-ingame-python-scripts"></span><h1>evennia.contrib.base_systems.ingame_python.scripts<aclass="headerlink"href="#module-evennia.contrib.base_systems.ingame_python.scripts"title="Link to this heading">¶</a></h1>
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.contrib.base_systems.ingame_python.scripts.</span></span><spanclass="sig-name descname"><spanclass="pre">EventHandler</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#EventHandler"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">at_script_creation</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#EventHandler.at_script_creation"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.at_script_creation"title="Link to this definition">¶</a></dt>
<dd><p>Hook called when the script is created.</p>
<spanclass="sig-name descname"><spanclass="pre">at_server_start</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#EventHandler.at_server_start"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.at_server_start"title="Link to this definition">¶</a></dt>
<dd><p>Set up the event system when starting.</p>
<p>Note that this hook is called every time the server restarts
(including when it’s reloaded). This hook performs the following
<spanclass="sig-name descname"><spanclass="pre">get_events</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">obj</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#EventHandler.get_events"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.get_events"title="Link to this definition">¶</a></dt>
<dd><p>Return a dictionary of events on this object.</p>
<spanclass="sig-name descname"><spanclass="pre">get_variable</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">variable_name</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#EventHandler.get_variable"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.get_variable"title="Link to this definition">¶</a></dt>
<dd><p>Return the variable defined in the locals.</p>
<p>This can be very useful to check the value of a variable that can be modified in an event, and whose value will be used in code. This system allows additional customization.</p>
<spanclass="sig-name descname"><spanclass="pre">get_callbacks</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">obj</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#EventHandler.get_callbacks"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.get_callbacks"title="Link to this definition">¶</a></dt>
<dd><p>Return a dictionary of the object’s callbacks.</p>
<spanclass="sig-name descname"><spanclass="pre">del_callback</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">obj</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">callback_name</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">number</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#EventHandler.del_callback"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.del_callback"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">accept_callback</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">obj</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">callback_name</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">number</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#EventHandler.accept_callback"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.accept_callback"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">call</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">obj</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">callback_name</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#EventHandler.call"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.call"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">handle_error</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">callback</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">trace</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#EventHandler.handle_error"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.handle_error"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">set_task</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">seconds</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">obj</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">callback_name</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#EventHandler.set_task"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.set_task"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="k"><spanclass="pre">exception</span></span><spanclass="w"></span></em><spanclass="sig-name descname"><spanclass="pre">DoesNotExist</span></span><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.DoesNotExist"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="k"><spanclass="pre">exception</span></span><spanclass="w"></span></em><spanclass="sig-name descname"><spanclass="pre">MultipleObjectsReturned</span></span><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.MultipleObjectsReturned"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="k"><spanclass="pre">exception</span></span><spanclass="w"></span></em><spanclass="sig-name descname"><spanclass="pre">NotUpdated</span></span><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.NotUpdated"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">path</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">'evennia.contrib.base_systems.ingame_python.scripts.EventHandler'</span></em><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.path"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">typename</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">'EventHandler'</span></em><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.EventHandler.typename"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.contrib.base_systems.ingame_python.scripts.</span></span><spanclass="sig-name descname"><spanclass="pre">TimeEventScript</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#TimeEventScript"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.TimeEventScript"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">at_script_creation</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#TimeEventScript.at_script_creation"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.TimeEventScript.at_script_creation"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">at_repeat</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#TimeEventScript.at_repeat"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.TimeEventScript.at_repeat"title="Link to this definition">¶</a></dt>
<dd><p>Call the event and reset interval.</p>
<p>It is necessary to restart the script to reset its interval
only twice after a reload. When the script has undergone
down time, there’s usually a slight shift in game time. Once
the script restarts once, it will set the average time it
needs for all its future intervals and should not need to be
restarted. In short, a script that is created shouldn’t need
to restart more than once, and a script that is reloaded should
<emclass="property"><spanclass="k"><spanclass="pre">exception</span></span><spanclass="w"></span></em><spanclass="sig-name descname"><spanclass="pre">DoesNotExist</span></span><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.TimeEventScript.DoesNotExist"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="k"><spanclass="pre">exception</span></span><spanclass="w"></span></em><spanclass="sig-name descname"><spanclass="pre">MultipleObjectsReturned</span></span><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.TimeEventScript.MultipleObjectsReturned"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="k"><spanclass="pre">exception</span></span><spanclass="w"></span></em><spanclass="sig-name descname"><spanclass="pre">NotUpdated</span></span><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.TimeEventScript.NotUpdated"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">path</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">'evennia.contrib.base_systems.ingame_python.scripts.TimeEventScript'</span></em><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.TimeEventScript.path"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">typename</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">'TimeEventScript'</span></em><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.TimeEventScript.typename"title="Link to this definition">¶</a></dt>
<spanclass="sig-prename descclassname"><spanclass="pre">evennia.contrib.base_systems.ingame_python.scripts.</span></span><spanclass="sig-name descname"><spanclass="pre">complete_task</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">task_id</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/base_systems/ingame_python/scripts.html#complete_task"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.contrib.base_systems.ingame_python.scripts.complete_task"title="Link to this definition">¶</a></dt>
<dd><p>Mark the task in the event handler as complete.</p>