代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。
原帖链接: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格哦