Lua接口/客户端/DataPool/AddFriend:修订间差异
来自天龙知识库
跳到导航跳到搜索
新建客户端 Lua 接口页:全局函数、对象方法、窗口操作与客户端事件 |
新建客户端 Lua 接口页:全局函数、对象方法、窗口操作与客户端事件 |
||
| (未显示另一用户的1个中间版本) | |||
| 第1行: | 第1行: | ||
__NOTOC__ | __NOTOC__ | ||
<div class="lua-reference | <div class="lua-reference"> | ||
[[首页|首页]] · [[Lua接口/客户端函数索引|客户端接口]] · [[Lua接口/客户端函数索引/DataPool|DataPool]] | [[首页|首页]] · [[Lua接口/客户端函数索引|客户端接口]] · [[Lua接口/客户端函数索引/DataPool|DataPool]] | ||
<div | <div class="lua-lead"> | ||
<div role="heading" aria-level="2" | <div role="heading" aria-level="2" class="lua-h1">DataPool:AddFriend</div> | ||
<div | <div class="lua-sub">添加一个好友到某一组 · 实现于 Game/Interface/GMGameInterface_Script_DataPool.cpp</div> | ||
</div> | </div> | ||
== 调用方式 == | == 调用方式 == | ||
<code | <code>DataPool:AddFriend(number, string, number)</code> | ||
对象名 <code | 对象名 <code>DataPool</code> 是全局对象,可直接使用。 | ||
界面脚本中共 18 处调用,实参个数出现过:1 个(2 处)、2 个(15 处)、3 个(1 处)。 | 界面脚本中共 18 处调用,实参个数出现过:1 个(2 处)、2 个(15 处)、3 个(1 处)。 | ||
== 参数 == | == 参数 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col" | ! scope="col" class="lua-w9" | 序号 | ||
! scope="col" | ! scope="col" class="lua-w25" | 类型 | ||
! scope="col | ! scope="col" | 说明 | ||
|- | |- | ||
| 1 | |||
| <code>number</code> | |||
| 源码注释:如果直接一个名字,就自动往所有的列表里加,<br />调用点实参:<code>Friend:GetCurrentTeam()</code>(7 处)、<code>ContexMenu_GetCurrentFriendTeam()</code>(6 处)、<code>8</code>(2 处) | |||
|- | |- | ||
| 2 | |||
| <code>string</code> | |||
| 调用点实参:<code>szName</code>(5 处)、<code>sender</code>(2 处)、<code>Cur_Name</code>(1 处)<br /><small class="lua-muted">可省略:实际调用中出现过少传实参的情形</small> | |||
|- | |- | ||
| 3 | |||
| <code>number</code> | |||
| 调用点实参:<code>tonumber( 1 )</code>(1 处)<br /><small class="lua-muted">可省略:实际调用中出现过少传实参的情形</small> | |||
|} | |} | ||
== 返回值 == | == 返回值 == | ||
无返回值(实现体 <code | 无返回值(实现体 <code>return 0</code>)。被赋给变量时得到 <code>nil</code>,与返回数字 0 不同。 | ||
== 实现体注释 == | == 实现体注释 == | ||
| 第45行: | 第44行: | ||
== 脚本中的调用 == | == 脚本中的调用 == | ||
以下是界面脚本里的真实调用点(同一形态只列一次): | 以下是界面脚本里的真实调用点(同一形态只列一次): | ||
<pre | <pre>-- ChatInfo/ChatInfo.lua | ||
DataPool:AddFriend(Friend:GetCurrentTeam(), szName) | DataPool:AddFriend(Friend:GetCurrentTeam(), szName) | ||
-- ConfraternityManage/ConfraternityManage.lua | -- ConfraternityManage/ConfraternityManage.lua | ||
| 第61行: | 第60行: | ||
== 关联 == | == 关联 == | ||
* 触发客户端事件:<code | * 触发客户端事件:<code>GE_NEW_DEBUGMESSAGE</code>、<code>GE_UPDATE_FRIEND</code>,见[[Lua接口/客户端事件|客户端事件]] | ||
* 读取或修改客户端本地数据 | * 读取或修改客户端本地数据 | ||
</div> | </div> | ||
2026年9月19日 (六) 17:01的最新版本
DataPool:AddFriend
添加一个好友到某一组 · 实现于 Game/Interface/GMGameInterface_Script_DataPool.cpp
调用方式
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_DEBUGMESSAGE、GE_UPDATE_FRIEND,见客户端事件 - 读取或修改客户端本地数据