Map Updater (für Battlefront II) [Mein ersten Programm]

  • Also ich wollte mal fragen was ihr von meinem ersten Programm haltet.

    Der Hintergrund war das jeder für das Game immer andere maps hatte und es keinen gescheiten server gab wo man sich das runter laden konnte so das alle aus dem clan darauf zugriff haten.

    Also ist das kleine prog entstanden wo ich auf den server die maps als .rar hochlade.

    Später will ich noch noch was fragen aber jetz mal die rste beta version davon.


    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.2.10.0
    Author: Matthias Reisenauer TG 11/3 (2009)
    Script Function:
    Battlefront II Updater

    [/autoit][autoit][/autoit][autoit]

    #ce ----------------------------------------------------------------------------
    #include <GUIConstants.au3>
    #include <file.au3>
    Opt("GUIOnEventMode", 1)
    #Region START GUI
    $Form1 = GUICreate("Battlefront II Updater", 412, 595, 273, 128)
    GUISetBkColor(0x000000)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1Minimize")
    GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1Maximize")
    GUISetOnEvent($GUI_EVENT_RESTORE, "Form1Restore")
    $Passwort = GUICtrlCreateInput("Passwort", 96, 144, 229, 20, -1, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    $PSC = ("Dark_2009")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "PasswortChange")
    GUICtrlSetCursor (-1, 5)
    $Dateiname = GUICtrlCreateInput("Dateiname", 96, 207, 229, 20, -1, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "DateinameChange")
    GUICtrlSetCursor (-1, 5)
    $Speicher_Pfad = GUICtrlCreateInput("C:\Battlefront_II_Update\", 16, 264, 373, 21, -1, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Speicher_PfadChange")
    GUICtrlSetCursor (-1, 5)
    $Install_Passwort = GUICtrlCreateInput("Installations Passwort", 98, 359, 229, 21, -1, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Install_PasswortChange")
    GUICtrlSetCursor (-1, 5)
    $Install_Pfad = GUICtrlCreateInput("C:\Programme\LucasArts\Star Wars Battlefront II\GameData\", 18, 416, 373, 21, -1, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Install_PfadChange")
    GUICtrlSetCursor (-1, 5)
    $Button1 = GUICtrlCreateButton("Starten", 112, 560, 75, 25, 0)
    GUICtrlSetBkColor(-1, 0x00FF00)
    GUICtrlSetOnEvent(-1, "Button1Click")
    $Button2 = GUICtrlCreateButton("Ausschalten", 248, 560, 75, 25, 0)
    GUICtrlSetBkColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Button2Click")
    $Text8 = GUICtrlCreateLabel("Nichts", 200, 480, 41, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Text8Click")
    $Text9 = GUICtrlCreateLabel("Schließen", 200, 504, 92, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Text9Click")
    $Text10 = GUICtrlCreateLabel("Herunterfahren", 200, 528, 92, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Text10Click")
    $Text7 = GUICtrlCreateLabel("Was soll passieren wenn der Prozess abgeschlossen ist?", 40, 456, 347, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Text7Click")
    $Headder = GUICtrlCreatePic("DATA\Bilder\Head_Bild.jpg", 16, 0, 380, 108, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUICtrlSetOnEvent(-1, "HeadderClick")
    $Text1 = GUICtrlCreateLabel("Passwort für die Programm Benutzung", 96, 120, 229, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Text1Click")
    $Text2 = GUICtrlCreateLabel("Datei Name des Updates", 96, 184, 229, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Text2Click")
    $Text3 = GUICtrlCreateLabel("Speicherpfad des Updates", 96, 241, 229, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Text3Click")
    $Text4 = GUICtrlCreateLabel("Automatische Installation?", 146, 311, 158, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Text4Click")
    $Text5 = GUICtrlCreateLabel("Passwort der Installer Datei", 98, 336, 166, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Text5Click")
    $Text6 = GUICtrlCreateLabel("Installations Pfad des Updates", 98, 393, 186, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "Text6Click")
    $Radio1 = GUICtrlCreateRadio("Radio1", 184, 480, 17, 17)
    GUICtrlSetOnEvent(-1, "Radio1Click")
    GUICtrlSetCursor (-1, 0)
    $Radio2 = GUICtrlCreateRadio("Radio2", 184, 504, 17, 17)
    GUICtrlSetOnEvent(-1, "Radio2Click")
    GUICtrlSetCursor (-1, 0)
    $Radio3 = GUICtrlCreateRadio("Radio3", 184, 528, 17, 17)
    GUICtrlSetOnEvent(-1, "Radio3Click")
    GUICtrlSetCursor (-1, 0)
    $Checkbox1 = GUICtrlCreateCheckbox("", 128, 312, 13, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetOnEvent(-1, "Checkbox1Click")
    GUICtrlSetCursor (-1, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1 ;Nichts zu bearbeiten
    Sleep(100)
    WEnd
    Func Button1Click() ;Halb Fertig
    If GUICtrlRead($Passwort) = $PSC Then
    $Programmpruefung = MsgBox(64, "Passwort Check", "Das Passwort ist Richtig! Drücke OK oder es geht in 5 Sekunden automatisch weiter ",5)
    If $Programmpruefung = 1 or -1 Then
    $ping = Ping("dark.bellerophontes.eu",250) ;Verbindungstest zum Update Server
    If $ping Then ;
    Msgbox(64,"Verbindung Hergestellt","Eine Verbindung zum Update Server konnte hergestellt werden, beginne mit dem Download. PING: " & $ping,5)
    $FileURL = "http://dark.bellerophontes.eu/homepage/Map_Updates/" & GUICtrlRead($Dateiname)
    $FileSize = InetGetSize($FileURL)
    DirCreate(GUICtrlRead($Speicher_Pfad)) ;Erstellt den Pfad der eingegeben wurde
    InetGet($FileURL,GUICtrlRead($Speicher_Pfad) & GUICtrlRead($Dateiname),0,1)

    [/autoit][autoit][/autoit][autoit]

    ProgressOn("","")
    While @InetGetActive
    $Percentage = @InetGetBytesRead * 100 / $FileSize
    $Prozent = Round($Percentage, 2)
    ProgressSet($Percentage, & $Prozent "% " & @InetGetBytesRead & " von " & $FileSize & " Bytes Gedwonloaded","Downloade... " & GUICtrlRead($Dateiname) & " " & $Prozent & "% Fertig")
    Sleep(250)
    Wend
    ProgressOff()
    MsgBox(64, "Download Fertig","Download ist vollständig und fertig",5)

    [/autoit][autoit][/autoit][autoit]

    If GUICtrlRead($Checkbox1) = 1 Then ; Entpacken
    Msgbox(64,"Entpacken...","Entpacken wird nun gestartet",5)
    $DPfad = StringFormat("%s%s ",GUICtrlRead($Speicher_Pfad) ,GUICtrlRead($Dateiname))
    $EPasswort = GUICtrlRead($Install_Passwort)
    $EPfad = GUICtrlRead($Install_Pfad)
    DirCreate ($EPfad)

    [/autoit][autoit][/autoit][autoit]

    $Befehl = StringFormat("x -p%s %s %s ",$EPasswort ,$DPfad ,$EPfad)
    RunWait("Data\Unrar.exe " & $Befehl)
    Msgbox(64,"Entpacken...","Entpacken war Erfolgreich",5)

    [/autoit][autoit][/autoit][autoit]

    If GUICtrlRead($Radio1) = 1 Then
    EndIf

    [/autoit][autoit][/autoit][autoit]

    If GUICtrlRead($Radio2) = 1 Then
    Msgbox(64,"Programm Beenden","Der PC wird das Programm beenden",5)
    Exit
    EndIf

    [/autoit][autoit][/autoit][autoit]

    If GUICtrlRead($Radio3) = 1 Then
    Msgbox(64,"Herunterfahren","Der PC wird Heruntergefahren",5)
    RunWait(@ComSpec & " /c " & "shutdown -s -t 10 ")
    Exit
    EndIf
    Else
    If GUICtrlRead($Radio1) = 1 Then
    EndIf

    [/autoit][autoit][/autoit][autoit]

    If GUICtrlRead($Radio2) = 1 Then
    Msgbox(64,"Programm Beenden","Der PC wird das Programm beenden",5)
    Exit
    EndIf

    [/autoit][autoit][/autoit][autoit]

    If GUICtrlRead($Radio3) = 1 Then
    Msgbox(64,"Herunterfahren","Der PC wird Heruntergefahren",5)
    RunWait(@ComSpec & " /c " & "shutdown -s -t 10 ")
    Exit
    EndIf
    EndIf
    Else
    Msgbox(0,"Keine Verbindung","Es konnte keine Verbindung Hergestellt werden. Probiere es später", 10)
    EndIf

    [/autoit][autoit][/autoit][autoit]

    Else ;!!!Fertig!!! Programm Fehler
    Msgbox(0,"Programm Fehler","Programm Fehler. Beende Programm sofort",5)
    Exit
    Endif
    Else ;!!!Fertig!!! Falsches Passwort
    MsgBox(16, "Passwort Check", "Das Passwort ist Flasch! Überprüfe das Passwort für die Programm Benutzung",5)
    EndIf
    EndFunc
    Func Button2Click() ;!!!Fertig!!! Programm Abschalten
    MsgBox(64, "Programm Abschaltung", "Das Programm schaltet sich in 5 Sekunden ab", 5)
    Exit
    EndFunc
    Func Checkbox1Click() ;Nichts zu bearbeiten
    EndFunc
    Func DateinameChange() ;Nichts zu bearbeiten
    EndFunc
    Func Form1Close() ;Fertig
    Exit
    EndFunc
    Func Form1Maximize() ;Nichts zu bearbeiten
    EndFunc
    Func Form1Minimize() ;Nichts zu bearbeiten
    EndFunc
    Func Form1Restore() ;Nichts zu bearbeiten
    EndFunc
    Func HeadderClick() ;Nichts zu bearbeiten
    EndFunc
    Func Install_PasswortChange() ;Nichts zu bearbeiten
    EndFunc
    Func Install_PfadChange() ;Nichts zu bearbeiten
    EndFunc
    Func PasswortChange() ;Nichts zu bearbeiten
    EndFunc
    Func Radio1Click() ;Nichts zu bearbeiten
    EndFunc
    Func Radio2Click() ;Nichts zu bearbeiten
    EndFunc
    Func Radio3Click() ;Nichts zu bearbeiten
    EndFunc
    Func Speicher_PfadChange() ;Nichts zu bearbeiten
    EndFunc
    Func Text10Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text1Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text2Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text3Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text4Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text5Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text6Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text7Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text8Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text9Click() ;Nichts zu bearbeiten
    EndFunc
    #cs-----------------------------------TOOLS---------------------------------------
    Test für den String: Msgbox(0,"Stringtester","Der String ist: " & GUICtrlRead($Variable))
    #ce-------------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit][/autoit]


    EDIT: Sorry hab vergessen das Programm mit anzuhängen ist jetz aber da siehe datei anhang.

    Einmal editiert, zuletzt von Matthias_199 (2. Februar 2009 um 14:25)

  • jo passt soweit^^
    aber was hast du damit vor?

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    Func Button2Click() ;!!!Fertig!!! Programm Abschalten
    MsgBox(64, "Programm Abschaltung", "Das Programm schaltet sich in 5 Sekunden ab", 5)
    Exit
    EndFunc
    Func Checkbox1Click() ;Nichts zu bearbeiten
    EndFunc
    Func DateinameChange() ;Nichts zu bearbeiten
    EndFunc
    Func Form1Close() ;Fertig
    Exit
    EndFunc
    Func Form1Maximize() ;Nichts zu bearbeiten
    EndFunc
    Func Form1Minimize() ;Nichts zu bearbeiten
    EndFunc
    Func Form1Restore() ;Nichts zu bearbeiten
    EndFunc
    Func HeadderClick() ;Nichts zu bearbeiten
    EndFunc
    Func Install_PasswortChange() ;Nichts zu bearbeiten
    EndFunc
    Func Install_PfadChange() ;Nichts zu bearbeiten
    EndFunc
    Func PasswortChange() ;Nichts zu bearbeiten
    EndFunc
    Func Radio1Click() ;Nichts zu bearbeiten
    EndFunc
    Func Radio2Click() ;Nichts zu bearbeiten
    EndFunc
    Func Radio3Click() ;Nichts zu bearbeiten
    EndFunc
    Func Speicher_PfadChange() ;Nichts zu bearbeiten
    EndFunc
    Func Text10Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text1Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text2Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text3Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text4Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text5Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text6Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text7Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text8Click() ;Nichts zu bearbeiten
    EndFunc
    Func Text9Click() ;Nichts zu bearbeiten
    EndFunc

    [/autoit]


    außerdem würd ich mir mal die neue autoit version holen^^
    und vllt OrganizeInludes (beides links unter den DLs)
    und da war ein syntax error z. 122

    Padmak

  • Also damit will ich gar nix das hab ich von koda generieren lassen und dan auch so gelassen.

    Also nix mehr daran geändert

    Mh syntax error in z. 122?

    Vestehe ich net ganz also bis jetz geht es bei mir und allen testern inzwischen 4 leute

    EDIT:

    Ich wollte ja noch ne frage los werden.

    Es gibt ja ein makro für mit dem man log datein erstellen kann.

    Das hat mir nicht ganz gepasst also hab ich mir selbst was gebastelt.


    [autoit]

    #include <file.au3>
    $file = ("Log.txt")
    $text = ("das was ich reinschreibe")
    $text2 = ("TEST")
    $Datum_Zeit = StringFormat("[DATUM: %s.%s.%s ZEIT: %sh %smin %ssec] -- ",@MDAY ,@MON ,@YEAR ,@Hour ,@Min ,@Sec)
    FileOpen($file,1); neue Datei erstellen
    FileWriteLine($file, "" & $Datum_Zeit & $text)
    FileClose($file)

    [/autoit]

    Kann ich irgendwie daraus auch so ein makro zum weiterarbeiten machen?

    Einmal editiert, zuletzt von Matthias_199 (2. Februar 2009 um 20:58)

  • ne mom 121^^
    sorry ich hatte bei mir nochn include

    [autoit]


    ProgressSet($Percentage, & $Prozent "% " & @InetGetBytesRead & " von " & $FileSize & " Bytes Gedwonloaded","Downloade... " & GUICtrlRead($Dateiname) & " " & $Prozent & "% Fertig")

    [/autoit]


    kann ja net gehen da
    & $Prozent "% " & @InetGetBytesRead &
    ^
    darf da net sein^^
    des muss nach $Prozent hin

    Padmak

  • Jo sag rhig wenn ich was verwechsle hab mehrmals die selben zu testzwecken weil viel eben noch learining bei dooing und rumprobieren bei mir ist.


    [autoit]

    ProgressOn("","")
    While @InetGetActive
    $Percentage = @InetGetBytesRead * 100 / $FileSize
    $Prozent = Round($Percentage, 2)
    ProgressSet($Percentage, & $Prozent "% " & @InetGetBytesRead & " von " & $FileSize & " Bytes Gedwonloaded","Downloade... " & GUICtrlRead($Dateiname) & " " & $Prozent & "% Fertig")
    Sleep(250)
    Wend
    ProgressOff()
    MsgBox(64, "Download Fertig","Download ist vollständig und fertig",5)

    [/autoit]

    Das ist der teil aus dem script nicht?

    Und das tut bei mir

  • jupp
    es geht hier um die zeile 5
    es kann einfach nicht gehen dass des bei dir wegen ", &" nicht meckert...

    Padmak

  • Sorry^^

    Das ich lnage nicht mehr hier war.

    Wie soll ich es dir nun beweißen das es tut weil

    Ich selber sehe da auch kein fehler^^