Dont_Starve修改3排背包,不用mod,手动修改文件
本文是引用了易宁大大的文章(易宁:饥荒游戏实用修改技巧(请自行备份原文件),无需mod,直接修改lua文件我用的是22版本的未加密版,其他版本应该也可以用,没试过,各位可自行修改测试
新人,没办法上图,只能麻烦各位自己看了
1.进入data\DLC0002\scripts\components,编辑inventory.lua文件,用记事本打开或其他编辑软件都行
修改
local MAXSLOTS = 15 为 local MAXSLOTS = 90
这个文件可能在\data\DLC0001\scripts\components,data\scripts\components中都有,可能各个版本读取文件顺序不一样,可以3个都修改,DLC开头的是2种模式
2.进入\data\DLC0002\scripts\widgets,编辑inventorybar.lua,这个文件是控制下方物品栏的
修改(伸缩度)
self.bg = self.root:AddChild(Image(HUD_ATLAS, "inventory_bg.tex"))
self.bg:SetScale(1.15,1,1)
为
self.bg = self.root:AddChild(Image(HUD_ATLAS, "inventory_bg.tex"))
self.bg:SetScale(1.86,1.85,1)
修改
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 = 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 = 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
-- 下面一行是计算物品栏x轴的基本坐标,61.7是90格的时候相应的位移,每增加30格61.7就要加上30.85,这些数字可能不精确,可以自行调整
local total_w = (num_slots -61.7)*(W) + (num_slots -61.7 - 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 = self.toprow:AddChild(slot)
-- 修改4格装备栏的x坐标,8是相对于屏幕的位置,也可以自行调整
local x = -total_w/2 + (num_slots*0+8)*(W)+num_intersep*(INTERSEP - SEP) + (num_slots-1)*SEP + INTERSEP + W*(k-1) + SEP*(k-1)
-- 设置x,y,z,z不用变,x后的341不变,上面一行就是计算x的变化,y轴,多一行30格的物品栏就要+80,就是只要多一行,y就要加80,当然要是觉得缝隙大了,可以小一些
slot:SetPosition(x+341,260,0)
table.insert(eslot_order, slot)
local item = self.owner.components.inventory:GetEquippedItem(v.slot)
if item then
slot:SetTile(ItemTile(item))
end
end
-- 下面3个for开头的,是对本来在一行的90格物品栏进行分层,每一层对应不同的x,y坐标,若添加120格,依次上推,每增加1个30格,就要多for循环一次
for k = 1,30 do
local slot = InvSlot(k, HUD_ATLAS, "inv_slot.tex", self.owner, self.owner.components.inventory)
self.inv = 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 = self.toprow:AddChild(slot)
local interseps = math.floor((k-1-30) / 10)
-- 此处为中间的物品栏,需要在每个k-1后面再减去30;30是总数90除以分3栏得到的数字
local x = -total_w/2 + W/2 + interseps*(INTERSEP - SEP) + (k-1-30)*W + (k-1-30)*SEP
-- 此处修改y轴坐标,基本是多加一行就加80
slot:SetPosition(x,80,0)
local item = self.owner.components.inventory:GetItemInSlot(k)
if item then
slot:SetTile(ItemTile(item))
end
end
for k = 61,90 do
local slot = InvSlot(k, HUD_ATLAS, "inv_slot.tex", self.owner, self.owner.components.inventory)
self.inv = self.toprow:AddChild(slot)
local interseps = math.floor((k-1-60) / 10)
-- 此处为最上层物品栏,每一个k-1要减去30*2,道理同上
local x = -total_w/2 + W/2 + interseps*(INTERSEP - SEP) + (k-1-60)*W + (k-1-60)*SEP
-- 此处修改y轴坐标,多加一行加80
slot:SetPosition(x,160,0)
local item = self.owner.components.inventory:GetItemInSlot(k)
if item then
slot:SetTile(ItemTile(item))
end
end
这个地方修改跟易宁大大修改的多一个物品栏,对比可以看出不同,其实是在易宁大大的上面做了稍微修改,主要是文中中文地方
这个文件也是在\data\DLC0001\scripts\widgets和\data\scripts\widgets中都有,若不生效,可全部修改
沙发是自己的 大佬好,但是我游戏崩溃了,不知道哪个mod冲突了!
页:
[1]