evennia/docs/3.x/api/evennia.scripts.scripthandler.html
2023-12-21 00:12:31 +01:00

280 lines
No EOL
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>evennia.scripts.scripthandler &#8212; Evennia 3.x documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="evennia.scripts.scripts" href="evennia.scripts.scripts.html" />
<link rel="prev" title="evennia.scripts.monitorhandler" href="evennia.scripts.monitorhandler.html" />
</head><body>
<div class="admonition important">
<p class="first admonition-title">Note</p>
<p class="last">You are reading an old version of the Evennia documentation. <a href="https://www.evennia.com/docs/latest/index.html">The latest version is here</a></p>.
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.scripts.scripts.html" title="evennia.scripts.scripts"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.scripts.monitorhandler.html" title="evennia.scripts.monitorhandler"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 3.x</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.scripts.html" accesskey="U">evennia.scripts</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.scripts.scripthandler</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.scripts.monitorhandler.html"
title="previous chapter">evennia.scripts.monitorhandler</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.scripts.scripts.html"
title="next chapter">evennia.scripts.scripts</a></p>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.scripts.scripthandler.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
</div>
</div>
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.scripts.scripthandler">
<span id="evennia-scripts-scripthandler"></span><h1>evennia.scripts.scripthandler<a class="headerlink" href="#module-evennia.scripts.scripthandler" title="Permalink to this headline"></a></h1>
<p>The script handler makes sure to check through all stored scripts to
make sure they are still relevant. A scripthandler is automatically
added to all game objects. You access it through the property
<strong>scripts</strong> on the game object.</p>
<dl class="py class">
<dt id="evennia.scripts.scripthandler.ScriptHandler">
<em class="property">class </em><code class="sig-prename descclassname">evennia.scripts.scripthandler.</code><code class="sig-name descname">ScriptHandler</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">obj</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.scripthandler.ScriptHandler" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Implements the handler. This sits on each game object.</p>
<dl class="py method">
<dt id="evennia.scripts.scripthandler.ScriptHandler.__init__">
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">obj</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.scripthandler.ScriptHandler.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Set up internal state.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>obj</strong> (<em>Object</em>) A reference to the object this handler is
attached to.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.scripts.scripthandler.ScriptHandler.add">
<code class="sig-name descname">add</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">scriptclass</span></em>, <em class="sig-param"><span class="n">key</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">autostart</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.add"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.scripthandler.ScriptHandler.add" title="Permalink to this definition"></a></dt>
<dd><p>Add a script to this object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>scriptclass</strong> (<em>Scriptclass</em><em>, </em><em>Script</em><em> or </em><em>str</em>) Either a class
object inheriting from DefaultScript, an instantiated
script object or a python path to such a class object.</p></li>
<li><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) Identifier for the script (often set
in script definition and listings)</p></li>
<li><p><strong>autostart</strong> (<em>bool</em><em>, </em><em>optional</em>) Start the script upon adding it.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>Script</em> The newly created Script.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.scripts.scripthandler.ScriptHandler.start">
<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">key</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.scripthandler.ScriptHandler.start" title="Permalink to this definition"></a></dt>
<dd><p>Find scripts and force-start them</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>key</strong> (<em>str</em>) The scripts key or dbref.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>nr_started (int)</em> The number of started scripts found.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.scripts.scripthandler.ScriptHandler.has">
<code class="sig-name descname">has</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">key</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.has"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.scripthandler.ScriptHandler.has" title="Permalink to this definition"></a></dt>
<dd><p>Determine if a given script exists on this object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>key</strong> (<em>str</em>) Search criterion, the scripts key or dbref.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>bool</em> If the script exists or not.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.scripts.scripthandler.ScriptHandler.get">
<code class="sig-name descname">get</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">key</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.get"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.scripthandler.ScriptHandler.get" title="Permalink to this definition"></a></dt>
<dd><p>Search scripts on this object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>key</strong> (<em>str</em>) Search criterion, the scripts key or dbref.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>scripts (queryset)</em> The found scripts matching <strong>key</strong>.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.scripts.scripthandler.ScriptHandler.remove">
<code class="sig-name descname">remove</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">key</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.remove"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.scripthandler.ScriptHandler.remove" title="Permalink to this definition"></a></dt>
<dd><p>Forcibly delete a script from this object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) A script key or the path to a script (in the
latter case all scripts with this path will be deleted!)
If no key is given, delete <em>all</em> scripts on the object!</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.scripts.scripthandler.ScriptHandler.delete">
<code class="sig-name descname">delete</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">key</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.scripts.scripthandler.ScriptHandler.delete" title="Permalink to this definition"></a></dt>
<dd><p>Forcibly delete a script from this object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) A script key or the path to a script (in the
latter case all scripts with this path will be deleted!)
If no key is given, delete <em>all</em> scripts on the object!</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.scripts.scripthandler.ScriptHandler.stop">
<code class="sig-name descname">stop</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">key</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.scripts.scripthandler.ScriptHandler.stop" title="Permalink to this definition"></a></dt>
<dd><p>Forcibly delete a script from this object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) A script key or the path to a script (in the
latter case all scripts with this path will be deleted!)
If no key is given, delete <em>all</em> scripts on the object!</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.scripts.scripthandler.ScriptHandler.all">
<code class="sig-name descname">all</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.all"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.scripthandler.ScriptHandler.all" title="Permalink to this definition"></a></dt>
<dd><p>Get all scripts stored in this handler.</p>
</dd></dl>
</dd></dl>
</section>
</div>
</div>
</div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.scripts.scripts.html" title="evennia.scripts.scripts"
>next</a> |</li>
<li class="right" >
<a href="evennia.scripts.monitorhandler.html" title="evennia.scripts.monitorhandler"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 3.x</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.scripts.html" >evennia.scripts</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.scripts.scripthandler</a></li>
</ul>
</div>
<div class="admonition important">
<p class="first admonition-title">Note</p>
<p class="last">You are reading an old version of the Evennia documentation. <a href="https://www.evennia.com/docs/latest/index.html">The latest version is here</a></p>.
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2023, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>