Important Message

You are browsing the archived Lancers Reactor forums. You cannot register or login.
The content may be outdated and links may not be functional.


To get the latest in Freelancer news, mods, modding and downloads, go to
The-Starport

Limit breaking 101

Here you find the different tutorials on editing and MODing Freelancer

Post Wed May 23, 2007 7:14 am

I personally use HexPlorer, which I find to be a little simpler, while just as effective.

If you were using HexPlorer (http://artemis.wszib.edu.pl/~mdudek/), open up the DLL in question, and hit F5. This will give you an offset window. Let's use the NPC spawn distance for example:

2500d in content.dll, 0x11AC68 = NPC max spawn distance in SP and MP (following initial spawn)

See the 0x11AC68? Well, that's our offset - however, only the "11AC68" part of that needs to be plugged into the "offset" line - the 0x at the beginning pretty much just tells us that it's a hex number, for all intents and purposes.

Once you have 11AC68 in the "offset" line, hit enter - this will display something that looks like this:

http://img.photobucket.com/albums/v521/foxUnit01/Hex1.jpg

Now, go and hit View > Simple Data Types:

http://img.photobucket.com/albums/v521/foxUnit01/Hex2.jpg

This will cause a window to pop up with a bunch of weird numbers. The number we're looking for is 2500d, or a "Double" - which you can see in the list of numbers:

http://img.photobucket.com/albums/v521/foxUnit01/Hex3.jpg

As you can see in the picture, simply double-click an appropriate number from the list, enter in a new value, and hit enter. File > Save and quit.

If you go to an offset, look at the Simple Data Types, and no numbers in there make sense, you're probably using the wrong offset for that DLL version - FL patch 1.1 DLLs use different offsets than stock FL 1.0 DLLs. There is a list of 1.1 offsets alongside their 1.0 offsets, which can be found here: http://www.memes.no/88flak/downloads/beta/1.0-1.1_Offsets.txt

Edited by - fox Unit 01 on 5/23/2007 8:15:10 AM

Dev

Post Thu May 24, 2007 4:31 pm

And after a long silence, another hack. This one is for 1.1 (mostly because I wanted to use FLHook):

5.625*10^11 in server.dll, 0x8B450: square of distance from the center of the system over which your ship explodes in multiplayer

The exploding ship syndrome on 1.1 servers has always bugged me, and this is a straightforward way to fix it (just push the value sky high).

Post Thu May 24, 2007 5:23 pm

nice find! thanks for sharing, now we can really create massive systems can we

Post Thu May 24, 2007 5:30 pm

Heheh. I always thought that was actually kinda handy - incase someone, say, left for dinner with Engine Kill on or something. lol

But yeah, if you're experiementing with extra-extra large systems, I could see how this would be a pain, especially since when you root 526500000000, the range is 750km, which would be an annoying confine.

Edit: Added the ship exlposion thing into the 1.0+1.1 offsets list, and even organized it a little. =P

Edit 2: Bah, so it is 750. Happy? ;P

Edited by - fox Unit 01 on 5/25/2007 4:29:22 AM

Dev

Post Thu May 24, 2007 11:56 pm

562500000000, actually... 750K^2. NOT THAT IT MATTERS. Just saying.

Post Thu May 31, 2007 6:59 pm

Ok, I have read most of all the posts, and I am still lost on how to find the correct hexidecimals in order to change them. I will admit that I am new at this kind of thing, so please help me somehow. If nothing else show me a link to learn what to do. I have done hex editing in the past, but not like how you say it. I was given the values to find.

Edited by - alfa_astrix on 5/31/2007 7:59:29 PM

Dev

Post Thu May 31, 2007 7:41 pm

Maybe I can walk you through an example. Let's say you have a really big solar system and you want players to be able to see all of your planets and stuff. You would at least want to change the visibility cap:

250000f in Freelancer.exe, 0x210534

Open up Freelancer.exe in your hex editor and go to the address 210534 in hexadecimal (this is 2164020 in decimal, I believe, but your editor should let you go to addresses using hex). The four bytes starting at that address should be 00 24 74 48. If not, you've got the wrong address. Now, when you decode 00 24 74 48 as a single-precision (32-bit) floating point number, it equals 250,000. Your hex editor will have something that will decode numbers for you, and it will also have something that will encode numbers for you. Let's say you want to increase the number to a million. 1,000,000 encoded as a single-precision float is 00 24 74 49. Overwrite the original 00 24 74 48 with those new values (though only the last byte is actually different), save, and you're done. Easy as that.

Post Thu May 31, 2007 9:37 pm

Ok, I have figured it out to an extent, and all I have to say is thanks. I was also wondering how you find these kind of things, because I would like to try and work a lot more things out. I have some plans on creating a new mod, and I want it to be somewhat realistic.

Edited by - alfa_astrix on 6/1/2007 1:28:20 PM

Post Sat Jun 02, 2007 7:32 pm

I think the only way to solve this problem is to create video tutorials with different software packages.

Post Sat Jun 02, 2007 9:37 pm

I'm going to add my two cents and say that that may be one of the best ideas for this kind of topic. It would really help out a lot of people.

Dev

Post Sat Jun 02, 2007 11:23 pm

"I was also wondering how you find these kind of things, because I would like to try and work a lot more things out."

In perhaps the least efficient manner possible. I pick a value that I want to change (say, 100000.0) and the files that I want to change it in, then I fire up the game and see if the thing I wanted to change actually changed. If not, I try a different value; if there was a change, I start narrowing down the replacements until I arrive at the value responsible for the change. As for what values to try, I look for obvious signs in-game (for example, things disappearing at a certain distance). And sometimes I just get lucky. Like I said, it's really not a good method, but it does get the job done.

Post Mon Jun 04, 2007 11:01 am

So, how would you find the kind of things that don't change in speed, like the starting ship, or that LI01 and FP7 have to stay in the game for it to not crash?

Post Tue Jun 05, 2007 4:10 am

For finding things like that, you'd have to search for the text directly. For instance, somewhere in Freelancer.exe, there is a reference to li_p_grp. Changing that will change the group that is first displayed on your Reputation Screen. I suppose if you wanted the game to not look for these systems, you'd change references to them in some EXE or DLL - although you'd just have to point those references to a different system, and it'd probably get pretty messy. And really, there's never a case where a mod will need li01 or fp7 deleted, as even if you don't have them in your mod they'll still exist in the end-user's directory when FLMM is done activating.

Changing the starting ship is easy. Simply decode "newplayer.fl" using some sort of character editor and edit to your liking. (for the record, Freelancer can read plain-text decoded .fl files, so you wouldn't need to re-encode it or anything).

Post Tue Jun 05, 2007 7:21 am

but can the newplayer.fl be put so that a mod has it when you activate it?

Post Thu Jun 07, 2007 12:54 pm

Yes. You can find "newplayer.fl" in the EXE folder of your Freelancer directory. Simply copy it from there to the EXE folder of your mod directory, and it will copy over when your mod is activated just like any other file.

Return to Freelancer Editing Tutorial Forum