wie silent schon erwähnte, befindet sich so ein "converter" im Trainermodul 2.0
Entweder nimmst du direkt das Trainermodul, oder du kopierst dir die nachfolgenden Funktionen:
[code=VB] '4Byte to Float
Public Function 4Byte2Float(ByVal Value As Int32)
Dim floatnumber As Single
Dim floatbytes() As Byte = BitConverter.GetBytes(Value)
floatnumber = BitConverter.ToSingle(floatbytes, 0)
Return floatnumber
End Function
'Float to 4Byte
Public Function Float24Byte(ByVal Value As Single)
Dim longvalue As Int32
Dim longbytes() As Byte = BitConverter.GetBytes(Value)
Longvalue = BitConverter.ToInt32(longbytes, 0)
Return Longvalue
End Function[/code]
Folgender Aufruf wandelt deinen 4Byte Wert in Float um:
[code=VB]
Dim Float As Single
Dim 4Byte As Int32
4Byte = *HIER DER 4Byte WERT*
Float = 4Byte2Float(4Byte)[/code]
Und dieser folgende Aufruf macht das ganze wieder rückgängig:
[code=VB]
Dim Float As Single
Dim 4Byte As Int32
Float = *HIER DER Float WERT*
4Byte = Float24Byte(Float)[/code]
Das ganze lässt sich natürlich von einem 4-Zeiler in einen 2-Zeiler verkürzen, z.B.
[code=VB]
Dim 4Byte as Int32 = *HIER DER 4Byte WERT*
Dim Float as Single = Integer2Float(4Byte)[/code]
Falls du mein Trainermodul genommen hast, dann lösch die "Converter" Funktion
raus, ich glaube da sind mir gerade einige Fehler aufgefallen :blush:
Wenn ich mal wieder mehr Zeit habe, kommt ein Update.
14.10.2011, 17:44 (Dieser Beitrag wurde zuletzt bearbeitet: 14.10.2011, 23:28 von bananajoe.)
weis jemand wie ich text strings auslesen kann? zb den namen im game und sowaS?
wäre mir echt hilfreich wenn das jemand wüsste..
EDIT;
Danke dir DNA hat nir sehr geholfen hab da noch die frage die über diesen text steht und einmal wegen dem Read und Write_Koords
undzwar kann ich glaube ich damit auslesen
Code:
Read_Koord(PlayerBasePointerEnd, &H79C, False)
aber schreiben kann ich nicht weil ich nicht weis was hinten als position rein soll :(...
wäre dir dankbar wenn du mir das sagen könntest..(stammt ja von dir :P )
EDIT:
kann ich denn bytes in text umwandeln irgendwie?
15.10.2011, 00:36 (Dieser Beitrag wurde zuletzt bearbeitet: 15.10.2011, 01:08 von bananajoe.)
DANKE DU BIST DER BESTE
nur hinten bei position ist noch rot unterschtrichen... :O
EDIT:
was mach ich wenn die werte in bytes zu lang sind?...die sind länger als -6xxxx - 6xxxx oder so...ist einfach jetz ausn kopf aber du weist was ich mein^^
Mache ich was falsch? glaube schon^^
Code:
1 2 3 4 5 6 7 8
Dim Name As Integer
Dim Name1 As String
GetProcessId(ProcName)
RemoveProtection(ProcName, &HC79D18, 4)
Name = Read_2Byte(&HC79D18)
Name1 &= Chr(Name)
TextBox2.Text = Name1
ich hab noch ne funktion = 2bytes hinzugefügt da es mit long ZU lang ist das was herraus kommt^^...
aber ich kann DAMIT jetz nur den anfangsbuchstaben herrauslesen...
für den Teleporter muss unbedingt folgendes noch rein ...
[code=VB] Public Class Teleporter
Public XKoord As Int32
Public YKoord As Int32
Public ZKoord As Int32
End Class[/code]
Um den Namen auszulesen, wäre is in deinem fall zur Zeit folgendes am besten...
[code=VB]Dim Name As Integer
Dim Name1 As String
GetProcessId(ProcName)
for i = 0 to *maximale namenslänge* - 1
Name = Read_Byte(&HC79D18 + i)
Name1 &= Chr(Name)
TextBox2.Text &= Name1
next [/code]
Im nächsten Trainermodul werde ich direkt so eine Funktion einbauen ^^