查看“︁Lua接口/NPC对话”︁的源代码
来自天龙知识库
←
Lua接口/NPC对话
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
__NOTOC__ <div class="lua-reference" style="max-width:1200px;margin:0 auto;line-height:1.8;color:#29343a;font-family:Arial,'Microsoft YaHei',sans-serif;letter-spacing:0;overflow-wrap:anywhere;"> [[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]] 构造 NPC 对话内容、派发对话列表、发送任务信息与 NPC 对白。对话构造遵循 BeginEvent → AddText → EndEvent → DispatchEventList 的流程。 == 对话构造 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/BeginEvent|BeginEvent]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId</code>;无返回值。清空当前对话内容,开始构造。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/AddText|AddText]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, msg</code>;无返回值。追加一段文字。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/EndEvent|EndEvent]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code>;无返回值。结束构造。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/DispatchEventList|DispatchEventList]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, targetId</code>;无返回值。派发给指定玩家。 |} 对话构造四步:[[Lua接口/服务端/BeginEvent|BeginEvent]] 清空 → [[Lua接口/服务端/AddText|AddText]] 追加文字 → [[Lua接口/服务端/EndEvent|EndEvent]] 结束 → [[Lua接口/服务端/DispatchEventList|DispatchEventList]] 派发。前三个都不返回值,[[Lua接口/服务端/DispatchEventList|DispatchEventList]] 也无返回值,不能据此判断对话是否显示成功。 == 对话选项派发 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/DispatchRegieEventList|DispatchRegieEventList]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, targetId</code>;无返回值。返回 NPC 可触发事件列表。 |} [[Lua接口/服务端/DispatchRegieEventList|DispatchRegieEventList]] 用于在玩家点击 NPC 时返回该 NPC 可触发的事件列表,与 [[Lua接口/服务端/DispatchEventList|DispatchEventList]] 的区别是它派发的是 NPC 事件索引而非自定义对话文本。 == 任务信息派发 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/DispatchMissionInfo|DispatchMissionInfo]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, targetId, scriptId, misId</code>;无返回值。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/DispatchMissionDemandInfo|DispatchMissionDemandInfo]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, targetId, scriptId, misId, done, nIssueScript</code>;无返回值。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/DispatchMissionContinueInfo|DispatchMissionContinueInfo]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, targetId, scriptId, misId, nIssueScript</code>;无返回值。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/DispatchMissionTips|DispatchMissionTips]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code>;无返回值。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/DispatchMissionResult|DispatchMissionResult]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, IsFinished</code>;无返回值。 |} 这组接口向客户端返回任务信息,都无返回值。[[Lua接口/服务端/DispatchMissionDemandInfo|DispatchMissionDemandInfo]] 需要 7 个参数(含 done 和 nIssueScript),不能省略。 == 对白与日志 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/MonsterTalk|MonsterTalk]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, monsterId, sceneName, msg</code> → 部分分支无返回值。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnNpcChat|LuaFnNpcChat]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, monsterId, isSceneBroadcast, msg</code> → 部分分支无返回值。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/MissionLog|MissionLog]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, msg</code>;无返回值。 |} [[Lua接口/服务端/MonsterTalk|MonsterTalk]] 和 [[Lua接口/服务端/LuaFnNpcChat|LuaFnNpcChat]] 发送 NPC/怪物对白,部分分支不返回值。[[Lua接口/服务端/MissionLog|MissionLog]] 将文本写入 Mission 日志文件,无返回值。 == 构造并派发对话 == <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">BeginEvent(sceneId) AddText(sceneId, "你好, traveller。") EndEvent() DispatchEventList(sceneId, selfId, targetId) -- 四步都无返回值;不能据此判断对话是否显示</pre> 对话构造四步全部无返回值。[[Lua接口/服务端/EndEvent|EndEvent]] 当前不执行额外操作,但仍是配对入口,需要调用。派发后对话是否显示需要客户端确认。 == 派发任务信息 == <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">DispatchMissionInfo(sceneId, selfId, targetId, scriptId, misId) -- 无返回值;客户端收到后展示任务信息</pre> [[Lua接口/服务端/DispatchMissionInfo|DispatchMissionInfo]] 需要传入 targetId(NPC 对象 ID)、scriptId 和 misId,无返回值。 == 相关主题 == * [[Lua接口/角色信息|角色信息]] * [[Lua接口/属性读取与修改|属性读取与修改]] * [[Lua接口/等级与经验|等级与经验]] * [[Lua接口/货币相关|货币相关]] * [[Lua接口/物品查询|物品查询]] * [[Lua接口/物品发放与扣除|物品发放与扣除]] * [[Lua接口/背包空间|背包空间]] * [[Lua接口/装备操作|装备操作]] * [[Lua接口/任务状态|任务状态]] * [[Lua接口/任务变量|任务变量]] * [[Lua接口/NPC对话|NPC 对话]] * [[Lua接口/对话选项|对话选项]] [[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]] [[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]] <div style="margin-top:20px;padding-top:10px;border-top:1px solid #dbe3e6;color:#657078;font-size:12px;">本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。</div> </div>
返回
Lua接口/NPC对话
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息