Lua接口/对话选项
来自天龙知识库
在对话中添加带编号的选项、读取选项回调、以及扩展任务事件构造与任务配置查询。对话选项通过 AddNumText 添加,玩家选择后由 GetNumText 读取编号。
选项与回调
| 接口 | 参数与返回 |
|---|---|
| AddNumText | sceneId, id, msg, state, index, issueScript → 部分分支无返回值。参数数量可变。
|
| LuaFnSetNumText | value;无返回值。设置脚本间交换值。
|
| GetNumText | number → 交换值;失败 -1。
|
AddNumText 参数数量可变(verify 不校验实参数),但建议传满 6 个参数(id、msg、state、index、issueScript)。玩家选择选项后,GetNumText 用传入的 id 读取选中的编号。LuaFnSetNumText 设置跨脚本交换值,无返回值。
扩展任务事件
| 接口 | 参数与返回 |
|---|---|
| TBeginEvent | sceneId;无返回值。开始构造扩展任务事件。
|
| TAddText | sceneId, msg;无返回值。追加纯文本。
|
| TAddNumText | sceneId, id, msg, state, index, issueScript;无返回值。追加编号选项。
|
| TEndEvent | ();无返回值。结束构造。
|
| TDispatchEventList | ();无返回值。当前为空实现。
|
T 前缀接口用于扩展任务事件缓冲,与普通对话(BeginEvent 等)分开。TDispatchEventList 当前为空实现,调用不会派发对话。
任务配置查询
| 接口 | 参数与返回 |
|---|---|
| TGetMissionIdByIndex | missionIndex → 任务编号;失败 -1。
|
| TGetMissionName | missionIndex → 任务名称字符串;未找到空串。
|
| TGetMissionDesc | missionIndex → 4 段正文描述;未找到 4 个空串。
|
| TIsMissionRoundable | missionIndex → 是否允许循环;失败 -1。
|
| GetNextMissionIndex | missionIndex → 下一任务索引;失败 -1。
|
这组接口只传任务索引(missionIndex),从任务配置表读取静态数据。TGetMissionDesc 返回 4 个字符串,需要用 4 个变量接收。
NPC 信息查询
| 接口 | 参数与返回 |
|---|---|
| TGetAcceptNpcInfo | missionIndex → 场景编号、NPC 名称;未找到 -1、空串。
|
| TGetCompleteNpcInfo | missionIndex → 场景编号、NPC 名称;未找到 -1、空串。
|
| TGetTargetNpcInfo | missionIndex → 送信/护送任务的目标 NPC 信息。
|
这组接口返回可变数量的值,TGetAcceptNpcInfo 和 TGetCompleteNpcInfo 返回 2 个值(场景编号和名称),TGetTargetNpcInfo 返回值数量因任务类型而异。
添加对话选项
BeginEvent(sceneId) AddText(sceneId, "请选择:") AddNumText(sceneId, 1, "接取任务", 1, 0, 0) AddNumText(sceneId, 2, "放弃任务", 1, 0, 0) EndEvent() DispatchEventList(sceneId, selfId, targetId)
AddNumText 的参数数量可变,但建议传满 6 个。第一个参数是选项编号,玩家选择后由 GetNumText 读取。
读取选项回调
local selection = GetNumText(number)
if type(selection) == "number" and selection ~= -1 then
-- 取得玩家选择的选项编号
end
GetNumText 失败返回 -1,先判类型再判数值。
扩展任务配置查询
local name = TGetMissionName(missionIndex)
if type(name) == "string" and name ~= "" then
local desc1, desc2, desc3, desc4 = TGetMissionDesc(missionIndex)
-- 取得任务名称和四段描述
end
TGetMissionName 返回字符串,未找到返回空串。TGetMissionDesc 返回 4 个字符串,需要用 4 个变量接收,否则丢掉后面的值。
相关主题
- 角色信息
- 属性读取与修改
- 等级与经验
- 货币相关
- 物品查询
- 物品发放与扣除
- 背包空间
- 装备操作
- 任务状态
- 任务变量
- NPC 对话
- 对话选项
- 技能相关
- 心法相关
- 状态效果
- 生活技能
- 珍兽查询
- 珍兽操作
- 场景查询
- 坐标与传送
- 副本相关
- 活动相关
- 时间与计时
- 怪物相关
函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID
本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。