Lua接口/任务变量

来自天龙知识库
跳到导航跳到搜索

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

读写任务参数、全局数据块、临时缓存与标志位。任务参数按索引读写,部分接口支持字节级修改。

任务参数

接口 参数与返回
GetMissionParam sceneId, selfId, misIndex, paramIndex → 参数值;0 或 -1 表示未设置或失败。
SetMissionByIndex sceneId, selfId, misIndex, paramIndex, value;无返回值。
GetMissionParamEx sceneId, selfId, missionIndex, paramIndex, byteIndex → 字节值;0 或 -1。
SetMissionParamByIndexEx sceneId, selfId, missionIndex, paramIndex, byteIndex, value;无返回值。

GetMissionParam 按任务索引和参数索引读取整数值;GetMissionParamEx 进一步按字节索引读取参数中的指定字节。SetMissionByIndexSetMissionParamByIndexEx 都无返回值。

全局数据块

接口 参数与返回
GetMissionData sceneId, selfId, nIndex → 数据值;失败 -1。
SetMissionData sceneId, selfId, nIndex, nData;无返回值。

全局数据块是跨任务共享的玩家数据,按 nIndex 索引读写。SetMissionData 无返回值。

临时缓存

接口 参数与返回
GetMissionCacheData sceneId, selfId, nIndex → 缓存值;部分分支无返回值。
SetMissionCacheData sceneId, selfId, nIndex, nData;部分分支无返回值。
ResetMissionCacheData sceneId, selfId;清空缓存;部分分支无返回值。

临时缓存在玩家当前会话期间有效,切换场景或重新登录后重置。GetMissionCacheDataSetMissionCacheData 部分分支不返回值,接收可能得到 nil。

标志位

接口 参数与返回
GetMissionFlag sceneId, selfId, bitIndex → 标志位(0 或 1);非玩家返回 0。
SetMissionFlag sceneId, selfId, bitIndex, value;无返回值。

标志位是按 bitIndex 索引的二进制位,用于记录任务进度或状态开关。GetMissionFlag 非玩家对象返回 0,SetMissionFlag 无返回值。

读取任务参数

local val = GetMissionParam(sceneId, selfId, misIndex, paramIndex)
if type(val) == "number" and val ~= -1 then
    -- 取得任务参数值
end

GetMissionParam 未设置返回 0、失败返回 -1。先判类型再排除 -1。

写入任务参数

SetMissionByIndex(sceneId, selfId, misIndex, paramIndex, 1)
-- 无返回值;不能写 if SetMissionByIndex(...) then
-- 想确认应改读 GetMissionParam 回比

SetMissionByIndex 无返回值。需要确认参数是否写入成功,应在设置后用 GetMissionParam 读回比较。

相关主题

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

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

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