{"id":173,"date":"2017-03-14T18:10:39","date_gmt":"2017-03-14T16:10:39","guid":{"rendered":"http:\/\/martin.guenzel-ag.de\/?p=173"},"modified":"2017-03-14T18:25:23","modified_gmt":"2017-03-14T16:25:23","slug":"speichercodes","status":"publish","type":"post","link":"https:\/\/martin.guenzel-ag.de\/?p=173","title":{"rendered":"Speichercodes"},"content":{"rendered":"<h2>Was sind Speichercodes?<\/h2>\n<p>Die Idee mit den Speichercodes stammt von keogarl und ist als erstes in seinem Wherigo paranoia@night realisiert worden. Dort war das Ganze als Defibrillator betittelt und half den Spielern nach Komplettabst\u00fcrzen\u00a0wieder an der richtigen Stelle im Spiel weiterzuspielen.<\/p>\n<p>Speichercodes bestehen aus einer mehrstelligen Zahl, enthalten den aktuellen Spielstand und sind auf allen Ger\u00e4ten gleich. Man kann\u00a0sie nutzen um z.b. ein abgest\u00fcrztes Ger\u00e4t wieder auf den selben Stand wie ein anderes zu bekommen. Oder wenn bei einem Ger\u00e4t der Akku leer geht und man\u00a0auf einem anderem Ger\u00e4t weiterspielen will. Im Inventar befindet sich das Speichercode Men\u00fc, wo man\u00a0die Codes abfragen oder eingeben kann. Spielt man\u00a0mit nur einem Ger\u00e4t, w\u00e4hlt man das am Anfang aus und man\u00a0bekommt immer mitgeteilt, wenn sich der Code \u00e4ndert, sodass man\u00a0ihn auf Papier mitschreiben kann. Aber auch f\u00fcr Owner oder Wartungsteams sind Speichercodes eine praktische Sache. Man muss nicht den Wherigo immer von Anfang spielen, sondern kann an beliebiger Stelle im Spiel einsteigen, zwischen verschiedenen Abschnitten hin und herspringen oder einzelne Bereiche im Spiel mehrmals spielen.<\/p>\n<p>Im folgenden eine kleine Anleitung zu Einbindung des Speichercode-Systems in Wherigo Cartridges mit Urwigo.<\/p>\n<h2>Wie funktioniert\u00a0das\u00a0Speichercode-System?<\/h2>\n<p>Wenn man so ein System in seinen Wherigo einbauen will, sollte man am besten von Anfang an auf bestimmte Sachen achten.\u00a0Prinzipiell teilt man seinen Wherigo in mehrere Speichercodeabschnitte\/Level ein, wie bei einem Computerspiel. Jedes Level enth\u00e4lt dabei eine andere\u00a0Zahl, den sogenannten Speichercode. Bei meinen Wherigos\u00a0sind diese Speichercodes sechsstellig und\u00a0absolut zuf\u00e4llig generiert. Zwischen den einzelnen Leveln findet\u00a0allerdings keine Unterbrechung statt. Der Spielfluss geht einfach wie gehabt weiter.<\/p>\n<p>Wichtig f\u00fcr den Programmierer zu wissen ist, welche Zonen, Items und Tasks\u00a0am <strong>Anfang<\/strong>\u00a0jedes Levels aktiv sind. Jedes mal wenn sich ein Level\/Speichercode \u00e4ndert &#8211; egal ob regul\u00e4r im Spiel oder per manueller Speichercodeeingabe &#8211; wird erstmal alles inaktiv gemacht. Dabei wird eine Funktion aufgerufen, welche ein LUA-Skript enth\u00e4lt. Dieses Skript macht nichts anderes, wie alle Zonen, Items und Aufgaben in einer Schleife durchzulaufen und sie auf \u201einactive\u201c zu stellen. Das Ergebnis ist ein komplett leerer Wherigoplayer. Das hat denn Sinn, dass alles was vor dem\u00a0Absturz oder vorherigen Level war jetzt weg ist. Das kann auch Fehler in der Programmierung oder im Player ausb\u00fcgeln, wenn eine Zone, Item oder Task mal au\u00dfversehen nicht deaktiviert wurde.<\/p>\n<p>Jetzt wird die wichtigste Funktion aufgerufen.\u00a0In dieser Funktion wird festgelegt\u00a0bei welchem Speichercode, welche Zone, welches Item und welcher Task aktiviert wird. Diese Funktion wird sowohl bei einer manuellen Speichercode-Eingabe vom Spieler als auch beim regul\u00e4ren Spielverlauf aufgerufen. Dies hat den Vorteil, dass man nur einmal im Wherigo festlegen muss, welche Dinge am Anfang eines neuen Speichercode Abschnitts aktiv sind.<\/p>\n<p>Ab hier kann man ganz regul\u00e4r innerhalb der Zonen, Gegenst\u00e4nde usw&#8230; weiter programmieren, wie man es sonst auch immer macht. Es k\u00f6nnen innerhalb der Level nat\u00fcrlich auch neue Zonen, Gegenst\u00e4nde oder Aufgaben aktiviert werden. Wenn es allerdings einen Absturz gibt, landet man nat\u00fcrlich immer am Anfang des Levels\/Speichercodeabschnitt. Ich habe immer darauf geachtet, dass immer bei langen physischen Wegen zwischen den Stages ein neues Level beginnt, damit man bei einem Absturz nicht zur\u00fccklaufen muss und kein Frust bei den Spielern entsteht. Vorausgesetzt nat\u00fcrlich der aktuelle Speichercode ist bekannt oder wird bei einem anderen Spieler ausgelesen.<\/p>\n<p>Im Prinzip beschr\u00e4nkt sich die Einbindung des Speichercodes-System auf das Erstellen zwei zentraler Funktionen, drei\u00a0Variablen, einen Input und das Speichercode-Men\u00fc Item im Inventar.<\/p>\n<h2>Wie binde ich das Speichercode-System ein?<\/h2>\n<h3>1. Variablen und Funktionen<\/h3>\n<p>Als erstes legen wir drei Variablen an:<\/p>\n<p><strong>Speichercode<\/strong><br \/>\ntype: value<br \/>\nvalue: 0<br \/>\nDiese Variable enth\u00e4lt den aktuellen Speichercode. Sie wird im regul\u00e4ren Spielverlauf an der entscheidenen Stelle bzw beim Beginn eines neuen Levels auf die neue Nummer gesetzt.<\/p>\n<p><strong>SpeichercodeAbfrage<\/strong><br \/>\ntype: value<br \/>\nvalue: 0<br \/>\nDiese Variable dient als Zwischenspeicher, wenn eine manuelle Speichercodeeingabe im Men\u00fc erfolgt. Der aktuelle Speichercode wird in dieser Variable zwischengespeichert und der vom Spieler eingegebene Code durchl\u00e4uft die changeLevel Funktion. Falls die Nummer vom Spieler falsch ist, wird in der changeLevel Funktion die Speichercode Variable wieder auf die SpeichercodeAbfrage Variable gesetzt. Somit geht bei einer falschen Eingabe der aktuelle g\u00fcltige Speichercode nicht verloren.<\/p>\n<p><strong>Einzelspieler<\/strong><br \/>\ntype: flag<br \/>\nvalue: false<br \/>\nWie schon erw\u00e4hnt, kann man am Anfang des Spiels ausw\u00e4hlen, ob man alleine oder im Team spielt. Diese Einstellung wird in dieser\u00a0Variable gespeichert. Falls man alleine unterwegs ist, wird dem Spieler immer per Message mitgeteilt, wenn sich der Speichercode \u00e4ndert. Die Variable wird dann auf true gesetzt.<\/p>\n<p><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_15_40_30.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-182\" src=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_15_40_30.png\" alt=\"VirtualBox_Windows_14_03_2017_15_40_30\" width=\"420\" height=\"185\" srcset=\"https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_15_40_30.png 420w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_15_40_30-300x132.png 300w\" sizes=\"(max-width: 420px) 100vw, 420px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Jetzt zu den Funktionen:<\/p>\n<p><strong>resetAll<\/strong><\/p>\n<p>Diese Funktion deaktiviert in erster Linie alle Zone, Items und Tasks \u00fcber das LUA-Skript. Au\u00dferdem beinhaltet sie die\u00a0Ansage des neuen Speichercodes im Einzelspielermodus. Das bietet sich an, da resetAll immer aufgerufen wird, wenn es eine Level\u00e4nderung gibt <strong>und<\/strong> der neue Speichercode g\u00fcltig ist. Sie sieht in etwa so aus:<\/p>\n<p><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_00_58.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-183\" src=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_00_58.png\" alt=\"speichercode4\" width=\"718\" height=\"493\" srcset=\"https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_00_58.png 718w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_00_58-300x206.png 300w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_00_58-624x428.png 624w\" sizes=\"(max-width: 718px) 100vw, 718px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>changeLevel<\/strong><\/p>\n<p>Wie schon erw\u00e4hnt ist dies die wichtigste Funktion des Speichercode-Systems.\u00a0Bei der Programmierung der Cartridge muss diese Funktion nat\u00fcrlich immer erweitert und bearbeitet werden, da sie ja die Speichercodeabschnitte festlegt. Dabei kann man die einzelnen If-Bl\u00f6cke einfach kopieren und einf\u00fcgen. Hier ist auch im Else-Block der Fall behandelt, wenn es zu einer falschen Speichercodeeingabe kommt.<\/p>\n<p><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_23_48.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-184\" src=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_23_48.png\" alt=\"VirtualBox_Windows_13_03_2017_22_23_48\" width=\"686\" height=\"454\" srcset=\"https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_23_48.png 686w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_23_48-300x199.png 300w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_23_48-624x413.png 624w\" sizes=\"(max-width: 686px) 100vw, 686px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>2. LUA-Funktion<\/h3>\n<p>Es macht \u00fcberhaupt nichts, wenn man noch nie mit LUA-Skripten im Wherigo gearbeitet hat. Alle LUA-Funktionen werden einmal zentral eingegeben und dann per dem &#8222;Lua User code&#8220; aufgerufen. Die LUA-Funktionen findet man im Men\u00fc View\/Lua user functions:<\/p>\n<p><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_25_30.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-177\" src=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_25_30.png\" alt=\"speichercodes1\" width=\"284\" height=\"323\" srcset=\"https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_25_30.png 284w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_25_30-264x300.png 264w\" sizes=\"(max-width: 284px) 100vw, 284px\" \/><\/a><\/p>\n<p>Es erscheint ein leeres Textfeld \u00fcber die komplette Seite. Hier muss man folgendes LUA-Skript eingeben:<\/p>\n<p style=\"padding-left: 30px;\"><span style=\"color: #0000ff;\"><em>function DeactivateAll()<br \/>\n<\/em><em>for k,v in ipairs(cartridge.AllZObjects) do<br \/>\n<\/em><em>if tostring(v) == &#8222;a Zone instance&#8220; or tostring(v) == &#8222;a ZTask instance&#8220; then<br \/>\n<\/em><em>v.Active = false<br \/>\n<\/em><em>end;<br \/>\n<\/em><em>if tostring(v) == &#8222;a ZItem instance&#8220; and v.Name ~= speichercodemenu.Name then<br \/>\n<\/em><em>v.Visible = false<br \/>\n<\/em><em>end;<br \/>\n<\/em><em>end<br \/>\n<\/em><em>end<\/em><\/span><\/p>\n<p>Wie schon erw\u00e4hnt ist dies der Code, der alle Zonen, Tasks und Items deaktiviert. Er wird in der resetAll Funktion ausgef\u00fchrt. Eine kurze Erkl\u00e4rung zum Skript:\u00a0Es werden alle Objekte der Cartridge ausgelesen und nacheinander abgefragt. Handelt es sich um eine Zone oder Task, werden diese deaktiviert (siehe Zeile 3,4 und 5). In Zeile 6,7 und 8 werden alles\u00a0Items bis auf das Speichercode-Men\u00fc versteckt. Das ist nat\u00fcrlich ziemlich wichtig, sonst w\u00fcrde\u00a0nach dem ersten Level-Wechsel das Speichercode-Men\u00fc auch deaktiviert\/versteckt werden.<\/p>\n<p>Ganz wichtig ist noch, dass wir die LUA-Identifier f\u00fcr die komplette Cartridge eingeben. Urwigo legt diese Namen normalerweise automatisch fest. Da wir aber im Skript die Wherigo-Cartridge mit\u00a0<em>cartridge.AllZObjects<\/em> ansprechen, muss der Identifier\u00a0der Cartridge mit\u00a0&#8222;cartrige&#8220; festgelegt werden:<\/p>\n<p><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_21_28.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-178\" src=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_21_28.png\" alt=\"speichercodes2\" width=\"377\" height=\"272\" srcset=\"https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_21_28.png 377w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_13_03_2017_22_21_28-300x216.png 300w\" sizes=\"(max-width: 377px) 100vw, 377px\" \/><\/a><\/p>\n<p>Im Anschluss\u00a0m\u00fcssen wir dann auch den Identifier f\u00fcr das Speichercode-Men\u00fc-Item mit &#8222;speichercodemenu&#8220; festlegen.<\/p>\n<p>&nbsp;<\/p>\n<h3>\u00a03. Speichercodemen\u00fc<\/h3>\n<p>F\u00fcr das Speichercodemen\u00fc brauchen wir nat\u00fcrlich ein so betiteltes Item mit einer kleinen Beschreibung und zwei Commands.\u00a0Bitte nicht vergessen den Identifier auf &#8222;speichercodemenu&#8220; zu setzen.<\/p>\n<p><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_58_45.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-191\" src=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_58_45.png\" alt=\"speichercode10\" width=\"416\" height=\"689\" srcset=\"https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_58_45.png 416w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_58_45-181x300.png 181w\" sizes=\"(max-width: 416px) 100vw, 416px\" \/><\/a><\/p>\n<p>Die zwei Commands im Speichercodemen\u00fc sind denkbar einfach. F\u00fcr den Command &#8222;Speichercode eingeben&#8220; muss nat\u00fcrlich ein Input angelegt werden. Hier die Programmierung f\u00fcr &#8222;Speichercode abfragen&#8220;:<\/p>\n<p><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_26_17.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-187\" src=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_26_17.png\" alt=\"speichercode7\" width=\"354\" height=\"204\" srcset=\"https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_26_17.png 354w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_26_17-300x173.png 300w\" sizes=\"(max-width: 354px) 100vw, 354px\" \/><\/a><\/p>\n<p>Unter &#8222;Speichercode eingeben&#8220; befindet sich nur der Aufruf des Inputs:<\/p>\n<p><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_29_00.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-188\" src=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_29_00.png\" alt=\"speichercode8\" width=\"192\" height=\"134\" \/><\/a><\/p>\n<p>Hier die Einstellungen und die Programmierung f\u00fcr den Input:<\/p>\n<p><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_31_41.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-189\" src=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_31_41.png\" alt=\"speichercode9\" width=\"667\" height=\"499\" srcset=\"https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_31_41.png 667w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_31_41-300x224.png 300w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_31_41-624x467.png 624w\" sizes=\"(max-width: 667px) 100vw, 667px\" \/><\/a><\/p>\n<p>Hier findet das Zwischenspeichern des Speichercodes in SpeichercodeAbfrage statt. Anschlie\u00dfend wird die Variable Speichercode auf die Eingabe vom Spieler gesetzt und changeLevel aufgerufen. Das wars auch schon. Der Fehlerfall wird ja in der changeLevel Funktion behandelt.<\/p>\n<p>&nbsp;<\/p>\n<h3>4. Level\u00e4nderung im Spielverlauf<\/h3>\n<p>Das Aktivieren eines neuen Levels ist auch denkbar einfach. Speichercode Variable auf den n\u00e4chsten Code setzen und anschlie\u00dfend changeLevel ausf\u00fchren.<\/p>\n<p><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_40_15.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-190\" src=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_40_15.png\" alt=\"VirtualBox_Windows_14_03_2017_16_40_15\" width=\"374\" height=\"443\" srcset=\"https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_40_15.png 374w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_16_40_15-253x300.png 253w\" sizes=\"(max-width: 374px) 100vw, 374px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>5. Einzelspieler \/ Mehrspieler<\/h3>\n<p>Hier ein Beispiel f\u00fcr die Auswahl des Spielermodus am beim Starten der Cartridge:<\/p>\n<p><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_17_01_58.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-193\" src=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_17_01_58.png\" alt=\"speichercode11\" width=\"241\" height=\"522\" srcset=\"https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_17_01_58.png 241w, https:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/VirtualBox_Windows_14_03_2017_17_01_58-139x300.png 139w\" sizes=\"(max-width: 241px) 100vw, 241px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><strong>Hier die Democartridge mit allen oben gezeigten Funktionen zum herunterladen:<\/strong><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/martin.guenzel-ag.de\/wp-content\/uploads\/2017\/03\/Speichercodes.zip\">Speichercodes.zip<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Was sind Speichercodes? Die Idee mit den Speichercodes stammt von keogarl und ist als erstes in seinem Wherigo paranoia@night realisiert worden. Dort war das Ganze als Defibrillator betittelt und half den Spielern nach Komplettabst\u00fcrzen\u00a0wieder an der richtigen Stelle im Spiel weiterzuspielen. Speichercodes bestehen aus einer mehrstelligen Zahl, enthalten den aktuellen Spielstand und sind auf allen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/martin.guenzel-ag.de\/index.php?rest_route=\/wp\/v2\/posts\/173"}],"collection":[{"href":"https:\/\/martin.guenzel-ag.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/martin.guenzel-ag.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/martin.guenzel-ag.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/martin.guenzel-ag.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=173"}],"version-history":[{"count":13,"href":"https:\/\/martin.guenzel-ag.de\/index.php?rest_route=\/wp\/v2\/posts\/173\/revisions"}],"predecessor-version":[{"id":202,"href":"https:\/\/martin.guenzel-ag.de\/index.php?rest_route=\/wp\/v2\/posts\/173\/revisions\/202"}],"wp:attachment":[{"href":"https:\/\/martin.guenzel-ag.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/martin.guenzel-ag.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/martin.guenzel-ag.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}