代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。

原帖链接: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格哦