Topic: Kill counter?  (Read 5186 times)


JP_Finn

« on: October 27, 2020, 06:17:56 AM »
I took a hiatus from URW for couple months. Now playing again, my character has killed 6 more Njerpez and his big dog 2 more. But I lost my piece of paper I had the kill tally on. Maybe 40-50 something.

So, is there a non-encrypted / clear text file game file, that I can filter/grep for njerpez/human kills? (my guy hasn’t killed any non-njerp humans, so that might make it easier to count)

Night

« Reply #1 on: October 27, 2020, 06:35:21 AM »
I took a hiatus from URW for couple months. Now playing again, my character has killed 6 more Njerpez and his big dog 2 more. But I lost my piece of paper I had the kill tally on. Maybe 40-50 something.

So, is there a non-encrypted / clear text file game file, that I can filter/grep for njerpez/human kills? (my guy hasn’t killed any non-njerp humans, so that might make it easier to count)

This is a neat idea, I might take a look at the message log and make something to scrape such data.
URW Character Menu - Cheating menu by a player, for the players.
URW Character Designer - Design your characters sprite!

PALU

« Reply #2 on: October 27, 2020, 10:06:54 AM »
My in-game method is to haul the dead bodies up to the overmap and let them lie there until the bones are cleared of flesh. Then I collect them and deposit them on a rock tile in the rapids beside my homestead as a trophy pile.
The location keeps the bones out of reach of the dog. It can also be noted that the bones stack based on culture, so Njerp bones end up in the big stack, while e.g. Kaumo robber ones end up in a much smaller one (I don't kill civilians, but I'd expect any Kaumo to end up together with the robbers from that culture).

Companions that have gotten themselves killed while fighting robber bands are given burned in a funeral pyre, as are any civilians accidentally killed in my traps (one foreign trader total, over all my games). Thus, they don't end up in my trophy pile.

JP_Finn

« Reply #3 on: October 27, 2020, 06:37:59 PM »
My in-game method is to haul the dead bodies up to the overmap and let them lie there until the bones are cleared of flesh. Then I collect them and deposit them on a rock tile in the rapids beside my homestead as a trophy pile.
The location keeps the bones out of reach of the dog. It can also be noted that the bones stack based on culture, so Njerp bones end up in the big stack, while e.g. Kaumo robber ones end up in a much smaller one (I don't kill civilians, but I'd expect any Kaumo to end up together with the robbers from that culture).

Companions that have gotten themselves killed while fighting robber bands are given burned in a funeral pyre, as are any civilians accidentally killed in my traps (one foreign trader total, over all my games). Thus, they don't end up in my trophy pile.

I got too wide range, splayed with Njerps’ corpses and their bony remains. Some views might have 8 combinations of dead Njerpez remains. Some areas I don’t travel to frequently, but will target all Njerpez spotted. So likely would miss their bones later. I do too drop them on the Wilderness Map.
I do collect antlers and bear teeth on a boulder in the yard.

Edico

« Reply #4 on: October 28, 2020, 03:24:07 AM »
It's not exact but you can search the log file for "njerpez warrior dies" and "njerpez warrior sighs" and add those two together.

JP_Finn

« Reply #5 on: October 28, 2020, 10:23:00 PM »
I poked my nose into some of the files.
kill.log uses unknown encryption.
LOG and LOG2 are truncated, I.e. don’t go back to day 1. Same with msglog.txt

I might be out of luck. Well, got to go kill another ~50 Njerpez.

Night

« Reply #6 on: October 28, 2020, 11:01:23 PM »
I poked my nose into some of the files.
kill.log uses unknown encryption.
LOG and LOG2 are truncated, I.e. don’t go back to day 1. Same with msglog.txt

I might be out of luck. Well, got to go kill another ~50 Njerpez.
How big is your KILL.txt log? its not really encrypted, you're just looking at bytes of data in plain-text. I'll take a look at the data and see if I can map some of the struct to give you a better idea of what that log contains, but I'm curious about the file size as you said the other logs don't retain day 1 information.

struct size is 1384 bytes per entry
Code: [Select]
0x0 - UnknownID (4 Bytes)
0x4 - CreatureID (4 Bytes)
0x8 - CreatureName (String)
0x30 - AssignedName (String)
0x49 - PortraitPath (String)
0xA0 - Array of some sort
0xA8 - Vocal1 (String)
0xB2 - Vocal2 (String)
0xDE - Attack1 (String)
0xEA - Attack2 (String)
0x115 - Skill[1] (String)
0x121 - Skill[2] (String)
0x12D - Skill[3] (String)
0x139 - Skill[4] (String)
0x145 - SkillLevels (4 Bytes) (?)
0x14C - Array of some sort, holds item ID's as well as other ID's.
0x2B6 - SpritePath (String)

If you take the size of your kill file, and divide it by 1384, it should give you the amount of entries in the file.
http://prntscr.com/v90wi2

From what ive seen so far, there are unique entries for animals of the same species so, I'm not entirely sure there is a 'kill' count per animal/creature, I'll experiment more with what's saved and when shortly.
« Last Edit: October 29, 2020, 01:06:34 AM by Night »
URW Character Menu - Cheating menu by a player, for the players.
URW Character Designer - Design your characters sprite!

ineedcords

« Reply #7 on: October 29, 2020, 12:19:17 AM »
I poked my nose into some of the files.
kill.log uses unknown encryption.
LOG and LOG2 are truncated, I.e. don’t go back to day 1. Same with msglog.txt

I might be out of luck. Well, got to go kill another ~50 Njerpez.
EDIT: ignore my message below and just see the one above.
Night's done much better work and explanation. I started typing this message, went to dinner, came back, hit post and then noticed a better answer than mine, right above my post! :)


I don't think it's encrypted (although it does look encrypted when looking at it in a text editor in ascii mode). I do not have a perfect solution for you but depending on how much time you wish to invest into reverse engineering the kill.log data storage layout, I might have a starting point for you.

//prep work
-make a copy of kill.log
-open the copy of kill.log in Notepad++ text editor (if you don't have it, you could either download & install it or just "unzip" the portable edition -- it's free software)

//step: convert hex file to ascii
-in Notepad++ search & replace tool (CTRL+H) > replace ' ' with '' (i.e.: replace single-whitespace-char with nothing)
-select everything CTRL+A
-use Plugins > Converter > HEX -> ASCII

//step: cleanup ascii file (just a bit)
[ Note that this step could also be read as gutting the file, if you have any interest in reverse engineering the file format this may not be the best idea but for learning purposes, on a copy, perhaps do it once. ]
-use Notepad++ search & replace tool > enable extended characters > replace \x00 with <nothing> to get rid of 'NUL' chars
-now, keep open that CTRL+H screen and just delete the last digit of SEARCH FOR string "\x00" and make it "\x01", click replace all
-keeping replace window open, and as per last step, manually changing the last character of the search-for-string in light of the table below, keep replacing all the ascii symbols in the file with nothing, effectively shortening and simplifying the content ( more info on symbols is in this table: https://www.december.com/html/spec/ascii.html )

//ascii symbol names
Code: [Select]
SOH start of heading \x01
VT vertical tab \x0b
NUL null \x00
RS record separator \x1e
ETX end of text \x03
ENQ enquiry \x05
SO shift out \x0e
SI shift in \x0f
BEL bell \x07
DC1 device control 1 \x11
DC2 device control 2 \x12
DC4 device control 4 \x14
STX start of text \x02
ACK acknowledge \x06
EOT end of transmission \x04
BS backspace \x08
FS file separator \x1c
FF (NP) new page/form feed \x0c
NAK negative acknowledge \x15
ETB end of transmission block \x17
HT horizontal tab \x09
US unit separator \x1f
SYN synchronous idle \x16
---
//in this kill.log file there are also characters with hex value hh (\xhh)
ref: see the converter here https://www.rapidtables.com/convert/number/hex-to-ascii.html
x80
x8D
x99
x99
x9A
xBF
xC8
xD2
xD3
xD4
xE3
xE9
xEC
xEE
xF0
xF4
xF9
xFA
xFF
--

Eventually you'll have something that might give you a kill count.
Testing this on a new character/save with only one or two kills would probably help understand the data storage format better.
Also xmas is coming maybe the devs will give us an in-game kill.log export function or a simple external utility.

good luck
« Last Edit: October 29, 2020, 12:24:00 AM by ineedcords »
This could be a good day to utilize your squirrels hides.

JP_Finn

« Reply #8 on: October 29, 2020, 03:35:45 AM »
The files don’t have full entries, not sure how many the game keeps. The msglog is only 19MB, this guy has been running for a while. Dozens of elks, few bears, I guess hundreds of birds trapped. Around 50 Njerpez.

Night, I don’t seem to have kill.txt file, only kill.log
I doubt it’s due to running the game on Mac. But possible.

Couldn’t find Textpad++ for Mac. Got text mate, text wrangler. I’ll need to see if can can convert hex to ASCII on either.
Or download a hex editor for Mac. Anyway, time to put the kids to bed.

Night

« Reply #9 on: October 29, 2020, 04:08:29 AM »
The files don’t have full entries, not sure how many the game keeps. The msglog is only 19MB, this guy has been running for a while. Dozens of elks, few bears, I guess hundreds of birds trapped. Around 50 Njerpez.

Night, I don’t seem to have kill.txt file, only kill.log
I doubt it’s due to running the game on Mac. But possible.

Couldn’t find Textpad++ for Mac. Got text mate, text wrangler. I’ll need to see if can can convert hex to ASCII on either.
Or download a hex editor for Mac. Anyway, time to put the kids to bed.

Sorry, you're right, it is .log, I just saw the notepad icon on my PC and thought it was txt.
The kill.log size should be significantly smaller I believe, http://prntscr.com/v933hy
« Last Edit: October 29, 2020, 04:11:16 AM by Night »
URW Character Menu - Cheating menu by a player, for the players.
URW Character Designer - Design your characters sprite!

JP_Finn

« Reply #10 on: October 29, 2020, 04:47:09 AM »
@Night , maybe I recall wrong. I saw 19MB something, thought it was the msglog.txt

JP_Finn

« Reply #11 on: October 29, 2020, 03:34:22 PM »
After double-checking the entries, msglog.txt is full history. Other files are truncated.
See attached.


Now I need to prune the fluff out or extract the goods. To macro or to python  ???

Night

« Reply #12 on: October 29, 2020, 09:45:53 PM »
After double-checking the entries, msglog.txt is full history. Other files are truncated.
See attached.


Now I need to prune the fluff out or extract the goods. To macro or to python  ???

Looks like kill.log is probably full too judging by the size.
URW Character Menu - Cheating menu by a player, for the players.
URW Character Designer - Design your characters sprite!

ineedcords

« Reply #13 on: October 30, 2020, 06:45:19 PM »
* You should have xxd on Mac OS X, no? https://krypted.com/mac-os-x/to-hex-and-back/
* There are some utilities in brew https://formulae.brew.sh/formula/
* Other alternatives python, perl etc. but more work.
* Getting a 3rd party binary utility is one option - getting something from github and compiling is another but many of those amateurish versions might tank at edge cases (large size file etc). Probably better to use a proper solution one of the top 2 in this list.
This could be a good day to utilize your squirrels hides.

 

anything