How do you create a progress save file? (NOT SAVING THE MAP)

No. Each account, in the gimkit code, has a unique ID. This ID, along with the ID of the map being played, can be sent to the servers to fetch the correct data to load into properties.

2 Likes

They do?

Yes.
I have a link that will show you your account data, give me a few minutes to find it.

3 Likes

Ok. So how many digits long is it?

1 Like

Make sure you are logged into gimkit, and paste this in your browser:
https://gimkit.com/pages/general
This will show you all of your account data.
My idea is to use the user and map ID to load the correct data through the websocket, so that it is not easy to tamper with.

Ok.

We have a problem: The id is in hexadecimal. Also, I don’t think that the map can access this data.

Do player ID’s dissapear like most properties?(I’ve not really used them so…)

Those are tied to your actual account. In game player ids are actual properties.

So then, if we estract the data of the player ID can we add data to it?

Ok, this is my full idea for a data saving and loading device:

Two modes (Load/Save)

Load mode

Load(Multiple choice):

  • All property data
  • All inventory
  • Specific property
  • Specific item

If specific property/item (Text Input/Multiple Choice):

  • Property name/Item name

Load when receiving on (Text Input):

  • Channel

Save mode

Save (Multiple choice):

  • All property data
  • All inventory
  • Specific property
  • Specific item

If specific property/item (Text Input/Multiple Choice):

  • Property name/Item name

Save when receiving on (Text Input):

  • Channel

Backend idea

So the backend is something the GKC builder will never see, but here is how I would imagine it to work:
The device takes the triggering player ID, along with the map ID, and uses that data to fetch the loaded data, or if the player has no loaded data, do nothing. Once it has fetched the data, it then figures out what specifically to load into properties or inventory.
It would also be cool if each map had a dummy player id (think cloud vars from scratch) that could be used to store global data, like leaderboard highscores.

@getrithekd this

1 Like

We can use that to distinguish between players. Sorry for the caps.

The user (us) will never see the player ID. It is used by the GKC backend to distinguish between two accounts. The devs can take advantage of this to give each user some save data that is stored with the keys of the mapID and the playerID. I was just pointing out the existence of playerIDs greatly help a save system.

So we can edit the data saved to the player ID?

Ok so I have not been able to do anything yet. I feel like I did something but im not sure.

1 Like

So we can estract all the data from the player ID and the map ID and then we process whatever we may need?

We were discussing how a data saving device would work. In theory, what is happening is the save data is being stored under the map ID, like so:

"fhalwiufuakjdsjkahfkjl" : {
    "wires" : [...],
    "terrain" : [...],
    "devices": [...],
    "playerData" : [
        "blackholes player id" : {
            "cash" : 8000000,
            "propertyName" : "woodchuck"
        },
        "getrithekds player id" : {
            "cash" : 420000000,
            "propertyName" : "apple"
        ]
    }
}

This is what the save data might look like.
ALL of this would be hidden behind a fancy device though.

I was talking about how the gimkit devs could code a saveData device, we wouldn’t need to worry about anything other than placing a device that will load the data when we tell it to.

1 Like

That would be too complex I think. All the current devices are simple.

Oh so basically all this is just something we are making up and not completly possible? We are going to just leave the work to the devs?