Lua接口/客户端/DataPool/AddFriend:修订间差异

来自天龙知识库
跳到导航跳到搜索
雪舞留言 | 贡献
新建客户端 Lua 接口页:全局函数、对象方法、窗口操作与客户端事件
 
雪舞留言 | 贡献
新建客户端 Lua 接口页:全局函数、对象方法、窗口操作与客户端事件
第17行: 第17行:
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;width:9%;" | 序号
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;width:9%;" | 序号
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;width:18%;" | 类型
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;width:25%;" | 类型
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 说明
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 说明
|-
|-

2026年9月19日 (六) 09:00的版本

首页 · 客户端接口 · DataPool

DataPool:AddFriend
添加一个好友到某一组 · 实现于 Game/Interface/GMGameInterface_Script_DataPool.cpp
本页信息由客户端 C++ 绑定源码与 230 个界面脚本自动整理:参数取实现体的 args[n] 取值点(对象方法已扣除 self 占用的栈位),调用示例取脚本中的真实调用,未经运行验证;用途摘要按实现体归纳,仅供参考。

调用方式

DataPool:AddFriend(number, string, number) 对象名 DataPool 是全局对象,可直接使用。

界面脚本中共 18 处调用,实参个数出现过:1 个(2 处)、2 个(15 处)、3 个(1 处)。

参数

序号 类型 说明
1 number 源码注释:如果直接一个名字,就自动往所有的列表里加,
调用点实参:Friend:GetCurrentTeam()(7 处)、ContexMenu_GetCurrentFriendTeam()(6 处)、8(2 处)
2 string 调用点实参:szName(5 处)、sender(2 处)、Cur_Name(1 处)
可省略:实际调用中出现过少传实参的情形
3 number 调用点实参:tonumber( 1 )(1 处)
可省略:实际调用中出现过少传实参的情形

返回值

无返回值(实现体 return 0)。被赋给变量时得到 nil,与返回数字 0 不同。

实现体注释

以下注释取自实现体原文,仅收录可确认属原作者的部分:

  • int: 1 所需要添加的好友的ID
  • 如果是玩家并且是统一阵营的才会添加
  • 增加黑名单的添加
  • 如果是自己,就不加

脚本中的调用

以下是界面脚本里的真实调用点(同一形态只列一次):

-- ChatInfo/ChatInfo.lua
DataPool:AddFriend(Friend:GetCurrentTeam(), szName)
-- ConfraternityManage/ConfraternityManage.lua
DataPool:AddFriend(Friend:GetCurrentTeam(), m_GUID)
-- ContexMenu/ContexMenu.lua
DataPool:AddFriend(ContexMenu_GetCurrentFriendTeam(), Talk:HandleMenuAction("Name"))
-- ContexMenu/ContexMenu.lua
DataPool:AddFriend(ContexMenu_GetCurrentFriendTeam())
-- ContexMenu/ContexMenu.lua
DataPool:AddFriend(ContexMenu_GetCurrentFriendTeam(), tonumber( guid ))
-- ContexMenu/ContexMenu.lua
DataPool:AddFriend(nGroup, name, tonumber( 1 ))
-- ContexMenu/ContexMenu.lua
DataPool:AddFriend(ContexMenu_GetCurrentFriendTeam(), szName)

关联

  • 触发客户端事件:GE_NEW_DEBUGMESSAGEGE_UPDATE_FRIEND,见客户端事件
  • 读取或修改客户端本地数据
参数与返回值由实现体的取值点推断(对象方法已扣除 self 占用的栈位),调用示例取自 230 个界面脚本;均为静态整理,未在游戏内执行验证。