Steam - Wie bekommt man Steam-Errungenschaften?
Ich versuchete schon einiges doch ich kann keine Errungenschaften bei Steam bekommen in meinem Spiel.
Ich habe diese Tastenabfrage-Funktion geschrieben die auch funktioniert hatte, als ich den Archivment Befehl mit einem Sound Effekt ausgetauscht hatte, das abgespielt werden sollte sobald ich die Taste "O" drücke. Um zu testen ob die Funktion überhaupt aufgerufen wird und überhaupt selber funktioniert.
Die Tastenabfrage mit dem Knopf "O" hatte prima funktioniert mit dem Sound aber den Befehl anstelle dem Sound, der das Archivment auslösen soll bei Steam ignoriert er einfach gekonnt wenn ich das Spiel bei Steam starte...
Hier ein Bild der Steamworks Erungenschaft "DevTest" die ich ja auch im unteren Bild im Code verwendet hatte:
Game Maker Studio 2 Code für die Freischaltung der Steam-Erungenschaft:
Die Tastenabfrage findet in einem "StepEvent" statt und nach dem Code, sollte ja eigentlich sobald die Taste "O" auf der Tastertur gedrückt wird. Die Erungenschafft ausgelöst werden bei Steam. Aber was habe ich falsch gemacht oder übersehen? Weil da überhaupt rein nichts mit Erungenschafften passiert in Steam...
2 Antworten
Sieht aus meiner Sicht eigentlich gut aus (wobei ich GameMakerStudio selbst nie verwendet hab, also ist meine Meinung vllt nicht sehr aussagekräftig).
Ein paar Überlegungen, die du testen könntest:
- Hat der Name des Achievements vielleicht versteckte Sonderzeichen (etwa ein unabsichtliches Leerzeichen), die du im Code nicht berücksichtigt hast?
- Besitzt du das Achievement bereits, sodass die if-Bedingung nicht erfüllt ist?
- Muss die Bedingung im if-Ausdruck vielleicht eingeklammert werden? Also:
if(!steam_get_achievement("DevTest")) steam_set_achievement("DevTest");
Du solltest einmal das Ergebnis von steam_get_achievement prüfen.
Anhand des Ergebnisses der Methode lässt sich möglicherweise ermitteln, ob die folgende Methode funktioniert oder nicht.
Es sind keine Bindestriche oder Leerzeilen im Ergebniswort namens: "DevTest" es hätte mir einfach sobald ich die Taste "O" drücke das Archivment "DevTest" überreichen sollen und die Funktion die dieses auslössen sollte hatte prima funktioniert als ich ein signalton in diesen Funktionsblock eingesetzt hatte der mir ein Geräusch übermittelt sobald ich "O" drücke und das tat es auch. Nur stimmt etwas nicht mit dem "steam_get_achievment" Befehl oder ich habe etwas außen vor gelassen in der Verknüpfung mit diesem Befehl mit Steam selbst...
ABER WAS NUR??
Geh noch einmal die in der Dokumentation aufgeführten Punkte durch.
https://docs.yoyogames.com/source/dadiospice/002_reference/steam%20api/index.html
Nutze auch die aufgeführten Testfunktionen, um das Problem weiter zu analysieren.
Sag doch worauf du hinaus willst