Attacker / Target Animation gleichzeitig anzeigen?
Ich wollte fragen ob irgendwer ein Skript oder eine sonstige Möglichkeit wüsste, die Attacker und Target Animation
GLEICHZEITIG anstatt wie bislang nacheinander anzeigen zu lassen, oder mir da was kleines 'für schreiben könnte.
Grund: Ich will, dass mein Battler, der bei mir durch sein Charset dargestellt wird, während des Angriffes "unsichtbar" ist, damit er nicht plötzlich
zweimal auftaucht.
--
Das Licht
Wir sind in trauer wenn · uns minder günstig
Du dich zu andren · mehr beglückten: drehst
Wenn unser geist · nach anbetungen brünstig:
An abenden in deinem abglanz wes't.
Wir wären töricht · wollten wir dich hassen
Wenn oft dein strahl verderbendrohend sticht
Wir wären kinder · wollten wir dich fassen -
Da du für alle leuchtest · süsses Licht!
Das geht halbwegs einfach, kann man sicherlich ein Skript zu bauen - Problem ist allerdings, dass jeder Sprite nur eine Animation gleichzeitig laufen haben kann. Wenn du also eine Animation mit Ziel u.a. dem Attacker machst, würde auf diesem nur die letzte Animation angezeigt werden. Ich weiss nicht genau ob das Funktionieren würde, RPG::Sprite so umzubauen dass dieses 2 Animationen gleichzeitig abspielt (gehen würde das, aber ob das auch funktioniert im Endeffekt, müsste jemand mit mehr Einblick in die Feinheiten vom RGSS sagen), ist aber ein wenig aufweniger.
Andere Sache: Wieso willst du die Animation gleichzeitig anzeigen, wenn dein Attacker dabei unsichtbar sein soll? Dieser bräuchte dann doch eigentlich gar keine Animation, sondern nur ne Sichtbarkeits-Änderung.
Andere Sache: Wieso willst du die Animation gleichzeitig anzeigen, wenn dein Attacker dabei unsichtbar sein soll? Dieser bräuchte dann doch eigentlich gar keine Animation, sondern nur ne Sichtbarkeits-Änderung.
...
Also im Moment hatte ich das so geplant:
Ich nutze ein Skript, welches statt den Battlern die Charsets anzeigt, welche aber noch wie Battler ansteuerbar sind.
Wenn mein Held nun eines der Monster angreift, zieht er (in der Animation) seine Pistole und feuert drauf los.
Problem: Der Held wäre dann zwei mal zu sehen, während des Angriffes (Ein mal in der Ani, einmal als Battler)
Bislang angedachte Lösung: Ich weise der benutzen Waffe Pistole#1 unter "Target Animation" die Animation zu, in der der Held die Waffe zieht, feuert, und der Schuss einschlägt;
unter "Attacker" Animation eine Ani die den Battler für die selbe Anzahl Frames unsichtbar macht.
Problem hierbei: Der Maker spielt die "Target Animation" erst ab, wenn die "Attacker Animation" vollendet ist, d.h. der Held verschwindet kurz, taucht wieder auf, ist
beim eigentlichen Angriff dann aber doch zwei mal da. :-/
--
Das Licht
Wir sind in trauer wenn · uns minder günstig
Du dich zu andren · mehr beglückten: drehst
Wenn unser geist · nach anbetungen brünstig:
An abenden in deinem abglanz wes't.
Wir wären töricht · wollten wir dich hassen
Wenn oft dein strahl verderbendrohend sticht
Wir wären kinder · wollten wir dich fassen -
Da du für alle leuchtest · süsses Licht!
Also, ich sehe beide Optionen als brauchbar, finde aber persönlich letztere Option nicht nur einfacher Umzusetzen, sondern auch hübscher. Ich kann dir gleich in der Bahn das mal eben Scripten, ich geh mal davon aus dass das mit deinem anderen Script kompatibel ist, und gegen ~16 Uhr posten, kannst mir ja sagen, ob das dann deinen Vorstellungen entspricht. Ansonsten hat vllt auch jemand anders ne bessere oder schnellere Lösung - oder ich versteh dein Problem einfach falsch. Ich glaube allerdings, so wie du es beschreibst, weiss ich nicht ob gleichzeitig Anzeigen lassen das ist was das Problem löst ~.~
Ich hab jetzt nämlich eine Lösung gefunden, die aber auch nur bei diesem einen Char funktioniert, weil dieser Fernkämpfer ist,
bei Nahkämpfern (die zwangsläufig in die Target Animation müssen, damit sie nah genug an das Ziel herankommen) aber versagt,
oder unschön wirkt.
Provisorium:
[Ich pack das ziehen der Pistole einfach in die "Attacker Animation", und nur Schuss-Flugbahn, und Einschlag in die
"Target Animation". Hat zwar den Nachteil, dass mein Char nicht mehr "direkt" vor das Monster springt, und daher
- wenn es weit weg vom Char steht- , die Flugbahn der Kugel seltsam wirkt, und dass der Char zwangsläufig, (Weil die
Attacker Ani beendet ist) die Waffe bereits "wegsteckt", bevor der Schuss einschlägt, aber im Moment ist es besser als den
Char zweimal zu haben. ]
--
Das Licht
Wir sind in trauer wenn · uns minder günstig
Du dich zu andren · mehr beglückten: drehst
Wenn unser geist · nach anbetungen brünstig:
An abenden in deinem abglanz wes't.
Wir wären töricht · wollten wir dich hassen
Wenn oft dein strahl verderbendrohend sticht
Wir wären kinder · wollten wir dich fassen -
Da du für alle leuchtest · süsses Licht!
Ah, stimmt, ich vergaß Nahkämpfer. Ich hab nicht mehr groß Zeit zu posten, ich bin die letzten 2 Stunden auch immer nur kurz am Rechner gewesen, sonst hätt ich gleich mitm Skripten angefangen, ich überleg mir ne Lösung. Vllt schaffts du es ja in den 10 Minuten zu posten ehe ich los bin: kommt in dem Fall vor, dass z.b. bei Items oder Heilung, ein "Attacker" auf sich selbst ne Animation wirkt?
Wir sind in trauer wenn · uns minder günstig
Du dich zu andren · mehr beglückten: drehst
Wenn unser geist · nach anbetungen brünstig:
An abenden in deinem abglanz wes't.
Wir wären töricht · wollten wir dich hassen
Wenn oft dein strahl verderbendrohend sticht
Wir wären kinder · wollten wir dich fassen -
Da du für alle leuchtest · süsses Licht!
Ist kein Problem, dafür hab ich gesorgt. Ich hab hier jetzt was, was doppelte Animationen untersützt und gleichzeitige Animationen + ausblendung supported.
Muss da wohl noch nen Bug raus fixen, sieht aber schon ganz funktionierend aus.
Problem: vor morgen kann ich dir das nicht hier rein schreiben - hier an der Uni gibts ein kleines Problem mit dem Internet, einige Rechner kommen nicht online, darunter meiner. Daher kann ich nur das hier grad posten, du wirst dich bis morgen gedulden müssen, da ich über Nacht bei Freunden bin die grade den Anbieter wechseln und daher auch kein Internet haben. Dafür sollte ich den Bug bis morgen gefixt haben, irgendwie hab ich irgendwo wohl ne Endlosschleife reingehauen, StackLevelTooDeep klingt stark danach.
So, nachdem das nun doch mehr Arbeit war als geplant - aber durch meine Internetabstinenz und vielen Bahnfahrten hatte ich viel Zeit das zu erledigen - hab ich dein Script nun fertig. Waren doch 2 von mir dumm verursachte Endlosschleifen -.-
Es macht: Charaktere während einer Animation (ausser white flash) unsichtbar, spielt animation auf dem Battler und dem Target gleichzeitig ab.
Du solltest diesen Teil
vor allem anderen einfügen, folgenden
am besten unter deinen anderen System - wobei es vermutlich egal ist.
Das Script funktioniert in meinem Testprojekt einwandfrei, allerdings ist es nicht ideal geschrieben, also es könnte durchaus Kompatibilitätsprobleme mit anderen Scripten geben, da kann ich für nichts garantieren.
Wenn du Probleme mit dem Script hast, u.a. eben wegen Kompatibilität, post einfach nochmal hier oder schreib ne PN
@KD:
Ich bin übrigens gerne für Verbesserungsvorschläge offen, wenn du sie geben möchtest. Grade bei RPG::Sprite weiss ich nicht, ob ich mir einige der Variablen (u.a. reference_count) hätte sparen können zu verdoppeln.
Im Moment bin ich mir trotz Erklärung relativ unsicher, wo ich die einzelnen Skript-Bestandteile jeweils einfügen soll.
Egal wo ich sie einfüge bekomme ich bislang immer ne Fehlermeldung, weswegen ich mal vermute, dass ich sie
nicht an rechter Stelle einfüge ... :-(
Z.B.
Je nach dem wo ich es einfüge Variiert der Inhalt der Fehlermeldung freilich ...
--
Das Licht
Wir sind in trauer wenn · uns minder günstig
Du dich zu andren · mehr beglückten: drehst
Wenn unser geist · nach anbetungen brünstig:
An abenden in deinem abglanz wes't.
Wir wären töricht · wollten wir dich hassen
Wenn oft dein strahl verderbendrohend sticht
Wir wären kinder · wollten wir dich fassen -
Da du für alle leuchtest · süsses Licht!
Stefan George
Geändert von Jerome Denis Andre (16.11.2011 um 02:50 Uhr)
Warum nicht bei der "Attacker-Animation" den Battler lossprinten lassen und halt die ganze Laufzeit der Attacker- und Targetanimation den Befehl "Hide Target" bei einer Battle Animation nutzen? Kannst du da, wo du festlegen kannst, bei welchem Frame welche SE's starten, das Ziel aufblinkt etc., als Befehl für Frame 1 der Attacker-Animation bestimmen. Wenn der Battler halt nicht lossprintet, reicht der Befehl auch am Ende der Battle Animation (da musst du dann aber die Frameanzahl der Attacker-Animation wieder abziehen).
Da braucht man also kein extra Script dafür...
Warum nicht bei der "Attacker-Animation" den Battler lossprinten lassen und halt die ganze Laufzeit der Attacker- und Targetanimation den Befehl "Hide Target" bei einer Battle Animation nutzen? Kannst du da, wo du festlegen kannst, bei welchem Frame welche SE's starten, das Ziel aufblinkt etc., als Befehl für Frame 1 der Attacker-Animation bestimmen. Wenn der Battler halt nicht lossprintet, reicht der Befehl auch am Ende der Battle Animation (da musst du dann aber die Frameanzahl der Attacker-Animation wieder abziehen).
Da braucht man also kein extra Script dafür...
MfG Sorata
...
Also, indem ich unter der "Attacker Animation" meiner Waffe eine BA einstelle, die dazu führt, dass
der Battler z.B. 26 Frames lang versteckt ist, und derweil in der BA der "Target Animation" zu sehen
ist, in etwa so:
Meintest du das so ?
Falls ja:
Wie oben beschrieben führt der Maker die "Attacker Animation" scheinbar (zumindest bei mir) KOMPLETT aus, bevor die "Target Animation" überhaupt begonnen wird.
D.H. in beschriebenen Fall würde der Battler dank der Attacker BA erst für 26 Frames verschwinden, dann wieder auftauchen (bevor de Target BA beginnt) und erst nachdem
er wieder als Battler erschien, in der Target BA zu sehen sein, sodass er nun "zwei mal" da ist.
--
Das Licht
Wir sind in trauer wenn · uns minder günstig
Du dich zu andren · mehr beglückten: drehst
Wenn unser geist · nach anbetungen brünstig:
An abenden in deinem abglanz wes't.
Wir wären töricht · wollten wir dich hassen
Wenn oft dein strahl verderbendrohend sticht
Wir wären kinder · wollten wir dich fassen -
Da du für alle leuchtest · süsses Licht!
XP
(Auch wenn es nun nicht funktioniert übrigens vielen Dank für den Aufwand den du dir machst ^^)
EDIT: Für den Fall, dass es auch daran liegen könnte hier das Sideview Skript, welches ich direkt über Main nutze:
@sorata08: Zur genaueren Darstellung des Problemes wie oben beschrieben findest du hier ein Video,
in welchem ich die oben ge-posteten Konfigurationen mit 200 Frames durchlaufen lasse.
Ich denke da wird das Problem schnell klar.
--
Das Licht
Wir sind in trauer wenn · uns minder günstig
Du dich zu andren · mehr beglückten: drehst
Wenn unser geist · nach anbetungen brünstig:
An abenden in deinem abglanz wes't.
Wir wären töricht · wollten wir dich hassen
Wenn oft dein strahl verderbendrohend sticht
Wir wären kinder · wollten wir dich fassen -
Da du für alle leuchtest · süsses Licht!
Stefan George
Geändert von Jerome Denis Andre (16.11.2011 um 12:37 Uhr)
Okay, was nutzt du noch für Scripte oder hast du am Standard-Scriptsatz verändert? Ich sehe nicht wirklich Probleme mit dem Sideview Script im Script selbst - ebenso wenig, wenn ich das einfach über Main einfüge wie es bei dir ist und laufen lasse - läuft alles wunderbar. Also kollidiert das Sideview Script nicht mit meinem. Btw, denk dran, nichts UNTER der Main einzufügen. Die Main ist immer die unterste.
Okay Okay, ich sehe grad, hide target in der Animation tuts jetzt nicht mehr, aber das fix ich schon noch O.o
Edit: Nvm, das liegt an keinem der Scripte, das sieht bei mit immer so aus, selbst wenn ich alle Scripte rausnehme^^.
Fast. Du musst den Helden natürlich auch noch solange verstecken, wie die Target-Animation dauert.
In deinem Fall ist die ja 10 Frames lang, also musst du den Helden nicht 26, sondern 36 Frames verstecken.
@Sorata08: Nein, dann funktioniert es immer noch nicht, denn wie ich bereits sagt, scheint der Maker die Target Ani
erst dann anzufangen, wenn die Attacker Ani ABGESCHLOSSEN ist. Siehe auch das Video, wo ich die Attacker Ani
auf 200 frames hochstellte, was nur bewirkte, dass der Held zwar 200 frames lang weg war, aber erst als er dann nach
200 Frames wieder da war, die Target Ani eingeleitet wurde.
--
Das Licht
Wir sind in trauer wenn · uns minder günstig
Du dich zu andren · mehr beglückten: drehst
Wenn unser geist · nach anbetungen brünstig:
An abenden in deinem abglanz wes't.
Wir wären töricht · wollten wir dich hassen
Wenn oft dein strahl verderbendrohend sticht
Wir wären kinder · wollten wir dich fassen -
Da du für alle leuchtest · süsses Licht!
Dann ist dein Kampfsystem in der Hinsicht doof gestaltet.
Bei mir hat es stets funktioniert. oÔ
Du könntest aber noch die Variante probieren, den Befehl erst beim letzten Frame aufzurufen und dann halt die Länge für die Target Animation anzugeben.
Also "Frame 26: Hide Target @10"