Jump to content
  • The forum downloads section will be removed on Jan 1st 2023. Players may still download mods that are currently hosted, but new submissions are no longer being accepted. Mod makers are advised to relocate their mods to alternative hosting solutions.

10 Screenshots

About This File

  These 2 mods let you add backpack and amulet slots, increase inventory, backpacks and containers size.
  The Neat version can display custom bar badges (health, hunger, sanity), naughtiness meter and thermometer above the inventory. It has custom UI art, too.
 
  RoG and SW compatible.
 
 
  • Customization options
  What both mods have in common :
- Backpack slot : Yes/No
- Amulet slot : Yes/No
- Inventory size : Default version : 15, 20, 25, 55 / Neat version : 15, 25, 45
- Piggyback speed penalty : Yes/No
- Backpacks size : Default/Large (backpack : 10 - piggyback : 14 - Krampus sack : 20)
- Storable backpacks : Yes/No
- Containers size (chest and icebox, not chester) : Default/Large (16)
- Colored slots (chest, chester, icebox, crock pot) and custom equippable slots backgrounds.
- Corner shortcuts (pause, map, rotate) : Show/Hide
- Further zoom out without the game pushing it back to default.
 
  What's only in the Neat version :
- Custom badges : Yes/No
- Naughtiness meter : On/Off
- Thermometer : On/Off - Celsius/Fahrenheit
- Wetness value : Hover/Always show
- Clock text : Hover/Always show (for keyboard/mouse only)
 
 
  • Compatibilities
- High chance of incompatibility with mods that modify backpacks, inventory slots, equipment slots or chests.
- Neat version : Not compatible with mods that change badges (health/sanity/hunger) unless you don't use RPG HUD's cutom badges.
- Compatible with Always on Status but custom badges are turned off automatically to avoid crashes.
- If you encounter crashes, make sure your game is up to date first then try runnig this mod alone. If it works alone and crashes with another mod, it means they are not compatible. You can let me and the other mod's author know about it.
 
 
  • Playing with a controller
  When using a controller, the backpack content will be displayed in a single line underneath the inventory like in the vanilla game. However, since you can have very large backpacks, and in order to keep the UI nice and clean, the backpack line will never exceed the inventory/equipment line. Keep that in mind when customizing the options.
 
  Example : 15 slot inventory, no amulet/backpack slot : the line is composed of 15+3 = 18 slots. So a larger Krampus's sack (20 slots instead of 14) would be sized down to 18 slots aswell.
 
  Minor issue : If you disable your controller while in game, the very last (2-5) slots of your backpack may be inaccessible (Krampus sack + bigger backpacks + Neat 25 or Default 15). Just reload your save to fix that.
 
 
  • How to install this mod
  It's better to disable the Steam Cloud feature for the game. Always backup your savegames, profile and saveindex before installing a new mod or you'll be very sour if something goes wrong. They are usually located in "..\Steam\userdata\<your steam ID>\219740\remote" or "My documents\Klei\DoNotStarve\save". Backup all the files found in those folders.
 
  Extract the folder located in the archive to "...\Steam\steamapps\common\dont_starve\mods" or the equivalent if you use the standalone version. Once in game, head to the mods tab and activate the mod (the Neat version requires a restart) then configure it.
 
 
  • Quickest Q&A ever

  Q : Will you port this mod to DS Together ? 
  A : No. I won't be making any more mods. But if someone wanted to port my DS mods to DS Together, that's fine with me. 

  Q : How can I help you ? 
  A : You can give me feedback on glitches and crashes down below. If you are interested in testing RPG HUD before official releases, I created a steam group just for that. I'll put the newest files there and I would appreciate feedback. Here's the link to the group : Kiopho's Beta Testing.

 
 
  Thanks to everyone for your feedback which helps improve the mods tremendously.
  If you like the mod, show it some love and rate it. :)
  If you have any issues or suggestions, leave a comment down below.

Don't Starve Error.png


What's New in Version 2.31   See changelog

Released

V 2.1

- Added the missing "revealer" component

  • Like 24
  • Thanks 1

User Feedback

Recommended Comments



Just an idea, for the larger inventories, you should figure out a way to make inventory management a tad less annoying, as it becomes difficult to find stuff in my inventory with this mod on.

Link to comment
Share on other sites

how do you download these mods without steam?

 

The big green download button at the top of the page. Also take a look at "Versions" and "How to Install" sections of the post.

Link to comment
Share on other sites

This mod works perfectly with the new Update "The Stuff of Nightmares", so I don´t understand why it´s marked like "Broken". If the people that downloaded it not even make the effort to read the comments, can go to cry somewhere else.

I have read comments, disabled all mods but this one and attempted to make it work multiple times and it is still crashing my game. So sometimes it has nothing to do with reading. Now any helpful ideas on how to make it work?

Link to comment
Share on other sites

I have read comments, disabled all mods but this one and attempted to make it work multiple times and it is still crashing my game. So sometimes it has nothing to do with reading. Now any helpful ideas on how to make it work?

Works fine for me i am using the Neat 45 Version one.

 

//Edit oh is the Six feet under released yet? Cause my updater doesn't load it. I am playing the non-steam version. guess i have to wait

Link to comment
Share on other sites

Theres something wrong with the backpack, when i pick the items it doesnt go into the bacpack. it says i got no space and i have to manual put items into backpack D;

 

i remove the mod and the items that get pickup goes into the backpack by it self

so the mod broke something with the backpack

 

oh and idk why but the backpack is 3 columns instead of 2 that might be the problem and it have 12 slots i am using the version with 25 slots

 

before the version update i had 10 slots for the backpack and now its 12 slots with 3 collums lol

 

Not sure if its an issue with the new update or the mod....

Link to comment
Share on other sites

Theres something wrong with the backpack, when i pick the items it doesnt go into the bacpack. it says i got no space and i have to manual put items into backpack D;

 

i remove the mod and the items that get pickup goes into the backpack by it self

so the mod broke something with the backpack

 

oh and idk why but the backpack is 3 columns instead of 2 that might be the problem and it have 12 slots i am using the version with 25 slots

 

before the version update i had 10 slots for the backpack and now its 12 slots with 3 collums lol

 

Not sure if its an issue with the new update or the mod....

 

Yeah maybe I messed up somewhere, I'll look into it right now.

 

Edit : Yeah it seems you're right. The new changes done to inventory.lua in order to enable controller support broke that. I'll try to find a fix as quickly as possible. Thanks for the feedback.

Link to comment
Share on other sites

@tehMugwump @everybody Please I'm looking for inventory.lua from Moderately Friendly build. I don't want to go through torrents so if anybody has it, I need it.

Thanks in advance, I'll continue trying to find it (my wife has the game from the Klei site, does it update all at once or build by build ?)

Link to comment
Share on other sites

@tehMugwump @everybody Please I'm looking for inventory.lua from Moderately Friendly build. I don't want to go through torrents so if anybody has it, I need it.

Thanks in advance, I'll continue trying to find it (my wife has the game from the Klei site, does it update all at once or build by build ?)

 

require "class"
local InvSlot = require "widgets/invslot"
local TileBG = require "widgets/tilebg"
local Image = require "widgets/image"
local Widget = require "widgets/widget"
local EquipSlot = require "widgets/equipslot"
local ItemTile = require "widgets/itemtile"
local Text = require "widgets/text"
 
local HUD_ATLAS = "images/hud.xml"
 
local Inv = Class(Widget, function(self, owner)
    Widget._ctor(self, "Inventory")
    self.owner = owner
 
self.base_scale = .6
self.selected_scale = .8
 
    self:SetScale(self.base_scale)
    self:SetPosition(0,-16,0)
 
    self.inv = {}
    self.equip = {}
 
    self.equipslotinfo =
    {
}
 
    self.bg = self:AddChild(Image(HUD_ATLAS, "inventory_bg.tex"))
    self.bg:SetVRegPoint(ANCHOR_BOTTOM)
    self.bg:SetScale(1.1,1,1)
 
    self.hovertile = nil
 
self.cursor = self:AddChild(Image( HUD_ATLAS, "slot_select.tex"))
self.cursor:Hide()
 
self.repeat_time = .2
 
--this is for the keyboard / controller inventory controls
self.actionstring = self:AddChild(Widget("actionstring"))
self.actionstring:SetScale(2)
 
self.actionstringtitle = self.actionstring:AddChild(Text(TITLEFONT, 40))
self.actionstringtitle:SetRegionSize(250, 50)
self.actionstringtitle:SetVAlign(ANCHOR_BOTTOM)
self.actionstringtitle:SetPosition(0,125)
self.actionstringtitle:SetColour(1,0,1,1)
 
self.actionstringbody = self.actionstring:AddChild(Text(BODYTEXTFONT, 25))
self.actionstringbody:SetRegionSize(200, 100)
self.actionstringbody:EnableWordWrap(true)
self.actionstringbody:SetPosition(0,50)
    self.actionstringbody:SetVAlign(ANCHOR_TOP)
    self.actionstringbody:SetHAlign(ANCHOR_LEFT)
self.actionstring:Hide()
 
 
--default equip slots
self:AddEquipSlot(EQUIPSLOTS.HANDS, HUD_ATLAS, "equip_slot.tex")
self:AddEquipSlot(EQUIPSLOTS.BODY, HUD_ATLAS, "equip_slot_body.tex")
self:AddEquipSlot(EQUIPSLOTS.HEAD, HUD_ATLAS, "equip_slot_head.tex")
 
    self.inst:ListenForEvent("builditem", function(inst, data) self:OnBuild() end, self.owner)
    self.inst:ListenForEvent("itemget", function(inst, data) self:OnItemGet(data.item, data.slot, data.src_pos) end, self.owner)
    self.inst:ListenForEvent("equip", function(inst, data) self:OnItemEquip(data.item, data.eslot) end, self.owner)
    self.inst:ListenForEvent("unequip", function(inst, data) self:OnItemUnequip(data.item, data.eslot) end, self.owner)
    self.inst:ListenForEvent("newactiveitem", function(inst, data) self:OnNewActiveItem(data.item) end, self.owner)
    self.inst:ListenForEvent("itemlose", function(inst, data) self:OnItemLose(data.slot) end, self.owner)
end)
 
 
function Inv:AddEquipSlot(slot, atlas, image, sortkey)
sortkey = sortkey or #self.equipslotinfo
table.insert(self.equipslotinfo, {slot = slot, atlas = atlas, image = image, sortkey = sortkey})
table.sort(self.equipslotinfo, function(a,b) return a.sortkey < b.sortkey end)
self.rebuild_pending = true
end
 
function Inv:Rebuild()
 
    for k,v in pairs(self.inv) do
    v:Kill()
    end
 
    for k,v in pairs(self.equip) do
    v:Kill()
    end
 
    self.inv = {}
    self.equip = {}
 
    local num_slots = self.owner.components.inventory:GetNumSlots()
    local num_equip = #self.equipslotinfo
 
    local W = 64
    local SEP = 12
    local INTERSEP = 28
    local y = 132/2
    
    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: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,y,0)
    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: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,y,0)
    end
 
self.actionstring:MoveToFront()
self.cursor:MoveToFront()
 
self.rebuild_pending = false
end
 
 
function Inv:Update(dt)
 
if self.rebuild_pending == true then
self:Rebuild()
self:Refresh()
end
 
 
if not self.open then return end
 
if self.repeat_time > 0 then
self.repeat_time = self.repeat_time - dt
end
 
if self.repeat_time <= 0 then
if TheInput:IsControlPressed(CONTROL_FOCUS_LEFT) then
self:CursorLeft()
elseif TheInput:IsControlPressed(CONTROL_FOCUS_RIGHT) then
self:CursorRight()
elseif TheInput:IsControlPressed(CONTROL_FOCUS_UP) then
self:CursorUp()
elseif TheInput:IsControlPressed(CONTROL_FOCUS_DOWN) then
self:CursorDown()
else
self.repeat_time = 0
self.reps = 0
return
end
 
self.reps = self.reps and (self.reps + 1) or 1
 
if self.reps == 1 then
self.repeat_time = 6/30
elseif self.reps < 2 then
self.repeat_time = 4/30
else
self.repeat_time = 3/30
end
 
end
end
 
 
function Inv:OffsetCursor(offset, val, minval, maxval, slot_is_valid_fn)
if val == nil then
val = minval
else
 
local idx = val
local start_idx = idx
 
repeat 
idx = idx + offset
 
if idx < minval then idx = maxval end
if idx > maxval then idx = minval end
 
if slot_is_valid_fn(idx) then 
val = idx
break
end
 
until start_idx == idx
end
 
return val
end
 
 
 
function Inv:CursorLeft()
self:SelectSlot( self:OffsetCursor(-1, self.active_slot, 1, #self.inv, function(idx) return self.owner.components.inventory:GetItemInSlot(idx) or self.owner.components.inventory:GetActiveItem() end ) )
end
 
function Inv:CursorRight()
self:SelectSlot( self:OffsetCursor(1, self.active_slot, 1, #self.inv, function(idx) return self.owner.components.inventory:GetItemInSlot(idx) or self.owner.components.inventory:GetActiveItem() end ) )
end
 
function Inv:CursorUp()
 
end
 
function Inv:CursorDown()
 
end
 
 
function Inv:OnControl(control, down)
if Inv._base.OnControl(self, control, down) then return true end
 
if self.open then
if not down then 
if control == CONTROL_ACCEPT then
self.inv[self.active_slot]:Click()
end
end
end
 
end
 
 
function Inv:OpenControllerInventory()
if not self.open then
if not self.active_slot then
self:SelectSlot(1)
end
self:UpdateCursor()
self.open = true
self:ScaleTo(self.base_scale,self.selected_scale,.2)
TheFrontEnd:LockFocus(true)
self:SetFocus()
end
end
 
function Inv:CloseControllerInventory()
if self.open then
self.open = false
self.cursor:Hide()
self.actionstring:Hide()
 
self.owner.components.inventory:ReturnActiveItem()
 
if self.active_slot then
self.inv[self.active_slot]:DeHighlight()
end
 
self:ScaleTo(self.selected_scale, self.base_scale,.1)
TheFrontEnd:LockFocus(false)
end
end
 
 
function Inv:UpdateActionText()
local item = self.owner.components.inventory:GetActiveItem() or (self.active_slot and  self.owner.components.inventory:GetItemInSlot(self.active_slot))
if item and self.active_slot then
self.actionstring:Show()
self.actionstring:SetPosition(self.inv[self.active_slot]:GetPosition() + Vector3(0,100,0))
self.actionstringtitle:SetString(item.name)
   self.actionstringbody:SetString("body text showing actions!")
else
self.actionstring:Hide()
end
end
 
function Inv:SelectSlot(idx)
if self.active_slot and self.active_slot ~= idx then
self.inv[self.active_slot]:DeHighlight()
end
self.active_slot = idx
 
self:UpdateCursor()
end
 
function Inv:UpdateCursor()
 
if self.active_slot and self.hovertile then
self.hovertile:SetPosition(self.inv[self.active_slot]:GetPosition() )
end
 
if self.active_slot then
 
self.cursor:Show()
self.inv[self.active_slot]:AddChild(self.cursor)
 
self.inv[self.active_slot]:Highlight()
if self.inv[self.active_slot].tile then
print (self.inv[self.active_slot].tile:GetDescriptionString())
end
else
self.cursor:Hide()
end
 
self:UpdateActionText()
 
end
 
function Inv:Refresh()
 
for k,v in pairs(self.inv) do
v:SetTile(nil)
end
 
for k,v in pairs(self.equip) do
v:SetTile(nil)
end
 
for k,v in pairs(self.owner.components.inventory.itemslots) do
if v then
local tile = ItemTile(v, self)
self.inv[k]:SetTile(tile)
end
end
 
for k,v in pairs(self.owner.components.inventory.equipslots) do
if v then
local tile = ItemTile(v, self)
self.equip[k]:SetTile(tile)
end
end
 
self:OnNewActiveItem(self.owner.components.inventory.activeitem)
 
end
 
 
function Inv:Cancel()
    local active_item = self.owner.components.inventory:GetActiveItem()
    if active_item then
        self.owner.components.inventory:ReturnActiveItem()
    end
end
 
function Inv:OnItemLose(slot)
if slot then
self.inv[slot]:SetTile(nil)
end
end
 
function Inv:OnBuild()
    if self.hovertile then
        self.hovertile:ScaleTo(3, 1, .5)
    end
end
 
function Inv:OnNewActiveItem(item)
    if self.hovertile then
        self.hovertile:Kill()
    end
 
    if item and self.owner.HUD.controls then
   
    if self.open then
        self.hovertile = self:AddChild(ItemTile(item, self))
        self:UpdateCursor()
        self.hovertile:SetScale(1.8)
        else
        self.hovertile = self.owner.HUD.controls.mousefollow:AddChild(ItemTile(item, self))
        end
 
        self.hovertile:StartDrag()
    end
 
end
 
function Inv:OnItemGet(item, slot, source_pos)
    if slot and self.inv[slot] then
local tile = ItemTile(item, self)
        self.inv[slot]:SetTile(tile)
        tile:Hide()
 
        if source_pos then
local dest_pos = self.inv[slot]:GetWorldPosition()
local im = Image(item.components.inventoryitem:GetAtlas(), item.components.inventoryitem:GetImage())
im:MoveTo(source_pos, dest_pos, .3, function() tile:Show() tile:ScaleTo(2, 1, .25) im:Kill() end)
        else
tile:Show() 
--tile:ScaleTo(2, 1, .25)
        end
        
end
end
 
function Inv:OnItemEquip(item, slot)
    self.equip[slot]:SetTile(ItemTile(item, self))
end
 
function Inv:OnItemUnequip(item, slot)
    if slot and self.equip[slot] then
self.equip[slot]:SetTile(nil)
end
end
 
return Inv

Link to comment
Share on other sites

@tehMugwump @everybody Please I'm looking for inventory.lua from Moderately Friendly build. I don't want to go through torrents so if anybody has it, I need it.

Thanks in advance, I'll continue trying to find it (my wife has the game from the Klei site, does it update all at once or build by build ?)

Let's try again:

 

require "class"local InvSlot = require "widgets/invslot"local TileBG = require "widgets/tilebg"local Image = require "widgets/image"local Widget = require "widgets/widget"local EquipSlot = require "widgets/equipslot"local ItemTile = require "widgets/itemtile"local Text = require "widgets/text"local HUD_ATLAS = "images/hud.xml"local Inv = Class(Widget, function(self, owner)    Widget._ctor(self, "Inventory")    self.owner = owner	self.base_scale = .6	self.selected_scale = .8    self:SetScale(self.base_scale)    self:SetPosition(0,-16,0)    self.inv = {}    self.equip = {}    self.equipslotinfo =    {	}    self.bg = self:AddChild(Image(HUD_ATLAS, "inventory_bg.tex"))    self.bg:SetVRegPoint(ANCHOR_BOTTOM)    self.bg:SetScale(1.1,1,1)    self.hovertile = nil	self.cursor = self:AddChild(Image( HUD_ATLAS, "slot_select.tex"))	self.cursor:Hide()		self.repeat_time = .2	--this is for the keyboard / controller inventory controls	self.actionstring = self:AddChild(Widget("actionstring"))	self.actionstring:SetScale(2)	self.actionstringtitle = self.actionstring:AddChild(Text(TITLEFONT, 40))	self.actionstringtitle:SetRegionSize(250, 50)	self.actionstringtitle:SetVAlign(ANCHOR_BOTTOM)	self.actionstringtitle:SetPosition(0,125)	self.actionstringtitle:SetColour(1,0,1,1)	self.actionstringbody = self.actionstring:AddChild(Text(BODYTEXTFONT, 25))	self.actionstringbody:SetRegionSize(200, 100)	self.actionstringbody:EnableWordWrap(true)	self.actionstringbody:SetPosition(0,50)    self.actionstringbody:SetVAlign(ANCHOR_TOP)    self.actionstringbody:SetHAlign(ANCHOR_LEFT)	self.actionstring:Hide()	--default equip slots	self:AddEquipSlot(EQUIPSLOTS.HANDS, HUD_ATLAS, "equip_slot.tex")	self:AddEquipSlot(EQUIPSLOTS.BODY, HUD_ATLAS, "equip_slot_body.tex")	self:AddEquipSlot(EQUIPSLOTS.HEAD, HUD_ATLAS, "equip_slot_head.tex")    self.inst:ListenForEvent("builditem", function(inst, data) self:OnBuild() end, self.owner)    self.inst:ListenForEvent("itemget", function(inst, data) self:OnItemGet(data.item, data.slot, data.src_pos) end, self.owner)    self.inst:ListenForEvent("equip", function(inst, data) self:OnItemEquip(data.item, data.eslot) end, self.owner)    self.inst:ListenForEvent("unequip", function(inst, data) self:OnItemUnequip(data.item, data.eslot) end, self.owner)    self.inst:ListenForEvent("newactiveitem", function(inst, data) self:OnNewActiveItem(data.item) end, self.owner)    self.inst:ListenForEvent("itemlose", function(inst, data) self:OnItemLose(data.slot) end, self.owner)end)function Inv:AddEquipSlot(slot, atlas, image, sortkey)	sortkey = sortkey or #self.equipslotinfo	table.insert(self.equipslotinfo, {slot = slot, atlas = atlas, image = image, sortkey = sortkey})	table.sort(self.equipslotinfo, function(a,b) return a.sortkey < b.sortkey end)	self.rebuild_pending = trueendfunction Inv:Rebuild()    for k,v in pairs(self.inv) do    	v:Kill()    end    for k,v in pairs(self.equip) do    	v:Kill()    end    self.inv = {}    self.equip = {}    local num_slots = self.owner.components.inventory:GetNumSlots()    local num_equip = #self.equipslotinfo    local W = 64    local SEP = 12    local INTERSEP = 28    local y = 132/2        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: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,y,0)    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: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,y,0)    end	self.actionstring:MoveToFront()	self.cursor:MoveToFront()	self.rebuild_pending = falseendfunction Inv:Update(dt)	if self.rebuild_pending == true then		self:Rebuild()		self:Refresh()	end	if not self.open then return end		if self.repeat_time > 0 then		self.repeat_time = self.repeat_time - dt	end		if self.repeat_time <= 0 then		if TheInput:IsControlPressed(CONTROL_FOCUS_LEFT) then			self:CursorLeft()		elseif TheInput:IsControlPressed(CONTROL_FOCUS_RIGHT) then			self:CursorRight()		elseif TheInput:IsControlPressed(CONTROL_FOCUS_UP) then			self:CursorUp()		elseif TheInput:IsControlPressed(CONTROL_FOCUS_DOWN) then			self:CursorDown()		else			self.repeat_time = 0			self.reps = 0			return		end				self.reps = self.reps and (self.reps + 1) or 1				if self.reps == 1 then			self.repeat_time = 6/30		elseif self.reps < 2 then			self.repeat_time = 4/30		else			self.repeat_time = 3/30		end			end	endfunction Inv:OffsetCursor(offset, val, minval, maxval, slot_is_valid_fn)	if val == nil then		val = minval	else				local idx = val		local start_idx = idx		repeat 			idx = idx + offset						if idx < minval then idx = maxval end			if idx > maxval then idx = minval end			if slot_is_valid_fn(idx) then 				val = idx				break			end		until start_idx == idx	end		return valendfunction Inv:CursorLeft()	self:SelectSlot( self:OffsetCursor(-1, self.active_slot, 1, #self.inv, function(idx) return self.owner.components.inventory:GetItemInSlot(idx) or self.owner.components.inventory:GetActiveItem() end ) )endfunction Inv:CursorRight()	self:SelectSlot( self:OffsetCursor(1, self.active_slot, 1, #self.inv, function(idx) return self.owner.components.inventory:GetItemInSlot(idx) or self.owner.components.inventory:GetActiveItem() end ) )endfunction Inv:CursorUp()endfunction Inv:CursorDown()endfunction Inv:OnControl(control, down)	if Inv._base.OnControl(self, control, down) then return true end		if self.open then		if not down then 			if control == CONTROL_ACCEPT then				self.inv[self.active_slot]:Click()			end		end	end	endfunction Inv:OpenControllerInventory()	if not self.open then		if not self.active_slot then			self:SelectSlot(1)		end		self:UpdateCursor()		self.open = true		self:ScaleTo(self.base_scale,self.selected_scale,.2)		TheFrontEnd:LockFocus(true)		self:SetFocus()	endendfunction Inv:CloseControllerInventory()	if self.open then		self.open = false		self.cursor:Hide()		self.actionstring:Hide()		self.owner.components.inventory:ReturnActiveItem()		if self.active_slot then			self.inv[self.active_slot]:DeHighlight()		end				self:ScaleTo(self.selected_scale, self.base_scale,.1)		TheFrontEnd:LockFocus(false)	endendfunction Inv:UpdateActionText()	local item = self.owner.components.inventory:GetActiveItem() or (self.active_slot and  self.owner.components.inventory:GetItemInSlot(self.active_slot))	if item and self.active_slot then		self.actionstring:Show()		self.actionstring:SetPosition(self.inv[self.active_slot]:GetPosition() + Vector3(0,100,0))		self.actionstringtitle:SetString(item.name)	    self.actionstringbody:SetString("body text showing actions!")	else		self.actionstring:Hide()	endendfunction Inv:SelectSlot(idx)	if self.active_slot and self.active_slot ~= idx then		self.inv[self.active_slot]:DeHighlight()	end	self.active_slot = idx	self:UpdateCursor()endfunction Inv:UpdateCursor()	if self.active_slot and self.hovertile then		self.hovertile:SetPosition(self.inv[self.active_slot]:GetPosition() )	end	if self.active_slot then		self.cursor:Show()		self.inv[self.active_slot]:AddChild(self.cursor)				self.inv[self.active_slot]:Highlight()		if self.inv[self.active_slot].tile then			print (self.inv[self.active_slot].tile:GetDescriptionString())		end	else		self.cursor:Hide()	end	self:UpdateActionText()endfunction Inv:Refresh()		for k,v in pairs(self.inv) do		v:SetTile(nil)	end	for k,v in pairs(self.equip) do		v:SetTile(nil)	end	for k,v in pairs(self.owner.components.inventory.itemslots) do		if v then			local tile = ItemTile(v, self)			self.inv[k]:SetTile(tile)		end	end	for k,v in pairs(self.owner.components.inventory.equipslots) do		if v then			local tile = ItemTile(v, self)			self.equip[k]:SetTile(tile)		end	end		self:OnNewActiveItem(self.owner.components.inventory.activeitem)endfunction Inv:Cancel()    local active_item = self.owner.components.inventory:GetActiveItem()    if active_item then        self.owner.components.inventory:ReturnActiveItem()    endendfunction Inv:OnItemLose(slot)	if slot then		self.inv[slot]:SetTile(nil)	endendfunction Inv:OnBuild()    if self.hovertile then        self.hovertile:ScaleTo(3, 1, .5)    endendfunction Inv:OnNewActiveItem(item)    if self.hovertile then        self.hovertile:Kill()    end    if item and self.owner.HUD.controls then    	    	if self.open then        	self.hovertile = self:AddChild(ItemTile(item, self))        	self:UpdateCursor()        	self.hovertile:SetScale(1.8)        else        	self.hovertile = self.owner.HUD.controls.mousefollow:AddChild(ItemTile(item, self))        end        self.hovertile:StartDrag()    endendfunction Inv:OnItemGet(item, slot, source_pos)    if slot and self.inv[slot] then		local tile = ItemTile(item, self)        self.inv[slot]:SetTile(tile)        tile:Hide()        if source_pos then			local dest_pos = self.inv[slot]:GetWorldPosition()			local im = Image(item.components.inventoryitem:GetAtlas(), item.components.inventoryitem:GetImage())			im:MoveTo(source_pos, dest_pos, .3, function() tile:Show() tile:ScaleTo(2, 1, .25) im:Kill() end)        else			tile:Show() 			--tile:ScaleTo(2, 1, .25)        end        	endendfunction Inv:OnItemEquip(item, slot)    self.equip[slot]:SetTile(ItemTile(item, self))endfunction Inv:OnItemUnequip(item, slot)    if slot and self.equip[slot] then		self.equip[slot]:SetTile(nil)	endendreturn Inv 

Link to comment
Share on other sites

qi2x.jpg

 

I cant seem to get the mod working for me.

 

You might need to update your game.

But a fix is coming shortly 'cause the inventory doesn't work correctly.

Link to comment
Share on other sites

You might need to update your game.

But a fix is coming shortly 'cause the inventory doesn't work correctly.

My game seems to be up to date according to launcher(85163), tried the new version 6.10 still getting the same error :(

Link to comment
Share on other sites

My game seems to be up to date according to launcher(85163), tried the new version 6.10 still getting the same error :(

 

The latest build is 86492. You need to update again.

Link to comment
Share on other sites

The latest build is 86492. You need to update again.

Oh wow, I was 2-3 versions behind and the updater didnt do anything. I converted to steam and it updated to latest version, thanks a lot!

Link to comment
Share on other sites

I am a Pole I downloaded this mod and I have a problem I do not see too much this table of eq.

 

Wut ?

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...