Joa ich stelle hier mal meinen Patcher zur verfügung bevor er von New World2 einfach geklaut wird
Howto use:
1. Bearbeiten der Patch.ini
2. Upload der Files/erstellen der files.txt
3. Fehler/Probleme:
Screens:
Download: siehe Anhang
Sonstiges:
Patcher darf NICHT ohne meine Erlaubniss verbreitet werden
Außerdem bitte ich euch noch ihn nicht als seinen eigenen auszugeben/ihn zu "klauen"
Hf
iMer
Source:
PHP Code:
#Include <File.au3>
#Include <GuiConstants.au3>
#include <IE.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#NoTrayIcon
Global $m2ordner = @ScriptDir
Global $ScriptDir = @ScriptDir
Global $TempDir = @TempDir
Global $url = FileReadLine($ScriptDir & "\patch.ini", 1)
Global $adurl = FileReadLine ($ScriptDir & "\patch.ini",2)
Global $fensterurl = FileReadLine ($ScriptDir & "\patch.ini",3)
Global $buttonurl = FileReadLine ($ScriptDir & "\patch.ini",4)
FileInstall("C:\Users\iMer\Pictures\metin2start.bmp", @Tempdir&"\metin2start.bmp",1)
FileInstall("D:\Games\longjuyt2.de\patchskin\btn_startgame_up.bmp", @Tempdir&"\btn_startgame_up.bmp",1)
FileInstall("D:\Games\longjuyt2.de\patchskin\btn_settings_up.bmp", @Tempdir&"\btn_settings_up.bmp",1)
FileInstall("D:\Games\longjuyt2.de\patchskin\btn_newaccount_up.bmp", @Tempdir&"\btn_newaccount_up.bmp",1)
FileInstall("D:\Games\longjuyt2.de\patchskin\btn_idpwd_up.bmp", @Tempdir&"\btn_idpwd_up.bmp",1)
FileInstall("D:\Games\longjuyt2.de\patchskin\btn_quit_up.bmp", @Tempdir&"\btn_quit_up.bmp",1)
;GUI######################################################
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Metin2 Patcher by iMer", 373, 541, 193, 125)
GUISetOnEvent($GUI_EVENT_CLOSE, "_close")
$stat = GUICtrlCreateEdit("", 16, 8, 337, 281)
GUICtrlSetData(-1, "((`~Patcher by iMer~´))"&@CRLF&"Dateiüberprüfung wird gestartet...")
$cancel = GUICtrlCreateButton("Cancel", 288, 496, 75, 25, 0)
GUICtrlSetOnEvent($cancel, "_close")
$Progress1 = GUICtrlCreateProgress(16, 464, 334, 17)
;16, 312, 340, 13
$oIE = _IECreateEmbedded()
$oIE_ctrl = GUICtrlCreateObj($oIE, 16, 312, 336, 136)
GUISetState(@SW_SHOW)
_IENavigate($oIE, $adurl)
$Form2 = GUICreate("*~Metin2 Patcher by iMer~*", 595, 385, 328, 160)
GUISetOnEvent($GUI_EVENT_CLOSE, "_close")
$Pic1 = GUICtrlCreatePic(@Tempdir&"\metin2start.bmp", 0, 0, 593, 382, $BS_BITMAP)
$start = GUICtrlCreateButton("(Not allowed)", 464, 40, 127, 41, $BS_BITMAP)
GUICtrlSetImage(-1, @Tempdir&"\btn_startgame_up.bmp", 1)
GUICtrlSetOnEvent($start, "start")
$config = GUICtrlCreateButton("(Not allowed)", 464, 96, 127, 25, $BS_BITMAP)
GUICtrlSetOnEvent($config, "config")
GUICtrlSetImage(-1, @Tempdir&"\btn_settings_up.bmp", 1)
$seite1 = GUICtrlCreateButton("(Not allowed)", 464, 184, 127, 25, $BS_BITMAP)
GUICtrlSetImage(-1, @Tempdir&"\btn_newaccount_up.bmp", 1)
GUICtrlSetOnEvent($seite1, "seite")
$seite2 = GUICtrlCreateButton("(Not allowed)", 464, 160, 129, 25, $BS_BITMAP)
GUICtrlSetImage(-1, @Tempdir&"\btn_idpwd_up.bmp", 1)
GUICtrlSetOnEvent($seite2, "seite")
$ende = GUICtrlCreateButton("(Not allowed)", 464, 352, 127, 25, $BS_BITMAP)
GUICtrlSetImage(-1, @Tempdir&"\btn_quit_up.bmp", 1)
GUICtrlSetOnEvent($ende, "_close")
$oIE1 = _IECreateEmbedded()
$oIE_ctrl1 = GUICtrlCreateObj($oIE1, 8, 8, 456, 376)
_IENavigate($oIE1, $fensterurl)
GUISetState(@SW_HIDE)
;gui#####################################################
Func seite ()
_IECreate($buttonurl)
EndFunc
func start ()
run($Scriptdir&"/metin2.bin")
Exit
EndFunc
Func config ()
Run($ScriptDir&"\config.exe")
EndFunc
func _close ()
Exit
EndFunc
Sleep (500)
patch ()
func patch ()
$file = @TempDir&"\files.txt"
InetGet( $url&"\files.txt" , $file)
$lines = _FileCountLines($file)
If $lines = 0 Then
MsgBox(48,"Fehler","Fehler beim übertragen der Patchlist!")
Exit
EndIf
DirCreate("pack")
DirCreate("BGM")
DirCreate("lib")
DirCreate("mark")
DirCreate("miles")
DirCreate("screenshot")
DirCreate("upload")
While ($lines >= 1)
$datei = FileReadLine($file,$lines)
GUICtrlSetData($stat,"Überprüfung von: "& $datei & @CRLF & GUICtrlRead($stat))
$size_inet = InetGetSize($url&"\"&$datei)
If FileExists($ScriptDir&"\"&$datei) Then
If @error Then
MsgBox(16 , "Fehler", @error)
EndIf
$size_ordner = FileGetSize( $ScriptDir&"\"&$datei)
If $size_inet <> $size_ordner Then
GUICtrlSetData($stat,"Download von: "& $datei & @CRLF & GUICtrlRead($stat))
InetGet($url&$datei , $ScriptDir& "\" & $datei , 1 , 1)
while 1
$hFileSize = FileGetSize($ScriptDir & "\" & $datei) ;Wie viel wurde schon geladen.
$iPercent = round ( @InetGetBytesRead / $size_inet *100) ;Rechen Operation ? O.O
GUICtrlSetData($Progress1, $iPercent) ;Progressbar einstellen
If $hFileSize = $size_inet Then
GUICtrlSetData($Progress1, 100)
ExitLoop
EndIf
sleep (50)
WEnd
Else
GUICtrlSetData($stat,"Überspringen der Datei: "& $datei & @CRLF & GUICtrlRead($stat))
EndIf
Else
InetGet($url&$datei,$ScriptDir&"\"&$datei,1,1)
GUICtrlSetData($stat, "Download von: "& $datei& @CRLF & GUICtrlRead($stat))
while 1
$hFileSize = FileGetSize($ScriptDir & "\" & $datei) ;Wie viel wurde schon geladen.
$iPercent = round ( @InetGetBytesRead / $size_inet *100) ;Rechen Operation ? O.O
GUICtrlSetData($Progress1, $iPercent) ;Progressbar einstellen
If $hFileSize = $size_inet Then
GUICtrlSetData($Progress1, 100)
ExitLoop
EndIf
sleep (50)
WEnd
EndIf
sleep (500)
$lines = $lines-1
WEnd
FileDelete($TempDir&"\files.txt")
GUISetState(@SW_HIDE,$Form1)
GUISetState(@SW_SHOW,$Form2)
while 1
Sleep(100)
WEnd
EndFunc
Müsst nur FileInstall Pfade anpassen
wäre nett wenn er nicht unter anderem Namen verbreitet wird (d.h. in anderen Foren reingestellt)
nice wäre es wenn ihr meine Erstellerangabe drinnlassen würdet