Lua接口/服务端调用约定

来自天龙知识库
雪舞留言 | 贡献2026年9月7日 (一) 19:16的版本 (整理当前服务端 Lua 接口:注册名称、参数、返回值与调用说明)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航跳到搜索

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

参数

参数类型 约定
sceneId 当前调用所处的场景编号。跨场景逻辑需通过对应接口完成。
selfId / targetId 当前场景内的对象 ID,玩家、NPC 和怪物对象不能随意互换。
GUID 角色或珍兽的全局唯一标识;与场景对象 ID 不同。
itemTypeSn / itemId 物品配置编号,与背包格子位置不同。
number 数值参数。布尔型开关若按数值读取,应使用约定的 0 或 1。
string 字符串参数。文字编码需与服务端脚本和客户端约定一致。

参数按位置传入,变量名可由脚本自行命名。并不是每个函数都以 sceneId、selfId 开头,例如 AddText 的第二个参数就是文字,AddItem 的第二个参数是物品编号。

返回值

  • 无返回值与返回数字 0 不同。无返回值的函数被赋给变量时,变量得到 nil。
  • Lua 中只有 nil 和 false 在条件判断中为假,数字 0 和 -1 都为真。
  • 部分接口用 1 表示成功,部分接口返回对象编号、计数、错误码或多个值,必须查阅该函数的约定。
  • 返回多个值时按顺序接收,例如 local x, z = GetWorldPos(sceneId, selfId)。
  • 具有可变返回数量的接口,失败时可能只返回一项,其余接收变量为 nil。

运行环境

这些函数由游戏服务端注册,需在服务端脚本回调中调用。普通独立 Lua 环境或客户端脚本不保证存在同名函数。对象必须仍在相应场景中,并满足接口所要求的玩家、怪物或珍兽类型。

名称

注册名称保留原拼写。例如 LuaFnSetLifeTimeAttrRefix_CriticalDefebce 中的 Defebce 是当前可调用名称,不应自行改写为 Defence。

常用调用示例