Größe Abfrage udn vergleichen

01/30/2011 13:56 FireFox©#1
Hallo ich will in mein eigenes Hs ein System ein bauen das datei grössen vom server abfragt und wenn rs nicht mit dem Client über einstimmt gibt es eine Error meldung

Es soll für Metin2 sein ,und soll folgene elemente über prüfen:
-metin2.exe
-hackshieldBF2(das programm selber)
Im PAck ordner:
-root
-pc
-pc2
-locale_de
-patch1
-pacth2

Könnt ihr mir das Scripten oder diesern Sourcencode Corigieren so das es geht:
PHP Code:
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=E:\metin2.ico
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Language=1031
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <File.au3>

Global Const $url = ("http://pfad (hp) zum clienten ordner.")

$metin2    InetGetSize("http://" $url "/Metin2.exe")
$Metin2_1 FileGetSize(@ScriptDir "\Metin2.exe")
$hs    InetGetSize("http://" $url "/HackShieldBF2.exe")
$hs_1 FileGetSize(@ScriptDir "\HackShieldBF2.exe")
$root    InetGetSize("http://" $url "/Pack/root.eix")
$root_1 FileGetSize(@ScriptDir "\Pack\root.eix")
$root_2    InetGetSize("http://" $url "/Pack/root.epk")
$root_2_1 FileGetSize(@ScriptDir "\Pack\root.epk")
$locale    InetGetSize("http://" $url "/Pack/locale_de.eix")
$locale_1 FileGetSize(@ScriptDir "\Pack\locale_de.eix")
$locale_2    InetGetSize("http://" $url "/Pack/locale_de.epk")
$locale_2_1 FileGetSize(@ScriptDir "\Pack\locale_de.epk")
$Pc    InetGetSize("http://" $url "/Pack/pc.eix")
$Pc_1 FileGetSize(@ScriptDir "\Pack\pc2.eix")
$Pc_2    InetGetSize("http://" $url "/Pack/pc.eix")
$Pc_2_1 FileGetSize(@ScriptDir "\Pack\pc.eix")
$Pc2    InetGetSize("http://" $url "/Pack/pc2.eix")
$Pc2_1 FileGetSize(@ScriptDir "\Pack\pc2.eix")
$Pc2_2    InetGetSize("http://" $url "/Pack/pc2.eix")
$Pc2_2_1 FileGetSize(@ScriptDir "\Pack\pc2.eix")
$Patch1    InetGetSize("http://" $url "/Pack/patch1.eix")
$Patch1_1 FileGetSize(@ScriptDir "\Pack\patch1.eix")
$Patch1_2    InetGetSize("http://" $url "/Pack/patch1.eix")
$Patch1_2_1 FileGetSize(@ScriptDir "\Pack\patch1.eix")
$Patch2    InetGetSize("http://" $url "/Pack/patch2.eix")
$Patch2_1 FileGetSize(@ScriptDir "\Pack\patch2.eix")
$Patch2_2    InetGetSize("http://" $url "/Pack/patch2.eix")
$Patch2_2_1 FileGetSize(@ScriptDir "\Pack\patch2.eix")


If 
$metin2 0 Then
    MsgBox
(48"HsError""Keine Verbinndung zum Hs Server")
    Exit
EndIf

ProgressOn("HackSHieldLoad""Scanning")
If 
$metin2 $metin2_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen exe.")
    Exit
EndIf
If 
$hs $hs_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Irgend etwas stimmt mit dem hs nicht")
    Exit
EndIf
If 
$root $root_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen root datei.")
    Exit
EndIf
If 
$root_2 $root_2_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen root datei.")
    Exit
EndIf
If 
$locale $locale_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen locale datei.")
    Exit
EndIf
If 
$locale_2 $locale_2_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen locale datei.")
    Exit
EndIf
If 
$pc $pc_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen Pc datei(1Hit Nap).")
    Exit
EndIf
If 
$pc2 $pc2_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen Pc datei(1Hit Nap).")
    Exit
EndIf
If 
$pc2_2 $pc2_2_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen Pc datei(1Hit Nap).")
    Exit
EndIf
If 
$pc_2 $pc_2_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen Pc datei(1Hit Nap).")
    Exit
EndIf
If 
$patch1 $patch_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen Patch1.")
    Exit
EndIf
If 
$patch1_2 $patch1_2_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen Patch1.")
    Exit
EndIf
If 
$patch2 $patch2_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen Patch2.")
    Exit
EndIf
If 
$patch2_2 $patch2_2_1 Then
Sleep
(0)
Else
    
MsgBox(64,"Error","Clienten Tunning is nicht erlaubt raus mit der Falschen Patch2.")
    Exit
EndIf

$mt2 = (@ScriptDir "\metin2.exe")

Run $mt2 

Danke für eure Hilfe
01/30/2011 14:42 TrickGamer#2
Mach doch lieber eine Ini datei die du in tmp speicherst wo die Dateiengrößen aufgelistet sind z.B so
PHP Code:
[HS]
Metin2.exe=640544
locale_de
.epk=85647645
usw
... 
dann kann man ganz leicht per IniRead die dateienauslesen:
z.b
PHP Code:
InetGet("Url zu ini datei",@TempDir&"\Hs.ini")
$Speicher_Metin2_exe=IniRead(@TempDir&"\Hs.ini","HS","Metin2.exe","0")
$locale_de_epk=IniRead(...)
If 
FileGetSize(@ScriptDir&"\Metin2.exe") = $Speicher_Metin2_exe Then
Else
    
MsgBox(0,"ERROR","Error Falsche Client Datei!"&@CRLF&"Betroffen: Metin2.exe")
    Exit
EndIf
if ... 
01/30/2011 15:17 FireFox©#3
danke