More Player information

wespel

New member
JFF Member
Feb 21, 2017
14
1
0
39
Hello !

I don't know if this is information you can get easily or not, but the Player List would be even more useful if we could get more intel on the player, like :
  • last time seen connected / or time connected for...
  • coordinates on the map (with copy to clipboard teleport ?)
  • steam Name for ViewPlayer (with copy to clipboard viewplayer ?)
That wouldn't need to be refreshed information, even a "details" form popping when selecting a player would be great
 
Hey there, I'll answer in order. =)

The first one, can and will be done as soon as I start saving extra player data. That won't be too long, but I haven't decided on a storage method yet for the data.

Second, I haven't see this information anywhere that I can get to it. I'll keep an eye out, but I haven't noticed it.

Third, no problem. =)
 
  • Like
Reactions: wespel
if you access the game.db in the saved folder (which I assume you did for your current information as it looks like the character table), you should get the position with a simple query like :


select x,y,z from actor_position where class="BasePlayerChar_C" AND Id = <your player id>
You should get the position from here
I'm currently digging into the db to see what we can get from here.

Their coordinates are a bit obscure to me. But at least they work ingame

 
Sorry it's missing somthing, it's the same id as the Id field in the Character Table (the incremental id, not the big number)
 
Ahh yeah, that's right, I forgot about that table. I'll grab the info then. =)

There's a data column for several things that I'd love to have the structures to, stats, etc. I've looked at inventory, but I haven't figured out a way to read that data column either. I've done the prelim work of figuring out what slots are what, etc. But the actual data for the inventory item, no luck. Deciphering structs has never been my strong suit. =)
 
Maybe I should stop replying here, but it's part of the topic :

Characters stats are simple :
char_id , stat_type, stat_id, stat value

The combinaision of stat_type and stat_id gives you the stat, Do you want me to list the stats names corresponding ?

For the blobs inside the item_inventory, i'll look closely to see if I can help
 
ok I got it the blob is encoded ascii for scripts.

you can get the content with a query to hex(data) to get somthing like :

01000000EFBEADDE0FCAFEBACAFBCFABCDAB214300000000000000001F0000002F5363726970742F436F6E616E53616E64626F782E456D6F74654974656D000E000000456D6F74654974656D5F3630380004020000000000000000000000
which translates to :

!C/Script/ConanSandbox.EmoteItemEmoteItem_608
those are to be inspected "for science !" but are not necessary for your work, I think.
 
This is as good of a place as any to reply. =)

Yes, switching to HEX will give you some readable information. However ultimately that data is generally going to be in the format of something like

id int32
name string(256)
quantity int32

Etc. So when reading it, you need to read the entire data column into that structure (whatever that structure is), at which point you'll have an object that you can read/write from/to. Basically, I can't just text parse that because it'd be a guess and very prone to error.
 
Apparently the blobs use different structure depending on the inventory type. Theymust have used this method to get an inline specific structure and avoid multiple sql queries. That's gonna be a hard case to get all these data deciphered.

For the first point, do you plan on making your own db on the side for storage ? I was wondering the value of adding a simple trigger on connection to the database and storing in an additionnal table.
 
Apparently the blobs use different structure depending on the inventory type. Theymust have used this method to get an inline specific structure and avoid multiple sql queries. That's gonna be a hard case to get all these data deciphered.

For the first point, do you plan on making your own db on the side for storage ? I was wondering the value of adding a simple trigger on connection to the database and storing in an additionnal table.

More than likely I'll go the DB route. The only reason I don't want to, is that in my other server manager (7D2D RAT), doing the database upgrades for every release adds at least an hour minimum and there's always something that isn't quite right. heh
 
  • Like
Reactions: wespel