<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://www.waylee.net/index.php?action=history&amp;feed=atom&amp;title=Lua%E6%8E%A5%E5%8F%A3%2F%E6%80%AA%E7%89%A9%E7%9B%B8%E5%85%B3</id>
	<title>Lua接口/怪物相关 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://www.waylee.net/index.php?action=history&amp;feed=atom&amp;title=Lua%E6%8E%A5%E5%8F%A3%2F%E6%80%AA%E7%89%A9%E7%9B%B8%E5%85%B3"/>
	<link rel="alternate" type="text/html" href="https://www.waylee.net/index.php?title=Lua%E6%8E%A5%E5%8F%A3/%E6%80%AA%E7%89%A9%E7%9B%B8%E5%85%B3&amp;action=history"/>
	<updated>2026-09-12T07:19:57Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://www.waylee.net/index.php?title=Lua%E6%8E%A5%E5%8F%A3/%E6%80%AA%E7%89%A9%E7%9B%B8%E5%85%B3&amp;diff=1559&amp;oldid=prev</id>
		<title>雪舞：​维护服务端 Lua 接口：核对参数、返回值、边界条件与调用示例</title>
		<link rel="alternate" type="text/html" href="https://www.waylee.net/index.php?title=Lua%E6%8E%A5%E5%8F%A3/%E6%80%AA%E7%89%A9%E7%9B%B8%E5%85%B3&amp;diff=1559&amp;oldid=prev"/>
		<updated>2026-09-12T05:54:25Z</updated>

		<summary type="html">&lt;p&gt;维护服务端 Lua 接口：核对参数、返回值、边界条件与调用示例&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026年9月12日 (六) 13:54的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l188&quot;&gt;第188行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第188行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Lua接口/时间与计时|时间与计时]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Lua接口/时间与计时|时间与计时]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Lua接口/怪物相关|怪物相关]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Lua接口/怪物相关|怪物相关]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Lua接口/队伍相关|队伍相关]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Lua接口/帮会相关|帮会相关]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Lua接口/消息与提示|消息与提示]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Lua接口/聊天与公告|聊天与公告]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>雪舞</name></author>
	</entry>
	<entry>
		<id>https://www.waylee.net/index.php?title=Lua%E6%8E%A5%E5%8F%A3/%E6%80%AA%E7%89%A9%E7%9B%B8%E5%85%B3&amp;diff=1535&amp;oldid=prev</id>
		<title>雪舞：​维护服务端 Lua 接口：核对参数、返回值、边界条件与调用示例</title>
		<link rel="alternate" type="text/html" href="https://www.waylee.net/index.php?title=Lua%E6%8E%A5%E5%8F%A3/%E6%80%AA%E7%89%A9%E7%9B%B8%E5%85%B3&amp;diff=1535&amp;oldid=prev"/>
		<updated>2026-09-12T05:37:42Z</updated>

		<summary type="html">&lt;p&gt;维护服务端 Lua 接口：核对参数、返回值、边界条件与调用示例&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;lua-reference&amp;quot; style=&amp;quot;max-width:1200px;margin:0 auto;line-height:1.8;color:#29343a;font-family:Arial,&amp;#039;Microsoft YaHei&amp;#039;,sans-serif;letter-spacing:0;overflow-wrap:anywhere;&amp;quot;&amp;gt;&lt;br /&gt;
[[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]]&lt;br /&gt;
&lt;br /&gt;
查询、创建、删除怪物，读写怪物属性、AI 参数、编组队形与巡逻路径。怪物用对象编号（objId / monsterId）或脚本缓存索引定位。&lt;br /&gt;
&lt;br /&gt;
== 查询怪物 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 接口&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 参数与返回&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetMonsterCount|GetMonsterCount]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId&amp;lt;/code&amp;gt; → 场景内怪物数量；失败 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetMonsterObjID|GetMonsterObjID]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, nIndex&amp;lt;/code&amp;gt; → 指定索引怪物对象 ID；失败 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetMonsterWorldX|GetMonsterWorldX]] / [[Lua接口/服务端/GetMonsterWorldZ|GetMonsterWorldZ]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, monsterIndex&amp;lt;/code&amp;gt; → 怪物 X / Z 坐标；失败 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetMonsterHP|GetMonsterHP]] / [[Lua接口/服务端/GetMonsterMaxHP|GetMonsterMaxHP]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, monsterIndex&amp;lt;/code&amp;gt; → 当前 / 上限生命；失败 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetMonsterCurEnemy|GetMonsterCurEnemy]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, monsterId&amp;lt;/code&amp;gt; → 当前仇恨目标对象编号；失败 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetMonsterRespawnPos|GetMonsterRespawnPos]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, selfId&amp;lt;/code&amp;gt; → 出生点 X、Z；失败 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetMonsterIdByName|GetMonsterIdByName]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, name&amp;lt;/code&amp;gt; → 首个名称前缀匹配的怪物对象 ID；失败 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetMonsterNamebyDataId|GetMonsterNamebyDataId]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;monsterDataId&amp;lt;/code&amp;gt; → 怪物模板名称；无效模板返回空串。&lt;br /&gt;
|}&lt;br /&gt;
注意参数区分两种定位方式：[[Lua接口/服务端/GetMonsterWorldX|GetMonsterWorldX]]、[[Lua接口/服务端/GetMonsterHP|GetMonsterHP]] 用**脚本缓存索引（monsterIndex）**，[[Lua接口/服务端/GetMonsterCurEnemy|GetMonsterCurEnemy]]、[[Lua接口/服务端/GetMonsterRespawnPos|GetMonsterRespawnPos]] 用**对象编号（monsterId / selfId）**。[[Lua接口/服务端/GetMonsterRespawnPos|GetMonsterRespawnPos]] 返回两个值。&lt;br /&gt;
&lt;br /&gt;
== 创建与删除 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 接口&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 参数与返回&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/LuaFnCreateMonster|LuaFnCreateMonster]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;SceneID, MonsterType, x, z, iAIType, iAIScript, ScriptID&amp;lt;/code&amp;gt; → 对象编号；失败 -1。7 个参数。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/LuaFnDeleteMonster|LuaFnDeleteMonster]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;SceneID, ObjID&amp;lt;/code&amp;gt;；无返回值。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/CreatePetOnScene|CreatePetOnScene]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, nPetDataID, x, z&amp;lt;/code&amp;gt;；创建无主宠物；记录宠物审计。&lt;br /&gt;
|}&lt;br /&gt;
[[Lua接口/服务端/LuaFnCreateMonster|LuaFnCreateMonster]] 需要 7 个参数（含 AI 类型、AI 脚本、脚本编号）。[[Lua接口/服务端/LuaFnDeleteMonster|LuaFnDeleteMonster]] 无返回值。&lt;br /&gt;
&lt;br /&gt;
== 属性与 AI ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 接口&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 参数与返回&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/LuaFnSetMonsterExp|LuaFnSetMonsterExp]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, npcId, exp&amp;lt;/code&amp;gt; → 固定返回 -1（不能据此判断失败）。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/LuaFnDisableMonsterDropBox|LuaFnDisableMonsterDropBox]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, npcId&amp;lt;/code&amp;gt; → 固定返回 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetNpcCamp|GetNpcCamp]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, npcId&amp;lt;/code&amp;gt; → 当前阵营；部分分支无返回值。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/SetNpcCamp|SetNpcCamp]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, npcId, campId&amp;lt;/code&amp;gt;；无返回值。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetNPCAIType|GetNPCAIType]] / [[Lua接口/服务端/SetNPCAIType|SetNPCAIType]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, npcId&amp;amp;#91;, aiType&amp;amp;#93;&amp;lt;/code&amp;gt; → AI 类型；SetNPCAIType 固定返回 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetAIScriptID|GetAIScriptID]] / [[Lua接口/服务端/SetAIScriptID|SetAIScriptID]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, selfId&amp;amp;#91;, aiScriptId&amp;amp;#93;&amp;lt;/code&amp;gt; → 扩展 AI 脚本编号；失败 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/NpcToIdle|NpcToIdle]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, selfId&amp;lt;/code&amp;gt; → 返回值；失败 -1。&lt;br /&gt;
|}&lt;br /&gt;
[[Lua接口/服务端/LuaFnSetMonsterExp|LuaFnSetMonsterExp]]、[[Lua接口/服务端/LuaFnDisableMonsterDropBox|LuaFnDisableMonsterDropBox]]、[[Lua接口/服务端/SetNPCAIType|SetNPCAIType]] 都**固定返回 -1**，是「无意义返回值」，不能用来判断是否成功。&lt;br /&gt;
&lt;br /&gt;
== 怪物 AI 参数 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 接口&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 参数与返回&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/MonsterAI_GetIntParamByIndex|MonsterAI_GetIntParamByIndex]] / [[Lua接口/服务端/MonsterAI_SetIntParamByIndex|MonsterAI_SetIntParamByIndex]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, selfId, nIndex&amp;amp;#91;, nValue&amp;amp;#93;&amp;lt;/code&amp;gt; → 整数参数。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/MonsterAI_GetObjIDParamByIndex|MonsterAI_GetObjIDParamByIndex]] / [[Lua接口/服务端/MonsterAI_SetObjIDParamByIndex|MonsterAI_SetObjIDParamByIndex]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, selfId, nIndex&amp;amp;#91;, nID&amp;amp;#93;&amp;lt;/code&amp;gt; → 对象编号参数。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/MonsterAI_GetBoolParamByIndex|MonsterAI_GetBoolParamByIndex]] / [[Lua接口/服务端/MonsterAI_SetBoolParamByIndex|MonsterAI_SetBoolParamByIndex]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, selfId, nIndex&amp;amp;#91;, bFlag&amp;amp;#93;&amp;lt;/code&amp;gt; → 布尔参数（大于零为真）。&lt;br /&gt;
|}&lt;br /&gt;
这组是怪物 Lua AI 脚本内部的参数存取，Get 部分分支不返回值。&lt;br /&gt;
&lt;br /&gt;
== 编组与队形 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 接口&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 参数与返回&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/AllocateMonsterGroup|AllocateMonsterGroup]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId&amp;lt;/code&amp;gt; → 编组编号；失败 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/ReleaseMonsterGroup|ReleaseMonsterGroup]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, groupId&amp;lt;/code&amp;gt; → 返回值；失败 -1。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/AddGroupMember|AddGroupMember]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, groupId, monsterId, i, j&amp;lt;/code&amp;gt; → 返回值；加入 6x3 队形位置。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/AddGroupLeader|AddGroupLeader]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, groupId, monsterId&amp;lt;/code&amp;gt; → 返回值；首领固定占 [0][1]。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/RefixPosOfGroupMember|RefixPosOfGroupMember]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, groupId, leaderId&amp;lt;/code&amp;gt; → 返回值；校正全部队员位置。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/SetIntervalDistOfGroupMember|SetIntervalDistOfGroupMember]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, groupId, interval&amp;lt;/code&amp;gt; → 返回值；设置相邻位置距离。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/SetMonsterGroupID|SetMonsterGroupID]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, selfId, groupId&amp;lt;/code&amp;gt; → 部分分支无返回值。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetPatrolId|GetPatrolId]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, selfId&amp;lt;/code&amp;gt; → 巡逻路径编号；部分分支无返回值。&lt;br /&gt;
|}&lt;br /&gt;
编组队形是 6 列 3 行（6x3），[[Lua接口/服务端/AddGroupMember|AddGroupMember]] 的 i、j 是队形行列位置，首领固定占 [0][1]。&lt;br /&gt;
&lt;br /&gt;
== 阵营与对白 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 接口&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;background:#edf3f2;padding:8px;&amp;quot; | 参数与返回&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/GetUnitCampID|GetUnitCampID]] / [[Lua接口/服务端/SetUnitCampID|SetUnitCampID]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, selfId, unitId&amp;amp;#91;, campId&amp;amp;#93;&amp;lt;/code&amp;gt; → 脚本阵营或基础阵营。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/MonsterTalk|MonsterTalk]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, monsterId, sceneName, msg&amp;lt;/code&amp;gt; → 部分分支无返回值。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/LuaFnNpcChat|LuaFnNpcChat]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, monsterId, isSceneBroadcast, msg&amp;lt;/code&amp;gt; → 部分分支无返回值。&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | [[Lua接口/服务端/PaoPao|PaoPao]] / [[Lua接口/服务端/PaoPaoEx|PaoPaoEx]]&lt;br /&gt;
| style=&amp;quot;padding:8px;vertical-align:top;overflow-wrap:anywhere;&amp;quot; | &amp;lt;code style=&amp;quot;white-space:normal;overflow-wrap:anywhere;&amp;quot;&amp;gt;sceneId, selfId, npcId&amp;amp;#91;, paoPaoId&amp;amp;#93;&amp;lt;/code&amp;gt; → 气泡对白结果；失败 -1。&lt;br /&gt;
|}&lt;br /&gt;
[[Lua接口/服务端/PaoPao|PaoPao]] 触发默认气泡，[[Lua接口/服务端/PaoPaoEx|PaoPaoEx]] 按指定气泡编号触发。&lt;br /&gt;
&lt;br /&gt;
== 遍历并读取怪物 ==&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;&amp;quot;&amp;gt;local count = GetMonsterCount(sceneId)&lt;br /&gt;
if type(count) == &amp;quot;number&amp;quot; and count ~= -1 then&lt;br /&gt;
    local objId = GetMonsterObjID(sceneId, 0)&lt;br /&gt;
    if type(objId) == &amp;quot;number&amp;quot; and objId ~= -1 then&lt;br /&gt;
        -- 取得首个怪物对象 ID&lt;br /&gt;
    end&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
先取数量再按索引取对象 ID，两者都要排除 -1。&lt;br /&gt;
&lt;br /&gt;
== 创建怪物 ==&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;&amp;quot;&amp;gt;local objId = LuaFnCreateMonster(sceneId, monsterType, posX, posZ, aiType, aiScript, scriptId)&lt;br /&gt;
if type(objId) == &amp;quot;number&amp;quot; and objId ~= -1 then&lt;br /&gt;
    -- 怪物创建成功，objId 为新对象编号&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Lua接口/服务端/LuaFnCreateMonster|LuaFnCreateMonster]] 需要 7 个参数，成功返回对象编号、失败 -1。删除用 [[Lua接口/服务端/LuaFnDeleteMonster|LuaFnDeleteMonster]]（无返回值）。&lt;br /&gt;
&lt;br /&gt;
== 相关主题 ==&lt;br /&gt;
* [[Lua接口/角色信息|角色信息]]&lt;br /&gt;
* [[Lua接口/属性读取与修改|属性读取与修改]]&lt;br /&gt;
* [[Lua接口/等级与经验|等级与经验]]&lt;br /&gt;
* [[Lua接口/货币相关|货币相关]]&lt;br /&gt;
* [[Lua接口/物品查询|物品查询]]&lt;br /&gt;
* [[Lua接口/物品发放与扣除|物品发放与扣除]]&lt;br /&gt;
* [[Lua接口/背包空间|背包空间]]&lt;br /&gt;
* [[Lua接口/装备操作|装备操作]]&lt;br /&gt;
* [[Lua接口/任务状态|任务状态]]&lt;br /&gt;
* [[Lua接口/任务变量|任务变量]]&lt;br /&gt;
* [[Lua接口/NPC对话|NPC 对话]]&lt;br /&gt;
* [[Lua接口/对话选项|对话选项]]&lt;br /&gt;
* [[Lua接口/技能相关|技能相关]]&lt;br /&gt;
* [[Lua接口/心法相关|心法相关]]&lt;br /&gt;
* [[Lua接口/状态效果|状态效果]]&lt;br /&gt;
* [[Lua接口/生活技能|生活技能]]&lt;br /&gt;
* [[Lua接口/珍兽查询|珍兽查询]]&lt;br /&gt;
* [[Lua接口/珍兽操作|珍兽操作]]&lt;br /&gt;
* [[Lua接口/场景查询|场景查询]]&lt;br /&gt;
* [[Lua接口/坐标与传送|坐标与传送]]&lt;br /&gt;
* [[Lua接口/副本相关|副本相关]]&lt;br /&gt;
* [[Lua接口/活动相关|活动相关]]&lt;br /&gt;
* [[Lua接口/时间与计时|时间与计时]]&lt;br /&gt;
* [[Lua接口/怪物相关|怪物相关]]&lt;br /&gt;
&lt;br /&gt;
[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]]&lt;br /&gt;
&lt;br /&gt;
[[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:20px;padding-top:10px;border-top:1px solid #dbe3e6;color:#657078;font-size:12px;&amp;quot;&amp;gt;本页函数签名与返回约定依据当前服务端注册表整理；sceneId、selfId 由实际回调提供，业务枚举、属性类型编号与运行效果需要实测。&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>雪舞</name></author>
	</entry>
</feed>