[How to]Script your own Patcher
Hi,,
ich zeig euch heute wie ihr euren eigenen Patcher schreibt!
Benötigt:
| [Only registered and activated users can see links. Click Here To Register...] | | Brain.exe(Wird dringend beötigt!!) | | Brain.dll(Wird auch dringend beötigt!!) |
Ihr bekommt den Download der Brain.exe und Brain.dll per PN!
Ok fangen wir an!
Quote:
Originally Posted by Form anfertigen
1.Ihr legt ein neues Projekt an, indem ihr Visual Basic 2008 startet und oben links auf Datei -> Neues Projekt klickt!
2.Gebt nun den Name des Projektes ein(Bei mir PerfectWorldMT2 Patcher)
3.Er lädt kurz und dann seht ihr eine vorgefertigte Form!
4.Klickt diese nun an dann seht ihr unten rechts ein Fenster Eigenschaften!
5.Scrollt nach unten und bei Text Schreibt ihr dann wieder den Namen hin!
6.Nun zieht ihr aus der Toolbox ein Button auf die Form! Den nennt ihr nun Starten!
|
Quote:
Originally Posted by Code
1.Doppelklick auf das vorgefertigete Fenster
2.Nun gebt ihr folgenden Code ein:
Code:
[COLOR="Navy"]1: my.computer.network.downloadfile("http://" & link & "/patchconfig.cfg", my.computer.filesystem.currentdirectory & "\patchconfig.cfg","","",false,200000,true)[/COLOR]
[COLOR="Orange"]for each line in system.io.file.readalllines(my.computer.filesystem.currentdirectory & "\patchconfig.cfg")[/COLOR]
[COLOR="DeepSkyBlue"]my.computer.network.downloadfile("http://" & link & "/" & line, my.computer.filesystem.currentdirectory & "\" & line,"","",false,200000,true)[/COLOR]
[COLOR="Orange"]next[/COLOR]
|
Erklärung:
[]:Das Programm hat jetzt den String "link" als "Eure Server IP" festgelegt! Ihr braucht nun nur noch link anstatt eurer IP einzugeben!
[]:Er lädt die Datei "patchconfig.cfg" von dem URL "Http:// LINK /patchconfig.cfg" und speichert sie im aktuellen Verzeichnis!
[]:Er liest die erste linie in der Patchconfig! Dann fürht er den drunter stehenden Code aus und liest dann die nächste Zeile aus!
Nachdem er alle Zeilen ausgelesen hat gehts mit dem Code weiter!
[]:Er lädt die im URL "http:// LINK / eingelesene Zeile" runter und speichert sie im aktuellen verzeichnis mit dem namen der eingelesenen Zeile!¹
Quote:
Originally Posted by Code²
1.Ihr macht jetzt wieder im vorgefertigten Fenster ein doppelklick auf den Button!
2. Ihr fügt den folgenden Code ein :
Code:
[COLOR="PaleGreen"]shell(my.computer.filesystem.currentdirectory & "METIN2 EXE.exe",AppWinStyle.NormalFocus, True)[/COLOR]
[COLOR="Plum"]me.close()[/COLOR]
|
[]: Er führt automatisch die sich im gleichen Ordner befindende Metin2 exe.exe, welche ihr durch den Namen eurer Exe ersetzt aus!
[]: Jetzt schliesst sich das Programm automatisch!
€ : Auf Wunsch von xXxXMichiXxXx eingefügt:
Webbrowser einbinden:
Quote:
1. Ihr fügt ein Webbrowser Panel zu eurer Form hinzu!
2. Ihr fügt eine Textbox und ein Button hinzu!
3. Doppelklick auf den Button
4a. Gebt ein :
Code:
[COLOR="AQUA"]webbrowser1.navigate(textbox1.text)[/COLOR]
[]: Wenn man den Button drückt, navigiert er den Webbrowser zu dem URL , der in der Textbox steht!
4b. Ihr geht wieder auf Eigenschaften und dann scrollt ihr zu URL runter!
5. Ihr gebt euren URL ein und macht mit 4a weiter!
|
Quote:
Hi,
ich zeige euch jetzt wie ihr eurer Icon selber einbaut ;)
1. Klickt auf die vorgefertigte Form in VB08!
2. Bei den Eigenschaften scrollt ihr zum Punkt Icon
3. Ihr klickt auf den button ... und dann importiert ihr eurer Icon
4. Falls eurer Icon jetzt rechts erscheint habt, dann ist es fertig!
5. Falls nicht dann scrollt nach unten und sucht nach ShowIcon
6. Stellt den Wert auf True
|
Update :
1. du fügst über dem code
Code:
for each line in system.io.file.readalllines(my.computer.filesystem.currentdirectory & "\patchconfig.cfg")
my.computer.network.downloadfile("http://" & link & "/" & line, my.computer.filesystem.currentdirectory & "\" & line)
next
diesen Code ein
Code:
for each line in system.io.file.readalllines(my.computer.filesystem.currentdirectory & "\patchconfig.cfg")
progressbar1.maximum = progressbar1.maximum + 1
next
und dann noch bei dem code
Code:
for each line in system.io.file.readalllines(my.computer.filesystem.currentdirectory & "\patchconfig.cfg")
my.computer.network.downloadfile("http://" & link & "/" & line, my.computer.filesystem.currentdirectory & "\" & line)
next
fügst du über next die Zeile
Code:
progressbar1.value = progressbar1.value +1
hinzu das sieht dann so aus :
Code:
dim link as string = "Eure Patch link!"
my.computer.network.downloadfile("http://" & link & "/patchconfig.cfg", my.computer.filesystem.currentdirectory & "\patchconfig.cfg")
for each line in system.io.file.readalllines(my.computer.filesystem.currentdirectory & "\patchconfig.cfg")
progressbar1.maximum = progressbar1.maximum + 1
next
for each line in system.io.file.readalllines(my.computer.filesystem.currentdirectory & "\patchconfig.cfg")
my.computer.network.downloadfile("http://" & link & "/" & line, my.computer.filesystem.currentdirectory & "\" & line)
progressbar1.value = progressbar1.value +1
next
Für den Startbutton säh der Code so aus :
Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
2: Shell(My.Computer.FileSystem.CurrentDirectory & "Euere EXE", AppWinStyle.NormalFocus, True)
End Sub
^das zeig einem wie man eine Progressbar einbaut!
Jetzt zur Version.txt
Quote:
Originally Posted by Version.txt
1. Ihr erstellt eine Version.txt
2. Ihr packt die Version.txt auf euren Webspace
3. Ihr macht doppelklick auf eure Form
4. Ihr gebt folgenden Code ein :
Code:
Dim link As String = "Eure Patch link!"
If My.Computer.FileSystem.FileExists(My.Computer.FileSystem.CurrentDirectory & "\version.txt") Then
Dim alt As Integer = Val(System.IO.File.ReadAllText(My.Computer.FileSystem.CurrentDirectory & "\version.txt"))
My.Computer.FileSystem.DeleteFile(My.Computer.FileSystem.CurrentDirectory & "\version.txt")
My.Computer.Network.DownloadFile(link & "\version.txt", My.Computer.FileSystem.CurrentDirectory & "\version.txt")
Dim neu As Integer = Val(System.IO.File.ReadAllText(My.Computer.FileSystem.CurrentDirectory & "\version.txt"))
If alt >= neu Then
GoTo 1
Else
goto 2
End If
Else
my.computer.network.downloadfile(link & "\version.txt,my.computer.filesystem.currentdirect ory & "\version.txt")
GoTo 1
End If
5. Erklärung: ich mach dir erklärung mal ein bissl kürzer : Falls eien verion.txt schon vorhanden ist, liest er ihren wert aus löscht sie und lädt sie neu runter. Von der neu gedownloadeten Datei nimmt er nun auch den Wert und vergleicht sie. Falls der erste ausgelesene Wert kleiner ist als der zweite ausgelesene Wert, geht er zum Punkt 1. Falls nicht dann kann man gleich starten! Falss die Datei nicht vorhanden ist, lädt er sie runter und geht zum Punkt 1.
6. VORSICHT! Ich habe im oberseten Code etwas geändert! Diese Änderung auf jeden Fall beachten!
7. Den Code fügt ihr ganz oben unter
Code:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ein.
|
Jetzt wisst ihr wie man sich sein eigenen Patcher erstellt!
Ich hoffe sehr das er euch weiterhilft und falls ihr fragen habt pn´t mich oder postet sie hier!
Ich bitte euch nicht immer wieder für eure Patcher ine extra Thread aufzumachen sondern sie hier zu posten!
PS: Euer fertige Code sollte dann so aussehen :
Spoiler:
Code:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim link As String = "Eure Patch link!"
If My.Computer.FileSystem.FileExists(My.Computer.FileSystem.CurrentDirectory & "\version.txt") Then
Dim alt As Integer = Val(System.IO.File.ReadAllText(My.Computer.FileSystem.CurrentDirectory & "\version.txt"))
My.Computer.FileSystem.DeleteFile(My.Computer.FileSystem.CurrentDirectory & "\version.txt")
My.Computer.Network.DownloadFile(link & "\version.txt", My.Computer.FileSystem.CurrentDirectory & "\version.txt")
Dim neu As Integer = Val(System.IO.File.ReadAllText(My.Computer.FileSystem.CurrentDirectory & "\version.txt"))
If alt >= neu Then
GoTo 1
Else
goto 2
End If
Else
My.Computer.Network.DownloadFile(link & "\version.txt", My.Computer.FileSystem.CurrentDirectory & "\version.txt")
GoTo 1
End If
1: My.Computer.Network.DownloadFile("http://" & link & "metin2/patchconfig.cfg", My.Computer.FileSystem.CurrentDirectory & "\patchconfig.cfg", "", "", False, 2000000, True)
ProgressBar1.Maximum = 0
For Each line In System.IO.File.ReadAllLines(My.Computer.FileSystem.CurrentDirectory & "\patchconfig.cfg")
ProgressBar1.Maximum = ProgressBar1.Maximum + 1
Next
For Each line In System.IO.File.ReadAllLines(My.Computer.FileSystem.CurrentDirectory & "\patchconfig.cfg")
My.Computer.Network.DownloadFile("http://" & link & line, My.Computer.FileSystem.CurrentDirectory & "\" & line, "", "", False, 2000000, True)
ProgressBar1.Value = ProgressBar1.Value + 1
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
2: Shell(My.Computer.FileSystem.CurrentDirectory & "Euere EXE", AppWinStyle.NormalFocus, True)
End Sub
|
MfG
Bestshocker
Der link wo einem die Brain.exe erklärt wird : [Only registered and activated users can see links. Click Here To Register...]
|