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。