Der nachfolgende Beitrag ist auf deutsch geschrieben.
To see the english post, have a look on: EN 004 on LeoFinance Beta
Um ältere Beiträge oder Beiträge zu anderen Themen zu sehen, siehe auch:
Yalunas Blog on LeoFinance Beta
Yalunas Blog in the City of Neoxian
Heute sprechen wir über ein Teleport-System und wie der Spieler zu der Position zurück teleportiert werden kann, von der aus die Teleporation verwendet wurde.
Der einfache Weg ist es ein Event mit der Funktion "Spieler teleportieren" auf Karte X und Position X, Y zu erstellen. Um zurück zu gehen wird einfach die selbe Funktion wieder verwendet. Aber ich werde euch eine komplexere version zeigen, wenn der Spieler durch Verwendung eines Items oder durch Drücken einer Taste einen Teleport auslöst und der Punkt dann ist, was zu tun ist, damit der Spieler wieder auf die selbe Position zurückteleportiert wird, auf welcher er zuvor die Teleportation auslöste.
Zuerst benötigen wir ein Gewöhnliches Ereignis (Globales Event) für die Teleportation. Ich habe einige Dungeons in meinem Spiel und der Spieler soll sich zwischen diesen entscheiden können. Ich habe mehr als nur eine Region eingebaut, welche unterschieden werden soll, was auch die Verfügbarkeit der Dungeon beeinflusst. Zuerst frage ich also die Region ab und dann die Verfügbarkeit der Dungeon. Den auslöser setze ich auf parallel und verwende einen Schalter dafür, da mein Spieler die Dungeon-Auswahl per Knopfdruck aktivieren können soll. Wenn ihr ein Item dafür verwenden wollt, muss nicht unbedingt ein Schalter benötigt werden, da im Item als Funktion das Event abgefragt werden kann. Wenn ihr das Teleporations-Event durch Drücken einer Taste auslösen wollt, benötigt ihr allerdings ein 2. Globales Event, welches die Bedigung abfrägt, ob eine bestimmte Taste gedrückt wurde.
Ich verwende die Bedingung, dass die Dungeonauswahl durch Drücken einer Taste erscheint, aber der Spieler soll diese Möglichkeit nicht haben, wenn sich dieser bereits in einem Dungeon befindet. Also habe ich die Bedigung abgefragt, ob der Spieler in einem Dungeon ist oder nicht und steuer diese durch einen Schalter. Wegen meines Teleport-Systems, muss der Spieler nicht zum Teleporter gehen um die Teleporation auszulösen und kann diese von beliebigen Orten wie aus verschiedenen Häusern aus verwenden. Mein Spieler soll aber auf die Position zurück teleportiert werden, von der aus die Teleportaion zuvor ausgelöst wurde. Wir benötigen dafür 3 Variablen. Die Map ID, die Position X und Y auf der jeweiligen Karte.
So kann einer Variable die Map ID zugeteilt werden:
So kann einer Variable die Position X und Y auf der jewiligen Karte zugeteilt werden:
In meinem Globalem Event für die Teleporation, ist eine Bedigung eingebaut, wie weit die Story bereits fortgeschritten ist. Der Frtschritt misst sich in Events, welche Main Story Quests beinhalten. Wenn euer Spieler in einen Dungeon teleportiert wird, nicht den Schalter für die Bedingung "ist der Spieler im Dungeon" zu wechseln zu vergessen.
Wenn der Spieler das Portal benutzt, sollte das selbe Event ausgelöst werden.
Ihr solltet jetzt die wichtigsten Dinge über ein verbessertes Teleport-System wissen. Ihr könnt es auch verwenden, wenn der Spieler auf eine Karte teleportiert werden soll, auf der durch Positionierung eine Teleporation ausgelöst werden soll (Beispiel Pokemon VM Fliegen). Ihr werdet es für solche Funktionen gebrauchen können, sollte der Spieler die Teleportation beispielsweise abbrechen wollen.
Bis zum nächsten mal meine Game Makers^^