thua4 Posted January 2, 2021 Share Posted January 2, 2021 I'm trying to add woby to wendy and it worked ( just for solo playing) but unlike walter's woby wendy's woby just lose all item when i disconnect and reconnect. I tried to paste walter lua into wendy and change all walter name into wendy and it doesn;t work, did the same for SGwobysmall changed all walter into wendy, he still lose items. If any developer read this can you please tell me where I need to fix in order for woby to not lose item when disconnected? TY! Link to comment Share on other sites More sharing options...
Electroely Posted January 2, 2021 Share Posted January 2, 2021 Sounds like you're modding the game, so I'd recommend a post like this be posted in The Mods and Tools subforum. https://forums.kleientertainment.com/forums/forum/79-dont-starve-together-mods-and-tools/ As for having Woby keep her items, that's handled in Walter's OnSave and OnLoad functions: Spoiler prefabs/walter.lua local function OnSave(inst, data) data.woby = inst.woby ~= nil and inst.woby:GetSaveRecord() or nil end local function OnLoad(inst, data) if data ~= nil and data.woby ~= nil then inst._woby_spawntask:Cancel() inst._woby_spawntask = nil local woby = SpawnSaveRecord(data.woby) inst.woby = woby if woby ~= nil then if inst.migrationpets ~= nil then table.insert(inst.migrationpets, woby) end woby:LinkToPlayer(inst) woby.AnimState:SetMultColour(0,0,0,1) woby.components.colourtweener:StartTween({1,1,1,1}, 19*FRAMES) local fx = SpawnPrefab(woby.spawnfx) fx.entity:SetParent(woby.entity) inst:ListenForEvent("onremove", inst._woby_onremove, woby) end end end You'll need to combine the OnSave and OnLoad functions from both Walter and Wendy. The easiest way would be by just copy-pasting their contents together, so they look something like this: Spoiler prefabs/wendy.lua local function OnSave(inst, data) data.woby = inst.woby ~= nil and inst.woby:GetSaveRecord() or nil if inst.questghost ~= nil then data.questghost = inst.questghost:GetSaveRecord() end end local function OnLoad(inst, data) if data ~= nil and data.woby ~= nil then inst._woby_spawntask:Cancel() inst._woby_spawntask = nil local woby = SpawnSaveRecord(data.woby) inst.woby = woby if woby ~= nil then if inst.migrationpets ~= nil then table.insert(inst.migrationpets, woby) end woby:LinkToPlayer(inst) woby.AnimState:SetMultColour(0,0,0,1) woby.components.colourtweener:StartTween({1,1,1,1}, 19*FRAMES) local fx = SpawnPrefab(woby.spawnfx) fx.entity:SetParent(woby.entity) inst:ListenForEvent("onremove", inst._woby_onremove, woby) end end if data ~= nil then if data.abigail ~= nil then -- retrofitting inst.components.inventory:GiveItem(SpawnPrefab("abigail_flower")) end if data.questghost ~= nil and inst.questghost == nil then local questghost = SpawnSaveRecord(data.questghost) if questghost ~= nil then if inst.migrationpets ~= nil then table.insert(inst.migrationpets, questghost) end questghost.SoundEmitter:PlaySound("dontstarve/common/ghost_spawn") questghost:LinkToPlayer(inst) end end end end This kind of approach may break if Klei ever updates the save/load functions of these characters, though, so you'll need to re-do it if that ever happens. Link to comment Share on other sites More sharing options...
thua4 Posted January 2, 2021 Author Share Posted January 2, 2021 omg thank yoiu so much for immediate response yes i'm a noob here and i'm actually tweaking it in my data file i have no idea how to make mods which would be safer, instead i tweak directly at the databundle script files the main one. I'll give that a try and see if i can get it to work thank you so much! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.