<spanid="evennia-scripts-manager"></span><h1>evennia.scripts.manager<aclass="headerlink"href="#module-evennia.scripts.manager"title="Permalink to this headline">¶</a></h1>
<p>The custom manager for Scripts.</p>
<dlclass="py class">
<dtid="evennia.scripts.manager.ScriptManager">
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.scripts.manager.</code><codeclass="sig-name descname">ScriptManager</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptManager"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptManager"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.scripts.manager.</code><codeclass="sig-name descname">ScriptDBManager</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_all_scripts_on_obj</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em>, <emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.get_all_scripts_on_obj"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.get_all_scripts_on_obj"title="Permalink to this definition">¶</a></dt>
<dd><p>Find all Scripts related to a particular object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>obj</strong> (<em>Object</em>) – Object whose Scripts we are looking for.</p></li>
<li><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) – Script identifier - can be given as a
dbref or name string. If given, only scripts matching the
<codeclass="sig-name descname">get_all_scripts</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.get_all_scripts"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.get_all_scripts"title="Permalink to this definition">¶</a></dt>
<dd><p>Get all scripts in the database.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>key</strong> (<em>str</em><em> or </em><em>int</em><em>, </em><em>optional</em>) – Restrict result to only those
with matching key or dbref.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>scripts (list)</em>– All scripts found, or those matching <strong>key</strong>.</p>
<codeclass="sig-name descname">delete_script</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">dbref</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.delete_script"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.delete_script"title="Permalink to this definition">¶</a></dt>
<dd><p>This stops and deletes a specific script directly from the
<codeclass="sig-name descname">remove_non_persistent</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.remove_non_persistent"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.remove_non_persistent"title="Permalink to this definition">¶</a></dt>
<dd><p>This cleans up the script database of all non-persistent
scripts. It is called every time the server restarts.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – Only remove non-persistent scripts
<codeclass="sig-name descname">validate</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">scripts</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">dbref</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">init_mode</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.validate"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.validate"title="Permalink to this definition">¶</a></dt>
<dd><p>This will step through the script database and make sure
all objects run scripts that are still valid in the context
they are in. This is called by the game engine at regular
intervals but can also be initiated by player scripts.</p>
<p>Only one of the arguments are supposed to be supplied
at a time, since they are exclusive to each other.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>scripts</strong> (<em>list</em><em>, </em><em>optional</em>) – A list of script objects to
validate.</p></li>
<li><p><strong>obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – Validate only scripts defined on
this object.</p></li>
<li><p><strong>key</strong> (<em>str</em>) – Validate only scripts with this key.</p></li>
<li><p><strong>dbref</strong> (<em>int</em>) – Validate only the single script with this
particular id.</p></li>
<li><p><strong>init_mode</strong> (<em>str</em><em>, </em><em>optional</em>) – This is used during server
upstart and can have three values:
- <strong>None</strong> (no init mode). Called during run.
- <strong>“reset”</strong> - server reboot. Kill non-persistent scripts
- <strong>“reload”</strong> - server reload. Keep non-persistent scripts.</p></li>
<codeclass="sig-name descname">search_script</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ostring</span></em>, <emclass="sig-param"><spanclass="n">obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">only_timed</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="n">typeclass</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.search_script"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.search_script"title="Permalink to this definition">¶</a></dt>
<dd><p>Search for a particular script.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>ostring</strong> (<em>str</em>) – Search criterion - a script dbef or key.</p></li>
<li><p><strong>obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – Limit search to scripts defined on
this object</p></li>
<li><p><strong>only_timed</strong> (<em>bool</em>) – Limit search only to scripts that run
on a timer.</p></li>
<li><p><strong>typeclass</strong> (<em>class</em><em> or </em><em>str</em>) – Typeclass or path to typeclass.</p></li>
<codeclass="sig-name descname">script_search</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ostring</span></em>, <emclass="sig-param"><spanclass="n">obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">only_timed</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="n">typeclass</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.script_search"title="Permalink to this definition">¶</a></dt>
<dd><p>Search for a particular script.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>ostring</strong> (<em>str</em>) – Search criterion - a script dbef or key.</p></li>
<li><p><strong>obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – Limit search to scripts defined on
this object</p></li>
<li><p><strong>only_timed</strong> (<em>bool</em>) – Limit search only to scripts that run
on a timer.</p></li>
<li><p><strong>typeclass</strong> (<em>class</em><em> or </em><em>str</em>) – Typeclass or path to typeclass.</p></li>
<codeclass="sig-name descname">copy_script</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">original_script</span></em>, <emclass="sig-param"><spanclass="n">new_key</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">new_obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">new_locks</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.copy_script"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.copy_script"title="Permalink to this definition">¶</a></dt>
<dd><p>Make an identical copy of the original_script.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>original_script</strong> (<em>Script</em>) – The Script to copy.</p></li>
<li><p><strong>new_key</strong> (<em>str</em><em>, </em><em>optional</em>) – Rename the copy.</p></li>
<li><p><strong>new_obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – Place copy on different Object.</p></li>
<li><p><strong>new_locks</strong> (<em>str</em><em>, </em><em>optional</em>) – Give copy different locks from