Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Hi!
So, the method that @NullSword told is supposed to work, BUT testing here I found that it only works if you leave an empty slot in the container
(Let all slots but one with one of the item)
I rly didnt expected that bug, the way that the game verify if the chest if full is a bit weird
I will work on fixing that! Soon you will see the "update" button on the mod list
About the fridge priority, I will add that also, the priority order will be something like
"The Container Has the item?"
"The container will reduce the spoilage of the item?"
"The container will accept the item?"
"Random"
About the whitelist, it would be a bit complicated (i'm new on modding :D ), but for specific items I can hard-code it, like, for the lantern
If you sent me a list of items that should not be looted I will make an blacklist for them
And about the full boxes, when all boxes are full it will throw the items at a random one
This is intentional, to allow the creation of transport lines
Mod updated!
Hi @DevilMayPoop
I really can not reproduce this bug
There is any other mod or just these 3?
I tried to erase everything from my game and let it download again and the bug do not happens
ok, thanks
I'm using it on my server and didnt crashed yet (and I threw everything I can on the ground)
For example, if you equip the 'orangeamulet' (the lazy forager), the game might crash
if the amulet manages to grab the item.
[00:03:31]: [string "scripts/components/inventoryitem.lua"]:10: attempt to index field 'inventoryitem' (a nil value)
LUA ERROR stack traceback:
scripts/components/inventoryitem.lua:10 in (field) ? (Lua) <9-11>
self =
isnew = false
nobounce = false
pushlandedevents = true
is_landed = false
inst = 116820 - petals (valid:false)
keepondeath = false
trappable = true
canbepickedupalive = false
_ = table: 297FFC90
sinks = false
owner = 116756 - treasurechest (valid:true)
scripts/class.lua:30 in () ? (Lua) <23-32>
t = table: 297FFD80
k = owner
v = 116756 - treasurechest (valid:true)
p = table: 297FFD08
old = nil
scripts/components/inventoryitem.lua:126 in (method) SetOwner (Lua) <125-127>
self =
isnew = false
nobounce = false
pushlandedevents = true
is_landed = false
inst = 116820 - petals (valid:false)
keepondeath = false
trappable = true
canbepickedupalive = false
_ = table: 297FFC90
sinks = false
owner = 116756 - treasurechest (valid:true)
scripts/components/inventoryitem.lua:190 in (method) OnPutInInventory (Lua) <187-200>
self =
isnew = false
nobounce = false
pushlandedevents = true
is_landed = false
inst = 116820 - petals (valid:false)
keepondeath = false
trappable = true
canbepickedupalive = false
_ = table: 297FFC90
sinks = false
owner = 116756 - treasurechest (valid:true)
scripts/components/container.lua:248 in (method) GiveItem (Lua) <179-267>
self =
ignoresound = false
onopenfn = function - scripts/prefabs/treasurechest.lua:5
slots = table: 29B457C8
inst = 116756 - treasurechest (valid:true)
skipopensnd = true
skipclosesnd = true
_ = table: 29B45958
onclosefn = function - scripts/prefabs/treasurechest.lua:12
item = 116820 - petals (valid:false)
slot = nil
src_pos = nil
drop_on_fail = nil
in_slot = 3
../mods/workshop-2208128427/scripts/prefabs/loot_pump.lua:286 in (field) fn (Lua) <281-290>
scripts/scheduler.lua:177 in (method) OnTick (Lua) <155-207>
self =
running = table: 0729FD48
waitingfortick = table: 0729FF28
tasks = table: 0729FE88
waking = table: 29BA5AB0
attime = table: 0729FE38
hibernating = table: 0729FC08
tick = 4575
k = PERIODIC 116756: 0.150000
v = true
already_dead = false
scripts/scheduler.lua:371 in (global) RunScheduler (Lua) <369-377>
tick = 4575
scripts/update.lua:180 in () ? (Lua) <159-238>
dt = 0.033333335071802
tick = 4575
i = 4575
[00:03:31]: [string "scripts/components/inventoryitem.lua"]:10: attempt to index field 'inventoryitem' (a nil value)
LUA ERROR stack traceback:
scripts/components/inventoryitem.lua:10 in (field) ? (Lua) <9-11>
scripts/class.lua:30 in () ? (Lua) <23-32>
scripts/components/inventoryitem.lua:126 in (method) SetOwner (Lua) <125-127>
scripts/components/inventoryitem.lua:190 in (method) OnPutInInventory (Lua) <187-200>
scripts/components/container.lua:248 in (method) GiveItem (Lua) <179-267>
../mods/workshop-2208128427/scripts/prefabs/loot_pump.lua:286 in (field) fn (Lua) <281-290>
scripts/scheduler.lua:177 in (method) OnTick (Lua) <155-207>
scripts/scheduler.lua:371 in (global) RunScheduler (Lua) <369-377>
scripts/update.lua:180 in () ? (Lua) <159-238>
[00:03:31]: Warning: Widget:SetFocusFromChild is happening on a widget outside of the screen/widget hierachy. This will cause focus moves to fail. Is ScriptErrorWidget not a screen?
[00:03:31]: stack traceback:
scripts/widgets/widget.lua:605 in (method) SetFocusFromChild (Lua) <602-627>
scripts/widgets/widget.lua:624 in (method) SetFocusFromChild (Lua) <602-627>
scripts/widgets/widget.lua:624 in (method) SetFocusFromChild (Lua) <602-627>
scripts/widgets/widget.lua:656 in (method) SetFocus (Lua) <629-665>
scripts/widgets/menu.lua:83 in (method) SetFocus (Lua) <74-85>
scripts/widgets/scripterrorwidget.lua:109 in (method) OnUpdate (Lua) <102-119>
scripts/update.lua:90 in () ? (Lua) <33-129>
The game crashes when you have a rabbit in the target chest/container.
(it doesnt actually crash just hangs infinitely looks like there is an infinite loop somewhere)
Step to reproduce:
* Make a chest
* spawn/capture a rabbit
* place rabbit in the chest
* make and place the loot pump
* drop something
* once the item hits the container, the game will hang.
Looks like it is caused by the event "onopen".
In Lootpump.lua:
* ContainerHit will call container:Open(...)
** inst.target_container.components.container:Open(inst.target_container)
In container.lua:
container:Open will push the event self.inst:PushEvent("onopen", { doer = doer })
The doer will be the chest
the rabbit listens to this event in rabbit.lua WatchForOpener -- calls --> OnContainerOpened -- calls --> updateinventorystate
local function UpdateInventoryState(inst)
local viewer = inst.components.inventoryitem:GetGrandOwner()
while viewer ~= nil and viewer.components.container ~= nil do
viewer = viewer.components.container.opener
end
im not sure if there is a way to fix this without modifying rabbit.lua,
alternatively if all you want is to show the animation of opening a chest, we might be able to execute the onopenfn directly (but that might lead to other bugs)
....
This is the error log:
#[string
./mods/workshop 2208128427/scripts/prefa.."]:232:
attempt to compare string with number
#LUA ERROR stack traceback:
@../mods/workshop- 2208 128427/scripts/prefabs/loot_ pump.lua:445 in (field) fn (Lua) <426- 479>
inst= 117422 - loot_ pump (valid:true)
item = 127941 - kyno_ roe (valid:true)
container= nil
@scripts/scheduler.lua:186 in (method) OnTick (Lua)
<164-216>
self =
Sure, players might be smart enough not to do that, but mobs certainly won't. As is, the loot pump is unusable near cave sinkholes, or around monkeys.