"Eine neue Vesion ist verfügbar" - Möglich?

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • "Eine neue Vesion ist verfügbar" - Möglich?

    Hallo Community,

    Im Moment beschäftige ich mich mit einem kleinen Hilfsprogramm. Also kein Spiel.

    Nun sollte es ab und zu Updates geben. Meine Frage ist nun, wie ich das hinbekomme, dass sich ein Fenster öffnet (wenn eine neue Version verfügbar ist), sobald ein Nutzer das Programm startet, welches dann fragt, ob die neue Version installiert werden soll.

    Außerdem weiß ich nicht, wie ich das hinbekomme, dass ich neue Versionen losschicken kann.


    Falls jemand versteht, was ich meine, würde ich mich über Hilfe sehr freuen.

    Schonmal vielen Dank im Vorraus.
  • Als erstes brauchst du einen Webspace (bplaced wär z.B. was kostenloses), auf den Packst du dann eine current_ver.txt (oder so).
    Da rein schreibst du dann deine aktuelle Version deines Spiels.

    Im Spiel musst du dann nur noch die Datei runterladen und auswerten (z.B. mit der HTTP DLL von Bl@cksp@rck).

    GML-Quellcode

    1. global.ver = "1.0"; // Aktuelle Version des Spiels/Programmes
    2. global.new_ver = "1.1"; // Angenommen, du hast diesen String mit der HTTP DLL geladen.
    3. if(global.ver != global.new_ver){
    4. show_message("Neue Version verfügbar!"); // Du kannst natürlich hinschreiben, was du willst.
    5. }


    Und zu den Downloads: Die HTTP DLL unterstützt Downloads jeden Dateityps.

    -Tobi97
  • Wenn ich dich jetzt richtig verstehe muss ich ja die Datei schon im Programm benennen (also vesion 1, 1.1, usw.)

    Oder?

    Also ich bin nicht grad der schnell Versteher...

    auf bplaced lade ich also immer die neueste datei hoch?!

    darauf greift dann das programm zu. sollte da nun eine neue version sein, fragt er, ob sie installiert werden soll.


    richtig?
  • OK.

    So weit, so gut.

    Greift jetzt das Spiel vorher also immer auf Internet zu, richtig?

    Und noch was: Ich erklär es mal an einem Beispiel


    Nutzer1 hat Version 1.0 heruntergeladen. (was muss ich in dieser Version wo hinschreiben als Script?)

    Ich lade auf bplaced Version 1.1 hoch. Oder was lade ich da hoch?

    Nutzer1 klickt auf aktualisieren und Version 1.1 wird heruntergeladen.




    Ich glaub ich brauch da noch etwas hilfe..... Ich versteh es einfach nicht... :heul:
  • koggendampf schrieb:

    Nutzer1 hat Version 1.0 heruntergeladen. (was muss ich in dieser Version wo hinschreiben als Script?)
    Nichts.
    Du musst einfach da eine Textdatei vorher herunterladen, die die Version erhält.
    Daran testest du, ob du die aktuellste version hast oder nicht. Wenn nicht, dann lädst du das Spiel runter.
    (kleiner tipp: Machs am besten mit einem Patcher der sich vor das Spiel schaltet. Etwa so:
    Verknüpfung->Patcher->Spiel)

    koggendampf schrieb:

    Ich lade auf bplaced Version 1.1 hoch. Oder was lade ich da hoch?
    Ja fast. Du lädst die Version 1.1 mit einer neuen Textdatei hoch, die die Information entält, dass es V1.1 ist.

    koggendampf schrieb:

    Nutzer1 klickt auf aktualisieren und Version 1.1 wird heruntergeladen.
    entweder so, oder wie oben beschrieben mit dem Patcher, der Automatisch läuft.

    du hast also im endeffekt zwei naheliegende Möglichkeiten:
    Wie Metin2 einen Patcher, der vorher läuft
    Oder Minecraft bei dem per eingebauter Webseite gesagt wird dass eine neue Version da ist, und ein Aktualisationsbutton
    ////////////////////////////////////////////////////////////////////////////////////////////////
  • Achso,

    also lädt das Programm immer diese Textdatei runter. Wenn jetzt eine neue Version verfügbar ist wird aktualisiert.

    Gut, wenn ich mal wieder Zeit habe werde ich das mal testen.
    Ich brauch aber sicherlich noch Hilfe.....
  • Hallo,

    ich hab jetzt ersteinmal ein Test-"Spiel" erstellt, um Updates zu testen und bplaced zu testen.

    Ich komm aber nicht mit bplaced klar ;( . Kann mir bitte jemand erklären, wo ich da die Textdatei hochladen muss, von der dann die Version abgefragt wird!?


    Ich hatte mir auch mal "InstallForge" angesehen. Das gefällt mir eigentlich ziemlich gut als Setup.
    Nun sah ich, dass dieses Programm auch einen Updater integriert hat.
    Leider komm ich damit auch nicht klar...Ich steh im Moment sowieso etwas auf dem Schlauch.....

    Hat damit schon jemand Erfahrungen gemacht und weiß wie es geht?


    Ich sag dann schonmal Danke! ^^ ^^
  • Also so ganz verstehe ich das jetzt leider nicht...

    Nochmal als Erklärung:

    Ich möchte darüber dann Updates machen.

    Wo hinterlege ich da jetzt die Textdatei?

    Gibts vielleicht doch noch jemanden, der sich InstallForge schonmal angesehen hat?
  • koggendampf schrieb:

    Gibts vielleicht doch noch jemanden, der sich InstallForge schonmal angesehen hat?

    Lass das mit "InstallForge" lieber.
    Installer bei GM - Spielen sind nicht gerne gesehen, da sie teilweise nur Müll in die Registry schreiben. ( außerdem sehe ich auf der Seite des Herstellers keine "Auto Update" - Funktion )

    Tu es stattdessen wie Moolt es bereits sagte.
    Besorg dir einen FTP-Client ( FileZilla ist glaub ich der bekannteste ) und connecte dann über Datei -> Servermanager -> neuer Server zu deinem Bplaced Server, indem du bei Server deinserver.bplaced.net eingibst und bei Benutzer/Passwort deine Bplaced Daten angibst.
    Anschließend packst du dann deine txt Datei auf den Server und fertig. ( Du kannst dann über deinen Browser über %deinserver%.bplaced.net/%unterverzeichnis%/text.txt darauf zugreifen ).

    In diese Textdatei schreibst du dann z.B. folgendes:

    Quellcode

    1. 1.01
    2. bla.exe
    3. wichtig.png
    4. ...

    Die erste Zeile ist dabei die aktuelle Version.
    Alle Zeilen untendrunter sind die Dateien, die gedownloaded werden müssen.

    Um das ganze dann im Spiel zu überprüfen, lädst du einfach die Datei ( z.B. mit der GM HTTP DLL von Bl@ckSp@rk ) herunter und prüfst, ob die erste Zeile mit der aktuellen Version übereinstimmt.
    Tut sie dies nicht, lädst du alle benötigten Dateien herunter und fertig.
    ( Kleiner Tipp am Rande: Die exe kannst du während der Laufzeit nicht überschrieben! )

    PS: Ich hoffe, ich konnte etwas helfen.

    - Tobi97
  • Hallo Tobi97,

    das hat mir geholfen, ich seh mir das gleich mal an! Danke!

    Aber InstallForge hat nen Updater download.forgesoft.net/?i=FSUHelpGER (Hier mal die Hilfe Datei dazu)

    Und nen Installer hät ich doch gern gehabt... Naja, ich werd mal gucken, ob es etwas an dem Programm selbst ändert.



    MfG

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von koggendampf ()

  • Entschuldigung das ich hier so reinplatze aber ich möchte auch sowas machen und ich habe auch schon ein bplaced Account und Filezilla nur wenn ich über Filezilla mich mit meinem Server verbinden will gibt es Probleme.
    Deshalb habe ich ein paar Fragen:
    1. Bei Verbindungsart muss ich doch "Normal" nehmen, oder?

    2.Copyboy hat geschrieben das ich bei Server das reinschreiben soll "deinserver.bplaced.net" aber soll ich genau das schreiben,
    oder das "deinserver" ersetzen durch etwas und wenn ja woher weiß ich wodurch ich es ersetzen soll?


    3. So jezt habe ich das 2te Problem gelöst nur jezt wartet Filezilla auf eine Wilkommensnachricht wie kann ich diese einstellen weil sonst kann er nicht verbinden

    Das wars mfg Rohkar
    Edit: Habe eine Frage hinzugefügt (Und eine Entfernt)
    Edit2: So alles gelöst jezt habe ich aber noch mehr Probleme nähmlich mit der dll den in der Hilfe stehen funktionen die es in der extention garnicht gibt. 8|

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Rohkar ()

  • OK,

    sorry, ich wusste was ich meine :D .
    Also ich habe die .dll, die .pdf und die .gml Datei (also Alles) in GameMaker 8/ Examples(also da, wo meine .gmk Dateien sind) kopiert. Oder war das doch der falsche Ordner?

    Naja, auf jeden Fall erkennt er die Funktionen nicht im Game Maker. Also z.b. http_init().


    Hoffe ist jetzt leichter verständlich.

    Schonmal Danke!
  • Funktioniert in Vers. 8 immer noch so ;)

    Hat wunderbar geklappt! :thumbsup: :thumbsup:

    Noch ein Prob :thumbdown: :

    GML-Quellcode

    1. ___________________________________________
    2. ERROR in
    3. action number 1
    4. of Mouse Event for Left Pressed
    5. for object test/update:
    6. In script Update.http:
    7. Error in code at line 3:
    8. http_request(koggendampf.bplaced.net,currentversion.ini );
    9. ^
    10. at position 15: Unknown variable koggendampf
    Alles anzeigen


    http erkennt er erstmal. Gebe ich dann aber den server an, wie es in der help.pdf Datei verlangt wird (ohne www.) fasst er den ersten Teil als Code auf und erkennt ihn natürlich nicht....

    Was kann ich jetzt machen? Bei anderen funktioniert es doch auch....

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von koggendampf ()

  • stimmt, vielen Dank!

    Jetzt funktioniert alles!

    Jetzt stellt sich (für mich) aber das nächste Prob:

    Tobi97 hat geschrieben:

    GML-Quellcode

    1. global.ver = "1.0"; // Aktuelle Version des Spiels/Programmes
    2. global.new_ver = "1.1"; // Angenommen, du hast diesen String mit der HTTP DLL geladen.
    3. if(global.ver != global.new_ver){
    4. show_message("Neue Version verfügbar!"); // Du kannst natürlich hinschreiben, was du willst.
    5. }


    Hab auch alles befolgt, lade die neue Version (txt) auch schon runter und er zeigt schon an, das eine neue vers verfügbar ist.

    Nun weiß ich nur nicht, wie ich den Text aus der .txt Datei hinter global.new_ver = bringe...
    Er kommt immer mit einem Fehler, dass er es nicht kennt, auch wenn ich "" setze.

    I>ch weiß echt nicht weiter, steh total aufm Schlauch....