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
The addresses for 1.23 are as follows (some decimal, others hexadecimal):
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>
|