Lua接口/NPC对话:修订间差异

来自天龙知识库
跳到导航跳到搜索
雪舞留言 | 贡献
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
雪舞留言 | 贡献
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
 
第110行: 第110行:
* [[Lua接口/时间与计时|时间与计时]]
* [[Lua接口/时间与计时|时间与计时]]
* [[Lua接口/怪物相关|怪物相关]]
* [[Lua接口/怪物相关|怪物相关]]
* [[Lua接口/队伍相关|队伍相关]]
* [[Lua接口/帮会相关|帮会相关]]
* [[Lua接口/消息与提示|消息与提示]]
* [[Lua接口/聊天与公告|聊天与公告]]


[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]]
[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]]

2026年9月12日 (六) 13:54的最新版本

首页 · 服务端接口 · 调用约定

构造 NPC 对话内容、派发对话列表、发送任务信息与 NPC 对白。对话构造遵循 BeginEvent → AddText → EndEvent → DispatchEventList 的流程。

对话构造

接口 参数与返回
BeginEvent sceneId;无返回值。清空当前对话内容,开始构造。
AddText sceneId, msg;无返回值。追加一段文字。
EndEvent ();无返回值。结束构造。
DispatchEventList sceneId, selfId, targetId;无返回值。派发给指定玩家。

对话构造四步:BeginEvent 清空 → AddText 追加文字 → EndEvent 结束 → DispatchEventList 派发。前三个都不返回值,DispatchEventList 也无返回值,不能据此判断对话是否显示成功。

对话选项派发

接口 参数与返回
DispatchRegieEventList sceneId, selfId, targetId;无返回值。返回 NPC 可触发事件列表。

DispatchRegieEventList 用于在玩家点击 NPC 时返回该 NPC 可触发的事件列表,与 DispatchEventList 的区别是它派发的是 NPC 事件索引而非自定义对话文本。

任务信息派发

接口 参数与返回
DispatchMissionInfo sceneId, selfId, targetId, scriptId, misId;无返回值。
DispatchMissionDemandInfo sceneId, selfId, targetId, scriptId, misId, done, nIssueScript;无返回值。
DispatchMissionContinueInfo sceneId, selfId, targetId, scriptId, misId, nIssueScript;无返回值。
DispatchMissionTips sceneId, selfId;无返回值。
DispatchMissionResult sceneId, selfId, IsFinished;无返回值。

这组接口向客户端返回任务信息,都无返回值。DispatchMissionDemandInfo 需要 7 个参数(含 done 和 nIssueScript),不能省略。

对白与日志

接口 参数与返回
MonsterTalk sceneId, monsterId, sceneName, msg → 部分分支无返回值。
LuaFnNpcChat sceneId, monsterId, isSceneBroadcast, msg → 部分分支无返回值。
MissionLog sceneId, msg;无返回值。

MonsterTalkLuaFnNpcChat 发送 NPC/怪物对白,部分分支不返回值。MissionLog 将文本写入 Mission 日志文件,无返回值。

构造并派发对话

BeginEvent(sceneId)
AddText(sceneId, "你好, traveller。")
EndEvent()
DispatchEventList(sceneId, selfId, targetId)
-- 四步都无返回值;不能据此判断对话是否显示

对话构造四步全部无返回值。EndEvent 当前不执行额外操作,但仍是配对入口,需要调用。派发后对话是否显示需要客户端确认。

派发任务信息

DispatchMissionInfo(sceneId, selfId, targetId, scriptId, misId)
-- 无返回值;客户端收到后展示任务信息

DispatchMissionInfo 需要传入 targetId(NPC 对象 ID)、scriptId 和 misId,无返回值。

相关主题

服务端调用约定 · 服务端调用示例 · 服务端函数索引

函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID

本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。