RPGVX.net
RPG-Maker VX => VX Technik [Frageforum] => Thema gestartet von: Khaelen am April 26, 2011, 01:01:35
-
Servus erstmal...
Als Neuling hier erstmal ne Frage raus zu hauen ist zwar net so pralle....aber naja ich glaub derzeit wurde schon so ziemlich alles beantwortet wozu ich was sagen könnte....
Um eines direkt vorweg zu nehemen...hab n bissel Erfahrung gesammelt mit dem RPG VX und kann eigentlich schon recht vernüftig switches usw. setzen....zumindest glaub ich das^^ allerdings habe ich 0 Ahnung von Scripts.
Also nun zu meinem Problem:
Ich suche ein Script oder einfach zu bedienende Funktion mit der ich einen Raum durch betätigen einer Taste,eines Hebls oder benutzen eines Skills/Item in seinen ursprünglichen Zustand zurück setze und den Held an die Anfangsposi des Raumes setze...
Also im grunde sollte volgender Maßen aussehen:
1. der Spieler betritt eienen Raum
2. die Psitionen aller Events in diesem Raum (auch die Position des Spielers) werden gespeichert
3. der Spieler verschiebt nun ein paar Events (Säulen, Kisten, Steine, etc.)
4. der Spieler sieht das er nicht weiter kommt und kann durch nutzung eines Skills/Item alle Events und auch sich selbst auf den Speicherstand bei 2. zurrücksetzen.
natürlich kann man mit Common Event, Variable und Switch das ganze so stricken das man quasi beim erstellen einer Map alle Positionen der Events speichert und die dann abruft....allerdings wird das wohl spätestens beim 10-20 raum für ein Common Event so komplex das man den Durchblick verliert (zumindest geht es mir so :faint: ) und ich möchte ja gern ein Skill/Item für jeden Raum nutzen können....quasi wie den Ursprungszauber bei Lufia 2
Gibt es evtl. ein Script oder eine andere Lösung für das ganze? ...den ohne Schieberätsel die auch mal schief gehen können würde son "oldschool" RPG schon ziemlich an Reiz verlieren :sad:
bin für jede Hilfe oder Anregung dankbar
mfg Tom
-
Als Neuling hier erstmal ne Frage raus zu hauen ist zwar net so pralle
Willkommen im Forum. Was soll denn ein Neuling deiner Meinung nach sonst machen?^^
Um eines direkt vorweg zu nehemen...hab n bissel Erfahrung gesammelt mit dem RPG VX und kann eigentlich schon recht vernüftig switches usw. setzen
Davon gehen wir hier eigentlich auch aus
1. der Spieler betritt eienen Raum
2. die Psitionen aller Events in diesem Raum (auch die Position des Spielers) werden gespeichert
3. der Spieler verschiebt nun ein paar Events (Säulen, Kisten, Steine, etc.)
4. der Spieler sieht das er nicht weiter kommt und kann durch nutzung eines Skills/Item alle Events und auch sich selbst auf den Speicherstand bei 2. zurrücksetzen.
Relativ leicht mit ein paar Zeilen machbar. Beim Betreten der Map setzt du einfach jedes Event, was verschoben werden kann mit "Set Event Location" auf den Ursprungsplatz. Da man in der Regel nicht mehr als 20 Events bewegen muss, wenn wir hier von Säulen usw ausgehen, sind das maximal 20 Zeilen.
Des weiteren wirst du bestimmt switches auf der Map haben. Versuche diese hintereinander in der Datenbank zu schreiben. So kannst du einfach beim betreten der Map mit Switch: Batch X~Y alle benötigten Switches mit nur einer Zeile ausschalten.
Zusammenfassend: Kein Commonevent, kein Skript, einfach nur ein Event, welches bei jedem betreten der Map ausgeführt wird und aus X > 20 Zeilen "Set Event Location" und der Zeile "Switch: Batch X~Y" besteht
-
erstmal danke für die schnelle Antwort
Relativ leicht mit ein paar Zeilen machbar. Beim Betreten der Map setzt du einfach jedes Event, was verschoben werden kann mit "Set Event Location" auf den Ursprungsplatz. Da man in der Regel nicht mehr als 20 Events bewegen muss, wenn wir hier von Säulen usw ausgehen, sind das maximal 20 Zeilen.
Des weiteren wirst du bestimmt switches auf der Map haben. Versuche diese hintereinander in der Datenbank zu schreiben. So kannst du einfach beim betreten der Map mit Switch: Batch X~Y alle benötigten Switches mit nur einer Zeile ausschalten.
Zusammenfassend: Kein Commonevent, kein Skript, einfach nur ein Event, welches bei jedem betreten der Map ausgeführt wird und aus X > 20 Zeilen "Set Event Location" und der Zeile "Switch: Batch X~Y" besteht
Naja genau das mein ich ja...bei dieser Methode müste ich doch für jeden Raum das ganzen neu machen und somit auch für jeden Raum ein neues Item oder einen neuen skill erstellen?
-
Naja genau das mein ich ja...bei dieser Methode müste ich doch für jeden Raum das ganzen neu machen und somit auch für jeden Raum ein neues Item oder einen neuen skill erstellen?
Neu machen müsstest du alles, ja. Jedoch ist das nicht wirklich ein Problem, da das ganze maximal 10 Minuten arbeit kostet. Und lieber 10 Minuten mehr arbeit pro Map investieren als einen zusätzlichen Skript (wo ich keinen wüsste) der am Ende nur Probleme mit anderen macht.
Das "neue Item" machen kannst du jedoch umgehen (wenn du es wirklich unbedingt mit skill / item machen möchtest. Kannst doch auch einfach ne Resetsäule / Schalter hinstellen).
Möglichkeiten:
1) Bei dem Item ne Conditional Branch einführen, und die Map ID, auf der du dich befindest in eine Variable speichern und diese als Bedingung machen. Heißt auf Deutsch:
Charakter ist auf Map 4, Variable "Map" wird auf 4 gesetzt. Wird nun das Item eingesetzt kommt die Abfrage: "Wenn Variable "Map" == 4: Set Event Location XY to X"
Möglichkeit ohne Conitional Branch:
Beim Betreten der Map das alte Item rausnehmen und ein anderes Item, mit gleichen Namen jedoch anderen "Eventlocations" hinzufügen.
-
hm...ok ich werd mal n bissel rumtesten um des als ein Item hin zu bekommen...aber danke schonmal ;)
*update*
Ok hab das Ganze für den ersten Dungeon mal in ein Common Event gepackt, und das dann nem Item zugewiesen...klapt wunderbar....man muß dann halt nur sauber arbeiten damit man den Überblick über die Events nicht verliert...
Zwei kleine newbie Frage hätte ich da noch:
1. muß ich bei der Variablenabfrage also (Bedingung: Wenn Variable Map ID == 4 ) noch eine Ansonsten Fall hinzufügen indem dann die nächste ID Abfrage für Map 5 kommt oder reicht es einfach alle Bedingungen untereinander zu schreiben?
2. und wohl auch wichtiger in diesem Fall. gibt es eine Eventzeilenbegrenzung sprich kann man in ein Common Event nur 999 Zeilen erstellen oder nur 30 Bedingungen stellen?
Ansonsten nochmal dickes danke für die fixe Hilfe...läst sich so echt leicht handhaben...und was noch wichtiger ist man hat dennoch volle Kontrolle über alle Switchs die man gesetzt hat :)
-
heyey
von mir auch mal ein willkommen im Forum (=
zu erstens: Du kannst, du kannst es aber auch nur bei dieser einen Abfrage belassen und direkt drunter das nächste abfragen (=
Ist mehr oder weniger das selbe, wobei bei Ansonsten wird der Code immer weiter nach rechts eingerückt, je mehr Abfragen du machst^^"
Kannst dir also aussuchen, wie du es machn willst (=
zu zweitens: Meines wissens haben Common Events unbegrenzte Zeilen und unbegrenzte Abfragemöglichkeiten (=
lg flip
-
Jo danke das macht die Ganze sache dann optimal...wie gesagt wird dann zwar recht komplex da man ja leider in einem Event die Abfragen nich mit +/- Minimieren und Maximieren kann aber das wird schon :)