View Full Version : i have a problem that maybe someone can help me with
matthewjohn
12-28-2013, 10:49 PM
i hope someone can help iv made a save editor for DMC but the offset is off i found the offset modded it in hex work shop but for got to rite down the origanal hex nd iv been haveing troule with it been at it for 8 hours and nothing so if someone could help i would be so great full
http://www.mediafire.com/download/fcpjpiuqbttz8xb/DMC%20SAVE.rar
Sephiroth
12-28-2013, 11:22 PM
http://www.360haven.com/forums/threads/5939-programming-help/?5939-Programming-Help
matthewjohn
12-29-2013, 01:30 AM
i tryed one ov the codes on the link and i get a error
reader.SearchString("1234567890ABCDEF", StringType.Hexadecimal, 0, False)
value of type 1-dymensanl arry of long can not be coverted to systems.colletion.generic.list(of interger)
any sugestens
(im a total noob when it comes to codeing )
Idlehands88
12-29-2013, 02:34 AM
i tryed one ov the codes on the link and i get a error
reader.SearchString("1234567890ABCDEF", StringType.Hexadecimal, 0, False)
value of type 1-dymensanl arry of long can not be coverted to systems.colletion.generic.list(of interger)
any sugestens
(im a total noob when it comes to codeing )
The "1234567890ABCDEF" is supposed to be filled with your Pointer (a value that stays the same and is the same amount of bytes away from the value you want). So say the Red Orbs has a value of 5,000 (1388 in hex) and 10 bytes before it there is a value of 56BC21. Since the Pointer starts reading at the start of the 56BC21, you'll have to add 3 to the 10 (13). So you'd do this:
METHOD 1:
Pointer = (Reader.SearchString("56BC21", StringType.Hexadecimal, Endian.Big)(0) + 13)
Reader.Position = Pointer
RedOrbsNumericUpDown.Value = Reader.ReadInt32
METHOD 2:
Pointer = (Reader.SearchString("56BC21", StringType.Hexadecimal, Endian.Big)(0) + 0)
Reader.Position = Pointer + 13
RedOrbsNumericUpDown.Value = Reader.ReadInt32
Hex Editor Image of Pointer and Red Orbs Value:
http://img31.imageshack.us/img31/814/h9p.PNG
matthewjohn
12-29-2013, 04:54 AM
The "1234567890ABCDEF" is supposed to be filled with your Pointer (a value that stays the same and is the same amount of bytes away from the value you want). So say the Red Orbs has a value of 5,000 (1388 in hex) and 10 bytes before it there is a value of 56BC21. Since the Pointer starts reading at the start of the 56BC21, you'll have to add 3 to the 10 (13). So you'd do this:
METHOD 1:
Pointer = (Reader.SearchString("56BC21", StringType.Hexadecimal, Endian.Big)(0) + 13)
Reader.Position = Pointer
RedOrbsNumericUpDown.Value = Reader.ReadInt32
METHOD 2:
Pointer = (Reader.SearchString("56BC21", StringType.Hexadecimal, Endian.Big)(0) + 0)
Reader.Position = Pointer + 13
RedOrbsNumericUpDown.Value = Reader.ReadInt32
Hex Editor Image of Pointer and Red Orbs Value:
http://img31.imageshack.us/img31/814/h9p.PNG
thanka man really helped
matthewjohn
12-29-2013, 05:02 AM
The "1234567890ABCDEF" is supposed to be filled with your Pointer (a value that stays the same and is the same amount of bytes away from the value you want). So say the Red Orbs has a value of 5,000 (1388 in hex) and 10 bytes before it there is a value of 56BC21. Since the Pointer starts reading at the start of the 56BC21, you'll have to add 3 to the 10 (13). So you'd do this:
METHOD 1:
Pointer = (Reader.SearchString("56BC21", StringType.Hexadecimal, Endian.Big)(0) + 13)
Reader.Position = Pointer
RedOrbsNumericUpDown.Value = Reader.ReadInt32
METHOD 2:
Pointer = (Reader.SearchString("56BC21", StringType.Hexadecimal, Endian.Big)(0) + 0)
Reader.Position = Pointer + 13
RedOrbsNumericUpDown.Value = Reader.ReadInt32
Hex Editor Image of Pointer and Red Orbs Value:
http://img31.imageshack.us/img31/814/h9p.PNG
wot do i do if there ant any values the same infront of my offset
Idlehands88
12-29-2013, 05:17 AM
wot do i do if there ant any values the same infront of my offset
These are the Pointers I used in my Editor:
RED ORBS READER:
RedOrbs = (Reader.SearchString("084F72625F526564", StringType.Hexadecimal, Endian.Big)(0) + 10)
Reader.Position = RedOrbs
RedOrbsUpDown.Value = Reader.ReadInt32
RED ORBS WRITER:
Writer.Position = RedOrbs
Writer.WriteInt32(RedOrbsUpDown.Value)
UPGRADE POINTS READER:
Try
UpPts1 = (Reader.SearchString("FFFFFFFF00000000FFFFFFFF00000004", StringType.Hexadecimal, Endian.Big)(0) + 24)
UpPts2 = (Reader.SearchString("FFFFFFFF00000000FFFFFFFF00000004", StringType.Hexadecimal, Endian.Big)(0) + 28)
UpPts3 = (Reader.SearchString("FFFFFFFF00000000FFFFFFFF00000004", StringType.Hexadecimal, Endian.Big)(0) + 32)
UpgradePointsUpDown.Enabled = True
Catch ex As Exception
UpgradePointsUpDown.Enabled = False
End Try
Reader.Position = UpPts2
UpgradePointsUpDown.Value = Reader.ReadInt32
UPGRADE POINTS WRITER:
If UpgradePointsUpDown.Enabled = True Then
Writer.Position = UpPts1
Writer.WriteInt32(UpgradePointsUpDown.Value)
Writer.Position = UpPts2
Writer.WriteInt32(UpgradePointsUpDown.Value)
Writer.Position = UpPts3
Writer.WriteInt32(UpgradePointsUpDown.Value)
ElseIf UpgradePointsUpDown.Enabled = False Then
End If
Need to write the Upgrade Points to 3 spots, that's why there are 3 Pointers
Sephiroth
12-29-2013, 10:35 AM
A pointer is Static meaning it is less likely to change versus a dynamic address like the one you've found for HP.
A pointer "tells" a dynamic address what value it should be so by finding the pointer and offset and searching it, you can control the specific address it writes to or just read it altogether.
matthewjohn
01-01-2014, 09:23 PM
thanks idlehands and sephiroth u guys have been a great help
vBulletin Solutions, Inc. All rights reserved.