1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Pelix

Beiträge von Pelix

  • "Patcher" lädt bestimmte Formate nicht

    • Pelix
    • 5. November 2013 um 11:09

    Darüber hatte ich auch schon nachgedacht.

    Das komische ist nur, die patch.ini kann er runterladen und verwenden.
    Jedoch die *.ini die in der files.txt steht nicht. :/

    Der Server ist mein eigener, also kein Webspace. Hab da vollen Zugriff
    drauf und nicht einmal eine .htaccess irgendwo definiert die irgendwas
    verbieten könnte.

  • "Patcher" lädt bestimmte Formate nicht

    • Pelix
    • 4. November 2013 um 18:12
    Zitat von alpines

    Hast du irgendwelche Stringfunktionen benutzt die das Dateiende auf ein Minimum begrenzen? Versuchs mal mit einer langen Dateiendung, wie schauts dann aus?


    Daran wird es nicht liegen. Das Format *.txt nimmt er, *.ini aber nicht .... also *.ini und *.rvdata wollen nicht.

  • "Patcher" lädt bestimmte Formate nicht

    • Pelix
    • 4. November 2013 um 17:57

    Es kommt keine Fehlermeldung .... er ignoriert die Datei einfach.
    Scheint irgendwie tatsächlich an dem Format zu liegen denn wie schon oben beschrieben, wenn ich die
    Datei in eine *.txt benenne, funktioniert es.

    Alternative Lösung bis jetzt: FileMove("Settings.txt","Settings.rvdata",1)

  • "Patcher" lädt bestimmte Formate nicht

    • Pelix
    • 4. November 2013 um 16:38
    Zitat von alpines

    Bitte ordentlich formatieren und in einen Spoiler packen.


    Erledigt. :)

    //EDIT: Hab vorerst eine alternative Lösung via FileMove gefunden. Funktioniert auch, ist wohl nur nicht die ideale Lösung :D

  • "Patcher" lädt bestimmte Formate nicht

    • Pelix
    • 4. November 2013 um 16:36

    Die Funktion mit dem Core Updater ganz unten einfach mal ignorieren. Das hat mit dem eigentlichen
    Problem nichts zutun. Ist nur die Funktion um den Patcher selbst zu updaten. :)

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=E:\patcher.ico
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <PatcherSettings.au3>
    #include <SendMessage.au3>
    #include <WINAPI.au3>

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

    Run("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8")

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

    Global Const $url = "pelix-media.de/game"
    Global Const $version = IniRead(@ScriptDir & "\patch.ini", "patch", "version", "Unknow")
    Global Const $ini_design = "1"

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

    Global Const $SC_DRAGMOVE = 0xF012

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

    If WinExists($win_title) Then Exit

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

    #region ### START Koda GUI section ### Form=
    $Form = GUICreate($win_title, 792, 697, 192, 124, $WS_POPUP, $WS_EX_LAYERED)
    GUISetBkColor(0x000000)

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

    _WinAPI_SetLayeredWindowAttributes($Form, 0x01, 255)

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

    $Background = GUICtrlCreatePic(@TempDir & "\Design1.bmp", 0, 0, 792, 697)
    _SetDesign($ini_design)
    GuiCtrlSetState(-1,$GUI_DISABLE)

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

    $Label1 = GUICtrlCreateLabel("Aktuelle Datei:", 65, 526, 73, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Label2 = GUICtrlCreateLabel("Größe in KB:", 74, 550, 63, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Label3 = GUICtrlCreateLabel("Noch zu laden:", 62, 574, 98, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Label4 = GUICtrlCreateLabel("Geschwindigkeit:", 53, 598, 80, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Label5 = GUICtrlCreateLabel("Client Version:", 67, 622, 71, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Label6 = GUICtrlCreateLabel("Version 1.0", 60, 8, 690) ; Top = 385px
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont(-1, 7)

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

    $aktuelle_datei = GUICtrlCreateLabel("", 140, 526, 118, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $size = GUICtrlCreateLabel("", 140, 550, 118, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $load = GUICtrlCreateLabel("", 140, 574, 118, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $speed = GUICtrlCreateLabel("-", 140, 598, 118, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $client_version = GUICtrlCreateLabel($version, 140, 622, 118, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

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

    $Progress = GUICtrlCreateProgress(290, 613, 460, 10)
    $Progress2 = GUICtrlCreateProgress(290, 626, 460, 18)
    $Update = GUICtrlCreateButton("Core Update", 468, 584, 89, 25, $WS_GROUP)

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

    $Start = GUICtrlCreateButton("Starten", 379, 584, 79, 25, $WS_GROUP)
    $Patch = GUICtrlCreateButton("Patchen", 290, 584, 79, 25, BitOR($BS_DEFPUSHBUTTON, $WS_GROUP))
    $Beenden = GUICtrlCreateButton("Beenden", 672, 584, 79, 25, $WS_GROUP)

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

    $news = GUICtrlCreateLabel("", 55, 263, 450, 235)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

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

    #endregion ### END Koda GUI section ###

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

    If $CmdLine[0] > 0 Then
    If $CmdLine[1] = "-bypatcher" Then
    GUICtrlSetStyle($Start, $WS_VISIBLE)
    EndIf
    EndIf

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

    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Patch
    _patch()
    Case $Start
    _start()
    Case $Beenden
    Exit
    Case $Update
    _update()
    Case $GUI_EVENT_PRIMARYDOWN
    _SendMessage($Form, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)

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

    EndSwitch
    WEnd

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

    Func _patch($iDelay1 = 50, $iDelay2 = 1000)
    $file = @ScriptDir & "\files.txt"
    FileDelete($file)
    InetGet("http://" & $url & "/files.txt", $file)
    $line = _FileCountLines($file)
    $line_max = _FileCountLines($file)
    If $line = 0 Then
    MsgBox(48, "Error", "Fehler beim übertragen der Patchlist!")
    Return ""
    EndIf

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

    InetGet("http://" & $url & "/news.txt", @ScriptDir & "\news.txt")
    $fOpen = FileOpen(@ScriptDir & "\news.txt")
    $fRead = FileRead($fOpen)
    GUICtrlSetData($news, $fRead)
    FileClose($fOpen)
    FileDelete(@ScriptDir & "\news.txt")

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

    $new_version = FileReadLine($file, $line)
    If $new_version <> $version Then
    IniWrite(@ScriptDir & "\patch.ini", "patch", "version", $new_version)
    EndIf

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

    $line = $line - 1

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

    DirCreate("Audio")
    DirCreate("Audio/BGM")
    DirCreate("Audio/BGS")
    DirCreate("Audio/ME")
    DirCreate("Audio/SE")
    DirCreate("Data")
    DirCreate("Fonts")
    DirCreate("Graphics")
    DirCreate("Graphics/Animations")
    DirCreate("Graphics/Battlers")
    DirCreate("Graphics/Characters")
    DirCreate("Graphics/Equipments")
    DirCreate("Graphics/Equipments/Female")
    DirCreate("Graphics/Equipments/Male")
    DirCreate("Graphics/Faces")
    DirCreate("Graphics/Parallaxes")
    DirCreate("Graphics/Pictures")
    DirCreate("Graphics/System")

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

    ;$old = 0
    $step = Ceiling(100/$line)

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

    While $line >= 1
    $datei = FileReadLine($file, $line)
    GUICtrlSetData($aktuelle_datei, $datei)
    $size_inet = InetGetSize("http://" & $url & "/" & $datei)
    $size_local = FileGetSize(@ScriptDir & $datei)
    GUICtrlSetData($size, Round($size_inet / 1024) & " KB")
    If $size_inet <> $size_local Then
    InetGet("http://" & $url & $datei, @ScriptDir & $datei, 1, 1)
    While 1
    $size_download = FileGetSize(@ScriptDir & $datei)
    ;$old = $size_download
    GUICtrlSetData($load, Round((($size_inet - $size_download) / 1024)) & " KB")
    ;GUICtrlSetData($speed, Round((($size_download - $size_inet) / 1024) / 1024) & " kb/s")
    ;~ $iPercent = Round($size_download / $size_inet * 100)
    $iPercent = (100 - $size_download / $size_inet * 100)
    GUICtrlSetData($Progress, $iPercent)
    Sleep($iDelay1)
    If $size_inet = $size_download Then
    ExitLoop
    EndIf

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

    WEnd
    Sleep($iDelay2)
    Else
    $datei = FileReadLine($file, $line)
    GUICtrlSetData($aktuelle_datei, $datei)
    GUICtrlSetData($size, "Aktuell")
    EndIf
    $line = $line - 1
    If $line = 0 Then
    GUICtrlSetData($aktuelle_datei, "")
    GUICtrlSetData($size, "")
    GUICtrlSetData($load, "")
    GUICtrlSetData($speed, "-")
    GUICtrlSetData($client_version, $new_version)
    GUICtrlSetStyle($Patch, $WS_DISABLED)
    GUICtrlSetStyle($Update, $WS_VISIBLE)
    GUICtrlSetStyle($Start, $WS_VISIBLE)
    EndIf

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

    ;~ GUICtrlSetData($Progress2, GUICtrlRead($Progress2) + $step)
    GUICtrlSetData($Progress2, 100 - $line / $line_max * 100)

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

    Sleep($iDelay1)
    WEnd
    FileDelete($file)
    EndFunc ;==>_patch

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

    Func _start()
    If FileExists(@ScriptDir & "\Game.exe") Then
    Run(@ScriptDir & "\Game.exe")
    ElseIf FileExists(@ScriptDir & "\Game.exe") Then
    Run(@ScriptDir & "\Game.exe")
    Else
    MsgBox(48, "Fehler", "Die Datei 'Game.exe' konnte nicht gefunden werden." & _
    @CRLF & "Prüfen Sie ob die Datei im selben Verzeichnis liegt.")
    EndIf

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

    EndFunc ;==>_start

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

    Func _update()
    $Msg = MsgBox(4, "Core Update", "Durch das Update wird die Anwendung neu gestartet." & _
    @CRLF & "Fortfahren?")
    If $Msg = 6 Then
    If FileExists(@ScriptDir & "\update.exe") Then
    Run(@ScriptDir & "\update.exe")
    Exit
    Else
    MsgBox(48, "Fehler", "Das Update konnte nicht durchgeführt werden." & _
    @CRLF & "Bitte wähle zuerst 'Patchen' im Menü!")
    EndIf
    EndIf
    EndFunc ;==>_update

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

    Func _SetDesign($ID)
    Switch $ID
    Case 1
    GUICtrlSetImage($Background, @TempDir & "\Design1.bmp")
    IniWrite(@ScriptDir & "\patch.ini", "design", "design", "1")

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

    Case Default
    GUICtrlSetImage($Background, @TempDir & "\Design1.bmp")
    EndSwitch
    EndFunc

    [/autoit]
  • "Patcher" lädt bestimmte Formate nicht

    • Pelix
    • 4. November 2013 um 16:17

    Hallo,

    seit einiger Zeit bastel ich an einem eigenen Spiel. Da es eine Online-Funktion hat, kann es in
    der Anfangszeit immer wieder zu kleinen Updates kommen. Aus diesem Grund habe ich mir einen
    simplen Patcher gebastelt der die Dateien prüft und ggf. neue runterlädt / ersetzt.

    Nur irgendwie scheint der Patcher bestimmte Dateiformate nicht zu laden. Anstatt diese herunter
    zu laden, kommt nur der Hinweis das die Datei aktuell ist. Dabei handelt es sich um eine *.ini
    und um das Format *.rvdata.

    Sollte dem Patcher nicht eigentlich egal sein was er runterlädt? Die Dateien stehen in einer *.txt
    auf dem Server und der Patcher prüft eine Datei nach der Anderen und lädt diese herunter.

    //EDIT: Wenn ich eine der *.rvdata Files in z.B. *.png umbenenne, wird dieser heruntergeladen....
    Ich versteh es einfach nicht :(

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™