Seite 2 von 2 ErsteErste 12
Ergebnis 21 bis 31 von 31

Thema: [RM2K3] Brauche Hilfe: Sprung-Script a la Golden Sun

  1. #21
    Zitat Zitat von Exas Beitrag anzeigen
    Großes Aber: wie es aussieht, muss das Tile das sich hinter dem zu überspringenden Tile/Event befindet ein Lower Layer bzw. kein Event, das die gleiche Priority wie der Actor hat, sein. Ansonsten funktionierte der Sprung nicht.
    Wenn das Feld auf dem man landen will nicht passierbar ist, sollte man dann nicht grundsätzlich ebenso wenig dort hinspringen können? Es gibt sicher Momente, in denen man das doch so handhaben will, aber ist das von dir beabsichtigt?

    Hat dir der Lösungsweg von MagicMaker eigentlich weitergeholfen? Ich habe deinen Code mal nachgebaut und kann den Fehler beim besten Willen nicht reproduzieren. Also das (Slip Through ON, Start Jump, Move Up, Move Up, End Jump, End Slip Through). Selbst ohne MagicMakers Switch passiert bei mir nichts dergleichen.

    Achja, und statt Move Up/Left etc. zu verwenden, wäre Move Forward einfacher. Dann kannst du das gleiche Move Event für alle Richtungen beibehalten.

  2. #22
    Der Sprung kann solange ausgeführt werden, solange wie das angesteuerte Tile passierbar ist. Somit ist es nicht nötig Slip Through zu benutzen. Tiles sind dann nicht passierbar, wenn sich Events mit "same layer as hero" darauf befinden. Da muss man halt entweder Designtechnisch aufpassen und doch Slip Through benutzen oder der Spieler kann halt da nicht hinspringen, wenn ein NPC da nicht steht.

    Ach, btw, so sieht das dann ungefähr in Aktion aus:



    Zitat Zitat von Nagasaki Beitrag anzeigen
    Achja, und statt Move Up/Left etc. zu verwenden, wäre Move Forward einfacher. Dann kannst du das gleiche Move Event für alle Richtungen beibehalten.
    This.

    Geändert von Drakee (01.09.2015 um 10:45 Uhr)

  3. #23
    Entschuldigt meine späte Rückmeldung, war zwischendrin mit den Soundtracks fürs Spiel beschäftigt und sowas nimmt leider ja doch etwas Zeit in Anspruch^^

    Zitat Zitat von Nagasaki Beitrag anzeigen
    Wenn das Feld auf dem man landen will nicht passierbar ist, sollte man dann nicht grundsätzlich ebenso wenig dort hinspringen können? Es gibt sicher Momente, in denen man das doch so handhaben will, aber ist das von dir beabsichtigt?
    Nein, versteh mich nicht falsch, das ist auf jeden Fall nicht beabsichtigt. Ich wollte lediglich mal testen, wann das passieren grundsätzlich möglich ist und wann nicht. Aber es ist so wie du schon sagst, in einigen seltenen Fällen wird es durchaus mal nötig sein auch an unpassierbaren Stellen springen zu können.

    Zitat Zitat von Nagasaki Beitrag anzeigen
    Hat dir der Lösungsweg von MagicMaker eigentlich weitergeholfen? Ich habe deinen Code mal nachgebaut und kann den Fehler beim besten Willen nicht reproduzieren. Also das (Slip Through ON, Start Jump, Move Up, Move Up, End Jump, End Slip Through). Selbst ohne MagicMakers Switch passiert bei mir nichts dergleichen.

    Achja, und statt Move Up/Left etc. zu verwenden, wäre Move Forward einfacher. Dann kannst du das gleiche Move Event für alle Richtungen beibehalten.
    Leider konnte ich das Problem bis jetzt immer noch nicht beheben. Bin jetzt auch an dem Punkt wo sämtliche Slip Through's entfernt sind. Der Lösungsweg von MagicMaker funktioniert grundsätzlich super. Aber ich befürchte, dass das Problem doch woanders liegt, nämlich im vorangehenden Script für die Messung der Tastendruck-Dauer. Ich glaube dass es zu Komplikationen kommt, wenn ich eine andere Taste drücke, in dem Moment, wenn die Variable den Schwellenwert erreicht um das Move Event auszulösen. Leider sind's zu gegebenem Zeitpunkt nur Vermutungen weil ich's bis jetzt noch nicht zu 100% eingrenzen kann. Ich denke auch dass der Code von MagicMaker einwandfrei funktionieren müsste, wahrscheinlich hab ich einfach nur schlecht gecoded Ich werde heute weitere Tests durchführen und schau mal was ich noch so reißen kann.

    @Drakee So hab ich mir das vorgestellt! Sieht super aus Ich hoffe ich krieg's auch so hin xD

  4. #24
    Das Problem bei mir war, dass ich wärend des MoveBefehels noch die Richtung ändern konnte, durch Tastendruck. Da habe ich gegen gewirkt, indem ich die Movementroute in ein Auto-Start CE gepackt habe, das per Switch aktiviert wird.

  5. #25
    Ahhhhhh das könnte das Problem schon beheben. Leider funktionierte (aus irgendeinem Grund den ich vermutlich niemals erfahren werde) der "Proceed with Movement"-Befehl nicht.. Ich meld mich nochmal mit handfesten Ergebnissen

  6. #26
    Wie meinst du "funktionierte nicht"?

    Der Befehl wartet darauf bis alle Move Events die momentan laufen, abgeschlossen sind. Eigentlich sollte der Befehl "Wait until moved" oder so heißen. Achtung, das bezieht sich auch auf solche, die von anderen Events ausgelöst wurden.

  7. #27
    Zitat Zitat von Cherry Beitrag anzeigen
    Wie meinst du "funktionierte nicht"?

    Der Befehl wartet darauf bis alle Move Events die momentan laufen, abgeschlossen sind. Eigentlich sollte der Befehl "Wait until moved" oder so heißen. Achtung, das bezieht sich auch auf solche, die von anderen Events ausgelöst wurden.
    Jep, dieser Befehl wartet mit der Ausführung des nächsten Befehls, bis alle aktuell laufenden (durch CE und Map Events) Move Befehle beendet sind.

    Ganz abgesehen davon habe ich bemerkt, dass ohne diesen Befehl meist im Movement so Sachen wie "Slip Through", "Increase Speed", "Decrease Speed" nicht richtig funktionieren oder die Movement Route abgebrochen wird. Das hatte ich bei Altered Royalty, wenn man den Bogen gespannt hat, dass die Heldin beim Spannen die Richtung fixiert hat und eine Stufe langsamer werden soll, aber unter Umständen der "Increase Speed"-Befehl gar nicht erst ausgeführt wurde. Mit einem "Wait Until Movement"-Befehl dahinter hat das dann funktioniert.

    Der Befehl "Stop Movement" stoppt übrigens die Movementrouten Den kann man u.U. an einigen Stellen auch gut gebrauchen.

  8. #28
    Zitat Zitat von Cherry Beitrag anzeigen
    Wie meinst du "funktionierte nicht"?

    Der Befehl wartet darauf bis alle Move Events die momentan laufen, abgeschlossen sind. Eigentlich sollte der Befehl "Wait until moved" oder so heißen. Achtung, das bezieht sich auch auf solche, die von anderen Events ausgelöst wurden.
    Irgendwie schien der Befehl keine wahrnehmbaren Auswirkungen zu haben.. War alles irgendwie recht komisch..
    Ich konnte das Problem bis jetzt leider noch nicht lösen. Ich denke ich werde das Script einmal neu schreiben, da er doch ziemlich unübersichtlich geworden ist und auffällt, das viele Sachen im Code redundant sind. Wie gesagt, ich bin echt nicht der beste Techniker und muss noch viel lernen, vorallem wenn's darum geht "saubere" und ordentliche Scripts zu erstellen.

    Aber jetzt verstehe ich wenigstens, was ich zu tun habe um das Ganze nach meiner Vorstellung zu gestalten und dafür bin ich schon sehr dankbar
    Ich melde mich mit neuen Ergebnissen

    @Drakee: was hast du eigentlich alles in separaten CE's ausgelagert? Hast du eventuell ein paar Tipps?

  9. #29
    Ich habe das komplette Skript in Common Events gepackt. Wäre anders auch irgendwie wieder Copy-Paste Gedöns, das ich mir nicht antun wöllte o.O

    Naja, aber es lohnt sich auf jeden Fall Code, den man öfters in seinem Skript aufruft, in ein CE zu packen und das auf Trigger "None" stehen zu lassen und dann halt, statt jedes Mal diesen Code in die entsprechenden Bedingungen reinzukopieren nur den einen Befehl reinkopieren muss, nämlich der Call-Befehl, der den Code dann aufruft. Somit muss man bei einem Bug in besagtem Code nicht jedes Mal im Skript den Code löschen und erneut einfügen, sondern braucht ihn nur in dem entsprechenden CE zu bearbeiten.

    Also prinzipiell gilt: Globale Funktionen in CEs und auch Code, den man immer wieder nur kopieren und einfügen würde, sofern er mehrere Zeilen besitzt, per Call-Event-Befehl integrieren. Damit hat man zwar mehr Common Events in der Liste, aber man hat es leichter zu debuggen.

  10. #30
    CE sind eine tolle sache zumal du auch hier codes unterbringen kannst die du vlt. Später nochmal gebrauchst dich aber nicht durch 1000 events wühlen willst.

    Das hier werd ich mal weiter beobachten hat schon seine Vorteile so ein Sprungsystem ;-)

    Lg
    Sf88

  11. #31
    Hey Leute! Jap, ich lebe noch =D
    Ich musste mich kurze Zeit nach unserem letzten Austausch für eine Weile zurück ziehen - hatte ne Menge um die Ohren..
    Aber jetzt bin ich wieder aktiv dabei und wollte eine kurze Rückmeldung zu dem Sprungsystem hinterlassen uuuuund:
    Es funktioniert! =D
    Ich hab wie im letzten Beitrag das Skript nochmal komplett neu aufgesetzt, da ich ja mittels eurer Hilfe nun genau wusste was zu tun ist.
    Es funktioniert auf jeden Fall makellos

    Kurze Zeit später ergab sich allerdings ein völlig anderes Problem - das korrekte Mapping.
    Da man im Chipset die entsprechende Terrain-Zuweisung nicht sehen kann und man teilweise ein bisschen mit den Chips tricksen muss um komplexere Maps zu gestalten,
    hatte ich die Idee die Chipsets im Vorfeld zu markieren, der Screenshot sollte von selbst erklären was ich meine:

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

Name:	sprungsystem_chipset-funktionen.JPG 
Hits:	23 
Größe:	325,5 KB 
ID:	23124

    Die roten Markierungen entsprechen der Terrain-Zuweisung in der Database.
    Das Chipset hat nun somit zwei Versionen. Eine mit Markierungen um die Map zu gestalten, und die andere Version ohne Markierungen, zu der per Autostart-Event gewechselt wird wenn der Spieler die Map betritt. Somit kann man leichter komplexe Maps bauen ohne 5 Millionen mal in die Database zu gehen und zu schauen welches Chip denn jetzt welches Terrain zugewiesen bekommen hat.
    Ist letztendlich nichts besonderes und hat kaum was mit der Technik Geschichte zu tun, aber ich dachte mir, falls es andere gibt die dieses System übernehmen wollen dann könnte das einiges erleichtern.

    Auf jeden Fall möchte ich mich noch mal bei allen bedanken die hier geholfen und mitgewirkt haben

Stichworte

Berechtigungen

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