codengine / sotfedit Goto Github PK
View Code? Open in Web Editor NEWA Sons of The Forest Savegame Editor
License: MIT License
A Sons of The Forest Savegame Editor
License: MIT License
v0.11.16
Downloaded and installed the .16 update today and used it to finish a structure that was being reported as "unfinished" (no idea why, I couldn't find it in my build!), and set Kelvin & Virginia's health and affinity settings to high.
Saved and loaded the edited game and somehow all the plants in my planter boxes were all mixed up - ie they were all there but the wrong plants were in the wrong boxes (I plant them in a certain order).
Don't know if it's a me problem or not, so if anyone else is seeing this, please drop a line.
Regards.
The newest version of SOTF saves its savegames in a zip folder and some of the values might have changed (e.g. there is no more "currentWeather" in WeatherSystemSaveData.json). Now when starting SOTFEdit, it does not propose the new savegames (only the ones saved with an older version of SOTF).
wrong github, ignore this issue
Hi, I just got this error on a new save Version: 0.11.14
Message: An item with the same key has already been added. Key: do you have any idea what could be causing it please
I played the game and didn't like the ending. So I didn't save after the completing the game, and restarted the launcher. When I reached the Cube room, I wasn't able to get in.
So I edited the GameStateSaveData.json. But it still didn't work.
PlayerStateSaveData.json needs to be edited and ExitHelicopter and data before that needs to be removed. But editing isn't possible with the software.
Possible fix:
edit option for ach data in PlayerStateSaveData.json in the software
Version: 0.11.10 Message: Cannot locate resource 'images/structures/deerhide_tn.png'. Exception Type: System.IO.IOException Callstack: at MS.Internal.AppModel.ResourcePart.GetStreamCore(FileMode mode, FileAccess access) at System.IO.Packaging.PackagePart.GetStream(FileMode mode, FileAccess access) at MS.Internal.IO.Packaging.PackagePartExtensions.GetSeekableStream(PackagePart packPart, FileMode mode, FileAccess access) at System.IO.Packaging.PackWebResponse.CachedResponse.GetResponseStream() at System.IO.Packaging.PackWebResponse.GetResponseStream() at System.Windows.Media.Imaging.BitmapDecoder.SetupDecoderFromUriOrStream(Uri uri, Stream stream, BitmapCacheOption cacheOption, Guid& clsId, Boolean& isOriginalWritable, Stream& uriStream, UnmanagedMemoryStream& unmanagedMemoryStream, SafeFileHandle& safeFilehandle) at System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy, Boolean insertInDecoderCache) at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation() at System.Windows.Media.Imaging.BitmapImage.EndInit() at SOTFEdit.Infrastructure.AppLocalImageCache.LoadLocalImage(CacheKey cacheKey) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\Infrastructure\AppLocalImageCache.cs:line 32 at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) at SOTFEdit.Infrastructure.AppLocalImageCache.Get(String pathRelativeToRoot, Nullable`1 width, Nullable`1 height) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\Infrastructure\AppLocalImageCache.cs:line 13 at SOTFEdit.Infrastructure.StringExtensions.LoadAppLocalImage(String pathRelativeToRoot, Nullable`1 width, Nullable`1 height) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\Infrastructure\StringExtensions.cs:line 10 at SOTFEdit.Model.Map.StructurePoi.get_Icon() in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\Model\Map\StructurePoi.cs:line 17 at SOTFEdit.ViewModel.MainViewModel.<>c.b__72_0(KeyValuePair`2 kvp) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\ViewModel\MainViewModel.cs:line 541 at System.Linq.Enumerable.SelectEnumerableIterator`2.ToList() at SOTFEdit.ViewModel.MainViewModel.OpenMap() in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\ViewModel\MainViewModel.cs:line 540 at CommunityToolkit.Mvvm.Input.RelayCommand.Execute(Object parameter) at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated) at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) Inner Exception:
I am unable to spawn any Actors or NPCs. I am using the interactive map. I can use all other features except for spawning NPCs and enemies.
Thank you for the editor! It's helped me make adjustments to my game difficulty settings.
And thank you for fixing planters! There's one more issue I've noticed - cooking pots on shelves are emptied when you use this editor. I like to collect different recipes and have them on the shelf, but I lose all their contents if I make a save edit. A pot in the player inventory is fine though. Is there any way to prevent that?
I try to disable console commands on my dedicated server as it allows ALL players access. Unfortunately I've not been successful in this.
I've tried editing dedicatedserver.cfg with
"CustomGameModeSettings": { "GameSetting.Multiplayer.Cheats": false, ...}
to no avail.
Would SOTFEdit be able to set this?
I don´t know if this intended, but the numbering on the Armor page is a bit wired.
It counts 0, 1, 4, 5, 6, 7, 8, 9, 10, 11, so 2 and 3 aren´t there.
Also equipping it will result in a misplaced order ingame.
I added pictures, so it´s clear whats happening.
If I add all 10 pieces, it will show all 10 pieces correct ingame, so I think it autocorrcts the misplaced items.
I tried to find the code for it, but wasn´t able to get it, sry.
data.json file was in root directory of SOFTEdit instead of data\data.json. See log file.
logs-2023-03-26.txt
probably related to the fresh game update.
anyway I get this one.
I used the max items button and some unintended behaviour came out.
I had an cooked leg, which was rotten by the time I saved (I think so) and after using the editor, it overwrite the the rotten item with an cooked item, which isn´t shown in my bagback if I open the inventory, but will show, if I open the campfire or the bagback of my friend.
I will try to replicate the issue and investigate it more later and update the issue.
If you need further information or anything else, please let me know it.
There are a few options to increase your maximum storage for every item such as sticks, stones, resin, etc. though whenever you use SOTFEdit every overflowing item count will revert to vanilla max. I wish for SOTFEdit to only manipulate the numbers that one manually sets in the app.
I tried add some blueprint like stick ladder blueprint to my multiplayer save game, but when i load that save it doesn't show up in blueprint book
Able to reset the identifier for edibles from green/red "pacman" logo back to question mark"?" icon. Can be helpful for those who have non-cannibal playthrough but accidentally eaten an arm or two.
The time stamps used on the displayed "SAVEGAMES" selections is inaccurate. The date/time is the dir's creation, not the timestamp of the latest saved file(s) contained in the dir.
Example: I created a New Save on "3/10/2023 12:17:17 PM"
Later I overwrote that save - the files in the dir are stamped at "3/15/2023 8:42 AM"
However, the displayed saved games in SOTFEDIT don't show the current timestamps of the files contained in the dirs.
Thanks!
I'm not sure how different RedLoader is from BepInEx but since the two cannot be used at the same time, would it be possible to make a RedLoader version of the companion so that it can be used along side other mods?
sons of the forest doesnt have a once use setting for loot you find scattered like rope bullets and food and I think for a better challege and those who like realism like me would love if you could implement a feature like this if possible (not sure how sotfedit worksfully)
Doesn't detect save files
I don't see much difference between client and dedicated saves, it would be nice to edit my dedicated server save data. Currently, if I try to change the location of my save data folder using the button in SOTFEdit, nothing happens when I press it. Cannot paste my server save file path either.
when i try to choose my multiplayer save i get this error
Version: 0.12.0
Message: Unexpected character encountered while parsing number: z. Path 'Actors[2072].Position.y', line 1, position 581159.
Exception Type: Newtonsoft.Json.JsonReaderException
Callstack: at Newtonsoft.Json.JsonTextReader.ReadNumberCharIntoBuffer(Char currentChar, Int32 charPos)
at Newtonsoft.Json.JsonTextReader.ReadNumberIntoBuffer()
at Newtonsoft.Json.JsonTextReader.ParseValue()
at Newtonsoft.Json.Linq.JContainer.ReadContentFrom(JsonReader r, JsonLoadSettings settings)
at Newtonsoft.Json.Linq.JContainer.ReadTokenFrom(JsonReader reader, JsonLoadSettings options)
at Newtonsoft.Json.Linq.JObject.Load(JsonReader reader, JsonLoadSettings settings)
at Newtonsoft.Json.Linq.JToken.ReadFrom(JsonReader reader, JsonLoadSettings settings)
at Newtonsoft.Json.Linq.JToken.Parse(String json, JsonLoadSettings settings)
at Newtonsoft.Json.Linq.JToken.Parse(String json)
at SOTFEdit.Infrastructure.JsonConverter.DeserializeRaw(String json) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\Infrastructure\JsonConverter.cs:line 48
at SOTFEdit.Model.Savegame.SaveDataWrapper.Deserialize(JToken token) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\Model\Savegame\SaveDataWrapper.cs:line 88
at SOTFEdit.Model.Savegame.SaveDataWrapper.GetJsonBasedToken(String selector) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\Model\Savegame\SaveDataWrapper.cs:line 37
at SOTFEdit.ViewModel.NpcsPageViewModel.LoadNpcs(Savegame savegame) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\ViewModel\NpcsPageViewModel.cs:line 89
at SOTFEdit.ViewModel.NpcsPageViewModel.Reload(Savegame selectedSavegame) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\ViewModel\NpcsPageViewModel.cs:line 71
at SOTFEdit.ViewModel.NpcsPageViewModel.OnSelectedSavegameChanged(SelectedSavegameChangedEvent m) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\ViewModel\NpcsPageViewModel.cs:line 62
at SOTFEdit.ViewModel.NpcsPageViewModel.b__15_0(Object _, SelectedSavegameChangedEvent m) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\ViewModel\NpcsPageViewModel.cs:line 45
at CommunityToolkit.Mvvm.Messaging.Internals.MessageHandlerDispatcher.For2.Invoke(Object recipient, Object message) at CommunityToolkit.Mvvm.Messaging.WeakReferenceMessenger.SendAll[TMessage](ReadOnlySpan
1 pairs, Int32 i, TMessage message)
at CommunityToolkit.Mvvm.Messaging.WeakReferenceMessenger.Send[TMessage,TToken](TMessage message, TToken token)
at CommunityToolkit.Mvvm.Messaging.IMessengerExtensions.Send[TMessage](IMessenger messenger, TMessage message)
at SOTFEdit.SavegameManager.set_SelectedSavegame(Savegame value) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\SavegameManager.cs:line 25
at SOTFEdit.ViewModel.SelectSavegameViewModel.SelectSavegame(Savegame savegame) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\ViewModel\SelectSavegameViewModel.cs:line 40
at CommunityToolkit.Mvvm.Input.RelayCommand`1.Execute(Object parameter)
at SOTFEdit.Infrastructure.ItemDoubleClickBehavior.b__1_0(Object _, MouseButtonEventArgs e) in D:\a\SOTFEdit\SOTFEdit\SOTFEdit\Infrastructure\ItemDoubleClickBehaviour.cs:line 51
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.Control.OnPreviewMouseDoubleClick(MouseButtonEventArgs e)
at System.Windows.Controls.Control.HandleDoubleClick(Object sender, MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Inner Exception:
Hello,
Thanks for the awesome save game editor. Quick note. When using the refuel and ignite fires command. The fires stay lit forever. Is there a way to manage the amount of fuel that is added to the fires? The only way to remove fires is to turn on building destruction. And sometimes players might not want to have to smash there building apart to remove a perpetual fire.
Thank you!
When modifying the max health parameter and then saving in the current save game, there seems to be an issue where it reverts back from what the user set it to (in this instance, health 50), then while back in-game, seems to revert back to the 1700-something I had it set to prior.
I've found that some items disappear from weapon racks sometimes after using SOTFEdit. The gold and red masks seem to disappear every time. I had a gold guitar disappear once but couldn't replicate it. I remember there being a similar issue with cooking pots on shelves before, maybe the same cause?
This isn't necessarily an issue, but if I have multiple Kelvins, whenever I use SOTFEdit, all Kelvins change their outfit. I don't suppose there's any way around that? (I have a church with a Vicar Kelvin and a pyramid with a professor Kelvin, quite like having the little outfits but also realize that I'm messing with the game here so can't complain too much.)
Some items are marked as not collected (red) on the interactive map, even though they are collected in-game. (even after saving and reloading the save in SOTFEdit)
A few items which I can already confirm are affected, are:
There may be more, but these are the ones I can see at first glance. If you need any more information, please let me know.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.