Lua接口/NPC对话:修订间差异
来自天龙知识库
跳到导航跳到搜索
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| 第98行: | 第98行: | ||
* [[Lua接口/NPC对话|NPC 对话]] | * [[Lua接口/NPC对话|NPC 对话]] | ||
* [[Lua接口/对话选项|对话选项]] | * [[Lua接口/对话选项|对话选项]] | ||
* [[Lua接口/技能相关|技能相关]] | |||
* [[Lua接口/心法相关|心法相关]] | |||
* [[Lua接口/状态效果|状态效果]] | |||
* [[Lua接口/生活技能|生活技能]] | |||
* [[Lua接口/珍兽查询|珍兽查询]] | |||
* [[Lua接口/珍兽操作|珍兽操作]] | |||
[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]] | [[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]] | ||
2026年9月12日 (六) 13:28的版本
构造 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;无返回值。
|
MonsterTalk 和 LuaFnNpcChat 发送 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 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。