Salve ospite, se leggi questo messaggio vuol dire che non sei registrato, cosa aspetti ? Premi qui per registrarti La registrazione è completamente gratuita e ti permetterà di usufruire di tutte le funzionalità del nostro forum. Buona navigazione.


Vendo, Compro, Scambio NosTale! Riapre il Black Market, concludi i tuoi scambi NosTale gratuitamente! Più info  -   Accedi alla sezione
Download file Server : File Retro Server NosTale
Visita la nuova sezione di BorderGame dedicata a Blade & Soul! Sezione Blade and Soul

 
Valutazione discussione:
  • 2 voti - 4 media
  • 1
  • 2
  • 3
  • 4
  • 5
Come creare un teleport hack
11-08-2011 05:52 PM
Messaggio: #1
Come creare un teleport hack
¬Bulle†
*
Rynn
Subber
Utente Saggio
Utente Storico

hallucin0gen

Messaggi : 744

Registrato dal : Jun 2011

Reputazione : 151

Stato : Offline


Premi :



Per prima cosa creiamo un nuovo progetto in VB.
File - Nuovo Progetto - Applicazione Windows Form.
Una volta fatto questo, prima di passare alla programmazione vera e propria, procuriamoci tutti i componenti che ci serviranno con le relative proprietò .
- 1 PictureBox (Name: MapON - Dimensioni 260 x 260)
- 1 ComboBox (Name: MapSelect)
- 1 Button (Name: TeleportBtn)
E' fondamentale che la dimansione della PictureBox sia settata a 260 x 260
Ora per comodità aggiungiamo un modulo dove definiremo le nostre funzioni. Per farlo : Progetto - Aggiungi modulo.
Ora andiamo sul modulo e scriviamo la funzione WriteSingle che ci servirà per scrivere nell'address della coordinata il valore che vogliamo assegnargli.
Inoltre dichiariamo 2 variabili X e Y corrispondenti al valore delle coordinate dove vorremo teletrasportarci e una variabile H a cui assegneremo il valore 1536.
In ultimo, scriviamo la funzione che ci ritornerà i value della nostra coordinata in base all'address e agli offset.

1. Module Module1
Public Declare Function WriteSingle Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Single, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Boolean
Public X as Integer
Public Y as Integer
Public H as Integer = 1536
Public Function ReturnAddy(ByVal Addybase As String, ByVal Off1 As Integer, ByVal Off2 As Integer) As String
Dim addy As String
ReadProcessMemory(processHandle, "&H" & Addybase, value, 4, Nothing)
addy = "&H" & Conversion.Hex(value + Off1)
ReadProcessMemory(processHandle, addy, value, 4, Nothing)
addy = "&H" & Conversion.Hex(value + Off2)
Return addy
End Function
2. End Module

La variabile H, altro non è che la proporzione tra la mappa di gioco e la mappa da noi posseduta.
Per facilitarvi le cose, in allegato troverete anche le mappe già proporzionate tra loro.
Fatto questo, torniamo sul nostro forum per completare il nostro hack.
Facciamo doppio click sulla ComboBox. A questo punto dobbiamo fare in modo che al cambio dell'index della ComboBox, nella PictureBox, venga visualizzata la mappa selezionata. Per fare ciò, ci viene in aiuto la funzione SELECT CASE


1. Select Case MapSelect.SelectedItem.ToString()
Case ''GIALLI VILLAGGIO 1"
MapON.ImageLocation=" PERCORSO IMMAGINE "
Case "GIALLI VILLAGGIO 2"
MapON.ImageLocation=" PERCORSO IMMAGINE "
...
...
...
...
...
2. ...
3. End Select

A questo punto, dobbiamo solo fare in modo, che al click sulla mappa che ci interessa, vengano settate la X e la Y che vogliamo avere in game.
Per fare questo, dobbiamo usare una proporzione



1. Private Sub MapON_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MapON.Click
X= Int(H* MapON.PointToClient(Control.MousePosition).X / MapON.Width)
Y= Int(H * MapON.PointToClient(Control.MousePosition).Y / MapON.Height)
2. End Sub

Questo serve a proporzionare la mappa al game e a settare la giusta X e la giusta Y all'evento click().

Non rimane altro da fare che inviare le informazioni al gioco e questo avviene al click del pulsante.
Quindi:


1. Private Sub TeleportBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TeleportBtn.Click
WriteSingle(processHandle, ReturnAddy("5F29BC", 16, 1412), Int(X.Text) * 100, 4, Nothing)
WriteSingle(processHandle, ReturnAddy("5F29BC", 16, 1416), -(Int(Y.Text) * 100), 4, Nothing)
2. End Sub

Fonti: http://www.inforge.net/community/metin2-...c-net.html
Spero vi sia stato d'aiuto e +1 ben accetti Wink
Download: Qui
"Tu non potresti essere Kira.Tu SEI Kira"
İmage
Torna al primo messaggio
Email WWW Cerca Rispondi

PubblicitàLa tua pubblicità qui, clicca per informazioni e per le offerte!

Stanno visualizzando la discussione : 1 Ospite(i)

  • Versione stampabile
  • Invia ad un amico
  • Sottoscrivi questa discussione