Dev's Limit Breaking 101 Techniques
-
I’m looking at cloak now, but I’m gonna have to stop and go to bed. Looks like cloak has to be done client-side, so if I find a solution, I’ll put it in the private section.
I didn’t include source this time (I was just going to attach, but decided to put it on my site, anyway), but all the plugin does is dynamically change the server offsets, so any interference will remain. Should be able to hook that too, although I’m not sure if it’ll be client or server.
I was almost going to make the ranges based on the scanner, but robocop wanted different values (range & cargo were both 50k, players at 50k, but groups at 100k). I could use range for player and cargo for group, or just add a ‘command line’ or ini setting. What about the scanner itself? Different values for different scanners?
-
The logical thing would be to make a multiplier, so that group range is X times player range, with X being a float. Could be per-scanner or global, depending on how hard it is to implement.
If I get it right, at the moment the plugin makes player/group ranges 50k/100k if you have ge_s_scanner_02 mounted and uses the default values otherwise?
-
actually, as i’m only planning on using it as an admin-only item, the group settings aren’t that important to me. I just knew they were typically twice that of the ungrouped player.
I set the plugin to detect at 500k atm. We’ll see how that works.
-
The setting has nothing to do with the scanner, so not only doesn’t it need to be mounted, it could be any piece of equipment. Or even a ship in general. And if you really want no range, I’ll do a different hack to bypass the test altogether.
Interference is client-side (at least as far as the Contact List goes). If that doesn’t bother you, let me know how you’d like it to work and I’ll whip something up.
Showing cloaked ships has been added to the private section.
-
Isn’t interference already just a multiplier of the scanner range? If the same behavior can be kept, it would be ideal.
-
As it works now, real_scanner_range = scanner_range * (1 - interference). For example, if scanner_range is 5000 and interference is 0.4, then real_scanner_range = 5000 * 0.6 = 3000. The way I was thinking was to add something like a sensitivity setting: real_scanner_range = scanner_range * (1 - interference * (1 - sensitivity)); thus a sensitivity of 1 (forced max value) sees through all interference. For example, if sensitivity = 0.3, then real_scanner_range = 5000 * (1 - 0.4 * 0.7) = 5000 * 0.72 = 3600; if sensitivity = 0.7, then real_scanner_range = 5000 * (1 - 0.4 * 0.3) = 5000 * 0.88 = 4400.
-
Thanks to the wonderful tutorial on this, I was already able to change quite some nice stuff in the mod. But now, when attempting to remove the cruise speed display limit of 300, I came across something strange.
Looking at the relevant part from the Limit Breaking 101 offsets file:
freelancer.exe 0D5936 0F85->90E9 = remove cruise speed display limit of 300 ~Unknown
Now, if I have a look at offset 0D5936, I see this:
(Decoding Hexadecimal)
byte = f signed byte = f word = 850f signed word = fff,850f double word = ff75,850f signed double word = ff75,850f quad = d8dd,ffff,ff75,850f float = -3.26351738686e+038 double = -1.21042962905e+120 word motorola = f85 double word motorola = f85,75ff quad motorola = f85,75ff,ffff,ddd8
Note that there is no ‘0F85’ in there to be found. There are a lot of similar values, but nothing identical. Changing any one of these ‘similar’ values causes the game to ctd as soon as I charge cruise engines, so obviously something’s wrong.
All other edits I did went fine and without any hitch.
I am doing exactly what the tutorial says, and tried it several times. Why can I not see ‘0F85’, like the tutorial and the offsets list describes? I’m obviously overlooking something here… Any help?
-
(Decoding Hexadecimal)…
Note that there is no ‘0F85’ in there to be found.
It appears that you are looking at the “Simple Data Types” converter built into Hexplorer, Maverick. In this case, you do not want to decode the hex values – you want to modify the hex values directly.
Go to the address and just look at the bytes there. If you see “0F85”, then you are in the right place. If not, then something is wrong – either in your technique, or in your version of Freelancer.exe.
Note that there are several common Freelancer.exe’s floating around. There is the original, from the Freelancer CD. There is also a “no-CD” version that many players use for convenience (with our purchased Freelancer CDs safely stored somewhere). Also, many mods modify Freelancer.exe. So it is important that your version matches whatever instructions you follow.
If you modify the wrong byte, then the results will be unpredictable, as you have already discovered. And, by “unpredictable”, I mean that Freelancer will probably crash.
Does that help?
B
-
Yup, that did it. Thanks a lot for the info m8.
In the example used in the tutorial it doesn’t mention to just look at the hex, but tells you to use the Simple Data types modifier. So I was automatically assuming that this was the way to do it with any offset. Never occurred to me thought to just look at the code.Goes to show, most problems that seem complicated are quite simple to solve most of the times. (if you know where to look that is lol)
Cheers m8.
-
Yeah I noticed the resemblance.
By the way:
Maverick wrote:
In the example used in the tutorial it doesn’t mention to just look at the hex, but tells you to use the Simple Data types modifier.Correction there: the tutorial does mention this. I just simply overlooked it.
-
83FF010F94C2
–>
BA0100000090 freelancer.exe 1B264C cannon keep FL display running when the window doesn’t have focusI believe this is the cause of issues when alt-tab’ing from fullscreen;
WARNING: RenderMgr - failed to create_buffers(1024,768) 32,-1
Basically it flashes to black screen and then stays there, clicking anywhere brings the window back into focus (I presume) without any visuals, just sound.
Sorry if this has already been covered, it’s quite difficult to troubleshoot through this thread xD
Any way to fix this?
-
Alrighty folks, updated the text list with the following:
– Reorganized the categories a little
– Added adoxa’s LODranges double/quadruple hack
– Added adoxa’s show current worth in MP hack
– Added adoxa’s activate missile/torpedo/disruptor purchase / mount hacks
– Added adoxa’s prevent transfer / mounting / selling of various equipment hacks
– Added adoxa’s jump gates / holes reputation test hacks
– Added Helloween’s trade lane speed hacks
– Added Cannon’s formation catchup speed hack
– Added adoxa’s drop cargo timeout hacks
– Added adoxa’s allow 64 simultaneous firings hack
– Added adoxa’s various auto-level / level camera toggling hacks
– Added adoxa’s individual target bracket corner removal hacks
– Added adoxa’s sunspine in nebula/field hacks
– Added adoxa’s drop cruise on 0 power hack
– Added adoxa’s show decimal cargo hackCheck it all out here: http://the-starport.net/freelancer/forum/viewtopic.php?post_id=2081#forumpost2081
I’ve also cleaned up the tutorial a little for readability and ease-of-use.
Any important hacks I missed?
Edit: SIX, SIX SIX, THE NUMBER OF THE BEEAAASST
-
\m/
content.dll 0518C7 34->00 = allow fc_n_grp for randommissions PART 1 ~adoxa content.dll 0519B7 34->00 = allow fc_n_grp for randommissions PART 2 ~adoxa content.dll 0BD2D8 00->01 = allow fc_n_grp to drop (phantom) loot ~adoxa
common.dll 139B74 905332->C0DE26 = use thruster hp_type for cloaking device ~adoxa common.dll 139B74 905332->50DB26 = place cloaking devices on countermeasure hardpoints ~adoxa common.dll 139B74 905332->40172D = use cloaking device as internal equipment ~adoxa, He||oween
I have managed with this by adoxa’s help ))
And …
Freelancer.exe 131D2B 0F94C0->B00190 = activate lightsource_cone ~adoxa
server.dll 06BFA6 E4B4->14B3 = disable encryption on creating MP character server.dll 06E10D E4B4->14B3 = disable encryption on saving character/game server.dll 07399D E4B4->14B3 = disable encryption on creating restart file