FLFacHash Tool
-
Excellent work and thanks a lot for sharing, this sure will prove useful
Welcome to The Starport!
-
Thanks all of you guys!!
By the way, something I’ve often needed but not found, is a way to use the hash generator for a list of nicknames, and get the list back in an output with the original nickname and its hashcode after it. Maybe with an = between as a delimiter, I can easily remove it if needed.
Like this:-
ge_s_battery_01 = 2596081674
ge_s_repair_01 = 2911012559
…And preferably I would like to be able to specify the list’s filename in an input window (not CMD please! :pint: ), so I don’t have to use the same filename each time, this way I can prepare several list files and run them one by one.
Is this something one of you guys here can turn out during a coffee break? :oops:
I’ve been using excel to do it line by line until now, and it’s a pain.
:-?
-
The FL Player Cleaner does something similar, it puts 1 line with the nickname then the next line with the hash…
-
Why avoid CMD if you can do it all in practically 1 line using DOS’s “for” command?
Suppose you have FLFacHash and your input file with a list of IDs to be hashed (say, Input.txt) in the same directory. Then just open up the command prompt and enter the following commands:
echo off for /F %i in (Input.txt) do FLFacHash %i >> Output.txt echo on
Open up Output.txt and you should have the information you need in almost the format you wanted. If you are hashing normal hashes, then you can use FLHash instead of FLFacHash.
– The Haen.
-
If you like this
ge_s_battery_01_loot
F:\PRIVAT\FL\DATA\EQUIPMENT\misc_equip.ini
0xe3d9bbbf 2667548365
ge_s_battery_01
F:\PRIVAT\FL\DATA\EQUIPMENT\misc_equip.ini
0x179c884a 2596081674check the ‘CRC Tool’.
It creates a text file besides the database. -
FLDev also creates a similar file in its CRC tab (has both CRCs and Hashes), but I thought this wasn’t what you were after, from what I gathered.
-
StarTrader wrote:
I’ve been using excel to do it line by line until now, and it’s a pain.
If you actually want to use it in Excel, CreateID’s output is tab-delimited (with an option for CSV), so you should be able to import that and just swap the columns around. Or I could just modify CreateID to put the nickname first…
-
Wow, good responses guys!
Now you gave me another problem, I’ll have to try out and assess each of your suggestions! :?
But I ain’t got enough time! Haven’t you lot seen my avatar for goodness’ sakes!!??
Haen - now I KNOW you’re an old bugger like me!!
Actually your suggestion is very helpful, I think I can work my way around the FOR command and make a cmd/bat file to give it the input & output filenames and tailor the output results the way I want too.
Many thanks, guys.
-
Haen - now I KNOW you’re an old bugger like me!!
I’m not THAT old. In fact, believe or not, I’m not even an programmer – I’m a business major!
A quick question for Jason: I just noticed you mentioned “location hashes” for your createid program. Are you referring to the hash number after the “location =” entry in the save game files? If yes, do you know if they are used anywhere else?
Cheers,
– The Haen.
-
downloaded the tool to try it out, double clicked the exe file and i get a black box appear for a nano second and then nothing.
-
It’s a command-line program! Try running it through the command host (cmd)
-
adoxa wrote:
That’s right. I don’t believe so.Ah, I see. Thanks for your answer.
I always thought of location hashes as FLHash being applied twice over. I didn’t know that Freelancer actually called a different routine just for location hashes. Though on further reflection, I guess I should have anticipated that.
At any rate, now that I’ve got these three hashes, that gives me an idea with which I can play around…
– The Haen.
-
Having decoded the faction hash algorithm, I would’ve thought you’d know how it generates the location hash, too. It takes the hex of the base hash, appends an underscore and the name of the room, then hashes that. For example, Manhattan’s bar is: Manhattan = li01_01_base = A7303E0D, so hash “A7303E0D_bar” = 2729128783. Of course, if you’re importing from common.dll, just do MakeLocationID( CreateID( “li01_01_base” ), “bar” ). My version of FlCodec is capable of converting the hashes back to nicknames (Li01_01_Base/Bar) or names (Planet Manhattan Bar), using the database made by CreateID.
-
adoxa wrote:
Having decoded the faction hash algorithm, I would’ve thought you’d know how it generates the location hash, too.Oh, I know how to generate it all right. I apologize if I conveyed otherwise.
Like you wrote, it hashes the base name, prepends the hex as a string plus the underscore to the room name, and then hashes the new string. I have been manually determining location hashes using this process via the original FLHash.exe tool. I simply thought of the entire process as calling on the default hash algorithm twice, which was what I meant as “applied twice over”.
On another note, I spotted a minor error with FLFacHash’s output formatting. I’ve corrected the error and will re-upload once the problems with the Downloads are gone.
– The Haen.
-
It’s a command-line program! Try running it through the command host (cmd)
tried that and it tells me
Error, wrong number of arguments
whatever that means
-
Dragnite_MU wrote:
It’s a command-line program! Try running it through the command host (cmd)
tried that and it tells me
Error, wrong number of arguments
whatever that means
That means you need to give FLFacHash a faction ID to process. This error message appears if you entered the FLFacHash in the command prompt by itself without supplying any IDs with which it can work.
For example, if you want find out the hash code for the Kusari State Police, then you’d enter the following in the command line:
C:\>FLFacHash ku_p_grp
This should return the hashcode of 552.
– The Haen.
-
ah i see, ill give that a try then
-
A suggestion, perhaps, Haen: if you have a help command, maybe default to its output if not arguments are given? Or at least, put a “type –help for more information” in the error message.
It’s something simple, but it can help a lot with usability
-
Tssk! Tssk!
8-)