查看“︁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接口/服务端调用约定|调用约定]] 查询背包中物品的数量、位置、锁定状态与属性。物品配置编号(itemTypeSn / itemTableIndex)来自物品表,不是背包格子编号;背包格子编号(bagIndex / BagPos)是 0 起的位置。 == 数量统计 == {| 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接口/服务端/GetItemCount|GetItemCount]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, itemTypeSn</code> → 累计数量(含已装备与背包);找不到 0、失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetAvailableItemCount|LuaFnGetAvailableItemCount]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, itemTypeSn</code> → 未加交易锁和密码锁的数量;失败 -1。 |} [[Lua接口/服务端/GetItemCount|GetItemCount]] 统计已装备与背包中的同编号物品总量;[[Lua接口/服务端/LuaFnGetAvailableItemCount|LuaFnGetAvailableItemCount]] 只统计未加锁的,用于判断能否交易或扣除。 == 位置查找 == {| 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接口/服务端/GetBagPosByItemSn|GetBagPosByItemSn]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, itemTableIndex</code> → 首个匹配格子位置(0 有效);未找到 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetItemBagPos|GetItemBagPos]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, itemTableIndex, findUnlock</code> → 首个匹配格子位置;可排除交易锁;未找到 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetItemTableIndexByIndex|GetItemTableIndexByIndex]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, itemIndex</code> → 该格物品配置编号;失败 -1。 |} 0 是有效格子位置,不能只靠 <code style="white-space:normal;overflow-wrap:anywhere;">>= 0</code> 判断是否找到,要同时排除 -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接口/服务端/LuaFnIsItemAvailable|LuaFnIsItemAvailable]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, bagIndex</code> → 未加锁 1、已加锁 0、失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnIsItemLocked|LuaFnIsItemLocked]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, bagIndex</code> → 交易锁 1、无锁 0、越界 -2、失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetItemBindStatus|LuaFnGetItemBindStatus]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, bagIndex</code> → 未绑定 0、已绑定 1、位置无效 2、失败 -1。 |} [[Lua接口/服务端/LuaFnIsItemAvailable|LuaFnIsItemAvailable]] 检查交易锁和密码锁;[[Lua接口/服务端/LuaFnIsItemLocked|LuaFnIsItemLocked]] 只检查运行时交易锁。[[Lua接口/服务端/LuaFnGetItemBindStatus|LuaFnGetItemBindStatus]] 返回 2 表示位置无效,不是已绑定。 == 物品属性 == {| 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接口/服务端/GetItemName|GetItemName]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, itemIndex</code> → 名称字符串或 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetBagItemLevel|GetBagItemLevel]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, BagIndex</code> → 装备需求等级;非装备返回 255、失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetItemApt|GetItemApt]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, bagIndex, nAptitudeType</code> → 资质加成百分比整数;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetGemEmbededCount|GetGemEmbededCount]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, BagPos</code> → 已镶嵌宝石数量;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetBagItemDur|GetBagItemDur]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, BagPos</code> → 耐久度;失败 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetBagItemParam|GetBagItemParam]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, BagPos, StartPos, Type</code> → 参数值;失败 -1。 |} [[Lua接口/服务端/GetBagItemLevel|GetBagItemLevel]] 非装备返回 255(哨兵值),不能把 255 当正常等级。[[Lua接口/服务端/GetItemApt|GetItemApt]] 返回的是百分比整数(如 16 表示 +16%),不是原始资质点。 == 物品编号解析 == {| 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接口/服务端/GetItemQuality|GetItemQuality]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">itemIndex</code> → 品质编号或 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetCommonItemGrade|GetCommonItemGrade]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">itemTableIndex</code> → 品级或 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetItemClass|GetItemClass]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">itemTableIndex</code> → 物品类别或 -1。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetItemEquipPoint|GetItemEquipPoint]] | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">itemTableIndex</code> → 穿戴部位;非装备 -1。 |} 这组接口只传物品编号(不传 sceneId / selfId),从配置表直接读取静态属性。 == 统计可交易物品 == <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 count = LuaFnGetAvailableItemCount(sceneId, selfId, itemTypeSn) if type(count) == "number" and count > 0 then -- 有未加锁的物品可交易或扣除 end</pre> [[Lua接口/服务端/LuaFnGetAvailableItemCount|LuaFnGetAvailableItemCount]] 失败返回 -1,不能直接 <code style="white-space:normal;overflow-wrap:anywhere;">if count then</code> 判断(见 [[Lua接口/返回值判断|返回值判断]])。 == 查找物品位置 == <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 bagIndex = GetItemBagPos(sceneId, selfId, itemTableIndex, 1) if type(bagIndex) == "number" and bagIndex ~= -1 then -- 取得首个未加交易锁的格子位置 end</pre> 0 是有效格子位置,要排除 -1 但不排除 0。 == 相关主题 == * [[Lua接口/角色信息|角色信息]] * [[Lua接口/属性读取与修改|属性读取与修改]] * [[Lua接口/等级与经验|等级与经验]] * [[Lua接口/货币相关|货币相关]] * [[Lua接口/物品查询|物品查询]] * [[Lua接口/物品发放与扣除|物品发放与扣除]] * [[Lua接口/背包空间|背包空间]] * [[Lua接口/装备操作|装备操作]] * [[Lua接口/任务状态|任务状态]] * [[Lua接口/任务变量|任务变量]] * [[Lua接口/NPC对话|NPC 对话]] * [[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帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息