Verbindung mit Internet

  • GM 6

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

  • Verbindung mit Internet

    Hey,
    Gibt es im Gm6 die Möglichkeit das Spiel mit dem Internet zu erbinden um Daten zu holen und diese im Spiel auszugeben?
    Nehmen wir an, ich möchte eine Versionsanzeige im Spiel mit einbauen, sodass, wenn eine neue Version des Spieles vorhanden ist eine Ampel im Programm auf Grün springt. Wenn noch keine neue Version im Netz ist, soll die Lampe logischerweise auf Rot stehen bleiben.
    Ich hätte mir das so vorgestellt, dass ein Befehl vom Spiel ausgeht zu einer Internetadresse. Dort kann ich dann einstellen "OK". (IF) Wenn also "OK", dann Grün, (else) ansonsten rot.

    In der Doku habe ich schon nachgeschaut, dort steht nur etwas mit Highscores, was ich hier aber nicht brauche. Ansonsten habe ich nichts gefunden. Auch die Suche spuckt nichts aus.
    Gibt es in GML die Möglichkeit soetwas zu realisieren oder müsen da .dll's her?
  • Also wenn du die 39dll benutzt kannst du ein Skript machen, das den Inhalt einer Datei von einem Webserver zurückgibt:

    GML-Quellcode

    1. var tcp,newline,txt;
    2. // Verbinden ...
    3. tcp = tcpconnect("deineseite.de", 80, 0);
    4. if (!tcp) exit;
    5. newline = chr(13) + chr(10);
    6. clearbuffer();
    7. setformat(tcp, 1, chr(10) + chr(13) + chr(10));
    8. // ... Informationen senden ...
    9. writechars("GET /deinedatei.txt HTTP/1.0" + newline);
    10. writechars("Host: deineseite.de" + newline);
    11. writechars("User-Agent: Game Maker" + newline);
    12. sendmessage(tcp);
    13. // ... Header (unwichtig) lesen und ignorieren ...
    14. receivemessage(tcp);
    15. // ... eigentlichen Inhalt Stück für Stück auslesen ...
    16. txt = "";
    17. receivemessage(tcp,6000);
    18. while (bytesleft()) {
    19. txt += readchars(bytesleft());
    20. receivemessage(tcp,6000);
    21. }
    22. closesocket(tcp);
    23. // ... und ausgeben:
    24. return txt;
    Alles anzeigen