Online Highscore System

    • Dll

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

    • Lösche mal alle Dateien im Ordner "table" und erstelle die Tabellen neu. Tritt der Fehler dann immer noch auf?

      Wenn ja, kannst du als Notlösung immer noch die Zeile 602 in der Datei "function.php" auskommentieren oder löschen. Eigentlich sollte dies aber nicht nötig sein, da die Tabellendateien ja von dem script selber erstellt werden und es somit Eigentümer sein sollte.
    • Hi BlackSpark

      Ich habe ein klein Problem mit dem Laden der Tabelle.
      Nachdem ich deine Daten auf meine Webspace gespeichert habe, habe ich natürlich gleich eine Tabelle für mein Spiel erstellt.
      Jetzt habe ich mal dein Example gestartet. Noch meine Daten Daten in dein Exampel eingetragen

      GML-Quellcode

      1. ohs_init();
      2. ohs_set_url("**************.net","/Game Maker/php");
      3. ohs_set_password("n8TrgK56");
      4. ohs_set_table("Beispiel");


      und das Beispiel gestartet.
      Nach einer kurzen Zeit kommt die Fehlermelder "Fehler beim Laden der Tabelle".
      Habe natürlich meine Firewall vom Windowssystem auf den Game Maker eingestellt.
      Jetzt habe ich natürlich mich hier eingelesen aber nichts gefunden. Bei allen funzt es ohne Problem.
      Ergo muss der Fehler irgendwo in meinen System liegen. Hab seit Tagen es immer wieder probiert, aber es ist zum Haare ausreisen. Hast du vielleicht noch einen Tipp was ich noch einstellen kann damit funzt.

      Gruss
      Drachen :)
    • Du musst darauf achten, dass die URL auch entsprechend kodiert ist: URL-Encoding

      In deinem Fall muss das Leerzeichen durch %20 ersetzt werden.

      GML-Quellcode

      1. ohs_set_url("**************.net","/Game%20Maker/php");

      Um solche unschönen URLs zu vermeiden, ist es eigentlich immer empfehlenswert in Ordner- und Dateinamen keine Sonderzeichen zu verwenden. Beispielsweise könnte man das Leerzeichen durch einen Unterstrich ersetzen oder gar ganz weglassen.
    • Hi BlackSpark

      Habe deinen Rat befolgt. Leider hat hat es nicht geklappt.
      GM bracht zwar jetzt länger um die Tabelle zu laden, (was meine Hoffnung beflügelt das es klappt) , aber nach kurzer Zeit kommt die Fehlermeldung immer noch.
      Habe darauf hin mein Verzeichnis auf den Server umbenannt in GM und selbst der Tabellenname habe ich verkürzt. Aber all das hat nicht geholfen.
      Da ist man so lange lange mit dieser Technik vertraut (man Glaubt es zumind.) aber sowas ist um aus der Haut zu fahren.
      Das erinnert mich immer wieder an einen Spruch " Hope and Pray " das es klappt.
      Ich hoff das du noch einen Rat weist.

      Gruss Drachen
    • Häng' mal an die URL ein "/submit.php" an, also in deinem Beispiel

      Quellcode

      1. http://**************.net/Game%20Maker/php/submit.php

      Gib sie im Browser ein und sag mir mal was dort ausgegeben wird. Es sollte lediglich "03" ausgegeben werden. Wenn nicht, dann liegt die "submit.php" nicht in dem Ordner in dem sie liegen sollte. In dem Fall einfach nochmal den Ordner hochladen und vergewissern, dass alles geklappt hat.
    • Ich habe es mir mal angeschaut und bei mir funktioniert es ohne Probleme. Wie ich deinem Profil entnehmen kann, verwendest du GM Version 8.1. Hast du davon die aktuellste Version? Falls sie vor 8.1.106 liegt, könnte es an dem einen Bug liegen, den es bis zu dieser Version bei DLLs gab. Wenn das der Fall ist hilft nur updaten. Andernfalls wird es wohl höchstwahrscheinlich an deiner Internetverbindung liegen.
    • Hi BlackSpark

      Vielen Dank für deine Mühe. Ok werde mal nach dem Update von GM 8.1 schauen. Aber ich vermute das es meiner Internetverbindung liegt.
      Aber es ist gut zu wissen das es bei dir funzt.

      Gruss
      Drachen :thumbsup:

      ==========================================================================================================================
      Nachtrag:

      Also bei mir lag es wirklich an der Game Maker Version. Ich hatte die Version 8.1.65.
      Jetzt habe ich die Version 8.1.135 und es funzt ohne Probleme.

      Danke BlackSpark für deinen Tip :thumbsup: :thumbsup: :thumbsup:

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Drachen ()

    • :thumbsup: Danke. :thumbsup:

      Hab dir nen Credit geschrieben im Game Pikslar. Echt einfach zu handhaben!



      Danke danke danke!!



      Gruss Wildor
      Aktuelles Game: "Pikslar" mit Online Hiscore





      PS: Will mit dieser Frage mal fragen, ob jemand zur zeit, Zeit hat. Suche Grafiker/Pixler










    • Hallo Blackspark!

      Ich benutze nun auch dein ohs-System, nach einigem Hin und Her habe ich auch soweit alles zum Laufen bekommen, und finde die dll auch absolut genial, nur habe ich ein kleines Problem:

      Nachdem man sich in die Highscore eingetragen hat, wird das Spiel neu gestartet.
      Aber trotzdem verrutscht immer etwas beim draw_text des levelcontrollers.
      (In den Leveln habe ich die Draw-Events in einem anderen Objekt als das ohs-System, die Highscore wird in einem separaten Raum angezeigt, wo außer dem obj_ohs nichts anderes im Raum ist).

      Ich verstehe einfach nicht woran das liegt, da obj_ohs wirklich nur unwesentlich verändert wurde.
      Hast du irgendeine Idee?

      Zur Veranschaulichung:
      1. Beim Spielstart ist alles ganz normal:


      2. Nach dem Aufrufen der Highscore:
    • Sorry für Doppelpost ...
      Ich habe mal wieder eine Frage:

      Und zwar will ich die Platzierung abfragen, aber irgendwie funktioniert es nicht mit "ohs_get_position()".
      Kann man die Variable nur einmal nutzen?

      Ich habe auch schon probiert ohs_get_position() in eine Variable abzuspeichern, ging auch nicht.

      Im Endeffekt will ich die zuletzt erreichte Platzierung mit einem farbigen Rahmen hinterlegen,
      das würde auch funktionieren, wenn ich die Platzierung abrufen könnte - also ich brauche nur die eine Platzierungsvariable die korrekt funktioniert, dann sollte es gehen.

      Im Debug-Modus wird mir die besagte Variable mit einem lächerlich hohen Wert angezeigt (irgendwas 434983982 oder so ähnlich).

      Please, help ?(

      Hier ein Auszug aus dem Code:

      GML-Quellcode

      1. if (ohs_get_position() == i) {
      2. draw_set_color($77aacc);
      3. } else {
      4. draw_set_color($0099cc);
      5. }
      6. for (j = 0; j < ohs_table_columns(); j += 1) {
      7. draw_text(pos+col_width[j]/2+16,149+30*i,ohs_table_get(j,i));
      8. pos += col_width[j];
      9. }
      10. }
      11. }
      12. if (ohs_ok)
      13. {
      14. //draw title "online hall of fame"
      15. draw_set_color($006688)
      16. draw_set_font(font_ohs_big)
      17. draw_text(room_width/2,64,"Online Hall of Fame")
      18. //draw rectangle at current score-position
      19. draw_set_color($00ccff)
      20. draw_rectangle(38,106+30*ohs_get_position(),view_wview-38,131+30*ohs_get_position(),1)
      21. }
      Alles anzeigen
    • Im Debug-Modus wird mir die besagte Variable mit einem lächerlich hohen Wert angezeigt (irgendwas 434983982 oder so ähnlich).

      Ja, dass dort so eine große Zahl zurückgegeben wurde, ist tatsächlich ein Bug, der aber einfach zu beheben war (statt dieser großen Zahl sollte laut Anleitung -1 zurückgegeben werden). Ich habe die neue Version schon hochgeladen. Neben diesem Fehler wurden auch noch andere kleinere Sachen behoben, die sich so im Laufe der Zeit angesammelt hatten.

      Und zwar will ich die Platzierung abfragen, aber irgendwie funktioniert es nicht mit "ohs_get_position()".
      Kann man die Variable nur einmal nutzen?

      Diese Funktion bezieht sich immer auf den letzten Aufruf von ohs_table_update, unabhängig davon, ob die Tabelle nur abgerufen wurd oder auch ein neuer Eintrag gesendet wurde. Das hat auch einen ganz einfachen Grund: Ruft man ohs_table_update später nochmal auf, so kann sich die Tabelle ja mittlerweile schon wieder verändert haben, sodass ohs_get_position einen falschen Platz liefern würde. Wenn du aber z.B. einfach nur den besten Eintrag markieren willst, den ein Spieler mit einem bestimmten Namen erzielt hat, dann kannst du das ja auch einfach selber machen, indem du die Liste von oben nach unten durchläufst. Man sollte aber beachte, dass das dann nichts mehr mit der Funktion ohs_get_position zu tun hat, da diese Funktion genau den Eintrag angibt, der hinzugefügt wurde, selbst wenn der selbe Spieler schon einen besseren Platz erzielt hatte.
    • Ich habe die neue Version schon hochgeladen. Neben diesem Fehler wurden
      auch noch andere kleinere Sachen behoben, die sich so im Laufe der Zeit
      angesammelt hatten.
      Schon aktualisiert. Vielen Dank! :)
      Wenn du aber z.B. einfach nur den besten Eintrag markieren willst, den
      ein Spieler mit einem bestimmten Namen erzielt hat, dann kannst du das
      ja auch einfach selber machen, indem du die Liste von oben nach unten
      durchläufst.
      Ich sehe schon, über kurz oder lang werde ich nicht hinwegkommen mich in Arrays mal einzuarbeiten.^^
      Wird ohnehin langsam Zeit ... dann mache ich bei dem Spiel mal später ein Update.

      Danke nochmals für die Mühe!
    • Erstmal nochmal vielen Dank für das System, nutze es ja nach wie vor in fast allen Projekten.
      Aber habe mir heute das GMS-Upgrade gegönnt... und leider scheint das OHS nicht kompatibel zu sein.
      Da für mein in Arbeit befindliches Projekt eine Highscore sehr wichtig ist, wollte ich mal fragen ob noch weiter daran gearbeitet wird.
    • Benutzer online 1

      1 Besucher