代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。
原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html
1 2二十一.双层主角物品条(60格) 3 4 1.用MT管理器打开游戏目录/assets/DLC0002/scripts/components/inventory.lua文件,将local MAXSLOTS = 15替换为local MAXSLOTS = 60 5 6 2.用MT管理器打开游戏目录/assets/scripts/widgets/inventorybar.lua文件,将self.bg:SetScale(1.15,1,1)替换为self.bg:SetScale(1.86,1.85,1) 7 8 3.将下列内容: 9 10 local num_intersep = math.floor(num_slots / 5) + 1 11 local total_w = (num_slots + num_equip)*(W) + (num_slots + num_equip - 2 - num_intersep) *(SEP) + INTERSEP*num_intersep 12 13 for k, v in ipairs(self.equipslotinfo) do 14 local slot = EquipSlot(v.slot, v.atlas, v.image, self.owner) 15 self.equip[v.slot] = self.toprow:AddChild(slot) 16 local x = -total_w/2 + (num_slots)*(W)+num_intersep*(INTERSEP - SEP) + (num_slots-1)*SEP + INTERSEP + W*(k-1) + SEP*(k-1) 17 slot:SetPosition(x,0,0) 18 table.insert(eslot_order, slot) 19 20 local item = self.owner.components.inventory:GetEquippedItem(v.slot) 21 if item then 22 slot:SetTile(ItemTile(item)) 23 end 24 25 end 26 27 for k = 1,num_slots do 28 local slot = InvSlot(k, HUD_ATLAS, "inv_slot.tex", self.owner, self.owner.components.inventory) 29 self.inv[k] = self.toprow:AddChild(slot) 30 local interseps = math.floor((k-1) / 5) 31 local x = -total_w/2 + W/2 + interseps*(INTERSEP - SEP) + (k-1)*W + (k-1)*SEP 32 slot:SetPosition(x,0,0) 33 34 slot.top_align_tip = W*0.5 + YSEP 35 36 local item = self.owner.components.inventory:GetItemInSlot(k) 37 if item then 38 slot:SetTile(ItemTile(item)) 39 end 40 41 end 42 43 替换为: 44 45 local num_intersep = math.floor(num_slots / 10) + 1 46 local total_w = (num_slots -30.85)*(W) + (num_slots -30.85 - 2 - num_intersep) *(SEP) + INTERSEP*num_intersep 47 48 for k, v in ipairs(self.equipslotinfo) do 49 local slot = EquipSlot(v.slot, v.atlas, v.image, self.owner) 50 self.equip[v.slot] = self.toprow:AddChild(slot) 51 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) 52 slot:SetPosition(x+341,190,0) 53 table.insert(eslot_order, slot) 54 55 local item = self.owner.components.inventory:GetEquippedItem(v.slot) 56 if item then 57 slot:SetTile(ItemTile(item)) 58 end 59 60 end 61 62 for k = 1,30 do 63 local slot = InvSlot(k, HUD_ATLAS, "inv_slot.tex", self.owner, self.owner.components.inventory) 64 self.inv[k] = self.toprow:AddChild(slot) 65 local interseps = math.floor((k-1) / 10) 66 local x = -total_w/2 + W/2 + interseps*(INTERSEP - SEP) + (k-1)*W + (k-1)*SEP 67 slot:SetPosition(x,0,0) 68 69 local item = self.owner.components.inventory:GetItemInSlot(k) 70 if item then 71 slot:SetTile(ItemTile(item)) 72 end 73 74 end 75 76 for k = 31,60 do 77 local slot = InvSlot(k, HUD_ATLAS, "inv_slot.tex", self.owner, self.owner.components.inventory) 78 self.inv[k] = self.toprow:AddChild(slot) 79 local interseps = math.floor((k-1-30) / 10) 80 local x = -total_w/2 + W/2 + interseps*(INTERSEP - SEP) + (k-1-30)*W + (k-1-30)*SEP 81 slot:SetPosition(x,80,0) 82 83 local item = self.owner.components.inventory:GetItemInSlot(k) 84 if item then 85 slot:SetTile(ItemTile(item)) 86 end 87 88 end 89 90 即可获得双层主角物品条(60格),注意必须将游戏设置(options) - (Settings) - HUD size项设为0,即显示最小物品条,才可完整显示60格哦