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

来自天龙知识库
跳到导航跳到搜索
雪舞留言 | 贡献
新建客户端 Lua 接口页:全局函数、对象方法、窗口操作与客户端事件
 
Waylee留言 | 贡献
新建客户端 Lua 接口页:全局函数、对象方法、窗口操作与客户端事件
 
(未显示1个用户的2个中间版本)
第1行: 第1行:
__NOTOC__
__NOTOC__
<div class="lua-reference" style="max-width:1200px;margin:0 auto;line-height:1.8;color:#29343a;font-family:Arial,'Microsoft YaHei','PingFang SC',sans-serif;letter-spacing:0;overflow-wrap:anywhere;">
<div class="lua-reference">
[[首页|首页]] · [[Lua接口/客户端函数索引|客户端接口]] · [[Lua接口/客户端函数索引/DataPool|DataPool]]
[[首页|首页]] · [[Lua接口/客户端函数索引|客户端接口]] · [[Lua接口/客户端函数索引/DataPool|DataPool]]


<div style="padding:14px 0;border-top:3px solid #287568;">
<div class="lua-lead">
<div role="heading" aria-level="2" style="font-size:22px;font-weight:bold;color:#193d37;">DataPool:AddFriend</div>
<div role="heading" aria-level="2" class="lua-h1">DataPool:AddFriend</div>
<div style="margin-top:6px;color:#657078;">添加一个好友到某一组 · 实现于 Game/Interface/GMGameInterface_Script_DataPool.cpp</div>
<div class="lua-sub">添加一个好友到某一组 · 实现于 Game/Interface/GMGameInterface_Script_DataPool.cpp</div>
</div>
</div>
<div style="margin:10px 0;padding:10px 12px;border-left:3px solid #9a7940;background:#faf7f0;font-size:13px;color:#5f5136;">本页信息由客户端 C++ 绑定源码与 230 个界面脚本自动整理:参数取实现体的 <code>args[n]</code> 取值点(对象方法已扣除 <code>self</code> 占用的栈位),调用示例取脚本中的真实调用,<b>未经运行验证</b>;用途摘要按实现体归纳,仅供参考。</div>
== 调用方式 ==
== 调用方式 ==
<code style="white-space:normal;overflow-wrap:anywhere;">DataPool:AddFriend(number, string, number)</code>
<code>DataPool:AddFriend(number, string, number)</code>
对象名 <code style="white-space:normal;overflow-wrap:anywhere;">DataPool</code> 是全局对象,可直接使用。
对象名 <code>DataPool</code> 是全局对象,可直接使用。


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


== 参数 ==
== 参数 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;width:9%;" | 序号
! scope="col" class="lua-w9" | 序号
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;width:18%;" | 类型
! scope="col" class="lua-w25" | 类型
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 说明
! scope="col" | 说明
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 1
| 1
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">number</code>
| <code>number</code>
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 源码注释:如果直接一个名字,就自动往所有的列表里加,<br />调用点实参:<code style="white-space:normal;overflow-wrap:anywhere;">Friend:GetCurrentTeam()</code>(7 处)、<code style="white-space:normal;overflow-wrap:anywhere;">ContexMenu_GetCurrentFriendTeam()</code>(6 处)、<code style="white-space:normal;overflow-wrap:anywhere;">8</code>(2 处)
| 源码注释:如果直接一个名字,就自动往所有的列表里加,<br />调用点实参:<code>Friend:GetCurrentTeam()</code>(7 处)、<code>ContexMenu_GetCurrentFriendTeam()</code>(6 处)、<code>8</code>(2 处)
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 2
| 2
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">string</code>
| <code>string</code>
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 调用点实参:<code style="white-space:normal;overflow-wrap:anywhere;">szName</code>(5 处)、<code style="white-space:normal;overflow-wrap:anywhere;">sender</code>(2 处)、<code style="white-space:normal;overflow-wrap:anywhere;">Cur_Name</code>(1 处)<br /><small style="color:#657078;">可省略:实际调用中出现过少传实参的情形</small>
| 调用点实参:<code>szName</code>(5 处)、<code>sender</code>(2 处)、<code>Cur_Name</code>(1 处)<br /><small class="lua-muted">可省略:实际调用中出现过少传实参的情形</small>
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 3
| 3
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">number</code>
| <code>number</code>
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 调用点实参:<code style="white-space:normal;overflow-wrap:anywhere;">tonumber( 1 )</code>(1 处)<br /><small style="color:#657078;">可省略:实际调用中出现过少传实参的情形</small>
| 调用点实参:<code>tonumber( 1 )</code>(1 处)<br /><small class="lua-muted">可省略:实际调用中出现过少传实参的情形</small>
|}
|}


== 返回值 ==
== 返回值 ==
无返回值(实现体 <code style="white-space:normal;overflow-wrap:anywhere;">return 0</code>)。被赋给变量时得到 <code style="white-space:normal;overflow-wrap:anywhere;">nil</code>,与返回数字 0 不同。
无返回值(实现体 <code>return 0</code>)。被赋给变量时得到 <code>nil</code>,与返回数字 0 不同。


== 实现体注释 ==
== 实现体注释 ==
第45行: 第44行:
== 脚本中的调用 ==
== 脚本中的调用 ==
以下是界面脚本里的真实调用点(同一形态只列一次):
以下是界面脚本里的真实调用点(同一形态只列一次):
<pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">-- ChatInfo/ChatInfo.lua
<pre>-- ChatInfo/ChatInfo.lua
DataPool:AddFriend(Friend:GetCurrentTeam(), szName)
DataPool:AddFriend(Friend:GetCurrentTeam(), szName)
-- ConfraternityManage/ConfraternityManage.lua
-- ConfraternityManage/ConfraternityManage.lua
第61行: 第60行:


== 关联 ==
== 关联 ==
* 触发客户端事件:<code style="white-space:normal;overflow-wrap:anywhere;">GE_NEW_DEBUGMESSAGE</code>、<code style="white-space:normal;overflow-wrap:anywhere;">GE_UPDATE_FRIEND</code>,见[[Lua接口/客户端事件|客户端事件]]
* 触发客户端事件:<code>GE_NEW_DEBUGMESSAGE</code>、<code>GE_UPDATE_FRIEND</code>,见[[Lua接口/客户端事件|客户端事件]]
* 读取或修改客户端本地数据
* 读取或修改客户端本地数据


<div style="margin-top:20px;padding-top:10px;border-top:1px solid #dbe3e6;color:#657078;font-size:12px;">参数与返回值由实现体的取值点推断(对象方法已扣除 <code style="white-space:normal;overflow-wrap:anywhere;">self</code> 占用的栈位),调用示例取自 230 个界面脚本;均为静态整理,未在游戏内执行验证。</div>


</div>
</div>

2026年9月19日 (六) 17:01的最新版本

首页 · 客户端接口 · DataPool

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_DEBUGMESSAGEGE_UPDATE_FRIEND,见客户端事件
  • 读取或修改客户端本地数据