Lua接口/聊天与公告:修订间差异
来自天龙知识库
跳到导航跳到搜索
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| 第1行: | 第1行: | ||
__NOTOC__ | __NOTOC__ | ||
<div class="lua-reference | <div class="lua-reference"> | ||
[[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]] | [[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]] | ||
| 第6行: | 第6行: | ||
== 聊天频道消息 == | == 聊天频道消息 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/BroadMsgByChatPipe|BroadMsgByChatPipe]] | |||
| <code>sceneId, selfId, pMessage, chatType</code> → 部分分支无返回值。 | |||
|} | |} | ||
[[Lua接口/服务端/BroadMsgByChatPipe|BroadMsgByChatPipe]] 按 chatType 决定发送范围(玩家、场景或世界聊天链路),部分分支不返回值。 | [[Lua接口/服务端/BroadMsgByChatPipe|BroadMsgByChatPipe]] 按 chatType 决定发送范围(玩家、场景或世界聊天链路),部分分支不返回值。 | ||
== 系统公告 == | == 系统公告 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/AddGlobalCountNews|AddGlobalCountNews]] | |||
| <code>sceneId, newstr</code>;无返回值。向全组服务器发送新闻公告。 | |||
|} | |} | ||
[[Lua接口/服务端/AddGlobalCountNews|AddGlobalCountNews]] 无返回值,公告会发送指定次数。 | [[Lua接口/服务端/AddGlobalCountNews|AddGlobalCountNews]] 无返回值,公告会发送指定次数。 | ||
== NPC 对白 == | == NPC 对白 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/MonsterTalk|MonsterTalk]] | |||
| <code>sceneId, monsterId, sceneName, msg</code> → 部分分支无返回值。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnNpcChat|LuaFnNpcChat]] | |||
| <code>sceneId, monsterId, isSceneBroadcast, msg</code> → 部分分支无返回值。 | |||
|} | |} | ||
[[Lua接口/服务端/MonsterTalk|MonsterTalk]] 的消息格式与 npctalk 脚本协议一致;[[Lua接口/服务端/LuaFnNpcChat|LuaFnNpcChat]] 发送 Packet 542 的 NPC 对话消息,第三个参数 isSceneBroadcast 控制是否场景广播。 | [[Lua接口/服务端/MonsterTalk|MonsterTalk]] 的消息格式与 npctalk 脚本协议一致;[[Lua接口/服务端/LuaFnNpcChat|LuaFnNpcChat]] 发送 Packet 542 的 NPC 对话消息,第三个参数 isSceneBroadcast 控制是否场景广播。 | ||
== 队伍消息 == | == 队伍消息 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/Msg2Team|Msg2Team]] | |||
| <code>()</code>;无返回值。当前为空实现,调用不会发送消息。 | |||
|} | |} | ||
[[Lua接口/服务端/Msg2Team|Msg2Team]] 当前是**空实现**,调用不会向队伍成员发送消息,需要群发时改用 [[Lua接口/服务端/BroadMsgByChatPipe|BroadMsgByChatPipe]]。 | [[Lua接口/服务端/Msg2Team|Msg2Team]] 当前是**空实现**,调用不会向队伍成员发送消息,需要群发时改用 [[Lua接口/服务端/BroadMsgByChatPipe|BroadMsgByChatPipe]]。 | ||
== 珍兽公告 == | == 珍兽公告 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/IssuePetPlacard|IssuePetPlacard]] | |||
| <code>sceneId, selfId, targetId, petGUID_H, petGUID_L, pszMessage</code> → 1 / 0。 | |||
|- | |- | ||
| [[Lua接口/服务端/IssuePetPlacardByIndex|IssuePetPlacardByIndex]] | |||
| <code>sceneId, selfId, targetId, nPetIndex, pszMessage</code> → 1 / 0。 | |||
|- | |- | ||
| [[Lua接口/服务端/CancelPetPlacard|CancelPetPlacard]] | |||
| <code>sceneId, selfId, targetId</code> → 1 / 0。 | |||
|- | |- | ||
| [[Lua接口/服务端/DispatchPetPlacardList|DispatchPetPlacardList]] | |||
| <code>sceneId, selfId, targetId, firstCheckId, secondCheckId, nextPageOrPrevPage</code> → 1 / 0。 | |||
|} | |} | ||
[[Lua接口/服务端/IssuePetPlacard|IssuePetPlacard]] 用珍兽 GUID 高低段定位,[[Lua接口/服务端/IssuePetPlacardByIndex|IssuePetPlacardByIndex]] 用珍兽栏索引。[[Lua接口/服务端/DispatchPetPlacardList|DispatchPetPlacardList]] 需要 6 个参数,后两个是翻页检查标识。 | [[Lua接口/服务端/IssuePetPlacard|IssuePetPlacard]] 用珍兽 GUID 高低段定位,[[Lua接口/服务端/IssuePetPlacardByIndex|IssuePetPlacardByIndex]] 用珍兽栏索引。[[Lua接口/服务端/DispatchPetPlacardList|DispatchPetPlacardList]] 需要 6 个参数,后两个是翻页检查标识。 | ||
== 发送频道消息 == | == 发送频道消息 == | ||
<pre | <pre>BroadMsgByChatPipe(sceneId, selfId, "message", 0) | ||
-- 部分分支无返回值;不能据此判断是否发送成功</pre> | -- 部分分支无返回值;不能据此判断是否发送成功</pre> | ||
[[Lua接口/服务端/BroadMsgByChatPipe|BroadMsgByChatPipe]] 的部分分支不返回值,需要确认发送效果应结合客户端观察。 | [[Lua接口/服务端/BroadMsgByChatPipe|BroadMsgByChatPipe]] 的部分分支不返回值,需要确认发送效果应结合客户端观察。 | ||
== 发布珍兽公告 == | == 发布珍兽公告 == | ||
<pre | <pre>local ok = IssuePetPlacardByIndex(sceneId, selfId, targetId, petIndex, "text") | ||
if type(ok) == "number" and ok == 1 then | if type(ok) == "number" and ok == 1 then | ||
-- 公告发布成功 | -- 公告发布成功 | ||
end</pre> | end</pre> | ||
[[Lua接口/服务端/IssuePetPlacardByIndex|IssuePetPlacardByIndex]] 返回 1 表示成功、0 表示失败,用 <code | [[Lua接口/服务端/IssuePetPlacardByIndex|IssuePetPlacardByIndex]] 返回 1 表示成功、0 表示失败,用 <code>== 1</code> 判断。 | ||
== 相关主题 == | == 相关主题 == | ||
| 第113行: | 第113行: | ||
[[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]] | [[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]] | ||
<div | <div class="lua-note">本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。</div> | ||
</div> | </div> | ||
2026年9月19日 (六) 16:59的版本
按聊天频道发送消息、发布系统公告、发送 NPC 对白与珍兽公告。聊天频道(chatType)与公告内容由脚本传入。
聊天频道消息
| 接口 | 参数与返回 |
|---|---|
| BroadMsgByChatPipe | sceneId, selfId, pMessage, chatType → 部分分支无返回值。
|
BroadMsgByChatPipe 按 chatType 决定发送范围(玩家、场景或世界聊天链路),部分分支不返回值。
系统公告
| 接口 | 参数与返回 |
|---|---|
| AddGlobalCountNews | sceneId, newstr;无返回值。向全组服务器发送新闻公告。
|
AddGlobalCountNews 无返回值,公告会发送指定次数。
NPC 对白
| 接口 | 参数与返回 |
|---|---|
| MonsterTalk | sceneId, monsterId, sceneName, msg → 部分分支无返回值。
|
| LuaFnNpcChat | sceneId, monsterId, isSceneBroadcast, msg → 部分分支无返回值。
|
MonsterTalk 的消息格式与 npctalk 脚本协议一致;LuaFnNpcChat 发送 Packet 542 的 NPC 对话消息,第三个参数 isSceneBroadcast 控制是否场景广播。
队伍消息
| 接口 | 参数与返回 |
|---|---|
| Msg2Team | ();无返回值。当前为空实现,调用不会发送消息。
|
Msg2Team 当前是**空实现**,调用不会向队伍成员发送消息,需要群发时改用 BroadMsgByChatPipe。
珍兽公告
| 接口 | 参数与返回 |
|---|---|
| IssuePetPlacard | sceneId, selfId, targetId, petGUID_H, petGUID_L, pszMessage → 1 / 0。
|
| IssuePetPlacardByIndex | sceneId, selfId, targetId, nPetIndex, pszMessage → 1 / 0。
|
| CancelPetPlacard | sceneId, selfId, targetId → 1 / 0。
|
| DispatchPetPlacardList | sceneId, selfId, targetId, firstCheckId, secondCheckId, nextPageOrPrevPage → 1 / 0。
|
IssuePetPlacard 用珍兽 GUID 高低段定位,IssuePetPlacardByIndex 用珍兽栏索引。DispatchPetPlacardList 需要 6 个参数,后两个是翻页检查标识。
发送频道消息
BroadMsgByChatPipe(sceneId, selfId, "message", 0) -- 部分分支无返回值;不能据此判断是否发送成功
BroadMsgByChatPipe 的部分分支不返回值,需要确认发送效果应结合客户端观察。
发布珍兽公告
local ok = IssuePetPlacardByIndex(sceneId, selfId, targetId, petIndex, "text")
if type(ok) == "number" and ok == 1 then
-- 公告发布成功
end
IssuePetPlacardByIndex 返回 1 表示成功、0 表示失败,用 == 1 判断。
相关主题
- 角色信息
- 属性读取与修改
- 等级与经验
- 货币相关
- 物品查询
- 物品发放与扣除
- 背包空间
- 装备操作
- 任务状态
- 任务变量
- NPC 对话
- 对话选项
- 技能相关
- 心法相关
- 状态效果
- 生活技能
- 珍兽查询
- 珍兽操作
- 场景查询
- 坐标与传送
- 副本相关
- 活动相关
- 时间与计时
- 怪物相关
- 队伍相关
- 帮会相关
- 消息与提示
- 聊天与公告
函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID
本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。