-Eigenes Menü- (RPG-Maker)

-Eigenes Menü- (RPG-Maker)

Hi Leute!
Ich habe mir jetzt endlich mein eigenes Menü erstellt.Nur habe ich leider noch ein Problem, und zwar: Wenn ich das Menü aufrufe, wie soll ich die Events und den Hero einstellen, das die stehen bleiben??

Wäre nett wenn ihr mal ein paar ideen für mich hättet..
Du machst dein gesamtes Menü in einen AutoStart.
Diesen Aktivierst du mit einem Switch über einen Parallelen Prozess, der abfragt das Menü aufgerufen wird.
Das wäre ne idee..THX
PB
Gibt es vielleichtz irgendwo 'n Skript, in dem erklärt wird, wie man ein Itemmenü macht? Ich hab nämlich keine Ahnung, wie ich das machen soll...
also ich mein so 'ne Liste wo die Items in der Reihenfolge aufgezählt werden, wie man sie bekommen hat.
Wär nämlich gut für mein KS (und das von Royalty ;-)).
Ich schreibe seid einer halben Stunde an einem Tut für dich, ich setze es hier rein, wenn cih fertig bin. ^^
(Yay, zurück aus den Ferien! xD)

Edit: Es umfasst bislang 2 Seiten. :D
EDIT2: Fertig. Ich hasse dich. Ich bin komplett KO. xD
[EDIT:]
Das ganze wurde zu kompliziert, da x Denkfehler dabei waren... v.v“


Hier erstmal die Variable die angelegt werden müssen:
0001 bis 1000:          Itemvariablen. Die können ruhig „Item1“, „item2“, etc. benannt werden.
1001 bis 2000: Item-Menge (das „Item“ durch Namen des 1. Items, dann des 2. etc. ersetzen)
2001: Nummernzähler
2002: Aufrück-Zähler
2003: Aufrücken 1
2004: Aufrücken 2



Nun gehen wir noch mal die Variablen durch.

0001 bis 1000: Itemvariablen
In diesen wird die ID des gefundenen Items gespeichert. Das erste gefundene Item liegt in 0001, das zweite in 0002, und so weiter. So kann die Reihenfolge gespeichert werden, in der die Items gefunden wurden. Ich nehme deshalb 1000 Variablen, damit ihr bequem Items hinzufügen könnt.

1001 bis 2000: Mengenvariablen
Hier drin wird gespeichert, wie oft ihr eine Itemart habt. In der Variable „Heiltee-Menge“ ist zum Bleistift drin, wie oft ihr Heiltee im Gepäck habt.

2001: Nummernzähler
Der Nummernzähler speichert die Nummer der nächsten, freien Itemvariable. So wird gesichert, dass kein Item überschrieben wird und dass die Reihenfolge auch wirklich gespeichert wird.

2002: Aufrück-Zähler
Wird ein Item aufgebraucht, wird ja ein Platz frei. Dieser muss dann wieder belegbar sein. Damit nun nicht alles durcheinander gerät, müssen nun alle Items nach dem aufgebrauchten Item um eins Aufrücken. Diese Variable zählt nach, wie viele Variablen noch aufrücken müssen, bzw. ob sie nun fertig sind.

2003: Aufrücken 1
Ich muss mich erstmal für die schlampige Bezeichnung entschuldigen, aber was Besseres fiel mir nicht ein...
Diese Variable ist sozusagen der Bruder der Nummernvariable. Diese hier speichert die Nummer der Variable, die jetzt freigeworden ist durch das Aufrücken.

2004: Aufrücken 2
Drillinge! o.o
Dieser Nummernspeicher speichert die Nummer der Variable, die jetzt auf die leer gewordene aufrücken muss.

Soweit, so gut.
Aber damit wären wir noch nicht beim Script. Das müssen wir jetzt in 3 Schritte unterteilen:
1. Vorbereitung
2. Items hinzufügen
3. Aufrücken der Items

1.) Vorbereitung

<>Set Variable [2001: Nummernvariable] = 1


Das war’s schon. Diese Variable verhindert, dass das erste Item schlichtweg verschwindet, da es ja keine Variable mit der Nummer 0 gibt. Jede Variable, der kein Wert zugewiesen wird, besitzt nämlich automatisch von Spielbeginn an den Wert 0.


2.) Items hinzufügen

Ihr legt die Items ganz normal im Maker an, zur Übersicht. Ihr könnt eigentlich sie auch auf einen Collegeblock schreiben, auf die Reihenfolge kommt es an und dass ihr die Nummern der Items, ihre ID, dazuschreibt, sozusagen als Merkzettel.
In unserem Beispiel ist das Item mit der ID 2 ein Holzschwert.

 ~~~Siehe Hinweis am Ende!!!~~~
<>Set Variable [No. in Variable [2001] = 2
<>Message: „Uiii! Ein HOLZSCHWERT! *Monster hauen geh*
<>Set Variable [No. in Variable [2001] +1

<>Set Variable [Mengenvariable: Holzschwert-Menge] +1

Der Sinn dieses tollen Scriptes:
Die Variable mit der Nummer, die im Nummernzähler gespeichert wird, bekommt den Wert des gefundenen Items (dazu die Liste - die Item-ID ist hier lebenswichtig! >.<). Die entsprechende Mengenvariable wird auch um 1 erhöht und auch der Nummernzähler wird um 1 rauf gesetzt, somit steht die nächste Itemvariable in den Startlöchern.

~~~Hinweis~~~
Wenn ihr wollt, dass zwei Items gleiche Items nicht aks zwei zählen, sondern wie im Maker einfach als Anzahl neben dem Itemnamen stehen (z.B. „Heiltrank x2“, anstatt „Heiltrank“, „Heiltrank“, was einen Platz mehr verbraucht im Inventar) dann solltet ihr eine Abfrage machen, ob irgendeine der Itemvariablen bereits dieses Item enthält. wenn ja könnt ihr nämlich einfach ein „Jump to Label: 1“ hinzufügen und besage Label gleich über die Mengenvariablengeschichte setzen. (Was heißt könnt, müsst!) Hier habt ihr die Wahl: Viel Klickarbeit, immerhin exakte 1000 Forks, oder ihr macht es euch einfach und arbeitet mit einer Nummernvariable zusätzlich. das sähe so aus:
<>Set Variable [xxxx:Bequemlichkeitszähler] = 1
<>Cycle
<>Fork Variable [xxxx:Bequemlichkeitszähler] = 1000
<>Break Cycle
:ELSE CASE
<>Fork Variable [No. in Variable [xxxx] = (ID des Items)
<>Jump to Label: 1
:ELSE CASE
<>Set Variable [xxxx:Bequemlichkeitszähler] +1
:END CASE
:END CASE
:END CYCLE

Das setzt ihr dann schlichtweg vor das Script da oben. Vergesst nicht, das Label zu setzen vor die Mengenvariablensache! Außerdem müsst ihr hinterher im Menü natürlich dran denken, wegen der Anzeige. Wenn ihr das hier nicht machen wollt, dann könnt ihr die Mengenvariablen einfach weglassen.

3.)Aufrücken der Items
Auf zum lustigsten Teil, hier wird’s richtig schön verworren. (Beim 5. Denkfehler habe ich aufgehört zu zählen... xD)
Hier braucht ihr die restlichen Variablen, also 1002, 1003 und 1004.
Wenn jetzt also sagen wir das in der 5. Variable leer wird, wird ja die 5. Variable frei. Juhu, wenn wir das nicht korrigieren gibt’s Chaos! >.< Alle Variablen nach dem leeren Dingens müssen ja nun eins aufrücken. Doch wie macht man das? Mit exakt 2 Nummernvariablen und einem Rundenzählerartigen Dingsbums? Richtig!!! :D
Aber fein, hier der Code.

Erstmal muss abgefragt werden, WO denn die Variable frei geworden ist. Das geht aber nicht wie bei den Immobilienanzeigen, nein, hier müssen wir suchen.
Wer 1000 Forks machen möchte (bitte verschachtelt, sonst leidet die Rechenleistung :P): Bitte.
Ich mag diese Klickarbeit nicht und baue ne 2005e Variable dazu („[2005:Null?]“). ^^

<>Set Variable [2005:Null?] = 1
<>Cycle
<>Fork Variable [2005:Null?] = 1000
<>Jump to Label: 1
:ELSE CASE
<>Fork Variable [No. in Variable [2005] = 0
<>Set Variable [2002:Aufrück-Zähler] = [2005](NICHT No.!)
<>Set Variable [2003:Aufrücken 1] = [2005] (NICHT No.!)
<>Set Variable [2004:Aufrücken 2] = [2005] (NICHT No.!)
<>Set Variable [2004:Aufrücken 2] +1
<>Break Cycle
:ELSE CASE
<>Set Variable [2005:Null?] +1
:END CASE
:END CASE
:END CYCLE
<> Cycle
<>Fork Variable [2002:Aufrück-Zähler]=1000
<>Break Cycle
:ELSE CASE
<>Set Variable [No. in Variable [2003]=Variable[No. in Variable [2004]
<>Set Variable [2002:Aufrück-Zähler] +1
<>Set Variable [2003:Aufrücken1] +1
<>Set Variable [2004:Aufrücken2] +1
:END CASE
:END CYCLE
<>Label: 1


Könnt ihr verstehen, dass ich hier 5-mal umdenken musste? -.- Naja, wie auch immer.
Der erste Cycle Fragt ab, ob und welche Item-Variable 0 ist. Findet er eine, wird die Nummer der Variable in den Aufrück-Zähler und die Aufrücken-Variablen übertragen, die 2. um 1 erhöht. Findet er nichts, springt er ganz ans Ende des Scripts.
(WICHTIG! Solche Sachen wie hier NIEMALS als Parallelen Prozess oder Autostart machen! So was lässt sich bequem mit dem Maker-Befehl Call-Event aufrufen, auch als Common Event oder Push-Key-Map-Event! Sonst wiederholt sich dieses Viech andauernt und hier Extra-Switches oder -Variablen zu verschwenden wäre nicht sehr sinnig in den meisten Fällen!)

Im zweiten Cycle wird abgefragt ob der Zähler alle Variablen, also 1000, durchhat. Wenn ja wird der Cycle abgebrochen, das ganze landet am Ende des Scripts. Wenn nicht wird der Wert der Variable mit der Nummer die in der 2. Aufrücken-Variable gespeichert ist in die leere Variable „geschoben“.
Nun wird der ganze Salat mit 1 addiert und das ganze beginnt von vorne. So rückt nach und nach alles um einen Platz auf.


Dieses Tut umfasst bislang 4 Word-Seiten, 1161 Wörter, 7980 Zeichen (Leerzeichen inbegriffen) und besitzt 176 Zeilen. Ich saß hier dran jetzt sicher eine dreiviertelstunde und bin KO, zumal ich NIE ZUVOR so was gemacht habe, weder als Tut noch selbst. Ich hoffe ich konnte helfen. Wenn nicht möge derjenige sich mit der Nummern-Funktion vertraut machen. x_X
Ich halt's nicht aus...
Das kommt davon wenn man sich nicht genau konzentriert...
Vergesst das Script, ich habe nen Fehler gemacht...
Man kann nur direkte variablen abfragen, nicht die, die in Nummernvariablen gespeichert sind...

*heulend sich in der nächsten Ecke verkriech*

EDIT: Ich schreibs als Word-Dokument nochmal neu, dann kann ichs auch woanders posten. Den Link stelle ich dann hier rein. Verzeiht aber, ich brauche vorher noch Motivation. Aber wir gehen gleich essen... Also krieg ich jetzt keine Schokolade... Also dauerts bis heute Abend. *feststell, sich dann selber hau und dann heulend nach Schokolade, Orangeneis und nem saftigen Medium-Steak suchen geh* (Medium-Steak? <.<° Passt irgendwie nicht... Schmeckt aber trotzdem.)

ABER ICH MACHE ES HEUTE NOCH!!!!!11111Einseinseins
*Hand auf die Schulter leg*
keine Angst, dein "Tutorial" hat mich auf die entscheidende Idee gebracht:
link
hat zwar ein paar stunden gedauert, das zu machen, aber...
leider ist da ein Fehler, den ich mir nicht erklären kann:
wenn man das menü öffnet, dauert es eine weile, bis es die übrigen Pictures anzeigt.
Hab mal zum Spaß 'n paar 2-Pixel-BG's mit dazugelegt.
PS.:Wozu meldet ihr euch alle zweimal hier an?
Du hast ein wait an dein MovePicture gemacht, daran liegts... xD
Nya, aber das mit dem 2Px habe ich nich so ganz kapiert. o.o
Nunja, ich mache mich jetzt mal an die Arbeit. Hbae jetzt einige Vorspeisen, ein Hähnchen, einen Brezel, 4 Eiskugeln und 3 Orangesaft intus sowie ein Glas Wasser. Gestärkt bin ich, mit neuen Ideen und ermutigt dass ich jemanden inspirieren konnte! ^^

Das mit dem Doppel-Account: Nunja, ich konnte mich von meinem alten Nick nicht ganz trennen. Da mir aber langsam Vhancer und noch einige andere auf den Keks gingen von wegen "Zora-Link" klänge ihnen zu weiblich und ich eh schon länger mit dem Gedanken spielte, registrierte ich einen neuen Nick, eben den, den ich überall benutze. Nicht zuletzt fiel die Entscheidung durch ein Missverständnis mit Obake, bei dem ich mich nochmal dafür an dieser Stelle entschuldigen will... <.<°
Stimmt, ich hätte am anfang auch nicht gedacht, dass du'n Kerl bist lol

zu den 2-Pixel-BG's (funktioniert nur bei windows XP): nimm eins von denen als Desktop-Hintergrund und stelle gestreckt ein.
*Mit Messer werf* >.<
Nya, das Tut wird noch nen Tag warten müssen. ich glaube kaum, dass ich mich heute nochmal aufgerafft bekomme und morgen hab ich Geburtstag, da wollte ich eigentlich nicht schwitzend bei 35°C in meinem Dachbodenzimmer hocken und über Variablen und Zyklen brüten. xD
Happy Birthday!
Mir fällt gerade auf, dass ich irgendwas wegen de mAufrücken tun muss, das geht nämlich bis jetzt nur, wenn der Apfel an erster Stelle ist. Ansonsten verrutschen die anderen Item-Pics im menü immer, wen ich den Dieb (wir woll'n ja mal niemanden angucken, stimmt's,cry25?) anspreche.
Äh... Danke. ^^"
Was ist genau jetzt kaputt? Dieb?
<.<
>.>
>.<
-hol dir 1 Item a
-hol dir 1 Gegengift
-hol dir 2 Äpfel
-sprech den dieb (der typ der so dumm auf der rechten seite der map steht) an und öffne dann das menü
Logge dich ein um einen Beitrag zu schreiben.