evennia/docs/latest/api/evennia.contrib.base_systems.ingame_python.eventfuncs.html
Evennia docbuilder action 243d596662 Updated HTML docs.
2025-08-15 18:14:21 +00:00

249 lines
No EOL
14 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 lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>evennia.contrib.base_systems.ingame_python.eventfuncs &#8212; Evennia latest documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d75fae25" />
<link rel="stylesheet" type="text/css" href="../_static/nature.css?v=279e0f84" />
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=e4a91a55" />
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="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.contrib.base_systems.ingame_python.scripts" href="evennia.contrib.base_systems.ingame_python.scripts.html" />
<link rel="prev" title="evennia.contrib.base_systems.ingame_python.commands" href="evennia.contrib.base_systems.ingame_python.commands.html" />
</head><body>
<div class="related" role="navigation" aria-label="Related">
<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.contrib.base_systems.ingame_python.scripts.html" title="evennia.contrib.base_systems.ingame_python.scripts"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.contrib.base_systems.ingame_python.commands.html" title="evennia.contrib.base_systems.ingame_python.commands"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</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.contrib.html" >evennia.contrib</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.contrib.base_systems.html" >evennia.contrib.base_systems</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.contrib.base_systems.ingame_python.html" accesskey="U">evennia.contrib.base_systems.ingame_python</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.base_systems.ingame_python.eventfuncs</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.contrib.base_systems.ingame_python.eventfuncs">
<span id="evennia-contrib-base-systems-ingame-python-eventfuncs"></span><h1>evennia.contrib.base_systems.ingame_python.eventfuncs<a class="headerlink" href="#module-evennia.contrib.base_systems.ingame_python.eventfuncs" title="Link to this heading"></a></h1>
<p>Module defining basic eventfuncs for the event system.</p>
<p>Eventfuncs are just Python functions that can be used inside of calllbacks.</p>
<dl class="py function">
<dt class="sig sig-object py" id="evennia.contrib.base_systems.ingame_python.eventfuncs.deny">
<span class="sig-prename descclassname"><span class="pre">evennia.contrib.base_systems.ingame_python.eventfuncs.</span></span><span class="sig-name descname"><span class="pre">deny</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/base_systems/ingame_python/eventfuncs.html#deny"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.base_systems.ingame_python.eventfuncs.deny" title="Link to this definition"></a></dt>
<dd><p>Deny, that is stop, the callback here.</p>
<p class="rubric">Notes</p>
<p>This function will raise an exception to terminate the callback
in a controlled way. If you use this function in an event called
prior to a command, the command will be cancelled as well. Good
situations to use the <strong>deny()</strong> function are in events that begins
by <strong>can_</strong>, because they usually can be cancelled as easily as that.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="evennia.contrib.base_systems.ingame_python.eventfuncs.get">
<span class="sig-prename descclassname"><span class="pre">evennia.contrib.base_systems.ingame_python.eventfuncs.</span></span><span class="sig-name descname"><span class="pre">get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/base_systems/ingame_python/eventfuncs.html#get"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.base_systems.ingame_python.eventfuncs.get" title="Link to this definition"></a></dt>
<dd><p>Return an object with the given search option or None if None is found.</p>
<dl class="field-list simple">
<dt class="field-odd">Keyword Arguments<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>property</strong> (<em>Any searchable data or</em>)</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The object found that meet these criteria for research, or
None if none is found.</p>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>This function is very useful to retrieve objects with a specific
ID. You know that room #32 exists, but you dont have it in
the callback variables. Quite simple:</p>
<blockquote>
<div><p>room = get(id=32)</p>
</div></blockquote>
<p>This function doesnt perform a search on objects, but a direct
search in the database. Its recommended to use it for objects
you know exist, using their IDs or other unique attributes.
Looking for objects by key is possible (use <strong>db_key</strong> as an
argument) but remember several objects can share the same key.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="evennia.contrib.base_systems.ingame_python.eventfuncs.call_event">
<span class="sig-prename descclassname"><span class="pre">evennia.contrib.base_systems.ingame_python.eventfuncs.</span></span><span class="sig-name descname"><span class="pre">call_event</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obj</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">event_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seconds</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/base_systems/ingame_python/eventfuncs.html#call_event"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.base_systems.ingame_python.eventfuncs.call_event" title="Link to this definition"></a></dt>
<dd><p>Call the specified event in X seconds.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>obj</strong> (<em>Object</em>) the typeclassed object containing the event.</p></li>
<li><p><strong>event_name</strong> (<em>str</em>) the event name to be called.</p></li>
<li><p><strong>seconds</strong> (<em>int</em><em> or </em><em>float</em>) the number of seconds to wait before calling
the event.</p></li>
</ul>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>This eventfunc can be used to call other events from inside of an
event in a given time. This will create a pause between events. This
will not freeze the game, and you can expect characters to move
around (unless you prevent them from doing so).</p>
<p>Variables that are accessible in your event using call() will be
kept and passed on to the event to call.</p>
<p>Chained callbacks are designed for this very purpose: they
are never called automatically by the game, rather, they need
to be called from inside another event.</p>
</dd></dl>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo of Evennia"/>
</a></p>
<search 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" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">evennia.contrib.base_systems.ingame_python.eventfuncs</a><ul>
<li><a class="reference internal" href="#evennia.contrib.base_systems.ingame_python.eventfuncs.deny"><code class="docutils literal notranslate"><span class="pre">deny()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.base_systems.ingame_python.eventfuncs.get"><code class="docutils literal notranslate"><span class="pre">get()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.base_systems.ingame_python.eventfuncs.call_event"><code class="docutils literal notranslate"><span class="pre">call_event()</span></code></a></li>
</ul>
</li>
</ul>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.contrib.base_systems.ingame_python.commands.html"
title="previous chapter">evennia.contrib.base_systems.ingame_python.commands</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.contrib.base_systems.ingame_python.scripts.html"
title="next chapter">evennia.contrib.base_systems.ingame_python.scripts</a></p>
</div>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.contrib.base_systems.ingame_python.eventfuncs.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>
<h3>Doc Versions</h3>
<ul>
<li>
<a href="https://www.evennia.com/docs/latest/index.html">latest (main branch)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/5.x/index.html">v5.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/4.x/index.html">v4.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/3.x/index.html">v3.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/2.x/index.html">v2.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/1.x/index.html">v1.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/0.x/index.html">v0.9.5 branch (outdated)</a>
</li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="Related">
<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.contrib.base_systems.ingame_python.scripts.html" title="evennia.contrib.base_systems.ingame_python.scripts"
>next</a> |</li>
<li class="right" >
<a href="evennia.contrib.base_systems.ingame_python.commands.html" title="evennia.contrib.base_systems.ingame_python.commands"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</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.contrib.html" >evennia.contrib</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.contrib.base_systems.html" >evennia.contrib.base_systems</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.contrib.base_systems.ingame_python.html" >evennia.contrib.base_systems.ingame_python</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.base_systems.ingame_python.eventfuncs</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2024, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
</div>
</body>
</html>