[ Save Files with Player IDs ]

Objectid docs kinda already confirmed it

Imma go eat

Edit: Also I think the last 3 or 4 posts should be in the other topic

1 Like

Mk :c
Edit: fair but too late now

2 Likes

I see. We could do this a lot easier by just doing lookups in a string. To convert a single digit of hexadecimal to decimal, I think we just have to do:

((16 ^ n) * (findFirstOccuranceOf((HEX CHAR) in  "0123456789abcdef") - 1))

Where n = the place value of the digit, as shown below:

a32f0

letters: a 3 2 f 0
n:       5 4 3 2 1

Liessss and propagandaaaaaa lmaoo


The player ID appears to be a MongoDB ObjectId(). You can find the documentation here. Basically, it says that the first section is a UNIX timestamp, and the second and third sections are designed to make sure the ID is unique. They don’t seem to have any info that is usable, but they seem to be generated based on the Mongo server id, and random chunks generated by the client.


5 Likes

Sounds about right, but is this possible using Gimkit x Blockly (aka block code)?

1 Like

Yes.

2 Likes

@Blueboat I don’t think this is working:

When I run it (I’m using a double-trigger infinite loop), it outputs
-1 for the first activity feed block and
-1-1-1-1-1-1... basically a bunch of -1s stringed together.
(See image below)

Am I doing something wrong, or is something in the code you gave me faulty?

2 Likes

Here’s what I did that worked:
image
You’re trying to find the first occurance of the whole player ID, while I’m simply checking one letter at a time. The Hex variable is just the first 8 letters of the player id btw. I checked and tested all this code before posting it, dw.


Here is the full block code algorithm I wrote. It’s not recursive cuz i was being lazy.

First code block:

Second code block:

Note:

The -1 isn’t seen in this algorithm, because it’s accounted for by the -2863311453 at the end of the code.

5 Likes

Now that I’m looking back, I did misplace a parenthesis, although it’s not the reason for your error. I’ve edited my above solutions to have that fixed.

1 Like

Also, another issue: When the player joins the game, their player ID is created. This means that if the player joins the lobby, waits 10 minutes, and then starts, their UNIX timestamp will say that they’ve been playing the game (not waiting in the lobby) for 10 minutes, meaning that an incorrect calculation may be made. Just wanted to bring that thought up.

3 Likes

Could we have the player enter the time they are starting? Then use that to find seconds since January 1 1970 for the player Id timestamp? I dunno. Just a suggestion.

1 Like

That kind of defeats the purpose of using Player IDs at all doesn’t it? Then the player can just cheat, and it’s not automatic and cool and whatnot.

3 Likes

Ok, you have a point, but what’s your suggestion then?

3 Likes

Well, we all know that save files can be hacked, and we have done that before many times.

Good Point BlueBoat!
Well, here is what i think (sorry if this is covered in the above posts. i didnt thouroghly read)
When u arive at the game, you wont have any idle income. You have to play the game, and get “upgrades” that get idle income. If you already have that, then there is no problem with joining, and waiting. you will get the same amount of idle income nonetheless?

2 Likes

I don’t think so. In the case of a player coming back after saving, their idle income will be cut off when they join the lobby, not when they start the game.

I can’t really think of a way to counter this issue, and I don’t think it matters much in the end. The player loses… 10 minutes of idle income? I don’t think this is gonna be a big issue.

2 Likes

Wait, i think i misunderstand the system.
Does the system only count In-game time for income, or total.
Say, i have started in feburary, then rehosted and continue playing during march. That means i would have 1 month of idle income right?

1 Like

Yeah, thats correct. Thats why i dont think this is much an issue. 10 minutes isnt much in the grand scheme of things.

2 Likes

true, but i still dont understand (really hate to be that person here :sweat_smile: )

So, you join, wait 10 min, and then start, enter in your current id…
OH, so you would lose 10 minutes of idle income?

I see what you are saying.
This is a problem…

2 Likes

Not like most GKC players are smart enough to figure that out, let alone know we’re using player IDs.

blackhole alt spawn

4 Likes

I know I was the one who brought this up, but I don’t think it’s something to worry about. I graphed the percent of idle income retained with this error, and it quickly becomes close to 100%.

Graph 1

This graph shows that after 2.4 and 6 hours of idling, the amount of income retained is already close to 97%. It’s assumed that about 10 minutes of idle income is lost for these calculations.

Graph 2: Best Case

A common player behavior would be leaving and then coming back the next day. Over a 24-hour period, the amount of income retained after a 10-minute lobby time is 99.3%.

Graph 3: Worst case

On the other hand, if a user leaves for a half hour, then comes back, they’ll only retain 66.67% of their idle income.

Other considerations

So, in my opinion, this isn’t a big issue. The percent of income lost is so small I don’t think it matters.
If yall want to see this for yourselves, here’s a calculator that shows it:
https://www.desmos.com/calculator/zrkreth4ef

These are lies and propaganda

I’d recommend reading the previous posts to catch up on things that have happened.

6 Likes

My ADHD may not be able to handle ._. Whenever these topics go so far without me it just kills me mentally

2 Likes