PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Echtzeit kampf mit Problemen ^^



Biffi
07.07.2006, 12:49
Moin moin

In meinen Game wird echtzeit gekämpft

Dafür hat der Char 3Waffen zur Auswahl

Schwert (funktioniert)

Bomben
Die wird geworfen aber wie wird herausgefunden ob das Monster in der Explosion steht?

Pfeile
Wie kann ich abfragen ob das Monster in der Schussbahn steht und wenn der Pfeil das Monster getroffen hat die Animation nicht weiter ausgeführt wird? (Sonst trifft der Pfeil das Monster und der Pfeil fliegt dann weiter ^^

Und wenn ich eine längere Kampfanimation abspielen lasse kann ich immer noch mein Char bewegen (was auch so sein soll) nur wenn ich mich Bewege dann geht die Animation mit ^^

Ich hoffe ihr könnt mir weiter helfen :)

mfg
Biffi

Tiro&Millet
07.07.2006, 13:16
Solche Abfragen packst du am Besten in ein Parallel- Event, welches ständig abfragt, wo die Monster stehen.
-Der Held wirft die Bombe
-Die Animation erscheint und die Variablen, wo die Explosion ist, werden gespeichert (Heldkoordinate+Distanz des Wurfes, z.B. 2-3 Felder)
-Das Parallel-Event prüft, ob die Koordinaten des Monsters mit der, der Explosion übereinstimmen, wenn die explosion größer ist als ein einzelnes Feld, prüfst du zusätzlich, ob die Koordinaten passen wenn du 1 oder 2 von den Monsterkoordinaten abziehen/hinzufügen würdest
-Wenn die Koordinaten stimmen, wird das Monster von der Bombe getroffen

Pfeil:
-Ein Event wird auf den Helden platziert (below hero), welches sich schnell in die Richtung bewegt, in die der Held gerade blickt.
-Mach wieder ein Parallel- Event, welches die Koordinaten des fliegenden Pfeils ständig (2x wait 0.0)mit der der Monster abgleicht und ggf. dann die Schadenanimation usw.. ausführt und den Pfeil verschwinden lässt
-Bau auch die Überprüfung ein, ob der Pfeil den Kartenrand erreicht, sonst würde er ja dort stehen bleiben^^

Der Pfeil ist ein unsichtbares Event auf der Karte, welches erst sichtbar wird, wenn der Held schießt und gleich wieder verschwindet, wenn es das Monster trifft

Zum letzten Problem: KA^^. Du KÖNNTEST Charas (Over Hero) nehmen, du du mit "Set Event Position" quasi AUF die Monster "klebst", ein Event zählt dann die Variable weiter, sodass die Seiten mit den unterschiedlichen Charset- Teilen "durchgeblättert" werden, bis die Animation zuende ist.

Hoffe, ich konnte dir helfen. Alles etwas kompliziert, aber zu einem anständigen Echtzeit- KS gehört natürlich auch viel Kenntnis vom Maker und Mühe.

Tiro&Millet

Biffi
07.07.2006, 13:30
Das erstere habe ich verstanden aber ob ich das schaffe ^^ mal schaun

Aber das 2te raffe ich nicht ^^
Wie ich die Animationen laufen lassen kann aber ich meinen Char trotzdem bewegen kann ^^

mfg
Biffi

Tiro&Millet
07.07.2006, 16:23
Gut, ich werde versuchen, das besser zu erklären. Kann dir leider dazu keinen Code geben, weil die Motivation im Moment eher niedrig ist (bin jedenfalls ehrlich:) ), aber wichtig ist folgendes.

Du möchtest beispielsweise eine Animation erstellen, die 9 Felder groß ist.
Du machst 9 unsichtbare Events auf der Karte. Jetzt möchtest du meinetwegen die Animation auf einem Monster abspielen. Die Koordinaten hast du bereits ausgerechnet. In diesem Beispiel lauten sie x = 7 y = 7 Lege die 9 Events mit "Set Event Place" auf die Koordinaten:
1. x=6 y=6
2. x=7 y=6
3. x=8 y=6
Das wäre die obere Reihe.
4. x=6 y=7
5. x=7 y=7
6. x=8 y=7
Die Mittlere Reihe.
7. x=6 y=8
8. x=7 y=8
9. x=8 y=8
Die Untere.
Jetzt öffnest du die Battle Animation- Datei in Paint oder was, die die Animation enthält.
Stück für Stück schneidest du 16x16 Pixel große Teile aus jeder einzelnen Grafik (in unserem Beispiel ist die Grafik 64x64 groß, Standard ist, wie ich jetzt gerade sehe, 96x96 für jedes einzelne Teil einer Battle animation, musst du ein bisschen umdenken und entsprechend mehr Events machen)
Die 16x16- teile fügst du in eine leere Charset- Vorlage ein.
Zurück in den Maker importierst du das Charset.
Die leeren 9 Events erhalten alle eine 2 Seite, wo du überall den ersten Teil der Animation einfügst(also entsprechend überall das erste Teil, natürlich nicht dasselbe, is klar). Eine 3 Seite für den nächsten Teil der Animation und so weiter. Das Event, welches unsere 9 Events anfangs auf die Stelle gelegt hat, zählt jetzt die Variable weiter, so dass die einzelnen Seiten der Events nacheinander erscheinen.
Die erste Seite hat keine Variable, die zweite Seite meinetwegen
als Condition "Variable Animation =1" und so weiter.


Ach, weißt du was, das ist alles viel zu kompliziert, aber so würd' ich es machen, weil Pictures auch nicht funktionieren würden...
Guck' dir doch einfach mal an, wie es in anderen Rm2k-Spielen gemacht wird, v.a. die Pfeil- Sache solltest du in vielen Spielen wiederfinden. Vielleicht findest du auch so ein "Bomben- Skript", sach ich mal.

Tiro&Millet