Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 20 von 41

Thema: Eigenes Menü - Hilfe gebraucht :)

  1. #1

    Eigenes Menü - Hilfe gebraucht :)

    Hallo!
    Da ich mich jetzt schon seit Stunden herumärger, hoffe ich hier mal auf freundliche Hilfe.
    Nur dass es gleich gesagt ist, ich bin noch Anfänger (zumindest empfinde ich mich so, auch nach 7 Jahren mit dem Maker) und wenn es was ist was ich am makern hasse ist es das scripten - liegt mir einfach nicht :).
    Nichtsdestotrotz versuch ich dazuzulernen und bin jetzt grad bei einem eigenen Menü, da ich schon zig Tutorials zum Menübau vor Jahren durch hab, und dort einfach nicht kapier was ich tue und und sich immer Fehler einschleichen (und auch weil ich generell immer den Drang hab alles selber zu können und zu verstehen und nicht wo zu kopieren), hab ich mich jetzt schon seit Tagen hingesetzt, zuerst alles am Papier überlegt und jetzt hab ich mal angefangen. Jetzt arbeit ich schon seit Mittag fast ununterbrochen daran, waren schon zahlreiche Sachen da, die nicht funktioniert haben, die ich aber durch irgendwie beseitigen konnte Wenn ich bedenke, dass man anfangs wenn man versucht hat den ersten Menüpunkt anzuwählen, direkt zum dritten gerutscht ist, läuft es eigentlich schon recht gut (finde ich, aber ich bin halt stolz, dass ich was schaff, was mir schwer fällt.)

    Zum eigentlichen Problem:


    Das Menü hat 4 Menüpunkte zum auswählen.
    Ich kann problemlos runter bis zum vierten Punkt.
    Kann auch eins wieder rauf (also wieder zum dritten Punkt), aber dann nichts mehr.
    Ich verstehs einfach nicht, per f9 nachgeschaut ist eine Variable, die den jeweiligen Menüpunkt die aktiv ist anzeigt, auch wie sie sein sollte, das richtige Picture wird aber nicht angezeigt.
    Wenn ich dann paar mal hintereinander rauf oder runter drücke, ändert sich die Variable, aber alles bleibt trotzdem gleich.

    Oder wenn ich vom ersten Punkt eins runter geh.
    Anschliessend wieder zum Punkt 1 - da funktioniert noch alles wie es soll.
    Aber dann passiert für mich noch was unverständlicheres:
    Die Variable ist 0, wie sie sein sollte. Ich drück eins nach unten, Variable auf 1, aber Picture wird nicht angezeigt.
    Anschliessend nochmal nach unten gedrückt, Variable auf 2- weiterhin passiert anzeigetechnisch nichts.
    Nochmals gedrückt und Variable auf 3, Picture wird aufeinmal wieder angezeigt!
    Anschliessend kann ich auch wieder eins rauf, und dann wieder wie beim Problem oben.

    Oder ich muss generell zweimal drücken, damit überhaupt ein Menüpunkt nach oben bewegt wird. Oder es steckt generell alles. Bzw scheints so alsob man immer nur eins runter und rauf kann, danach funktionierts nicht mehr.

    Habe den Code mittels Screenshots mal kopiert- wollte das jetzt nicht abschreiben. Hoff hier schlagen sich nciht einige die Hände über den Kopf, was ich da bitte mach, aber ich versuch eben selber drauf zu kommen, wie man ein Menü bauen könnte. Also nicht lachen über meine scriptversuche :).

    Ich weiss auch, dass ich über die Suche bestimmt eine Lösung finde, wie man jetzt ein richtiges Menü zum Laufen bringt. Aber das bringt mir wirklich nichts, weil ich schon immer der selber-lern-typ war, ansonsten versteh ichs einfach nicht:).
    Also wär froh, wenn mir vl. irgendwer einen Hinweis geben könnte, was ich für einen Fehler mach.
    Danke!

    Und ja ich weiss, ich fasel viel herum ... sry :(


    Klicke auf die Grafik für eine größere Ansicht 

Name:	Menü1.jpg 
Hits:	23 
Größe:	151,4 KB 
ID:	16377
    Klicke auf die Grafik für eine größere Ansicht 

Name:	Menü2.jpg 
Hits:	10 
Größe:	147,2 KB 
ID:	16378
    Klicke auf die Grafik für eine größere Ansicht 

Name:	Menü3.jpg 
Hits:	12 
Größe:	151,4 KB 
ID:	16379

  2. #2
    Mach das doch mit den normalen Tasten udn einer Variable...

    MAn nehme sich eine Variable für die Tastenabfrage, und stellt ein für Enter, ESC und Links/ Rechts oder Oben/Unten. Dann wenn mann nach unten drückt, geht ne weitere Variable + 1 und wenn diese Variable auf 3 [4. Punkt im Menü] ist und dann nochmal nach unten gedrückt wird, setzt sich das auf 0 [1. Menüpunkt]. Umgekehrt dasselbe. Und bei Enter halt die jeweiligen Effekte bei demjeweiligen Menüpunkt. Kann dir auch ein Skript zeigen mit 3 Menüpunkten wenn du magst^^

    Bau grad selbst mein Menü für VD-U, allerdings etwas verbessert

    Edit: Wenn Interesse besteht einfach anschreiben per Pn oder hier schreiben
    Und falls Hilfe benötigt wird, ich stehe gerne zur verfügung^^

    Geändert von MrSerji (29.12.2012 um 00:46 Uhr)

  3. #3
    Genau das hab ich eigentlich eh gemacht. Tastenabfrage, dann immer mit Forkcondition abgefragt ob nach oben oder unten gedrückt wird. Anschliessend Variable verändert die den angewählten Menüpunkt darstellt. Die wiederum abgefragt zusätzlich zur Taste. Vorher hatte ich das auch mal mit Switches, aber da hab ich dann 4 gebraucht und das ging eh gar nicht .
    Ich hab nur immer set Variable. Hab das eben noch mit+/- ausprobiert. Problem bleibt komplett gleich.

    Und das mit Enter mach ich eh erst später, das scheint mir nicht so schwierig bei meinen jetzigen Überlegungen, aber jetzt belästigt mich ja erstmal dieses Problem...

    Danke trotzdem

  4. #4
    Bin ich irgendwie blöd oder warum kenne ich Enter password nicht O.o?
    Generell finde ich die Weise wie du das mit dem Menü gelöst hast nicht wirklich elegant, weil es einem viel zu viel Arbeit aufbrummt und das ganze ziemlich störrisch macht es später zu editieren. Vielleicht bin ich auch einfach zu sehr an C# gewöhnt...

    Naja, ich kann jetzt auf Anhieb den Bug nicht finden aber es gibt ne Methode wie ich sehr gerne Bugs finde. Als erstes muss der Fehler eingegrenzt werden, soll heißen wann und wo tritt der Fehler im Skript auf. Dafür benutze ich immer Messageboxen die ich an bestimmte Stellen positioniere um zu sehen ob dieser Code überhaupt ausgeführt wird, so kann ich schon erkennen ob dieser ausgeführt wird oder nicht.
    Sollte nun der Code nicht ausgeführt werden (Obwohl er das soll) sehe ich mir an welche Abfrage er beinhaltet, sehe nach ob es überhaupt die richtige Abfrage ist und wenn ja dann kommt der etwas doofe teil.
    Überall wo diese Variable verändert wird packe ich eine Messagebox hin die mir sagt welchen Wert die Variable nun hat, sollte die Variable sich nun falsch verhalten habe ich meistens den übeltäter gefunden.

    Vielleicht klingt das ganze jetzt sehr verwirrend, aber wenn du einen großen Code hast und dazu noch stundenlang nach dem Bug suchst dann wird dir diese Methode bestimmt weiterhelfen. Zumindenst finde ich so meine Fehler immer in 5 Minuten...
    Ansonsten kann ich dir noch erklären wie man das Menü besser lösen kann, ich kann dir dazu sogar eine Techdemo von meinem Menü schicken. Naja anonsten dranbleiben, den skripten ist meiner Meinung nach das beste am Spieleprogrammieren

  5. #5
    Hm... ich finde deinen Code bzw. das gesamte Skript etwas zu lang und zu sehr hergeholt mMn :/
    Das könnte man in einem kleinen Skript schon machen, wenn du nur das bewegen bisher machst.

    Versuch mal die Methode von Djeur. Falls das nichts hilft... ich könnte dir zeigen wie man das ganz einfach machen kann xD
    Normal dauert es nciht lange ein Menü zu machen, das Designen dauert länger xD

    Naja, viel glück dabei

    PS: bin mit meinem eben fertig geworden und schaut schon viel besser aus^^
    Jetzt fehlt nur noch die Musikwahl und die Hilfeabteilung, aber das eigentlich Menü ist fertig :=)

  6. #6
    enter password ist doch die normale tastenabfrage.

    Die Variable stimmt vom wert eh immer. Sieht man eh mit f9.

    Viel arbeit fand ich das jetzt auch nicht.
    Hab mir jetzt aber überlegt gehabt ob es vielleicht an den vielen fork conditions lag und hatte jetzt mal versucht alles mit labels zu lösen. Interessanterweise fast exakt das gleiche Problem.
    Hatte dann nochwas versucht und da ist mir dann das komplette Spiel abgestürzt-ist mir auch noch nie passiert ^^

    Ich ahne eh wo das Problem liegt, ich komme irgendwie nicht zurück. (hab aber gerade wieder eine Idee wie ich das lösen könnte, aber keine ahnung ob das so klappen wird).
    Kann es sein, dass der Maker den Code nur von oben nach unten einmal liest?

  7. #7
    Der leist den Code von oben nach unten und jenachdem ob du dann ein Switch aktivierst welches das Skript "blockt" sollte es sich immer wieder wiederholen xD

    Ich benutze ja den 2003er und da hieß das "Input Key Process", damit stellst du ein was du haben möchtest. 1,4 und 5 (Runter, Hoch und Enter oder Leertaste). Das soltlest du einfach in 3 Forks abfragen und fertig xD
    Ich finde den Fehler nicht, find ich mesitens nicht bei anderen Skripts, die nicht von mir stammen^^

  8. #8
    Hm... wieso benutzt du bei jedem Picture eine andere ID? Die werden beim Hochblättern auch gar nicht gelöscht. Die Variablen machen ja, was sie sollen, aber die Art der Anzeige ist schlichtweg falsch.
    Das kommt eigentlich auch auf die Art an, wie dein Menü gestaltet ist, daher solltest du mal einen Screenshot davon posten.
    Der Ablauf an sich ist ganz schön wirr. Man kann das viel kompakter und "selbstständiger" umsetzen. Aber tagsüber mehr dazu... ist schon wieder viel zu spät! o_o

  9. #9
    Zitat Zitat von G-Brothers Beitrag anzeigen
    Hm... wieso benutzt du bei jedem Picture eine andere ID? Die werden beim Hochblättern auch gar nicht gelöscht. Die Variablen machen ja, was sie sollen, aber die Art der Anzeige ist schlichtweg falsch.
    Das kommt eigentlich auch auf die Art an, wie dein Menü gestaltet ist, daher solltest du mal einen Screenshot davon posten.
    Der Ablauf an sich ist ganz schön wirr. Man kann das viel kompakter und "selbstständiger" umsetzen. Aber tagsüber mehr dazu... ist schon wieder viel zu spät! o_o
    Nicht wirklich, naja bin mal Skyrim etwas zocken^^

  10. #10
    Die IDS! Wow, Danke!
    Ich hab eigentlich nie gewusst wozu das da ist - wozu jetzt eigentlich?
    Aber hab das jetzt mal alles auf die gleiche ID und "im Grunde" funktionierts.
    Einziges Problem es hakt noch sehr, bzw. muss ich rauf oder runter Taste manchmal zweimal drücken oder es überspringt manchmal.
    Es funktioniert sogar bei beiden Varianten die ich probiert hab, nur eben dass es sehr oft steckt.

    Ich versuch mal das Menü hochzuladen, vielleicht versteht mans dann besser, wenn mans ansehen kann (nur nicht wundern übers Design-ist nur ein Platzhalter bzw, hats mir auch die schwarze Umrandung transparent gemacht )

    EDIT:
    ich hoff das funktioniert so, hab noch nie was hochgeladen .
    Ist aber mit dem RM2000 erstellt.
    http://www.uploadarea.de/files/w78t4...be9crc5w3w.zip

    Es sind dann eben 2 Versionen des Codes drin, einmal mit Labels, einmal ohne. Ich weiss noch nicht was ich benütze, da Beides zurzeit ungefähr gleich gut bzw. eig schlecht funktioniert.

    Geändert von _Mika_ (29.12.2012 um 11:04 Uhr)

  11. #11
    Naja, ich gebe dir mal nen Tipp wie das ganze einfacher, viel einfacher umzusetzen ist.

    Nimm als erstes 1 Variable die beim Start des Menüs auf 1 gesetzt wird, diese nennen wir "Menüpunkt". Nun wird die Variable je nachdem ob man hoch oder runter drückt um 1 erhöht bzw gesenkt. Dann sorgst du noch dafür das die Variable entweder nicht höher oder niedriger als die Anzahl an Menüpunkten werden kann (Zb. es gibt 3 Menüpunkte und die Variable ist auf einmal auf 4) oder du sorgst dafür das die Variable dann eben zum anderen Ende des menüs springt (Zb. Man ist bei Punkt 3 und drückt runter, dann landet man wieder bei Punkt 1).
    Sobald die Variable verändert wurde rufst du ein anderes Common Event auf, dieses Common Event fragt nur ab auf welchem Menüpunkt du dich gerade befindest, je nachdem wird nun das alte Picture gelöscht und das neue angezeigt.
    Und fertig, dann muss man nicht alles so kompliziert abfragen und es ist auch gleich viel einfacher zu bearbeiten. Vorallem wenn du etwas am Code verändern willst, ist es nicht mehr so aufwändig.

  12. #12
    @Djeur:
    Hab meine Menüs auch so ähnlich aufgebaut, ist mMn die einfachste Möglichkeit^^

  13. #13
    Ich verzweifel noch. Hab das jetzt auch mal so wie von djeurissen beschrieben probiert. Nur klappt das nicht, es springt immer gleich von oben nur nach unten *seufz*. Aber da mach ich vermutlich auch etwas falsch.
    Irgendwie war das auch nicht Sinn der Sache, weil ich genau weiss, dann versteh ich eh nicht mehr was ich da selber mach .
    Würde nur zugern wissen wieso das einfach bei meinem Code abundzu steckt bzw. man zweimal drücken muss (aber auch nur wenn man wieder nach oben will), auch wenn ich das Menü vl. einfacher erstellen könnte... Es passiert auch, dass wenn man oft hintereinander drückt man gleich nach unten springt. Ist es eigentlich notwendig in einem Menü Waits einzubauen? Vielleicht liegts ja daran ...

    Bin kurz davor, wiedermal mit makern aufzuhören ^^ Jetzt hab ich schon 9 Common Events erstellt und keine Variante will richtig .

    Naja, Danke trotzdem doch für eure Hilfe (ich bin wohl einfach zu hoffnungslos dumm für den Technik-Kram). Hoff vielleicht, dass sich das trotzdem noch wer anschauen könnte (habs ja eh hochgeladen) und wenss nur ist um mir sagen zu können: "Das kann gar nicht so funktionieren, weil..."

  14. #14
    Könntest du mir das RTP welches benötigt wird auch mal schicken?^^
    ANsonsten kann ich das nicht starten :/

  15. #15
    Ich habe dir diese Variante vorgeschlagen eben weil es viel einfacher ist dort Fehler zu finden und niemand Lust hat sich den Code eines anderen anzusehen, zumindenst geht es mir so da ich stunden brauche bis ich den Code letzendlich dann verstehe.

    Und wenn es von oben direkt nach unten springt dann sieh dir nochmal die Variable an die dafür sorgt das es von oben nach unten springt, ich denke du hast da einfach etwas falsch eingestellt.
    Ansich geht es mit 1 los wenn man nun nach unten drückt muss die Zahl um 1 erhöht werden, somit ist sie auf 2. Sollte man nun nach oben drücken wird abgefragt ob die Variable schon auf 1 ist wenn ja dann erst springt man nach unten. Ich bin mir sicher du hast nur die Zahlen vertauscht.

    Ich werde mir aber mal dein Projekt runterladen und wenn ich den Fehler finde, dann sage ich es dir.

  16. #16
    Ja ich weiss eh was du meinst. Ich tu mir ja auch schwer den Code anderer zu verstehen. Eben deswegen tu ich mir vl. auch schwer die von dir vorgeschlagene Variante umzusetzen. Bzw. deswegen versuch ich auch dass meine Variante funktioniert, weil ich da alles versteh.

    Ich versuch mal meinen Code zu erklären:

    Also ich habe zuerst einen normalen Common Event mit Namen Menü, der dafür sorgt, dass dass Menü aufgerufen wird mittels ESC taste.
    Also:
    Tastenabfrage für Cancel (6)
    Dann eine Bedingung die eine Variable Menüaufruf abfragt ob diese 6 ist (ob also die ESC taste gedrückt wurde)
    Anschliessend Show Picture was das Menü anzeigt
    Klicke auf die Grafik für eine größere Ansicht 

Name:	Menü-RasterFarbepunkt1.PNG 
Hits:	2 
Größe:	2,9 KB 
ID:	16382
    Dann einen change Switch, der Im menü auf On stellt.
    Hab dann noch den Hero aus dem Spiel entfernt (weil ich da das Problem hatte, dass er sich sonst im Hintergrund bewegt und ich im Menü gar nichts tun konnte)
    Dann eine Variable: Menüpunkte aktiv auf 1 gestellt, da ja der erste Menüpunkt von Anfang an schon angewählt ist (ich weiss aber nicht ob das im hochgeladenen auch schon so ist, weil ich das erst vorhin umgestellt hab, erst war das nämlich im zweiten Common Event drin)

    Dann einen zweiten CommonEvent: Menüauswahl, wo die einzelnen Punkte angesteuert werden.
    Der wird aktiviert wenn der oben aktivierte Switch im Menü auf On ist (also man kann nur was auswählen wenn man auch im Menü ist)

    Dann der erste Punkt, zu Menüpunkt 2 springen:
    Da hab ich wiedeurm eine Tastenabfrage die die Pfeiltasten, Cancel und Enter abfragt.
    Anschliessend eine Bedingung die abfragt ob die Pfeiltaste (1) nach unten gedrückt wurde (das ist die Variable Menüauswahl).
    Wenn Ja wird das Bild angezeigt:
    Klicke auf die Grafik für eine größere Ansicht 

Name:	Menü-RasterFarbepunkt2.PNG 
Hits:	1 
Größe:	2,9 KB 
ID:	16384
    Danach eine Change Variable (die von oben "Menüpunkte aktiv" die auf 1 gesetzt wurde), die sagt dass der Menüpunkt 2 aktiv ist.
    Ende der Bedingung.

    Anschliessend zu Menüpunkt 3 springen:
    Die hat aber vorher noch eine Bedingung ob der Menüpunkt (od da sehe ich gerade einen Fehler, glaube ich. Da sollte eher 2 anstatt 1 stehen-.- behebt aber das Problem trotzdem nicht)... jedenfalls "sollte" abgefragt werden ob Menüpunkt 2 aktiv ist, also ab man den Punkt angewählt hat.
    Dann wie oben:
    Tastenabfrage.
    Bedingung ob die Taste gedrückt wurde, wenn Ja nächstes Picture und die Variable um 1 erhöhen.

    Innerhalb dieser Bedingung (der, der den Menüpunkt abfragt)hab ich aber noch eine Bedingung. Denn sogesehen befindet man sich ja am zweiten Punkt. Kann also genauso wieder durch nach oben drücken zum ersten Menüpunkt zurück (ich frag mich nur gerade ob da ein Else case der vorigen Bedingung nicht besser wär.hmmm... aber dann hätt ich das Problem glaube ich, dass ich nochmal abfragen müsste ob der richtige Menüpunkt aktiv ist.. ).
    Diese Bedingung fragt ab ob nach oben (4) gedrückt wird. Zeigt dann wieder das Picture mit angewählten ersten Punkt an.
    Die Variable Menüpunkt aktiv wird natürlich um eins verringert.
    (Da vermute ich nur auch ein Problem, weil ja das Picture sogesehen zweimal angezeigt wird denke ich)

    Menüpunkt 4 und wieder nach 2 zurück läuft komplett gleich ab.

    Und dann wird noch einmal abgefragt um zu Punkt 3 zurückzukommen wenn man noch oben drückt (man befindet sich an Punkt 4)
    Da ist aber vorher noch eine Bedingung die Menüpunkt aktiv abfragt. Auch eine Tastenabfrage macht und dann wie obenwenn man nach oben drückt.


    So und der Code hat anscheinend nur ein Problem mit dem nach oben drücken. Da hängts immer oder man muss zweimal drücken.
    Oder man drück ganz oft nach unten und da hats auch Probleme.

    Achja generell sollte die Auswahl unten aufhören, also nicht wieder oben anfangen.


    @soul96 Das ist eh das Standard RTP für den RM2000 Sollte man glaube ich über Google eh finden.

    Geändert von _Mika_ (29.12.2012 um 15:44 Uhr)

  17. #17
    download Menü.zip
    Habs mal vereinfacht, mit Erklärungen.
    Hoffentlich ist es eben wegen den Erklärungen nicht zu unübersichtlich

    Geändert von G-Brothers (29.12.2012 um 17:33 Uhr)

  18. #18
    @G-Brothers
    Mir sagts bei deiner Datei: Error: File not found

  19. #19
    Jetzt geht's. Das ü hat die Seite anscheinend durcheinander gemacht. D:

  20. #20
    OMG, du bist Genial! Riesengroßes Dankeschön! Das muss doch irrsinnig viel Arbeit gewesen sein, mein Menü zu korrigieren...

    Du hast nur am Anfang einen Switch eingebaut bei dem Event auf der Karte. Das hat mit dem nicht funktioniert. Zumindest bei mir hats das Standardmenü dann aufgerufen, also hab ich den Switch rausgelöscht. Klappt einwandfrei, nur wenn man sehr schnell hintereinanderdrückt, machts noch Fehler, aber denke, dass macht auch kein Spieler, dass er schnell nacheinanderdrückt .

    Ich werd mir das Ganze jetzt nochmal so nachbauen, damit ich alles verstehe. Danke!

    Edit:
    Darf ich noch fragen, wieso ein Autostart gebraucht wird beim zweiten Common Event?

    Geändert von _Mika_ (29.12.2012 um 17:52 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •