Announcement

Collapse
No announcement yet.

[PLUGIN] Savior 3

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    maybe I can get away with a class reference.. no cigar, same results. I'm just using the "Class Defaults" now
    Last edited by Jdfskitz; 02-17-2021, 09:24 PM.

    Comment


      Email me a screeshot of the blueprint actor you are trying to save, and a copy of the save file.
      So I can take a look later.

      If you can send a zipped level for me to inspect is better.
      This kind of problem is usually something missing or slot configuration of Scopes is wrong, etc.
      | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

      Comment


        after setting it to soft class array, I'm getting an error stating that it can't parse the default value for an enumerator.. thinking it could have something to do with that. is there a preferred email?

        Comment


          You can get email address on marketplace page or from Editor's Plugins panel.
          I think your slots are just not configured to save the classes you want to save, in Scope lists.
          | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

          Comment


            Doing a spawn actor seems to have fixed it. .. all besides the helmet slot.. xD which is slot 0.
            Last edited by Jdfskitz; 02-17-2021, 10:05 PM.

            Comment


              The way "professional" studios do things like this, usually for RPG or MMOs, is they keep a struct containing a series of enums to indicate body parts equipped by the character.
              Th enum can be converted to a single byte value, so it is cheap to store into a data base or a save file and is easier to work with.

              Inventory systems that store references to equipped objects have to keep a path to all these possible objects, more complicated to save and saved data also eat a lot of unnecessary space.
              | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

              Comment


                Thats "Kind of" what I have as well. but I use actors for the type of object being equipped so I can create new types of armor by making them children of armor types. I'm not sure how to get around that one I guess other than spawning default class values aha. which. is what I did here.

                Comment


                  project started crashing, I limited the save slot to 1 component and 2 of my actors.
                  calling save actor hierarchy and getting Fatal error: [File:/Build/++UE4/Sync/Engine/Source/Runtime/CoreUObject/Private/UObject/UObjectGlobals.cpp] [Line: 2262] Object is not packaged: MetaSlot SlotMeta

                  Edit: fixed itself after like 30 crashes and 20 deleted save files.. would like to know what caused it though.. also. in order to load Spawned actors in the world how would I do that without calling Load World?
                  Last edited by Jdfskitz; 02-21-2021, 11:43 PM.

                  Comment



                    I have no idea about that crash without a call stack.

                    To load spawned actors without the load world node, you have to keep a list of guids to save, then you manually respawn them before loading each actor's properties from target slot. That's what the Load World node does.

                    | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                    Comment


                      Do you have an example of this being done? I've been attempting to add actor GUID to an array, calling my save functions and it will re-iterate the SGUID back to me with debugging, but when I call find actor with GUID and spawn actor. it doesn't seem to like this. I would use load world, but I'm also using a voxel plugin which I have a loading system for on that as well and when I call load world it re-calls voxel loading. Pain in the rear end.

                      Comment


                        If will not find any actor with that Guid if you never applied the guid to the actor you spawned.

                        * Find Actor with Guid.
                        * If found -> Skip spawning -> Load actor data from Slot.
                        * Nothing found? -> Spawn Actor -> Apply target Guid value to spawned Actor's SGUID property -> Load actor data from Slot.
                        | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                        Comment


                          I'm currently generating the SGUID in the Construction graph using the generate once, and on spawn adding it to an array on the player. so I should be able to For Each loop that and Load Actor Data From Slot right?

                          really wish this load world thing worked for me

                          It seems like when I call load world, it calls begin play again. I'm wondering if I should even be using begin play for loading the world.
                          Last edited by Jdfskitz; 02-23-2021, 04:38 PM.

                          Comment


                            No, that is wrong. "Create Once" doesn't work for that.
                            You have to create either a guid value you define yourself that doesn't change or use Guid maker node in "Resolved Name to GUID" mode.
                            The generated Guid value will always be the same unless you change the name of the actor:





                            Last edited by BrUnO XaVIeR; 02-23-2021, 05:00 PM.
                            | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                            Comment


                              thats good to know..Thank you for the 20th time haha, is there any documentation somewhere that I am missing so I can avoid asking dumb questions? lol.

                              Comment


                                Questions are good. Always ask questions

                                This node is recent, it wasn't in the plugin since some weeks ago, so nothing in the original post talk about them.
                                I have to regenerate the git.io page to include them there, but I'm always in a hurry and end up not doing it.
                                | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                                Comment

                                Working...
                                X