查看“︁Lua接口/对话选项”︁的源代码
来自天龙知识库
←
Lua接口/对话选项
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
__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接口/服务端调用约定|调用约定]] 在对话中添加带编号的选项、读取选项回调、以及扩展任务事件构造与任务配置查询。对话选项通过 [[Lua接口/服务端/AddNumText|AddNumText]] 添加,玩家选择后由 [[Lua接口/服务端/GetNumText|GetNumText]] 读取编号。 == 选项与回调 == {| 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接口/服务端/AddNumText|AddNumText]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, id, msg, state, index, issueScript</code> → 部分分支无返回值。参数数量可变。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetNumText|LuaFnSetNumText]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">value</code>;无返回值。设置脚本间交换值。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetNumText|GetNumText]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">number</code> → 交换值;失败 -1。 |} [[Lua接口/服务端/AddNumText|AddNumText]] 参数数量可变(verify 不校验实参数),但建议传满 6 个参数(id、msg、state、index、issueScript)。玩家选择选项后,[[Lua接口/服务端/GetNumText|GetNumText]] 用传入的 id 读取选中的编号。[[Lua接口/服务端/LuaFnSetNumText|LuaFnSetNumText]] 设置跨脚本交换值,无返回值。 == 扩展任务事件 == {| 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接口/服务端/TBeginEvent|TBeginEvent]] | 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接口/服务端/TAddText|TAddText]] | 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接口/服务端/TAddNumText|TAddNumText]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, id, msg, state, index, issueScript</code>;无返回值。追加编号选项。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/TEndEvent|TEndEvent]] | 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接口/服务端/TDispatchEventList|TDispatchEventList]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code>;无返回值。当前为空实现。 |} T 前缀接口用于扩展任务事件缓冲,与普通对话(BeginEvent 等)分开。[[Lua接口/服务端/TDispatchEventList|TDispatchEventList]] 当前为空实现,调用不会派发对话。 == 任务配置查询 == {| 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接口/服务端/TGetMissionIdByIndex|TGetMissionIdByIndex]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">missionIndex</code> → 任务编号;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/TGetMissionName|TGetMissionName]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">missionIndex</code> → 任务名称字符串;未找到空串。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/TGetMissionDesc|TGetMissionDesc]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">missionIndex</code> → 4 段正文描述;未找到 4 个空串。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/TIsMissionRoundable|TIsMissionRoundable]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">missionIndex</code> → 是否允许循环;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetNextMissionIndex|GetNextMissionIndex]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">missionIndex</code> → 下一任务索引;失败 -1。 |} 这组接口只传任务索引(missionIndex),从任务配置表读取静态数据。[[Lua接口/服务端/TGetMissionDesc|TGetMissionDesc]] 返回 4 个字符串,需要用 4 个变量接收。 == 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接口/服务端/TGetAcceptNpcInfo|TGetAcceptNpcInfo]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">missionIndex</code> → 场景编号、NPC 名称;未找到 -1、空串。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/TGetCompleteNpcInfo|TGetCompleteNpcInfo]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">missionIndex</code> → 场景编号、NPC 名称;未找到 -1、空串。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/TGetTargetNpcInfo|TGetTargetNpcInfo]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">missionIndex</code> → 送信/护送任务的目标 NPC 信息。 |} 这组接口返回可变数量的值,[[Lua接口/服务端/TGetAcceptNpcInfo|TGetAcceptNpcInfo]] 和 [[Lua接口/服务端/TGetCompleteNpcInfo|TGetCompleteNpcInfo]] 返回 2 个值(场景编号和名称),[[Lua接口/服务端/TGetTargetNpcInfo|TGetTargetNpcInfo]] 返回值数量因任务类型而异。 == 添加对话选项 == <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, "请选择:") AddNumText(sceneId, 1, "接取任务", 1, 0, 0) AddNumText(sceneId, 2, "放弃任务", 1, 0, 0) EndEvent() DispatchEventList(sceneId, selfId, targetId)</pre> [[Lua接口/服务端/AddNumText|AddNumText]] 的参数数量可变,但建议传满 6 个。第一个参数是选项编号,玩家选择后由 [[Lua接口/服务端/GetNumText|GetNumText]] 读取。 == 读取选项回调 == <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">local selection = GetNumText(number) if type(selection) == "number" and selection ~= -1 then -- 取得玩家选择的选项编号 end</pre> [[Lua接口/服务端/GetNumText|GetNumText]] 失败返回 -1,先判类型再判数值。 == 扩展任务配置查询 == <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">local name = TGetMissionName(missionIndex) if type(name) == "string" and name ~= "" then local desc1, desc2, desc3, desc4 = TGetMissionDesc(missionIndex) -- 取得任务名称和四段描述 end</pre> [[Lua接口/服务端/TGetMissionName|TGetMissionName]] 返回字符串,未找到返回空串。[[Lua接口/服务端/TGetMissionDesc|TGetMissionDesc]] 返回 4 个字符串,需要用 4 个变量接收,否则丢掉后面的值。 == 相关主题 == * [[Lua接口/角色信息|角色信息]] * [[Lua接口/属性读取与修改|属性读取与修改]] * [[Lua接口/等级与经验|等级与经验]] * [[Lua接口/货币相关|货币相关]] * [[Lua接口/物品查询|物品查询]] * [[Lua接口/物品发放与扣除|物品发放与扣除]] * [[Lua接口/背包空间|背包空间]] * [[Lua接口/装备操作|装备操作]] * [[Lua接口/任务状态|任务状态]] * [[Lua接口/任务变量|任务变量]] * [[Lua接口/NPC对话|NPC 对话]] * [[Lua接口/对话选项|对话选项]] * [[Lua接口/技能相关|技能相关]] * [[Lua接口/心法相关|心法相关]] * [[Lua接口/状态效果|状态效果]] * [[Lua接口/生活技能|生活技能]] * [[Lua接口/珍兽查询|珍兽查询]] * [[Lua接口/珍兽操作|珍兽操作]] * [[Lua接口/场景查询|场景查询]] * [[Lua接口/坐标与传送|坐标与传送]] * [[Lua接口/副本相关|副本相关]] * [[Lua接口/活动相关|活动相关]] * [[Lua接口/时间与计时|时间与计时]] * [[Lua接口/怪物相关|怪物相关]] * [[Lua接口/队伍相关|队伍相关]] * [[Lua接口/帮会相关|帮会相关]] * [[Lua接口/消息与提示|消息与提示]] * [[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接口/对话选项
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息