Jump to content

Cyde042

Registered Users
  • Posts

    761
  • Joined

  • Last visited

Reputation

243 Excellent

Converted

  • Biography
    https://www.pinterest.com/pinterest/
  • Modder
    http://forums.kleientertainment.com/user/209011-cyde042/?tab=idm

Badges

  • Don't Starve
    Contributor
  • Don't Starve Together
    Contributor

Recent Profile Visitors

4210 profile views
  1. I discovered the reason, I generated the world on Garuda Linux (arch linux) and then moved it to the ubuntu container. I tried making a new world on arch and it doesn't work even when moving the same world over to ubuntu.
  2. Let me preface that the error happens with a mod added item but it makes no sense why it's not consistent across worlds. It works fine in a new world Forest + Caves, I was thinking there might be some edge case issue on the C-side of the game. It has to do with retrieving an item from a shelf component, it says that it's not an inventory item. c_dump shows that the stored item is not valid in Forest, but it is valid in Caves of the same save file. Server is hosted in a docker container running ubuntu. I tried it on native ubuntu and on native Windows 10. It's all the same. I wrote some details here and uploaded the save file and mod in question. Here is a dump on the entity in question: Forest (invalid) [00:14:48]: ============================================ Dumping entity 100325 - firepit ============================================ [00:14:48]: GUID:100325 Name: Tags: BURNABLE_fueled campfire inspectable wildfireprotected specialstewer_dishtaker _container fueldepleted stewer ge_firepit HAMMER_workable cooker installations_occupied installations canlight storytellingprop takeshelfitem structure blocker Prefab: firepit AnimState: bank: firepit build: firepit anim: idle anim/firepit.zip:idle Frame: 6703.56/1 Facing: 0:right Transform: Pos=(9.00,0.00,-215.50) Scale=(1.00,1.00,1.00) Heading=0.00 Network: NetworkID=4395 Owner=UNASSIGNED_RAKNET_GUID NetSleep=1111111111111111111111111111111111111111111111111111111111111110 MiniMapEntity: Physics: Collision Group: 512 Mask: 256,1024,16384, (ACTIVE) Vel: 0.00 SoundEmitter: [00:14:48]: -------------------------------------------------------------------------------------------------------------------- [00:14:48]: GUID = 100325 [00:14:48]: Transform = Transform (0x184452d0) [00:14:48]: inlimbo = false [00:14:48]: actionreplica = table: 0x18445790 [00:14:48]: prefaboverride = net_entity (0x18446250) [00:14:48]: actioncomponents = table: 0x18444fb0 [00:14:48]: lower_components_shadow = table: 0x18444e90 [00:14:48]: dish = 105124 - ge_casseroledish (valid:false) [00:14:48]: entity = Entity (0x18444d40) [00:14:48]: AnimState = AnimState (0x18445660) [00:14:48]: children = table: 0x1844a4d0 [00:14:48]: SetDish = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:148 [00:14:48]: oven = 100329 - ge_oven (valid:true) [00:14:48]: OnSave = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:165 [00:14:48]: Network = Network (0x184456a0) [00:14:48]: Physics = Physics (0x18445e90) [00:14:48]: name = Fire Pit [00:14:48]: MiniMapEntity = MiniMapEntity (0x18445700) [00:14:48]: SoundEmitter = SoundEmitter (0x184456c0) [00:14:48]: prefab = firepit [00:14:48]: OnLoad = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:151 [00:14:48]: pendingtasks = table: 0x1844a820 [00:14:48]: spawntime = 0 [00:14:48]: event_listening = table: 0x18446d20 [00:14:48]: replica = table: 0x184451b0 [00:14:48]: event_listeners = table: 0x18446c70 [00:14:48]: components = table: 0x18444e20 [00:14:48]: persists = true [00:14:48]: -------------------------------------------------------------------------------------------------------------------- [00:14:48]: Dumping component installations [00:14:48]: caninstallfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:137 [00:14:48]: installation = 100329 - ge_oven (valid:true) [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: oninstallfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:146 [00:14:48]: Dumping component workable [00:14:48]: onwork = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:25 [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: savestate = false [00:14:48]: _ = table: 0x18446fe0 [00:14:48]: onfinish = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:15 [00:14:48]: Dumping component specialstewer [00:14:48]: burnthreshold = -20 [00:14:48]: iscooking = false [00:14:48]: containerfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:144 [00:14:48]: task = PERIODIC 100325: 1.000000 [00:14:48]: oncookingstepfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:120 [00:14:48]: cookertype = ge_oven [00:14:48]: oncompletefn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:110 [00:14:48]: firemultiplier = 0 [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: intervalcheck = 1 [00:14:48]: isdone = false [00:14:48]: spoiledproduct = spoiled_food [00:14:48]: _ = table: 0x1844d6e0 [00:14:48]: cooktime = 99999 [00:14:48]: Dumping component hauntable [00:14:48]: no_wipe_value = false [00:14:48]: cooldown = 10 [00:14:48]: flicker = off [00:14:48]: panictimer = 0 [00:14:48]: onhaunt = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:81 [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: cooldowntimer = 0 [00:14:48]: usefx = true [00:14:48]: cooldown_on_successful_haunt = true [00:14:48]: _ = table: 0x1844a930 [00:14:48]: panic = false [00:14:48]: Dumping component fueled [00:14:48]: sections = 4 [00:14:48]: sectionfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:51 [00:14:48]: rate = 1 [00:14:48]: ontakefuelfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:36 [00:14:48]: updatefn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:44 [00:14:48]: rate_modifiers = table: 0x18447840 [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: bonusmult = 2 [00:14:48]: period = 1 [00:14:48]: consuming = false [00:14:48]: _ = table: 0x184474f0 [00:14:48]: Dumping component burnable [00:14:48]: fxdata = table: 0x18446960 [00:14:48]: fxchildren = table: 0x18446a80 [00:14:48]: flammability = 1 [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: extinguishimmediately = true [00:14:48]: fxlevel = 0 [00:14:48]: lightningimmune = false [00:14:48]: _ = table: 0x184466c0 [00:14:48]: Dumping component cooker [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: Dumping component inspectable [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: getstatus = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:71 [00:14:48]: Dumping component storytellingprop [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: Dumping component shelf [00:14:48]: ontakeitemfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:168 [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: _ = table: 0x1844dc60 [00:14:48]: Dumping component lootdropper [00:14:48]: trappable = true [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: droppingchanceloot = false [00:14:48]: Dumping component container [00:14:48]: ignoresound = false [00:14:48]: slots = table: 0x1844cd10 [00:14:48]: openlist = table: 0x1844cf20 [00:14:48]: inst = 100325 - firepit (valid:true) [00:14:48]: _ = table: 0x1844cc00 [00:14:48]: opencount = 0 [00:14:48]: ==================================================================================================================================== Caves(valid): [00:12:22]: ============================================ Dumping entity 112358 - firepit ============================================ [00:12:22]: GUID:112358 Name: Tags: BURNABLE_fueled campfire inspectable wildfireprotected specialstewer_dishtaker _container fueldepleted stewer ge_firepit HAMMER_workable cooker installations_occupied installations canlight storytellingprop takeshelfitem structure blocker Prefab: firepit AnimState: bank: firepit build: firepit anim: idle anim/firepit.zip:idle Frame: 11443.85/1 Facing: 0:right Transform: Pos=(-402.50,0.00,-26.00) Scale=(1.00,1.00,1.00) Heading=0.00 Network: NetworkID=16129 Owner=UNASSIGNED_RAKNET_GUID NetSleep=1111111111111111111111111111111111111111111111111111111111111110 MiniMapEntity: Physics: Collision Group: 512 Mask: 256,1024,16384, (ACTIVE) Vel: 0.00 SoundEmitter: [00:12:22]: -------------------------------------------------------------------------------------------------------------------- [00:12:22]: GUID = 112358 [00:12:22]: Transform = Transform (0x1baa7d80) [00:12:22]: inlimbo = false [00:12:22]: actionreplica = table: 0x21684df0 [00:12:22]: prefaboverride = net_entity (0x1b7edd70) [00:12:22]: actioncomponents = table: 0x1e54d620 [00:12:22]: lower_components_shadow = table: 0x22057760 [00:12:22]: dish = 112059 - ge_casseroledish (valid:true) [00:12:22]: entity = Entity (0x1b7a24a0) [00:12:22]: AnimState = AnimState (0x1e9ebe50) [00:12:22]: children = table: 0x20a64430 [00:12:22]: SetDish = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:148 [00:12:22]: oven = 112384 - ge_oven (valid:true) [00:12:22]: OnSave = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:165 [00:12:22]: Network = Network (0x21f150a0) [00:12:22]: Physics = Physics (0x19f74490) [00:12:22]: name = Fire Pit [00:12:22]: MiniMapEntity = MiniMapEntity (0x21010cb0) [00:12:22]: SoundEmitter = SoundEmitter (0x1ca829d0) [00:12:22]: prefab = firepit [00:12:22]: OnLoad = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:151 [00:12:22]: pendingtasks = table: 0x1c2ca370 [00:12:22]: spawntime = 335.83335084841 [00:12:22]: event_listening = table: 0x1be09560 [00:12:22]: replica = table: 0x1036db70 [00:12:22]: event_listeners = table: 0x1b8ff830 [00:12:22]: components = table: 0xb710420 [00:12:22]: persists = true [00:12:22]: -------------------------------------------------------------------------------------------------------------------- [00:12:22]: Dumping component installations [00:12:22]: caninstallfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:137 [00:12:22]: installation = 112384 - ge_oven (valid:true) [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: oninstallfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:146 [00:12:22]: Dumping component workable [00:12:22]: onwork = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:25 [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: savestate = false [00:12:22]: _ = table: 0x1c6485b0 [00:12:22]: onfinish = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:15 [00:12:22]: Dumping component specialstewer [00:12:22]: burnthreshold = -20 [00:12:22]: iscooking = false [00:12:22]: containerfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:144 [00:12:22]: task = PERIODIC 112358: 1.000000 [00:12:22]: oncookingstepfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:120 [00:12:22]: cookertype = ge_oven [00:12:22]: oncompletefn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:110 [00:12:22]: firemultiplier = 0 [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: intervalcheck = 1 [00:12:22]: isdone = false [00:12:22]: spoiledproduct = spoiled_food [00:12:22]: _ = table: 0x20afd550 [00:12:22]: cooktime = 99999 [00:12:22]: Dumping component hauntable [00:12:22]: no_wipe_value = false [00:12:22]: cooldown = 10 [00:12:22]: flicker = off [00:12:22]: panictimer = 0 [00:12:22]: onhaunt = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:81 [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: cooldowntimer = 0 [00:12:22]: usefx = true [00:12:22]: cooldown_on_successful_haunt = true [00:12:22]: _ = table: 0x2035ed00 [00:12:22]: panic = false [00:12:22]: Dumping component fueled [00:12:22]: sections = 4 [00:12:22]: sectionfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:51 [00:12:22]: rate = 1 [00:12:22]: ontakefuelfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:36 [00:12:22]: updatefn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:44 [00:12:22]: rate_modifiers = table: 0x1c733bd0 [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: bonusmult = 2 [00:12:22]: period = 1 [00:12:22]: consuming = false [00:12:22]: _ = table: 0x1ed35980 [00:12:22]: Dumping component burnable [00:12:22]: fxdata = table: 0xb802460 [00:12:22]: fxchildren = table: 0x1bd4cf70 [00:12:22]: flammability = 1 [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: extinguishimmediately = true [00:12:22]: fxlevel = 0 [00:12:22]: lightningimmune = false [00:12:22]: _ = table: 0x1f6000e0 [00:12:22]: Dumping component cooker [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: Dumping component inspectable [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: getstatus = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:71 [00:12:22]: Dumping component storytellingprop [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: Dumping component shelf [00:12:22]: ontakeitemfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:168 [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: _ = table: 0x1b7a67c0 [00:12:22]: Dumping component lootdropper [00:12:22]: trappable = true [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: droppingchanceloot = false [00:12:22]: Dumping component container [00:12:22]: ignoresound = false [00:12:22]: slots = table: 0x1c5c4cd0 [00:12:22]: openlist = table: 0x1b506420 [00:12:22]: inst = 112358 - firepit (valid:true) [00:12:22]: _ = table: 0x199c6d70 [00:12:22]: opencount = 0 [00:12:22]: ====================================================================================================================================
  3. Basically, I've been playing with a Gorge mod I made, built on top of another gorge mod and reached 270 days on a Caves + Forest world with someone else. As we were ready to start playing around with the mod itself, it turned out it's not behaving as it did when I was testing it. Problem is that taking pots and casseroles back from the cooking stations doesn't return them. I investigated a lot and I noticed that when I print out all existing entities, in FOREST, the dish is no longer present as an entity when the dish is placed in the station (they use the shelf component, like bird cage and lureplant). In CAVES, the mod behaves just fine and the dish is present in the entity list when places in the station and is returned just fine. for k, v in pairs(Ents) do if string.find(tostring(v), "casserole") then print("v="..tostring(v), "k="..tostring(k)) end end I tracked down the problem area to be RemoveItem function in inventory component. But I'm lost on what to do next. I find it mostly weird that the instance is not nil even when removing the dish from the station. local function SetDish(inst, doer, dish) if inst.dish ~= nil and dish == nil then local overridebuild = "quagmire_" .. string.sub(inst.dish.prefab, 4) inst.dish = nil inst.oven.AnimState:ClearOverrideBuild(overridebuild) inst:RemoveTag("takeshelfitem") inst.components.shelf.cantakeitem = false elseif inst.dish == nil and dish ~= nil then local removed_dish if doer then print("### Removed dish") removed_dish = doer.components.inventory:RemoveItem(dish) -- it all goes loose here end inst.dish = dish local overridebuild = "quagmire_" .. string.sub(inst.dish.prefab, 4) inst.oven.AnimState:AddOverrideBuild(overridebuild) inst.components.shelf:PutItemOnShelf(removed_dish) inst:AddTag("takeshelfitem") inst.components.shelf.cantakeitem = true end end And SetDish is called here: AddAction( "GIVE_DISH", "Put", function(act) if act.target ~= nil and act.target.components.specialstewer then if act.target.dish == nil and act.invobject.components.specialstewer_dish then if act.invobject.components.specialstewer_dish:IsDishType(act.target.components.specialstewer.cookertype) then act.target:SetDish(act.doer, act.invobject) return true end end end end ) If I try the mod on a new world or regenerate the current one, it works fine. I tried despawning my character, deleting the user instance but nothing works. I uploaded the world and the mod in question. I setup the oven at the cave entrance and exit for a quick test. Please help, I don't want to restart the world... World.7z Gorge Experience.7z
  4. There is a tag "scarytoprey" or something like that. Once applied to a mob, mobs that fall under the category of prey won't run away. I don't know currently how to single out rabbits only, you'll have to look what makes mobs "preys" and make a custom tag or something. If you want them to approach the player, you'll have to look into the brain, but I'm not experienced with it. To make them immortal, I think you can simply remove the combat component or whatever the name was. For the rabbit "item", not sure.
  5. It's probably so you don't need to sacrifice rare items for a sign.
  6. Of course it's useful. Make crock pot foots with veggies, like Chilli.
×
  • Create New...