查看“︁Lua接口/生活技能”︁的源代码
来自天龙知识库
←
Lua接口/生活技能
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
__NOTOC__ <div class="lua-reference" style="max-width:1200px;margin:0 auto;line-height:1.8;color:#29343a;font-family:Arial,'Microsoft YaHei',sans-serif;letter-spacing:0;overflow-wrap:anywhere;"> [[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]] 查询、学习与升级生活技能(Ability),读写技能经验、管理配方与操作时间。生活技能编号(abilityId)来自生活技能配置表。 == 学习与等级 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/QueryHumanAbility|QueryHumanAbility]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, abilityId</code> → 已学 1、未学 0、失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/QueryHumanAbilityLevel|QueryHumanAbilityLevel]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, AbilityID</code> → 生活技能等级;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetHumanAbilityLevel|SetHumanAbilityLevel]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, abilityId, abilityLvl</code>;无返回值。 |} [[Lua接口/服务端/QueryHumanAbility|QueryHumanAbility]] 返回 1 表示已学、0 表示未学、-1 表示失败,**0 与 -1 含义不同**,不能用简单真值判断。[[Lua接口/服务端/SetHumanAbilityLevel|SetHumanAbilityLevel]] 无返回值。 == 技能经验 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetAbilityExp|GetAbilityExp]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, abilityId</code> → 当前经验;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetAbilityExp|SetAbilityExp]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, abilityId, abilityExp</code>;无返回值。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetAbilityExpPlus|GetAbilityExpPlus]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, itemTypeSn</code> → 物品对应的经验加成;失败 -1。 |} [[Lua接口/服务端/SetAbilityExp|SetAbilityExp]] 无返回值。[[Lua接口/服务端/GetAbilityExpPlus|GetAbilityExpPlus]] 传的是物品配置编号,读取该物品提供的生活技能经验加成。 == 配方 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetPrescription|SetPrescription]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, PrescrID, LearnOrAbandon</code> → 学会结果;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/IsPrescrLearned|IsPrescrLearned]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, PrescrID</code> → 是否已学;失败 -1。 |} [[Lua接口/服务端/SetPrescription|SetPrescription]] 只能操作「学会」某一配方,不能放弃具体某项配方——放弃走另外的流程。[[Lua接口/服务端/IsPrescrLearned|IsPrescrLearned]] 判断是否已学。 == 升级配置 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetAbilityMaxLevel|LuaFnGetAbilityMaxLevel]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">abilityId</code> → 1、最大等级(2 项);配置不存在返回 0,异常 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetAbilityLevelUpConfig|LuaFnGetAbilityLevelUpConfig]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">abilityId, nLevel</code> → 7 项(1、金钱、经验、技能经验限制等);配置不存在 0,异常 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetAbilityLevelUpConfig2|LuaFnGetAbilityLevelUpConfig2]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">abilityId, nLevel</code> → 9 项,在上一接口基础上追加附加金钱、附加经验。 |} 这三个接口成功时**第一个返回值是 1**(不是金额),后续才是配置数据;配置不存在返回 0,异常路径返回 -1。用多个变量按顺序接收,不要只接一项。 == 操作与挂机时间 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetAbilityOperaRobotTime|GetAbilityOperaRobotTime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 挂机器时间;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetAbilityOperaRobotTime|SetAbilityOperaRobotTime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, RobotTime</code>;无返回值。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetAbilityOperaTime|SetAbilityOperaTime]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, OperaTime</code>;无返回值。 |} [[Lua接口/服务端/SetAbilityOperaRobotTime|SetAbilityOperaRobotTime]] 与 [[Lua接口/服务端/SetAbilityOperaTime|SetAbilityOperaTime]] 都无返回值。 == 材料与随机 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetAbilityObjIndex|GetAbilityObjIndex]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, Index</code> → 材料条目对应的背包位置;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnCompoundRandom|LuaFnCompoundRandom]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">randomIndex</code> → 合成随机结果;失败 -1。表索引范围 0-127。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGemEmbedRandom|LuaFnGemEmbedRandom]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 宝石镶嵌随机结果;失败 -1。 |} [[Lua接口/服务端/GetAbilityObjIndex|GetAbilityObjIndex]] 读取当前生活技能操作中指定材料条目的背包位置。[[Lua接口/服务端/LuaFnCompoundRandom|LuaFnCompoundRandom]] 的表索引范围是 0 到 127。 == 结果消息 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口 ! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSendAbilitySuccessMsg|LuaFnSendAbilitySuccessMsg]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, AbilityId, RecipeId, ItemSerialNum</code>;无返回值。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSendAbilityFailureMsg|LuaFnSendAbilityFailureMsg]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, abilityId, recipeId, itemSerial</code>;无返回值。 |} 这组向客户端发送制造成功 / 失败消息,都无返回值。 == 检查并设置等级 == <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">local learned = QueryHumanAbility(sceneId, selfId, abilityId) if type(learned) == "number" and learned == 1 then local level = QueryHumanAbilityLevel(sceneId, selfId, abilityId) if type(level) == "number" and level ~= -1 then -- 已学,取得等级 end end</pre> [[Lua接口/服务端/QueryHumanAbility|QueryHumanAbility]] 已学返回 1、未学返回 0、失败返回 -1,所以用 <code style="white-space:normal;overflow-wrap:anywhere;">learned == 1</code> 判断已学。 == 学习配方 == <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">local learned = IsPrescrLearned(sceneId, selfId, prescrId) if type(learned) == "number" and learned ~= 1 then SetPrescription(sceneId, selfId, prescrId, 1) end</pre> [[Lua接口/服务端/SetPrescription|SetPrescription]] 第 4 个参数表示学会操作;本接口不能放弃具体某项配方。 == 读取升级配置 == <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">local ok, money, exp = LuaFnGetAbilityLevelUpConfig(abilityId, nLevel) if type(ok) == "number" and ok == 1 then -- money、exp 为所需金钱与经验 end</pre> [[Lua接口/服务端/LuaFnGetAbilityLevelUpConfig|LuaFnGetAbilityLevelUpConfig]] 成功时第一项是 1、后续才是数据;配置不存在返回 0,异常返回 -1。 == 相关主题 == * [[Lua接口/角色信息|角色信息]] * [[Lua接口/属性读取与修改|属性读取与修改]] * [[Lua接口/等级与经验|等级与经验]] * [[Lua接口/货币相关|货币相关]] * [[Lua接口/物品查询|物品查询]] * [[Lua接口/物品发放与扣除|物品发放与扣除]] * [[Lua接口/背包空间|背包空间]] * [[Lua接口/装备操作|装备操作]] * [[Lua接口/任务状态|任务状态]] * [[Lua接口/任务变量|任务变量]] * [[Lua接口/NPC对话|NPC 对话]] * [[Lua接口/对话选项|对话选项]] * [[Lua接口/技能相关|技能相关]] * [[Lua接口/心法相关|心法相关]] * [[Lua接口/状态效果|状态效果]] * [[Lua接口/生活技能|生活技能]] * [[Lua接口/珍兽查询|珍兽查询]] * [[Lua接口/珍兽操作|珍兽操作]] * [[Lua接口/场景查询|场景查询]] * [[Lua接口/坐标与传送|坐标与传送]] * [[Lua接口/副本相关|副本相关]] * [[Lua接口/活动相关|活动相关]] * [[Lua接口/时间与计时|时间与计时]] * [[Lua接口/怪物相关|怪物相关]] [[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]] [[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]] <div style="margin-top:20px;padding-top:10px;border-top:1px solid #dbe3e6;color:#657078;font-size:12px;">本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。</div> </div>
返回
Lua接口/生活技能
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息