Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 26

Thema: [rm2k] "Fleiß gewinnt, Eleganz entscheidet"

  1. #1

    [rm2k] "Fleiß gewinnt, Eleganz entscheidet"

    Guten Morgen liebe Techniker,
    das Problem das ich habe lässt sich im Titel nicht mal grob umreißen, deswegen sorry für den etwas ungenauen Titel

    Also folgendes:
    Problem:
    Eine Variable kann 80 Werte haben. Je nachdem welcher Wert von 1-80 vergeben wurde soll ein anderes Charset im 4-Animation-Turn dargestellt werden.


    Meine Lösung bisher (Fleißlösung):
    Ein Autostart-Event hat 80 ForkConditions und vergibt pro Fork je einen Switch.
    Also:
    Variable = 1 , dann Switch1 = on usw.

    Dort wo das Charset erscheinen soll gibt es ein 8 Events die je 10 Registerseiten haben und dort wird der Switch abgefragt und dementsprechend das Charset in 4-Ani-Turn dargestellt.


    Meine Frage nun: Gibt es dafür eine elegantere Lösung?

  2. #2
    Zumindest die 80 Forks kannst du dir ersparen, indem du einfach set mit
    nem Zeiger arbeitest. Also \s[deine Variable].

  3. #3
    ich gehe mal davon aus, dass die switches der charsets die switches 101-180 sind. dazu gibts diesen code, der eigentlich ganz einfach ist:



    das ganze kann je nachdem, welchen wert die switch-variable hat, mit jeder beliebigen switchnummer gemacht werden. wenn deine switches beispielsweise jetzt auf den positionen 276-352 liegen, dann muss der wert der switch-variable eben 275 betragen.

    das wäre eine variante die als code cool aussieht.
    und ne ganz einfache variante wäre, ein charset zu nehmen, es auf 4-animation-turn zu setzen und dann ein event, das abfragt, welchen wert die variable von 1-80 hat und dann einfach 80 forks zu machen, wo dann bei jeder halt einfach move event -> change graphic ist.

    das wäre alles, wenn ich dein problem richtig verstanden hab.

    Geändert von Marian (07.12.2007 um 12:27 Uhr)

  4. #4
    Problem ist dabei das JEDER Wert von 1-80 ein anderes Charset hat.
    Lässt sich das damit vereinbaren?

  5. #5
    darauf waren beide varianten ausgelegt.

  6. #6
    warum fragst du die switches ab und nicht den wert der vari?oO

  7. #7
    Zitat Zitat von übelster Held
    warum fragst du die switches ab und nicht den wert der vari?oO
    Das frage ich mich allerdings auch ^^
    Ich glaube nicht, dass es da eine andere Lösung gibt, als fleißig die Animationen per Hand einzustellen.
    Allerdings würde ich das ganze wie folgt aufbauen:

    Code:
    [Eventname] [Autostart] [Switch wenn CE ansonst nicht]
    <> Comment: Hier kommt der Code wie du auf den Wert der Variable kommst.
    <> Call Event [Animation] seite [Animation_Var]
    <> Delete Event temporary(wenn CE Switch ausmachen)
    Code:
    [Animation] [Call/Pushkey] [Animation_Var=1] [Eventseite 1]
    
    
    [Animation] [Call/Pushkey] [Animation_Var=2] [Eventseite 2]
    
    
    [Animation] [Call/Pushkey] [Animation_Var=3] [Eventseite 3]
    Erklärung des ganzen:
    Das erste Event errechnet den Wert der Variable "Animation_Var".
    Danach ruft dieses per Call Event ein anderes Event auf(die Seite wird durch die soeben errechnete Variable bestimmt). Dieses sollte
    das event sein wo du deine ganzen Animationen einstellst.
    Auf der ersten Seite kommt die Animation hin wie sie sein soll, wenn
    die Variable auf dem Wert 1 steht. Dasselbe gilt für die restlichen 79 Seiten ^^
    Aber mit dem Call Event Befehl rufst du automatisch die Seite auf die du brauchst.
    Bsp: Wenn die Variable den Wert 55 hat, wird Seite 55 aufgerufen.
    Natürlich musst du dass bei jeder Seite in den Startbedingungen einstellen.
    So ersparst du dir wenigstens die Forks und kannst die Seiten auch noch kopieren(Animation und Startbedingung muss natürlich angepasst werden).

    Ich bin jetzt davon ausgegangen, dass die Animation nur einmal abgespielt wird, also verzeih mir wenn ich dich falsch verstanden habe.

    ~Waradience~

  8. #8
    uehy, auf die idee bin ich garnicht gekommen, ich hab mich von der sache mit den switches ablenken lassen.
    das was waradience vorschlägt, ist besser als meins. yoyo. :)

    edit:
    arrrh nein, das was waradience macht ist garnicht sooo geil.
    oh gott. ich stelle grade fest, dass hier sauübel voll heftige codes für eine der billigsten sachen überhaupt gemacht wurden. :D

    du hast ein event, mit dem der wert der vairable festgelegt wird, denk ich mal.
    dann mach doch den rest einfach so:



    das ist fast das gleiche wie das von waradience, blos ohne das common event und das event aufrufen-zeugs.
    wozu sollte das denn eigentlich gut sein? oO

    Geändert von Marian (07.12.2007 um 17:14 Uhr)

  9. #9
    Zitat Zitat von Marian Beitrag anzeigen
    uehy, auf die idee bin ich garnicht gekommen, ich hab mich von der sache mit den switches ablenken lassen.
    das was waradience vorschlägt, ist besser als meins. yoyo.

    edit:
    arrrh nein, das was waradience macht ist garnicht sooo geil.
    oh gott. ich stelle grade fest, dass hier sauübel voll heftige codes für eine der billigsten sachen überhaupt gemacht wurden.

    du hast ein event, mit dem der wert der vairable festgelegt wird, denk ich mal.
    dann mach doch den rest einfach so:



    das ist fast das gleiche wie das von waradience, blos ohne das common event und das event aufrufen-zeugs.
    wozu sollte das denn eigentlich gut sein? oO

    Marian - DAS was du geschrieben hast ist die einfachste Lösung, doch nun kommt die wichtigste Frage die über Wohl oder Wehe entscheidet und der Grund ist warum ich so umständlich arbeiten muss:

    Bei den Eventconditions im 2000er-Maker kann ich zwar Variable anwählen, dann einen Wert eingeben.
    Dahinter steht jedoch "above" und DAS ist die Frage: Ist das ein Übersetzungsfehler oder bedeutet "Event Condition Variable 80 "above" " wirklich das dieses Event und seine Seite NUR aufgerufen wird wenn der Variablenwert 80 ist?


    In meinen Gedanken war "above" alles mit 80 und drüber.

    Zitat Zitat
    wozu sollte das denn eigentlich gut sein? oO
    Lass dich überraschen... hoffe ich

  10. #10
    Zitat Zitat von Marian
    wozu sollte das denn eigentlich gut sein? oO
    Naja, falls er mit seinem Hero das Event nicht direkt anspricht, wie soll
    es dann starten?^^°
    Aber ich habe es genau so gemeint wie es auf deinen screens zu sehen ist.
    Außerdem muss es kein CE sein, hab ich auch geschrieben.

    ~Waradience~

    EDIT @ Daen vom Clan:
    Sprichst du das Event direkt mit deinem Hero an oder soll es anderwertig aufgerufen werden?
    Und wie lange soll diese Pose zu sehen sein?

    Geändert von Greyce (07.12.2007 um 19:21 Uhr)

  11. #11
    Zitat Zitat von Daen vom Clan Beitrag anzeigen
    Bei den Eventconditions im 2000er-Maker kann ich zwar Variable anwählen, dann einen Wert eingeben.
    Dahinter steht jedoch "above" und DAS ist die Frage: Ist das ein Übersetzungsfehler oder bedeutet "Event Condition Variable 80 "above" " wirklich das dieses Event und seine Seite NUR aufgerufen wird wenn der Variablenwert 80 ist?
    Die eigentliche Bedingung dahinter ist nicht "Variable > Wert" sondern "Variable >= Wert". Sollte also eigentlich gehen, denke ich.

  12. #12
    Zitat Zitat von The_Best_Isaac Beitrag anzeigen
    Die eigentliche Bedingung dahinter ist nicht "Variable > Wert" sondern "Variable >= Wert". Sollte also eigentlich gehen, denke ich.
    Nein, denn der Wert muss eindeutig sein.
    Wenn ich 20 nehme, dann werden auch die Chars 1-19 angezeigt.

    So scheint das also nicht zu klappen, bzw. ist es saudämlich das Variablen nicht mit "same" benutzt werden können innerhalb des Kriteriums des Event-Editors *seufz*

    Also um es nochmal einfach zu skizzieren:

    Eine Variable kann den Wert 0 - 80 enthalten.
    Je nach Variable soll an einer immergleichen Stelle ein anderes Charset im 4-Ani-Turn angezeigt werden.

    Eine Lösung ist oben präsent, gibt es eine weniger arbeitsintensive Lösung?

  13. #13
    Du wirst nicht drum herum kommen die Animationen per Hand einzustellen.
    Der Maker hat keine Funktion mit der er grafiken nach variablen anzeigen kann,
    also ist das afaik unmöglich.
    Um meine Frage nochmal zu wiederholen:
    Sprichst du das Event direkt mit deinem Hero an oder soll es anderwertig aufgerufen werden?
    Wenn es nämlich gecallt wird brauchst du erst gar nicht auf jeder Eventseite
    eine Startbedingung(also Vari above blabla..) festlegen.
    Das wäre wichtig zu wissen.

  14. #14
    Also, während des Spiels errechnet sich der Wert der Variable aus diversen Gegebenheiten.
    Dann kann der Held auf eine Karte kommen in dem in einem Autostart-Event normalerweise die Abrechung und Darstellung laufen soll, danach kommt ein "show screen" und das Ergebnis soll angezeigt werden, der Held bleibt dabei bewegungsunfähig.

    Hilft dir das?

  15. #15
    Wie gesagt, dass Grafik einstellen auf den Event Seiten wird dir nicht erspart bleiben.
    Jedoch ersparst du dir mit der folgenden Methode(die ich schon weiter oben erklärt habe), dass einstellen der Startbedingung(die Variable).

    Das einzige was du tun musst ist ein Event zu erstellen, wo auf jeder Seite
    die gewünschte Animation ist. Aber das wars auch schon wieder.

    In deinem Autostart Event fügst du am Schluss des Codes den Befehl Call Event ein.
    Du wählst nun "Event referenced by Variables" aus. Für die Erste Variable solltest
    du eine neue Anlegen. Nenne sie zB. "Event_Nr".
    Die zweite Variable wird die seihen, die zwischen 1 und 80 sein kann.
    Du musst nur darauf achten, dass die Variable "Event_Nr" auf die ID des Animationsevents gesetzt ist.

    So wird automatisch die Seite aufgerufen, auf die die Variable gesetzt ist und
    man erspart sich die Startbedingung.

    Zusammenfassend: Ohne Fleiß, kein Preis ^^

    Falls du das nicht verstanden haben solltest, kann ich dir auch ein Script hochladen, nur könnte das ein paar Tage dauern(viel zu tun und so).

    ~Waradience~

  16. #16
    es gäbe schon noch eine fleißlose Möglichkeit, die ich dir aber wahrscheinlich nicht zumuten kann: die Grafiken durchnummerieren und mit dem Power Patch mit CopyFile die entsprechende Datei kopieren. Dann müsste man noch "Change Graphic" nehmen, damit der Maker die Datei neu ladet.
    mfG Cherry

  17. #17
    Zitat Zitat von Daen vom Clan Beitrag anzeigen
    Nein, denn der Wert muss eindeutig sein.
    Wenn ich 20 nehme, dann werden auch die Chars 1-19 angezeigt.
    *kopfschüttel*
    Marians zweite Methode ist die einfachste mir bekannte Methode, da bei gleicher Bedingungserfüllung die höherwertigste Seite aufgerufen wird und die anderen Seiten ignoriert werden. (Bei den Seiten 1-16 [Also Wert der Variable=16] wäre das also Seite 16, die aktiv wird.)
    Demzufolge würde es klappen. Und wenn du keinen Lust drauf hast, für jede Seite einen Code einzugeben (oder Copy & Paste zu betreiben, falls es immer der gleiche Code ist), einfach einen Common Event aktivieren und (außer bei Copy & Taste) Forks für die Variablen benutzen.

  18. #18
    Zitat Zitat von Pantoffelninja Beitrag anzeigen
    *kopfschüttel*
    Marians zweite Methode ist die einfachste mir bekannte Methode, da bei gleicher Bedingungserfüllung die höherwertigste Seite aufgerufen wird und die anderen Seiten ignoriert werden. (Bei den Seiten 1-16 [Also Wert der Variable=16] wäre das also Seite 16, die aktiv wird.)
    Leider nicht.
    Ich habe es angetestet, mach das mal bitte im 2000er nach.
    Erstelle drei Events und stelle bei jedem Event das Anzeigekriterium auf Variablenwert 20, 21 und dann 22 und schiebe die Variable auf 22. Dann werden auch die Events von 20 und 21 angezeigt.


    Nachtrag: Ich glaube ich habe eine Lösung gefunden. Ich schätze ich habe mich da oben geirrt, das scheint doch zu gehen! Ich teste das morgen mal aus.

    Geändert von Daen vom Clan (07.12.2007 um 23:57 Uhr)

  19. #19
    Zitat Zitat von Daen vom Clan Beitrag anzeigen
    Leider nicht.
    Ich habe es angetestet, mach das mal bitte im 2000er nach.
    Erstelle drei Events und stelle bei jedem Event das Anzeigekriterium auf Variablenwert 20, 21 und dann 22 und schiebe die Variable auf 22. Dann werden auch die Events von 20 und 21 angezeigt.
    Hast du die Reihenfolge der Eventseiten beachtet? Der Maker geht bei der Darstellung der Seiten nämlich von rechts nach link. Das heißt, wenn ganz rechts die Seite mit der Bedingung für 20 ist, und es nach links hochgezählt wird, wird die "20er-Seite" angezeigt, da diese noch "vor" (für den Maker) den anderen Seiten liegt und die Bedingung erfüllt (>= 20). Also ich hab das eben mit dem Maker ausprobiert und es hat funktioniert.
    Hier mein Testprojekt.

    Edit: Zu spät. =/

  20. #20
    wenn es nicht gänge, könnte man kaum zahlen per events anzeigen lassen..^.-

Berechtigungen

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