Buchstaben bzw. Wörter in Value/Wert umwandeln
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 40 Antworten in diesem Thema. Der letzte Beitrag () ist von Xiantrius.
-
-
-
-
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Dein Code funktioniert habe ihn so modifziert, dass er mit jedem Wort funktioniert allerdings werden nur 4 zeichen zugelassen, kann ich das irgendwie erweitern?
Der modifzierte Code sieht jetzt so aus.
TextBox1 = Zeichen
TextBox2 = Hexwert
TextBox3 = Wert der gesendet werden muss.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Xiantrius“ ()
-
Xiantrius schrieb:
allerdings werden nur 4 zeichen zugelassen
Du willst etwas "senden". Du meinst, dieses etwas sei ein "Integer". Integer = 4 Byte. Ergo sind 4 Zeichen das Maximum ... -
Sieh Dir mal dies an:
VB.NET-Quellcode
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim name As String = "Anna Amalia"
- Dim txt As String = ""
- Dim count As Integer = 0
- For Each zeichen As Char In name
- txt &= Asc(zeichen).ToString("X2")
- count += 1
- If (count Mod 4 = 0) Then
- txt &= Enviromnent.Newline
- End If
- Next
- MessageBox.Show(txt)
- End Sub
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Es muss doch irgendwie gehen Cheat Engine kann bis 8 Byte gehen.
Edit:
Dein Code verstehe ich nicht so ganz RodFromGermany.
Würdest du mir erklären wie dein Code funktioniert?
Gibt es vielleicht eine möglichkeit das man mehr als 4 Zeichen erlauben kann?
Der Codestück
Muss auch für irgendwas nützlich sein.
Du willst etwas "senden". Du meinst, dieses etwas sei ein "Integer".
Integer = 4 Byte. Ergo sind 4 Zeichen das Maximum ...
Es gibt doch auch Array oder Float wo es mehr als 4 Bytes zulässt.
Es muss einfach gehen... Wäre dankbar für einen beispielcode diesbezüglich :).Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Xiantrius“ ()
-
Xiantrius schrieb:
beispielcode
dim a() as byte = (from p in "abcdefg" select cbyte(convert.toint16(p))).toarray -
-
Eierlein schrieb:
Ändere mal
WriteInteger("mm6", &H90D189, CInt(Charakternamen))
in
WriteInteger("mm6", &H90D189, CLng(Charakternamen))
Leider kann ich kein Unterschied feststellen, kann trotzdem nur 4 Zeichen benutzen. -
-
Vielen dank für die Hilfe das problem ist gelöst :).... vorerst... ich teste grade.
Sry picoflop bin eben noch ein Anfänger und hab noch viel zu lernen.
Danke dir.
Edit:
hmmm zu früh gefreut, woran kann es liegen das der Trainer immer noch 4 Zeichen sendet?
Es kommt zwar kein Fehler mehr wenn ich mehr als 4 Zeichen versende, aber trotzdem kommen von 5 oder mehr zeichen nur 4 an.... woran das mal wieder liegt?
VB.NET-Quellcode
- Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
- Try
- Dim Name As String, Hexwert As String, i As Long
- Name = TextBox1.Text
- For i = 1 To Len(Name)
- Hexwert = Hex$(Asc(Mid$(Name, i, 1))) & Hexwert
- Next
- TextBox2.Text = Hexwert
- i = Val("&H" & Hexwert)
- TextBox3.Text = Str$(i)
- Catch ex As Exception
- End Try
- End Sub
- Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
- Dim Charakternamen As String = TextBox3.Text
- If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Enter) Then
- If DoesProcesssExists("mm6") Then
- WriteLong("mm6", &H90D189, (Charakternamen))
- End If
- End If
- End Sub
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Xiantrius“ ()
-
RodFromGermany schrieb:
Sieh Dir mal dies an:
Gib ihm zunächst einen längeren Text.
Und schmeiß Deine Hex$-Routine raus.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
Dann mach mal eine anständige Tabelle, wie es denn aussehen soll.
Nur Input und Output, ohne Kommentare. Dann werden wir sehen.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Ich habe es doch getestet ohne den (Hex$ funktioniert nichts hab auch rum probiert und komplett ohne hex getestet, wenn ich A zeichen sende kommt dann aufeinmal kleines e als Name raus lol. mit dem hex hab ich wenigstens zu hälfte mein problem gelöst fehlt nur noch ein code wo mir erlaubt mehr als 4 zeichen zu senden.
Ich behaupte das nur noch irgendwas fehlt... anders kann es garnicht sein. Long befehle sind drin und WriteLong auch. Adresse stimmt 100%. Da ich weis das es nicht ohne Hex$ geht, hab ich den code auch wieder so hergestellt so das es funktioniert mit 4 zeichen.
VB.NET-Quellcode
- Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
- Try
- Dim Name As String, Hexwert As String, i As Long
- Name = TextBox1.Text
- For i = 1 To Len(Name)
- Hexwert = Hex$(Asc(Mid$(Name, i, 1))) & Hexwert
- Next
- TextBox2.Text = Hexwert
- i = Val("&H" & Hexwert)
- TextBox3.Text = Str$(i)
- Catch ex As Exception
- End Try
- End Sub
- Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
- Dim Charakternamen As String = TextBox3.Text
- If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Enter) Then
- If DoesProcesssExists("mm6") Then
- WriteLong("mm6", &H90D189, (Charakternamen))
- End If
- End If
- End Sub
Ich hab keine ahnung was noch fehlt, aber das Spiel kann mehr als 10 Zeichen benutzen wenn ich neues Spiel mache und namen eingeben kann, also müsste es auch irgendwie über den trainer gehen. -
Ob du es so
Allerdings ist bei mehr als 6 Buchstaben das Ergebnis von i falsch (gerundet).
Bei der Lösung von picoflop tritt kein Fehler auf.
Deshalb:
Das hat aber nicht unbedingt was mit deinem Problem, das nur 4 Bytes gesendet werden, zu tun.
Gibt's eine Beschreibung zu Writelong? -
Das ok gut das ich weis das es 2 methoden gibt .
Allerdings wie du bereits sagtest werden weiterhin nur 4 Zeichen angezeigt wenn ich aber 5 oder mehr sende.
WriteLong lässt praktisch zu das man mehr als 4 Byte verschicken kann an der Adresse. Soviel weis ich. Warum aber letztendlich nur 4 zeichen ankommen, ist mir ein absolutes Rätsel... vielleicht kann jemand von euch mir eine ergänzung zu meinen code geben der erzwingt mehr als 4 Bytes empfangen zu können so das mehr als 4 Zeichen ankommen.
Würde mich echt darüber freuen damit das Thema hier mal zuende geht... xD
VB.NET-Quellcode
- Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
- Dim Charakternamen As String = TextBox3.Text
- If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Enter) Then
- If DoesProcesssExists("mm6") Then
- WriteLong("mm6", &H90D189, (Charakternamen))
- End If
- End If
- End Sub
- Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
- Try
- Dim Name As String, out As Long, i As Integer
- Name = TextBox1.Text
- For i = 0 To Math.Min(Name.Length - 1, 7)
- out += (Convert.ToInt64(Name(i)) << (i * 8))
- Next
- TextBox2.Text = out.ToString(Name.Length / 2.ToString) 'Hexwert
- TextBox3.Text = out.ToString
- Catch ex As Exception
- End Try
- End Sub
Hmm keiner eine Idee um den Code den ich ein Post weiter oben so zu vervollständigen das man wirklich mehr als 4 zeichen übertragen kann so, dass der empfang auch mehr als 4 anzeigt?
Mir kommt gerade eine idee gibt es eine möglichkeit die zeichen direkt durch ein String Befehl an der Adresse zu senden? Vielleicht kann man dann auch mehr als 4 Zeichen senden?Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Xiantrius“ ()
-
RodFromGermany schrieb:
Dann mach mal eine anständige Tabelle, wie es denn aussehen soll.
Nur Input und Output, ohne Kommentare. Dann werden wir sehen.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
-
Ähnliche Themen
-
Kleines Konsolen-Entschlüsselungsprogramm
user5645421 - - Sonstige Problemstellungen -
Wie wandle ich Buchstaben in Zahlen um
VBAchecker - - Sonstige Problemstellungen -
The Fury - - Sonstige Problemstellungen
-
6 Benutzer haben hier geschrieben
- Xiantrius (16)
- RodFromGermany (8)
- Gast (8)
- Eierlein (6)
- petaod (2)
- SpaceyX (1)