evennia/docs/3.x/api/evennia.contrib.tutorials.talking_npc.talking_npc.html
2023-12-21 00:12:31 +01:00

302 lines
No EOL
22 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.contrib.tutorials.talking_npc.talking_npc &#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.contrib.tutorials.talking_npc.tests" href="evennia.contrib.tutorials.talking_npc.tests.html" />
<link rel="prev" title="evennia.contrib.tutorials.talking_npc" href="evennia.contrib.tutorials.talking_npc.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.contrib.tutorials.talking_npc.tests.html" title="evennia.contrib.tutorials.talking_npc.tests"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.talking_npc.html" title="evennia.contrib.tutorials.talking_npc"
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.contrib.html" >evennia.contrib</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.contrib.tutorials.html" >evennia.contrib.tutorials</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.contrib.tutorials.talking_npc.html" accesskey="U">evennia.contrib.tutorials.talking_npc</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.tutorials.talking_npc.talking_npc</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.contrib.tutorials.talking_npc.html"
title="previous chapter">evennia.contrib.tutorials.talking_npc</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.contrib.tutorials.talking_npc.tests.html"
title="next chapter">evennia.contrib.tutorials.talking_npc.tests</a></p>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.contrib.tutorials.talking_npc.talking_npc.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.contrib.tutorials.talking_npc.talking_npc">
<span id="evennia-contrib-tutorials-talking-npc-talking-npc"></span><h1>evennia.contrib.tutorials.talking_npc.talking_npc<a class="headerlink" href="#module-evennia.contrib.tutorials.talking_npc.talking_npc" title="Permalink to this headline"></a></h1>
<p>Evennia Talkative NPC</p>
<p>Contribution - Griatch 2011, grungies1138, 2016</p>
<p>This is a static NPC object capable of holding a simple menu-driven
conversation. Its just meant as an example.</p>
<p>Installation:</p>
<p>Create the NPC by creating an object of typeclass <strong>contrib.tutorials.talking_npc.TalkingNPC</strong>,
For example:</p>
<blockquote>
<div><p>create/drop John : contrib.tutorials.talking_npc.TalkingNPC</p>
</div></blockquote>
<p>Use <strong>talk</strong> in the same room as the NPC to start a conversation.</p>
<p>If there are many talkative npcs in the same room you will get to
choose which ones talk command to call (Evennia handles this
automatically). This use of EvMenu is very simplistic; See EvMenu for
a lot more complex possibilities.</p>
<dl class="py function">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.menu_start_node">
<code class="sig-prename descclassname">evennia.contrib.tutorials.talking_npc.talking_npc.</code><code class="sig-name descname">menu_start_node</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">caller</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/talking_npc/talking_npc.html#menu_start_node"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.menu_start_node" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.info1">
<code class="sig-prename descclassname">evennia.contrib.tutorials.talking_npc.talking_npc.</code><code class="sig-name descname">info1</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">caller</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/talking_npc/talking_npc.html#info1"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.info1" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.info2">
<code class="sig-prename descclassname">evennia.contrib.tutorials.talking_npc.talking_npc.</code><code class="sig-name descname">info2</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">caller</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/talking_npc/talking_npc.html#info2"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.info2" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.info3">
<code class="sig-prename descclassname">evennia.contrib.tutorials.talking_npc.talking_npc.</code><code class="sig-name descname">info3</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">caller</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/talking_npc/talking_npc.html#info3"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.info3" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.END">
<code class="sig-prename descclassname">evennia.contrib.tutorials.talking_npc.talking_npc.</code><code class="sig-name descname">END</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">caller</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/talking_npc/talking_npc.html#END"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.END" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.talking_npc.talking_npc.</code><code class="sig-name descname">CmdTalk</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/talking_npc/talking_npc.html#CmdTalk"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.default.muxcommand.html#evennia.commands.default.muxcommand.MuxCommand" title="evennia.commands.default.muxcommand.MuxCommand"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.default.muxcommand.MuxCommand</span></code></a></p>
<p>Talks to an npc</p>
<dl class="simple">
<dt>Usage:</dt><dd><p>talk</p>
</dd>
</dl>
<p>This command is only available if a talkative non-player-character
(NPC) is actually present. It will strike up a conversation with
that NPC and give you options on what to talk about.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.key">
<code class="sig-name descname">key</code><em class="property"> = 'talk'</em><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.locks">
<code class="sig-name descname">locks</code><em class="property"> = 'cmd:all()'</em><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.locks" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.help_category">
<code class="sig-name descname">help_category</code><em class="property"> = 'general'</em><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.help_category" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.func">
<code class="sig-name descname">func</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/talking_npc/talking_npc.html#CmdTalk.func"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.func" title="Permalink to this definition"></a></dt>
<dd><p>Implements the command.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = []</em><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.lock_storage">
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:all()'</em><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.lock_storage" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '', 'category': 'general', 'key': 'talk', 'no_prefix': ' ', 'tags': '', 'text': '\n Talks to an npc\n\n Usage:\n talk\n\n This command is only available if a talkative non-player-character\n (NPC) is actually present. It will strike up a conversation with\n that NPC and give you options on what to talk about.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.CmdTalk.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.TalkingCmdSet">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.talking_npc.talking_npc.</code><code class="sig-name descname">TalkingCmdSet</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">cmdsetobj</span><span class="o">=</span><span class="default_value">None</span></em>, <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/contrib/tutorials/talking_npc/talking_npc.html#TalkingCmdSet"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.TalkingCmdSet" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.cmdset.html#evennia.commands.cmdset.CmdSet" title="evennia.commands.cmdset.CmdSet"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.cmdset.CmdSet</span></code></a></p>
<p>Stores the talk command.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.TalkingCmdSet.key">
<code class="sig-name descname">key</code><em class="property"> = 'talkingcmdset'</em><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.TalkingCmdSet.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.TalkingCmdSet.at_cmdset_creation">
<code class="sig-name descname">at_cmdset_creation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/talking_npc/talking_npc.html#TalkingCmdSet.at_cmdset_creation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.TalkingCmdSet.at_cmdset_creation" title="Permalink to this definition"></a></dt>
<dd><p>populates the cmdset</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.TalkingCmdSet.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.talking_npc.talking_npc.TalkingCmdSet'</em><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.TalkingCmdSet.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.talking_npc.talking_npc.</code><code class="sig-name descname">TalkingNPC</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/talking_npc/talking_npc.html#TalkingNPC"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultObject" title="evennia.objects.objects.DefaultObject"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultObject</span></code></a></p>
<p>This implements a simple Object using the talk command and using
the conversation defined above.</p>
<dl class="py method">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC.at_object_creation">
<code class="sig-name descname">at_object_creation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/talking_npc/talking_npc.html#TalkingNPC.at_object_creation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC.at_object_creation" title="Permalink to this definition"></a></dt>
<dd><p>This is called when object is first created.</p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC.DoesNotExist">
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC.DoesNotExist" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultObject.DoesNotExist" title="evennia.objects.objects.DefaultObject.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultObject.DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC.MultipleObjectsReturned">
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC.MultipleObjectsReturned" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultObject.MultipleObjectsReturned" title="evennia.objects.objects.DefaultObject.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultObject.MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC'</em><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC.typename">
<code class="sig-name descname">typename</code><em class="property"> = 'TalkingNPC'</em><a class="headerlink" href="#evennia.contrib.tutorials.talking_npc.talking_npc.TalkingNPC.typename" title="Permalink to this definition"></a></dt>
<dd></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.contrib.tutorials.talking_npc.tests.html" title="evennia.contrib.tutorials.talking_npc.tests"
>next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.talking_npc.html" title="evennia.contrib.tutorials.talking_npc"
>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.contrib.html" >evennia.contrib</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.contrib.tutorials.html" >evennia.contrib.tutorials</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.contrib.tutorials.talking_npc.html" >evennia.contrib.tutorials.talking_npc</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.tutorials.talking_npc.talking_npc</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>