Oct 5, 2007, 12:47 PM | |
Request for JJ2 technical data.
I would like to request any information you (yes, YOU!) have, and are willing to dispense, pertaining to JJ2 hacking (no, not cheating.)
I would like information on the seeker hole fix, weapon change fix, memory addresses, JJ2 file formats, etc..... Source code would sure be nice :p I am mentioning this as I would like to make a I want to make a Carrotade alternative as Carrotade has some annoying features, and some missing features.
__________________
You've reached the end
And still you don't feel Last edited by Ricerind; Oct 6, 2007 at 10:57 AM. |
Oct 5, 2007, 01:05 PM | |
I can provide all the information you want regarding the most recent version of AntiCrash, although I think nowadays there are better ways to make JJ2 not crash.
|
Oct 6, 2007, 04:14 AM | |
Moving a seeker hole to location (0, 0) only moves it to that location, but does not disable it. To fully disable the seeker hole you must also set the player health to zero. This is the visual basic source code for a seeker hole fix that was used in the Jazz 2 Mutation itself. To make this fix most efficient it has to be used on both sides of the game (clients and server).
Code:
Public Function SeekerHoleFix(pHandle As Long) 'This function removes all the seeker holes within a level. If lSeekHoleFix = False Then Exit Function Dim i As Long, Address As Long Dim PlXAdd As Long, PlYAdd As Long Dim Result As Long For i = 1 To 31 Step 1 'Skip player 1, lololol. Address = PlPres + (i * 1444) ReadMemory pHandle, Address, Result, 1 'Is player here? If Result = 0 Then 'He is not. Address = PlHlth + (i * 1444) ReadMemory pHandle, Address, Result, 2 'Check the seeker hole... If Result <> 0 Then 'We found a seeker hole! Now fix it! WriteMemory pHandle, Address, 0, 2 'Set health to 0. 'Restore the player original location Address = PlPosX + (i * 1444) WriteMemory pHandle, Address, 0, 4 'Restore X pos. Address = PlPosY + (i * 1444) WriteMemory pHandle, Address, 0, 4 'Restore Y pos. 'A second location to be restored - this also fixes a CTF flag exploit Address = PlPosIntX + (i * 1444) WriteMemory pHandle, Address, 0, 4 'Restore X pos. Address = PlPosIntY + (i * 1444) WriteMemory pHandle, Address, 0, 4 'Restore Y pos. LogStats J2M_SeekerHoleFixed 'Add to stats! End If End If Next i End Function Code:
PlPres = &H5A546C 'Does player appear in F9 list? PlHlth = &H5A4F1E 'Player health address (2 bytes) PlPosX = 5918444 'Player X location PlPosY = 5918448 'Player Y location PlPosIntX = &H5A4F82 'Another player location address PlPosIntY = &H5A4F86 'Another player location address
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a> |
Oct 6, 2007, 08:40 AM | |
There is information on some of the file formats in the wiki as well.
|
Oct 6, 2007, 10:30 AM | |
Thanks. I have more questions:
1) How does respawn fix work? 2) How does Carrotade do that echo in the center of the screen when it starts, and how does it echo server only messages in the chat. 3) How do Carrotade and Sallog log chat and roasts, and send chat? 4) How does instagib work? Surely setting the local max health variable to 1 would only affect you right?
__________________
You've reached the end
And still you don't feel |
Oct 6, 2007, 10:54 AM | ||
Quote:
Does instagib as server work because the server regularly transmits the max health to clients?
__________________
You've reached the end
And still you don't feel |
Oct 6, 2007, 10:55 AM | |
No, but it does send a packet to kill the player if they died on the server's side. Think fake health.
__________________
![]() |
Oct 6, 2007, 10:58 AM | |
Thanks for the help, but how does it detect that they died? Does it regularly check player health with a loop, or does the server get a whoever died message in chat when someone dies on their end?
__________________
You've reached the end
And still you don't feel |
Oct 6, 2007, 12:36 PM | |
I hate the renaming thing but maybe make a dll file like how 1.23+ works but more stable or something...idk...
__________________
Yes, I am, in fact, ALWAYS the one to blame for everything. And none of your are full of yourself. Good job. Do you like Stijn? Take my poll! ![]() ![]() Windows is not a virus. A virus is small and efficient... Note to Stijn: how am i even getting away with this |
Oct 6, 2007, 01:26 PM | |
1) How does respawn fix work?
The server must set the ammo count for all clients to 0 (or anything under 50).
__________________
![]() ![]() ![]() |
Oct 6, 2007, 02:22 PM | |
0x5A4 - player struct size
0x1AC - socket struct size These are used as arrays which is why you can simply add the value of the struct size to the address and land in the next one in the array. Max number of players is 32 while max count for sockets is 16. Also, if you check the address that I use to check whether a client is present you'll notice that it's within the player struct address space, not the socket space.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a> |
Oct 7, 2007, 07:38 AM | ||
Quote:
![]()
__________________
You've reached the end
And still you don't feel |
![]() |
«
Previous Thread
|
Next Thread
»
Thread Tools | |
|
|
All times are GMT -8. The time now is 02:28 PM.
Jazz2Online © 1999-INFINITY (Site Credits). Jazz Jackrabbit, Jazz Jackrabbit 2, Jazz Jackrabbit Advance and all related trademarks and media are ™ and © Epic Games. Lori Jackrabbit is © Dean Dodrill. J2O development powered by Loops of Fury and Chemical Beats. Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Original site design by Ovi Demetrian. DrJones is the puppet master. Eat your lima beans, Johnny.