evennia/docs/1.0-dev/api/evennia.scripts.scripthandler.html
2020-11-14 11:55:52 +01:00

220 lines
No EOL
13 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" />
<title>evennia.scripts.scripthandler &#8212; Evennia 1.0-dev 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" />
</head><body>
<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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.scripts.scripthandler</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="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>
</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.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 (list)</em> The found scripts matching <strong>key</strong>.</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="reference internal" href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.delete"><span class="viewcode-link">[source]</span></a><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>
<dl class="py method">
<dt id="evennia.scripts.scripthandler.ScriptHandler.validate">
<code class="sig-name descname">validate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">init_mode</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.validate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.scripts.scripthandler.ScriptHandler.validate" title="Permalink to this definition"></a></dt>
<dd><p>Runs a validation on this objects scripts only. This should
be called regularly to crank the wheels.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>init_mode</strong> (<em>str</em><em>, </em><em>optional</em>) <ul class="simple">
<li><p>This is used during server</p></li>
</ul>
<p>upstart and can have three values:
- <strong>False</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>
</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</div>
<div class="clearer"></div>
</div>
</div>
</div>
<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>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.scripts.scripthandler.rst.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div>
<h3>Versions</h3>
<ul>
<li><a href="evennia.scripts.scripthandler.html">1.0-dev (develop branch)</a></li>
<li><a href="../../0.9.5/api/evennia.scripts.scripthandler.html">0.9.5 (master branch)</a></li>
</ul>
</div>
</div>
<div class="clearer"></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="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.scripts.scripthandler</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2020, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>