代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。
原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html
二十一.双层主角物品条(60格) 1.用MT管理器打开游戏目录/assets/DLC0002/scripts/components/inventory.lua文件,将local MAXSLOTS = 15替换为local MAXSLOTS = 60 2.用MT管理器打开游戏目录/assets/scripts/widgets/inventorybar.lua文件,将self.bg:SetScale(1.15,1,1)替换为self.bg:SetScale(1.86,1.85,1) 3.将下列内容: local num_intersep = math.floor(num_slots / 5) + 1 local total_w = (num_slots + num_equip)*(W) + (num_slots + num_equip - 2 - num_intersep) *(SEP) + INTERSEP*num_intersep for k, v in ipairs(self.equipslotinfo) do local slot = EquipSlot(v.slot, v.atlas, v.image, self.owner) self.equip[v.slot] = self.toprow:AddChild(slot) local x = -total_w/2 + (num_slots)*(W)+num_intersep*(INTERSEP - SEP) + (num_slots-1)*SEP + INTERSEP + W*(k-1) + SEP*(k-1) slot:SetPosition(x,0,0) table.insert(eslot_order, slot) local item = self.owner.components.inventory:GetEquippedItem(v.slot) if item then slot:SetTile(ItemTile(item)) end end for k = 1,num_slots do local slot = InvSlot(k, HUD_ATLAS, "inv_slot.tex", self.owner, self.owner.components.inventory) self.inv[k] = self.toprow:AddChild(slot) local interseps = math.floor((k-1) / 5) local x = -total_w/2 + W/2 + interseps*(INTERSEP - SEP) + (k-1)*W + (k-1)*SEP slot:SetPosition(x,0,0) slot.top_align_tip = W*0.5 + YSEP local item = self.owner.components.inventory:GetItemInSlot(k) if item then slot:SetTile(ItemTile(item)) end end 替换为: local num_intersep = math.floor(num_slots / 10) + 1 local total_w = (num_slots -30.85)*(W) + (num_slots -30.85 - 2 - num_intersep) *(SEP) + INTERSEP*num_intersep for k, v in ipairs(self.equipslotinfo) do local slot = EquipSlot(v.slot, v.atlas, v.image, self.owner) self.equip[v.slot] = self.toprow:AddChild(slot) local x = -total_w/2 + (num_slots*0+14.07)*(W)+num_intersep*(INTERSEP - SEP) + (num_slots-1)*SEP + INTERSEP + W*(k-1) + SEP*(k-1) slot:SetPosition(x+341,190,0) table.insert(eslot_order, slot) local item = self.owner.components.inventory:GetEquippedItem(v.slot) if item then slot:SetTile(ItemTile(item)) end end for k = 1,30 do local slot = InvSlot(k, HUD_ATLAS, "inv_slot.tex", self.owner, self.owner.components.inventory) self.inv[k] = self.toprow:AddChild(slot) local interseps = math.floor((k-1) / 10) local x = -total_w/2 + W/2 + interseps*(INTERSEP - SEP) + (k-1)*W + (k-1)*SEP slot:SetPosition(x,0,0) local item = self.owner.components.inventory:GetItemInSlot(k) if item then slot:SetTile(ItemTile(item)) end end for k = 31,60 do local slot = InvSlot(k, HUD_ATLAS, "inv_slot.tex", self.owner, self.owner.components.inventory) self.inv[k] = self.toprow:AddChild(slot) local interseps = math.floor((k-1-30) / 10) local x = -total_w/2 + W/2 + interseps*(INTERSEP - SEP) + (k-1-30)*W + (k-1-30)*SEP slot:SetPosition(x,80,0) local item = self.owner.components.inventory:GetItemInSlot(k) if item then slot:SetTile(ItemTile(item)) end end 即可获得双层主角物品条(60格),注意必须将游戏设置(options) - (Settings) - HUD size项设为0,即显示最小物品条,才可完整显示60格哦