Ergebnis 1 bis 8 von 8

Thema: [Rm2k3] Caterpillar System

  1. #1

    [Rm2k3] Caterpillar System

    Hey Leute,

    Leider hatte ich seit über 3 Jahren nichtmehr am RPG Maker 2003 was geskriptet und bin leider etwas eingerostet...

    Ich habe ein Problem mit meinem Caterpillar System:

    Zitat Zitat von EasyEventExporter
    - SCRIPT -
    <> Change Variable: [3] = X position on map (tiles) of this event
    <> Change Variable: [4] = Y position on map (tiles) of this event
    <> Fork Condition: If Hero is facing up then ...
    . <> Change Variable: [2] += 1
    . <>
    : End of fork
    <> Fork Condition: If Hero is facing right then ...
    . <> Change Variable: [1] -= 1
    . <>
    : End of fork
    <> Fork Condition: If Hero is facing down then ...
    . <> Change Variable: [2] -= 1
    . <>
    : End of fork
    <> Fork Condition: If Hero is facing left then ...
    . <> Change Variable: [1] += 1
    . <>
    : End of fork
    <> Fork Condition: If Variable [1] > V[3] then ...
    . <> Move Event: This event, Frq 8, Pattern: Phas. mode on, Mv right
    . <>
    : End of fork
    <> Fork Condition: If Variable [1] < V[3] then ...
    . <> Move Event: This event, Frq 8, Pattern: Phas. mode on, Mv left
    . <>
    : End of fork
    <> Fork Condition: If Variable [2] > V[4] then ...
    . <> Move Event: This event, Frq 8, Pattern: Phas. mode on, Mv down
    . <>
    : End of fork
    <> Fork Condition: If Variable [2] < V[4] then ...
    . <> Move Event: This event, Frq 8, Pattern: Phas. mode on, Mv up
    . <>
    : End of fork
    <> Wait: 0,0 sec.

    Funktioniert alles relativ gut, leider bewegt sich mein Folger auch, nur beim Umdrehen, was dazu führt dass er plötzlich in steine oder wasser steht....

    Wie kann ich das nur beheben? Schande...früher hätt ich das in 3 Minuten mal kurz gescriptet...

    Achja an was ich mich erinnern kann ist, ich hatte mal 4 verschiedene variablen, Einmal X/Y vom Folger, dann die X/Y vom Held (Distanz) genannt, und habe diese beiden abgezogen und bekam variablen zwischen 0-2 heraus und konnte somit mir mein folge skript bauen...aber ich weiß nichtmehr wie das genau lief...

    Geändert von RandyMC (25.05.2015 um 13:26 Uhr)

  2. #2
    Wenn du es über die Distanz berechnen willst, müsste sich dein Verfolger immer dann bewegen, wenn die Distanz 2 beträgt (also der Betrag 2, positiv/negativ).
    Allerdings müsste hier dann noch berücksichtigt werden, dass der Held erst waagerecht ein Feld vor dem Verfolger stehen kann und dann senkrecht einen Schritt macht. Dann wäre die horizontale und vertikale Distanz jeweils 1, zusammengerchnet aber 2.

    Ansonsten kannst du aber auch einfach die Heldenpositon nach jeder Bewegung auf "Held X" und "Held Y" speichern und in deiner Schleife immer die aktuelle Position auf zwei weitere Variablen ("Held X akt.", "Held Y akt.") schreiben. Sobald eine Differenz zwischen "Held X" und "Held X akt." besteht, muss ein Schritt waagerecht (je nach Berechnung/Ergebnis nach links/rechts) durchgeführt werden. Gleiche gilt dann senkrecht für die Y-Werte.

    Sollte eigentlich so funktionieren.

    Edit:
    Um das Ganze zu vereinfachen kannst du, sobald sich eine Position des Helden ändert, "Move Forward" auf den Verfolger anwenden und ihn anschließend in die Richtung des Helden schauen lassen.
    Das Event sollte dann quasi so aussehen, dass wenn "Held X" - "Held X akt." nicht 0 ist oder "Held Y" - "Held Y akt." nicht 0 ist, soll der Verfolger sich einen Schritt vorwärts bewegen. Anschließend den das Event in die gleiche Richtung schauen lassen, wie den Held.

    Habe den Maker jetzt nicht installiert, sollte aber dann ungefähr in der Art aussehen:
    Code:
    Var [Held X akt] = Held Map X"
    Var[Held Y akt] = Held Map Y
    If V[Held X] - V[Held X akt] <> 0 OR V[Held Y] - V[Held Y akt] <> 0
      Move_Event [Verfolger Event] - 1 Step forward
      V[Held X] = V[Held X akt]
      V[Held Y] = V[Held Y akt]
      IF Held is facing up : Move_Event[Verfolger Event] - Face up
      IF Held is facing down [... usw.]
    End If

    Geändert von Linkey (25.05.2015 um 16:43 Uhr)

  3. #3
    Ah! klappt jetzt vielen dank!

    kurz trotzdem noch eine frage, gibt es ein programm (evtl von cherry) womit man mehrere Animationen gleichzeitig abspielen lassen kann? ich habe gemerkt wenn man 2 animationen starten möchte wird eine gar nicht angezeigt, gibts da ein patch oder so etwas?

  4. #4
    Nein. Keine Patches dafür. Ist recht tief drin im System.

  5. #5
    Super, dass es so klappt.

    Ich habe die alten Maker leider nicht auf meinem Arbeitsrechner installiert - daher ohne Gewähr:
    Ich kenne das vom XP, dass du mehrere Animationen gleichzeitig anzeigen kannst. Es gibt lediglich das Problem, dass diese Animationen auf unterschiedliche Objekte wirken müssen (z.B. Spieler und Even[123]). Sobald man versucht 2 Animationen auf das gleiche Event / den Spieler zu setzen, wird nur die letzte angezeigt.

    Um das Ganze zu umgehen (nehmen wir mal an, dass es keinen Patch dafür gibt), könntest du ein unsichtbares Event (below hero, damit es auch nicht stört) vorm Ausführen der Animation auf die Position des Helden setzen und die 2. Animation auf dieses Event wirken lassen.
    So sollte es möglich sein, beide Animationen darzustellen.

    Problem: Flash Effekte des Effekts, der auf das Event geht, werden an der Spielfigur nicht angezeigt. Da hast du bei 2 gleichzeitigen Animationen aber generell das Problem, wenn beide zur gleichen Zeit unterschiedliche Flash-Effekte nutzen.

    Edit: Okay, also keine Patches. Dann kannst du ja den Weg mit dem unsichtbaren Event einmal ausprobieren~

  6. #6
    Das Problem ist dass 2 Animationen niemals angezeigt werden können, ich lasse 2 Animationen auf 2 verschiedenen events abspielen aber die 1 Animation wird komplett ignoriert und wird erst ausgeführt wenn die wrste vorüber ist...

    3 frage wäre dann noch gibt es ein. Patch oder eine Lösung für zu große charaktere (bsp bowser)? Wenn ich den großen char als picture anzeigen lass ist dieser immer "above hero".... Ich hätte liebend gern größere Charaktere kanns aber nicht umsetzen

  7. #7
    Hab den alten Maker leider - wie gesagt - nicht installiert. Kann es daher nicht testen.
    Sicher, dass 2 Animationen auf verschiedene Events nicht funktionieren? Habe es auf dem RMXP noch einmal getestet - es geht. Wenn das auch nicht geht, weiß ich da leider auch keine Lösung.
    Oder gibt es beim alten Maker auch die Möglichkeit Animationen über ein "Set Movement" auszuführen?

    Code:
    Set Movement [Event 1]:
    - Show Animation XYZ
    
    Set Movement [Event 2[
    - Show Animation ABC
    
    Wait for Completion
    Geht das denn?


    @Große Charaktere:
    Teile den Charakter in mehrere Charteile auf.
    Nehmen wir an, Boswer wäre 2 Felder breit und 2 Felder hoch, dann müssten die Teile auf 4 Chars verteilt werden und durch 4 Events angezeigt werden. So kannst du jedes Event einzeln einstellen (above/below/same level).

  8. #8
    @Linkey Nein die alten Maker können das nicht. Sie sind beschränkt auf eine Animation und haben nicht die Möglichkeit, eine Animation über Set Move Route anzuzeigen.

    Die einzige Möglichkeit, mehrere Animation gleichzeitig anzeigen zu lassen, besteht über Pictures. Da muss man halt jeden einzelnen Frame in einem Bitmap speichern und mit Wait-Timern (ein 0.0 Wait oder zwei 0.0 Wait Befehle hintereinander) nacheinander per Show Picture anzeigen lassen.

Berechtigungen

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