<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[深入浅出制作全自动Mud机器人-用户队列]]></title><description><![CDATA[<p dir="auto">简而言之，用户队列，就是指令队列在用户输入框里的实现。</p>
<p dir="auto">核心部分，之前都是纯代码层与用户无关的基础建筑，到了这里才算得上是上层建筑。</p>
<p dir="auto">先看代码</p>
<p dir="auto"><a href="https://github.com/hellclient-scripts/newhelljs/blob/main/script/helllibjs/command/userqueue.js" target="_blank" rel="noopener noreferrer nofollow ugc">代码地址</a></p>
<p dir="auto">我们会发现，用户队列，Userqueue,是在Command包下的一个很简单的实现。</p>
<p dir="auto">用队列相对于指令队列，就是额外的实现了一下的内容</p>
<ul>
<li>Exect方法，把用户的输入分割为多个指令执行</li>
<li>Do和Wait的默认方法，实现最常见的发送指令和等待时间的功能(其实是Command中相应功能的封装)</li>
<li>Register指令，注册新的指令扩展功能</li>
<li>Loop指令，循环执行</li>
</ul>
<p dir="auto">很明显，用户队列提供了一个让用户直接调用Command的接口，更重要的是，可以循环执行。</p>
<p dir="auto">当我们把准备阶段也注册为指令时，可以通过#prepare和#loop循环，形成一个简陋板的任务，一个字面意义上的全自动机器人。</p>
<p dir="auto">比如，打坐机器人</p>
<pre><code>#prepare|yun recover|dazuo 50|#loop
</code></pre>
<p dir="auto">比如，练功</p>
<pre><code>#prepare|yun recover|wield long sword|lian sword 50|#loop
</code></pre>
<p dir="auto">虽然这种用户队列只能实现简单的，没有复杂任务的机器，但这是真正意义上的全自动机器人了。</p>
<p dir="auto">甚至可以认为，用户队列的稳定性，等以你机器的主体的稳定性。</p>
<p dir="auto">因此，用户队列对于主任务系统是一个独立的，迷你的系统。</p>
<p dir="auto">但对于用户手动操作，以及机器的测试开发来说，还是有很大的意义的。</p>
]]></description><link>https://forum.hellclient.com/topic/23/深入浅出制作全自动mud机器人-用户队列</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Mar 2026 19:51:28 GMT</lastBuildDate><atom:link href="https://forum.hellclient.com/topic/23.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 20 Jan 2026 10:05:36 GMT</pubDate><ttl>60</ttl></channel></rss>