Lua接口/服务端/Msg2Player

来自天龙知识库
雪舞​(留言 | 贡献)2026年9月19日 (六) 12:49的版本 (维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例)
跳到导航跳到搜索

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

将消息发送给玩家
本页由服务端绑定源码与随包脚本自动整理:用途、参数位置与返回数量取实现体,未在游戏内执行验证。调用点取自 4244 个服务端脚本中的 907 处真实调用。

同一接口的其他调用名称:LuaFnMsg2Player。

Lua 调用

Msg2Player(sceneId, selfId, msg, type)

服务端脚本中共出现 907 处调用,实参个数出现过:4 个(907 处)。

参数

序号 参数 / 类型 说明
1 sceneId
number
当前调用所在的场景 ID。
脚本中的实参:sceneId(907 处)
2 selfId
number
当前场景内的对象 ID。玩家接口需传入有效玩家对象;不是角色 GUID。
脚本中的实参:selfId(869 处)、tId(9 处)、mems[i](7 处)
3 msg
string
聊天内容,字符串指针类型
脚本中的实参:"您已经骑上坐骑了。"(106 处)、strText(82 处)、"#Y接受任务:师门任务"(73 处)
4 type
number
CHAT_TYPE_NORMAL =0 , //普通说话消息 CHAT_TYPE_TEAM = 1, //队聊消息 CHAT_TYPE_SCENE = 2, //场景消息 CHAT_TYPE_TELL = 3, //私聊消息 CHAT_TYPE_SYSTEM = 4, //系统消息 CHAT_TYPE_CHANNEL = 5, //自建聊天频道消息 CHAT_TYPE_GUILD = 6, //帮派消息 CHAT_TYPE_MENPAI = 7 , //门派消息 CHAT_TYPE_SELF = 8, //仅客户端使用的消息
脚本中的实参:MSG2PLAYER_PARA(896 处)、8(11 处)

返回值

返回 1 个值。返回类型包括 number。明确的固定返回组合包括 1;-1。

用法补充

将消息发送给玩家
消息显示在左下角的聊天框内
type默认值为CHAT_TYPE_NORMAL,即0
金钱提示信息,需要写成#{_MONEY%d}方式
例如:你获得了#{_MONEY208934}。
这句话在客户端提示的时候会自动计算出金、银、铜的数量,并用对应的图标表示出来。

脚本中的调用

以下是服务端脚本里的真实调用点,按实参形态去重后列出 8 条。这些调用取自随包发布的脚本,可用于确认参数顺序与实际传入的值;它们不代表该写法在当前版本仍然有效。

-- city0_building5.lua
Msg2Player(sceneId, selfId, "#R由于今天是商人日,所以你获得了比平时更多的收益。", MSG2PLAYER_PARA)

-- city0_LevelUp.lua
Msg2Player(sceneId, selfId, "#Y接受任务:升级建筑", MSG2PLAYER_PARA)

-- city0_LevelUp.lua
Msg2Player(sceneId, selfId, "#Y完成任务:升级建筑", MSG2PLAYER_PARA)

-- city0_Research.lua
Msg2Player(sceneId, selfId, "#Y接受任务:升级研究", MSG2PLAYER_PARA)

-- city0_Research.lua
Msg2Player(sceneId, selfId, "#Y完成任务:升级研究", MSG2PLAYER_PARA)

-- event/caoyun/ecaoyun.lua
Msg2Player(sceneId, selfId, "因为今天是漕运日,所以您的本次出售收益加倍。", MSG2PLAYER_PARA)

-- event/caoyun/ecaoyun.lua
Msg2Player(sceneId, selfId, "因为漕运路引,您出售货物获得的利润翻倍。", MSG2PLAYER_PARA)

-- event/caoyun/ecaoyun.lua
Msg2Player(sceneId, selfId, "@*;npcpaopao;"..npcobjid..";15", MSG2PLAYER_PARA)

注意事项

  • 调用对象必须是当前场景中的有效玩家。
  • 接口会根据实参数量处理部分分支;省略参数前需确认对应调用场景。
核对依据:LuaFnTbl_Team.h 第 310 行,服务端注册表第 216、841 行。调用格式与返回数量依据当前实现整理;脚本调用点取自 4244 个随包脚本(共 535888 行、命中 85384 处调用),未经运行验证。游戏内效果、边界行为及未注明的业务枚举仍需实测。