VB Trainer - Druckversion +- Home of Gamehacking - Archiv (http://archiv-homeofgamehacking.de) +-- Forum: Coding (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=15) +--- Forum: Visual Basic 6, VB.NET (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=19) +--- Thema: VB Trainer (/showthread.php?tid=969) |
VB Trainer - Struppi - 10.04.2012 Hallo Liebe Community, Ich möchte mir eine Trainer bauen für BlackOps (Zombie mode) mit VB.. Dazu muss ich noch sagen, das ich ein Anfänger bin in solchen sachen^^ Sowas wie Ammo / Leben / Geld + Teleport laden/Speichern habe ich hinbekommen, das funktioniert auch alles soweit. Meine Frage ist nun, kann man auch für den Teleporter verschiedene koordinaten speichern (Also die X,Y,Z ...) Sagen wir mal so ein beispiel: Taste; 1 = Teleporten zum Stromkasten Ich meine das so das man nicht erst hinrennen muss und dann diese position speichern um diese später laden kann, also direkt ein hotkey mit der postition oder auch eine andere....... Geht sowas? Wenn ja wie? hab nicht soviel ahnung von dem^^ Ich habe mir auch schon einige TUTs hier angeguckt, hat mir aber nicht weiter geholfen. Dann wäre noch eine frage, wie macht man eine Tastenbelegung mit an/aus funktion? Eine Option auf eine Taste belegen das weiß ich wie das geht, aber an/aus nicht^^ Ich hoffe habe mich nicht zu umständlich ausgedrückt. Mfg. RE: VB Trainer - DNA - 10.04.2012 Willkommen bei HoG hab's mal in den richtigen Bereich verschoben Dein Vorhaben ist ohne Probleme möglich. Zuerst mal zum AN/AUS ... Erstell dir eine Variable z.B. [code=VB]Dim InfAmmo as Int32 'oder Boolean[/code] Bei deiner Tastenabfrage machst du dann einfach folgendes [code=VB] If GetAsyncKeyState(VK_NUMPAD0) Then If InfAmmo = 0 then 'Hier kommt der Code rein, der den Cheat AKTIVIERT InfAmmo = 1 ElseIf InfAmmo = 1 then 'Hier kommt der Code rein, der den Cheat DEAKTIVIERT InfAmmo = 0 End If End If [/code] Um deine andere Frage mit den festen, im Trainer hinterlegten Positionen richtig beantworten zu können, müsste ich wissen, ob du mein Trainermodul verwendest?! RE: VB Trainer - Struppi - 10.04.2012 Ja ich verwende deinen Trainermodul. RE: VB Trainer - DNA - 10.04.2012 Ok, dann erstellst du dir neue Teleporter ... z.B. so [code=VB] Dim Stromkasten As New Teleporter Dim Holztreppe As New Teleporter[/code] Nun musst du die Koordinaten 1mal auslesen, die du im Trainer hinterlegen möchtest. Das machst du vom Grundsatz her genau so, als ob du die Koordinate speicherst, jedoch lässt du die die gespeichert Koordinaten anzeigen. [code=VB] Stromkasten = Read_Koord(addi, &HOFFSET, 0) 'Solltest du ja kennen msgbox ("X = " & Stromkasten.XKoord & Chr(13) & "Y = " & Stromkasten.YKoord & _ Chr(13) & "Z = " & Stromkasten.ZKoord) [/code] Die drei Werte, die dann in der MsgBox stehen, musst du dir notieren und zwar bei jeder Position, die du im Trainer hinterlegen möchtest. Wenn du das gemacht hast, kannst du die Werte in die Variablen schreiben, z.B. bei Form_Load [code=VB] Stromkasten.XKoord = 'Hier kommt der notierte X-Wert rein Stromkasten.YKoord = 'Hier kommt der notierte Y-Wert rein Stromkasten.ZKoord = 'Hier kommt der notierte Z-Wert rein[/code] Das machst du dann wieder für jede Position (natürlich in unterschiedliche Variablen ) Wenn du das gemacht hast, kannst du direkt die Write_Koord funktion aufrufen [code=VB] Write_Koord(addi, &HOFFSET, Stromkasten, 0) 'Solltest du ja kennen[/code] Wenn ich nichts vergessen habe, dann war's das schon RE: VB Trainer - Struppi - 10.04.2012 Ohje das hört sich ja kompliziert an.^^ Mal schaun ob ich das hinbekomme :blush: Danke für deine Hilfe. RE: VB Trainer - Struppi - 10.04.2012 Das untere will mir grad nicht so in den Kopf^^ Der Teleporter zum speichern und laden sieht bei mir so aus [code=VB] Dim Telepointer As Int32 Dim XKoord As Single Dim YKoord As Single Dim ZKoord As Single Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If GetAsyncKeyState(VK_Numpad0) Then GetProcessId(ProcName) Dim caveaddr = &H764C91 Dim origaddr = &H764C91 RemoveProtection(ProcName, caveaddr, 1) Dim cavebytes() As Byte = {&H90} Dim origbytes() As Byte = {&H24, &HF3} autopatcher(caveaddr, cavebytes) autopatcher(origaddr, origbytes) Telepointer = Read_Long(&H400348) XKoord = Read_Long(Telepointer + &H1C08B64) YKoord = Read_Long(Telepointer + &H1C08B68) ZKoord = Read_Long(Telepointer + &H1C08B6C) System.Threading.Thread.Sleep(500) ElseIf GetAsyncKeyState(VK_Numpad1) Then GetProcessId(ProcName) If XKoord <> 0 Then Write_Long(Telepointer + &H1C08B64, XKoord) Write_Long(Telepointer + &H1C08B68, YKoord) Write_Long(Telepointer + &H1C08B6C, ZKoord) System.Threading.Thread.Sleep(500) End If End If End Sub[/code] RE: VB Trainer - DNA - 10.04.2012 In meinem aktuellen Trainermodul habe ich eine Funktion eingebaut und durch diese Funktion kann man Koordinaten mit nur einer Zeile lesen bzw. schreiben (+ evtl. CI), z.B. so [code=VB] Stromkasten = Read_Koord(addi, &HOFFSET, 0) 'lesen Write_Koord(addi, &HOFFSET, Stromkasten, 0) 'schreiben [/code] In deinem Fall würde dass dann ungefähr so aussehen: [code=VB] Dim Telepointer as Int32 Dim Stromkasten as New Teleporter If GetAsyncKeyState(VK_Numpad0) Then GetProcessId(ProcName) Telepointer = Read_Long(&H400348) Stromkasten = Read_Koord(Telepointer + &H1C08B64, 0, 1) System.Threading.Thread.Sleep(500) ElseIf GetAsyncKeyState(VK_Numpad1) Then GetProcessId(ProcName) If NOT Stromkasten.XKoord = 0 Then Telepointer = Read_Long(&H400348) Write_Koord(Telepointer + &H1C08B64, 0, Stromkasten, 1) System.Threading.Thread.Sleep(500) End If End If[/code] Das sollte zum lesen/schreiben eigentlich reichen Um die Koordinaten für die einzelnen Positionen zu bekommen, müsstest du folgenden Code benutzen: [code=VB] Dim Telepointer as Int32 Dim Stromkasten as New Teleporter If GetAsyncKeyState(VK_Numpad0) Then GetProcessId(ProcName) Telepointer = Read_Long(&H400348) Stromkasten = Read_Koord(Telepointer + &H1C08B64, 0, 1) msgbox ("X = " & Stromkasten.XKoord & Chr(13) & "Y = " & Stromkasten.YKoord & _ Chr(13) & "Z = " & Stromkasten.ZKoord) System.Threading.Thread.Sleep(500) ElseIf GetAsyncKeyState(VK_Numpad1) Then GetProcessId(ProcName) If NOT Stromkasten.XKoord = 0 Then Telepointer = Read_Long(&H400348) Write_Koord(Telepointer + &H1C08B64, 0, Stromkasten, 1) System.Threading.Thread.Sleep(500) End If End If[/code] Jetzt wird dir jedes mal, wenn du den lesen Hotkey drückst, deine aktuellen X, Y und Z Koordinaten angezeigt. Diese notierst du dir und machst dann weiter, so wie ich es oben schon beschrieben habe. Wenn du noch fragen hast, frag ruhig RE: VB Trainer - Struppi - 10.04.2012 Danke nochmals Wenn ich fragen habe, werde ich die auch stellen^^ Ehm, das Trainermodul was bei dem einen TUT Video bei war ist ja das richtige ? RE: VB Trainer - DNA - 10.04.2012 Jein ... das ist das alte ^^ Nimm das hier Trainermodul 2.1 Basiert auf meinem, Hatschi hat dort nur kleine Änderungen vorgenommen. RE: VB Trainer - Struppi - 11.04.2012 So nun soweit so gut^^ Ich habs hingekriegt, das die Koordinaten ausgelesen werden. Ich habe es ein wenig umgebaut, weil es bei mir jetzt nicht anders ging! Aber es funktioniert irgendwie, wie oben beschrieben habe ich die Daten notiert und eingefügt. Im Spiel portet er auch dahin wo er hin soll^^ Aber bei mir sieht der Code nun so aus^^ [code=VB]Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick GetProcessId(ProcName) If GetAsyncKeyState(VK_Numpad3) Then Stromkasten = Read_Koord(Telepointer, &H1C08B64, 0) MsgBox("X = " & Stromkasten.XKoord & Chr(13) & "Y = " & Stromkasten.YKoord & _ Chr(13) & "Z = " & Stromkasten.ZKoord) ElseIf GetAsyncKeyState(VK_Numpad4) Then GetProcessId(ProcName) If Not Stromkasten.XKoord = 0 Then Write_Long(Telepointer + &H1C08B64, Stromkasten.XKoord) Write_Long(Telepointer + &H1C08B68, Stromkasten.YKoord) Write_Long(Telepointer + &H1C08B6C, Stromkasten.ZKoord) System.Threading.Thread.Sleep(500) End If End If[/code] |