Lua接口/客户端函数索引:修订间差异

来自天龙知识库
跳到导航跳到搜索
雪舞留言 | 贡献
新建客户端 Lua 接口页:全局函数、对象方法、窗口操作与客户端事件
雪舞留言 | 贡献
新建客户端 Lua 接口页:全局函数、对象方法、窗口操作与客户端事件
 
(未显示同一用户的2个中间版本)
第8行: 第8行:
<div style="margin-top:10px;color:#657078;">213 个全局函数 · 64 个对象类(1344 个方法)· 338 个客户端事件 · 230 个界面脚本</div>
<div style="margin-top:10px;color:#657078;">213 个全局函数 · 64 个对象类(1344 个方法)· 338 个客户端事件 · 230 个界面脚本</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;">ShowSystemInfo("文本")</code>。
* 全局函数直接按名称调用,例如 <code style="white-space:normal;overflow-wrap:anywhere;">ShowSystemInfo("文本")</code>。
第16行: 第15行:


== 全局函数 ==
== 全局函数 ==
共 213 个,直接作为全局名调用,全部函数见[[Lua接口/客户端函数索引/全局函数|全局函数清单]]
共 213 个,直接作为全局名调用,全部函数见[[Lua接口/客户端函数索引/全局函数|全局函数清单]]。清单里每个函数名都可点进独立页,查看参数含义、返回值与脚本中的真实调用。


{| 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;"
第41行: 第40行:


== 对象方法 ==
== 对象方法 ==
对象方法按对象分组;对象名就是脚本里冒号前使用的名称。共 35 个对象类、1200 个方法。
对象方法按对象分组;对象名就是脚本里冒号前使用的名称。共 35 个对象类、1200 个方法。每个方法名都可点进独立页,查看参数含义、返回值与脚本中的真实调用。


{| 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;"
第153行: 第152行:
|}
|}


窗口控件类(29 个类、144 个方法)见[[Lua接口/客户端窗口操作|客户端窗口操作]]。
窗口控件类(29 个类、144 个方法)见[[Lua接口/客户端窗口操作|客户端窗口操作]],其中的方法同样各有独立页。
 
== 界面脚本 ==
界面上的每个功能面板(钱庄、宝石镶嵌、摆摊、珍兽…)都由 <code style="white-space:normal;overflow-wrap:anywhere;">Data/Interface/</code> 下的一个 <code style="white-space:normal;overflow-wrap:anywhere;">.lua</code> 脚本负责,共 234 个。哪个界面对应哪个脚本、它监听哪些命令、用到哪些接口,见[[Lua接口/客户端界面索引|客户端界面索引]]。


== 约定 ==
== 约定 ==
* 参数个数与类型由实现体推断:客户端实现没有结构化注释块,类型来自 <code style="white-space:normal;overflow-wrap:anywhere;">args&#91;n&#93;.Is/Get*</code> 或 <code style="white-space:normal;overflow-wrap:anywhere;">lua_is*/lua_to*</code> 的取值点,取不到类型的参数会缺失。
* 参数个数与类型由实现体推断:客户端实现没有结构化注释块,类型来自 <code style="white-space:normal;overflow-wrap:anywhere;">args&#91;n&#93;.Is/Get*</code> 或 <code style="white-space:normal;overflow-wrap:anywhere;">lua_is*/lua_to*</code> 的取值点,取不到类型的参数会缺失。
* **独立页的标题是「归属:名称」**:全局函数直接是函数名,对象方法是 <code style="white-space:normal;overflow-wrap:anywhere;">对象名:方法名</code>,窗口控件方法是 <code style="white-space:normal;overflow-wrap:anywhere;">控件类:方法名</code>。同名方法可能存在于多个类(如 <code style="white-space:normal;overflow-wrap:anywhere;">Show</code> 同属 <code style="white-space:normal;overflow-wrap:anywhere;">Window</code> 与 <code style="white-space:normal;overflow-wrap:anywhere;">CUIWindowItem</code>),因此必须带归属前缀才能唯一定位。
* 返回项数来自 <code style="white-space:normal;overflow-wrap:anywhere;">return n</code>,<code style="white-space:normal;overflow-wrap:anywhere;">return 0</code> 表示无返回值(赋值接收得到 nil)。
* 返回项数来自 <code style="white-space:normal;overflow-wrap:anywhere;">return n</code>,<code style="white-space:normal;overflow-wrap:anywhere;">return 0</code> 表示无返回值(赋值接收得到 nil)。
* 每行下方标注的是**实现体所在的源码文件**,可按函数名回查核对;不标行号,避免源码改动后失效。
* 每行下方标注的是**实现体所在的源码文件**,可按函数名回查核对;不标行号,避免源码改动后失效。

2026年9月19日 (六) 14:39的最新版本

首页 · 客户端接口 · 窗口操作 · 客户端事件

客户端 Lua 接口
面向客户端脚本的接口参考:全局函数与对象方法。客户端脚本负责界面与本地表现,实际数据以服务器下发为准。
213 个全局函数 · 64 个对象类(1344 个方法)· 338 个客户端事件 · 230 个界面脚本

调用方式

  • 全局函数直接按名称调用,例如 ShowSystemInfo("文本")
  • 对象方法要先取得对象再用冒号调用,例如 local n = DataPool:GetFriendCount()
  • this 是当前窗口对象,脚本里的 this:RegisterEvent("事件名")this:Show() 属于窗口操作
  • 事件名在客户端事件中查阅。

全局函数

共 213 个,直接作为全局名调用,全部函数见全局函数清单。清单里每个函数名都可点进独立页,查看参数含义、返回值与脚本中的真实调用。

分组 函数数 说明
界面与提示 77 CallScriptString、CloseAllWindow、CloseBooth、CloseFangDaohao 等
角色、物品与对象 17 AcceptRide、AskDetailByGuid、AskEquipDetial、AskEvaluateAndLevelup 等
系统与设置 17 ClearAllTimer、KillTimer、PlaySound、QuitApplication 等
其他 102 AnswerLevelUpCode、AutoHit、AutoRunToTarget、AxTrace 等

对象方法

对象方法按对象分组;对象名就是脚本里冒号前使用的名称。共 35 个对象类、1200 个方法。每个方法名都可点进独立页,查看参数含义、返回值与脚本中的真实调用。

对象
DataPool 实现类 DataPool · 181 个方法
Pet 实现类 Pet · 163 个方法
PlayerShop 实现类 PlayerShop · 87 个方法
Player 实现类 PlayerMySelf · 75 个方法
GameProduceLogin 实现类 CGameProduce_Login · 69 个方法
LifeAbility 实现类 LifeAbility · 61 个方法
Guild 实现类 Guild · 54 个方法
TargetPet 实现类 TargetPet · 48 个方法
GuildLeague 实现类 GuildLeague · 47 个方法
City 实现类 CityTable · 45 个方法
Talk 实现类 Talk · 43 个方法
Target 实现类 Character · 38 个方法
SystemSetup 实现类 SystemSetup · 36 个方法
StallSale 实现类 StallSale · 28 个方法
SuperTooltips 实现类 SuperTooltips · 27 个方法
PlayerPackage 实现类 PlayerPackage · 25 个方法
Exchange 实现类 Exchange · 24 个方法
StallBuy 实现类 StallBuy · 19 个方法
Bank 实现类 Bank · 17 个方法
NpcShop 实现类 NpcShop · 16 个方法
Friend 实现类 Friend · 16 个方法
CActionItem 实现类 CActionItem · 13 个方法
FindFriendDataPool 实现类 CFindFriendDataPool · 10 个方法
PetInviteFriend 实现类 PetInviteFriend · 9 个方法
FriendSearcher 实现类 FriendSearcher · 8 个方法
AbilityTeacher 实现类 AbilityTeacher · 7 个方法
CommisionShop 实现类 CommisionShop · 7 个方法
MissionReply 实现类 MissionReply · 6 个方法
StallBbs 实现类 StallBbs · 5 个方法
Blog 实现类 Blog · 3 个方法
GemCarve 实现类 GemCarve · 3 个方法
Sound 实现类 CSoundSystemFMod · 3 个方法
Helper 实现类 CHelperSystem · 3 个方法
GemMelting 实现类 GemMelting · 2 个方法
Variable 实现类 CVariableSystem · 2 个方法

窗口控件类(29 个类、144 个方法)见客户端窗口操作,其中的方法同样各有独立页。

界面脚本

界面上的每个功能面板(钱庄、宝石镶嵌、摆摊、珍兽…)都由 Data/Interface/ 下的一个 .lua 脚本负责,共 234 个。哪个界面对应哪个脚本、它监听哪些命令、用到哪些接口,见客户端界面索引

约定

  • 参数个数与类型由实现体推断:客户端实现没有结构化注释块,类型来自 args[n].Is/Get*lua_is*/lua_to* 的取值点,取不到类型的参数会缺失。
  • **独立页的标题是「归属:名称」**:全局函数直接是函数名,对象方法是 对象名:方法名,窗口控件方法是 控件类:方法名。同名方法可能存在于多个类(如 Show 同属 WindowCUIWindowItem),因此必须带归属前缀才能唯一定位。
  • 返回项数来自 return nreturn 0 表示无返回值(赋值接收得到 nil)。
  • 每行下方标注的是**实现体所在的源码文件**,可按函数名回查核对;不标行号,避免源码改动后失效。
  • 数字 0 与 -1 在 Lua 条件判断中都是真值,判断成功必须用明确比较。
  • 客户端函数只影响本机界面与本地数据,不改变服务器状态。
  • 未在游戏内执行验证,编号类参数与取值需按本服实机确认。