PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zufällige Endbossattacken



Halfblooded angel
19.07.2004, 01:44
Ich versuche für Endbosse, gegen die man auf der Map kämpft, irgendwie Zufallsattacken zu starten, sodass gewisse auf der Kampfmap platzierte Events bei einem bestimmten Variablenwert dem Hero schaden, wenn er sie berührt, d.h. gerade draufsteht. Für Vorschläge, wie ich das einfädeln kann, wäre ich sehr dankbar und werde auf Wunsch hin den Namen des Vorschlagunterbreitenden in den Credits in der Sektion für die Bosskämpfe erwähnen und, wenn erwünscht, auch eine Gastrolle in dem RPG geben.

Halfblooded angel bedankt sich schon im Voraus und für das Lesen.

Tiny
19.07.2004, 01:57
Du wählst bei allen Events, die dem Helden bei berührung schaden sollen, unter "Event Conditions" "Variable" und wählst den gewünschten Wert aus (der bei dem die Events dem Helden schaden sollen). Dann nur noch bei "Event Start Condition" "On Hero touch" auswählen. Bei den Event Befehlen wählst du "Change HP" und veränderst die HP des Helden. Vielleicht noch ein schönes "Flash Event", damit der Spieler auch merkt, dass er HP verloren hat (kannst ja auch einen Soundeffekt verwenden...).

:A Willkommen!

Kaat
19.07.2004, 02:25
Oder, wenn du keine Variable dafür verwenden willst, du stellst einfach alle diese Events mit den verschiedenen Angriffen auf "Random Movement" und die Geschwindigkeit entsprechend hoch. Dann rasen sie über die Map und der Hero wird sie zufällig hin und wieder treffen.
Ich würde aber ein stärkeres KI-System für den Endboss ausarbeiten, mit Parallel Process-Events, etc.

Halfblooded angel
19.07.2004, 04:36
Danke für die Antworten, aber leider nicht das, was ich suche.
Die Events sind sozusagen die Felder, die von den Bossattacken betroffen sind. Nehmen wir als Beispiel einen Drachen und er kann zum Beispiel drei Attacken ausführen:

Einen geradlinigen, horizontalen Feueratem

Einen geradlinigen, vertikalen Feueratem

Und ein paar Feuerbälle spucken

Angenommen, jede dieser Attacken trifft ein bestimmtes Gebiet, sodass bei Übereinstimmung mit der Variable das Event dieses Gebietes Schaden zufügt, sobald man es berührt, mit anderen Worten, sobald die Attacke dich trifft. Und nehmen wir an bei der Variable [Feuerball]=0 treffen sie Feld\Event A,B und C, bei [Feuerball]=1 treffen sie C,D und F usw, aber ich möchte einfach nur wissen, wie kann man es erreichen, dass der Drache selbst entscheidet, welche Attacke, bzw. welche Zahl die Variable haben soll. Erst mal: Für welche von den drei Attacken entscheidet er sich und dann für welche Variation, sprich welches Gebiet greift er an? Das soll per Zufall mithilfe von variablen bestimmt werden, d.h. sobald die Variable einer Attacke mit dem aktuellen Wert übereinstimmt, führt er diese Attacke aus, wie bringe ich die Attacke auf einen zufälligen Wert? as ist es, was ich wissen möchte. Sorry, wenn ich mich zuvor etwas unklar ausgedrückt haben sollte, aber danke für die Versuche.

BlueScope
19.07.2004, 08:43
Ich glaub, da kann ich helfen ...

Für das generelle Verhalten brauchst du sowieso ein PP-Event, wenn der Drache stillsteht, musst du das Meiste gar nicht machen, ist aber so oder so nicht schwer ;)

1. Schritt: Artacken auswählen

Du setzt erstmal ein Wait von 0.0 Sekunden in die oberste Zeile deines PP-Events, damits nicht ruckelt. Dann nimmst du eine Variable, die du z.B. Zufallsgenerator nennst (kannst du immer wieder im Spiel verwenden, falls du mehrere solcher Ergignisse hast, deshalb der allgemeine und passende Name). Diese Variable setzt zu nun mit "Random" und "Set Equal" auf einen Wert zwischen 1 und 3 für drei Attacken. Wenn sich der Drache bewegt, speicherst du noch schnell seine X- und Y-Koordinaten in zwei weitere Variablen (z.B. Drache X und Drache Y ;) ), wenn nicht, kannste das weglassen.
Jetzt machste ne Abfrage, ob die Zufallsgenerator-Variable gleich 1, 2 oder 3 ist. In jede dieser Anfragen machst du einen Switch an, der entweder Attacke 1, Attacke 2oder Attacke 3 heisst, je nach Wert der Variable.

2. Schritt: Attacken ausführen

Auf der Map erstellst du nun in deinem Fall, da du immer nur drei Falmmenevents brauchst (lässt sich selbstverständlich beliebig erweitern) drei Events mit Flammengrafik, ich würde vorschlagen durchsichtig und Above Hero, damit man beide sieht, aber sie sich nicht behindern. Als Aktivator stellst du "On Hero Touch" ein. Die Events benennst du nun Flamme 1, Flamme 2 und Flamme 3 oder wie immer du sie nennen willst ... ;)
Jetzt kopierst du immer die erste Seite des Events und fügst sie zweimal ein, das sie insgesamt drei Mal da ist (für drei Attackenvariationen). Auf jede dieser Seiten kommt nun noch als Aktivator der Switch, den du vorhin festgelegt hast, also Attacke 1, Attacke 2, Attacke 3 oder wie auch immer du sie genannt hast ^^'
Ins Event-Feld der Flammen machste immer ein "Change HP" und eben der Wert, den der Held verlieren soll (vielleicht auch abhängig von den Abwehrwerten, ist ja dir überlassen, nur so ne Idee von mir, damits nicht zu eintönig wird ;)). Wenn die Attacken immer gleich bleiben sollen, kannste den Wert gleich lassen, ansonsten eben variieren.
Jetzt müssen sich die Flammen nur noch wie gewünscht bewegen. Dafür kannst du ganz einfach die Movement Conditions links unten im Fenster benutzen. Ich erkläre die Feuerbälle, den Rest kannste ja dann selber machen ;)
Da du ja drei Falmmen hast, insofern drei Feuerbälle machen kannst, fängst du beim ersten an (also Event "Flamme 1") und setzt die Movement Conditions auf Speed 8 und "Move Left-Down", ausserdem auf "Ignore impossible Move" und "Repeat". Bei Flamme 2 machst du dasselbe, nur den Move-Befehl "Move Down" und bei der dritten Flamme schliesslich "Move Right-Down". Das stimmt natürlich nur, wenn er dauerhaft nach unten sieht, wenn er im Raum herumläuft, machst du es etwas anders:
Stelle die Movement Conditions auf "Stay", also keine Bewegung, und das Event auf Parallel Process. Wieder den 0.0-Wait nicht vergessen ;). Jetzt fragst du im Event-Fenster ab, in welche Richtung das Sprite "Drache" guckt. Wenn er nach unten guckt, machst du das oben erwähnte, ansonsten gleichst du es eben an die anderen Richtungen an.


3. Schritt: Flammen zum Einsatz bringen

Geh wieder ins PP-Event von vorhin, das du im 1. Schritt bearbeitet hast. Ganz unten (musste nicht in jede Abfrage rein machen) machste nun "Change Event Location" für jede der Flammen. Wenn der Drache stationär ist, wählst du das Feld aus, das über dem Drachen liegt, wenn er sich bewegen soll, lässt du den Erscheinungsort von den Variablen "Drache X" und "Drache Y", die du dann vorhin gemacht hast, bestimmen.
Unter diese Events machst du jetzt noch ein Wait, je nachdem, wie lange die Flammen fliegen sollen. Hinter diesem Wait machst du alle drei Switches wieder aus. Jetzt kommt noch ein Wait, das die Zeit angibt, die der Held hat, bevor der Drache den nächsten Flammenangriff startet.

So, das dürfte es eigentlich sein, was du meinstes, ich hoffe, ich bin auf alles eingegangen ^^' Variationen dieser Varianten kannst du mit zufallsgesteuerten Variablen ganz leicht machen, das ist einfach ... und wehe, du bringst mich für sowas in die Credits, das hab ich nicht verdient ^^' (wenn du mir ne Gastrolle geben willst, Zed ist mein Name *gg* )

Halfblooded angel
15.08.2004, 05:37
Vielen Dank soweit.
Würde es anstatt mit
"Change HP" auch mit "Change
Variable" funktionieren?
Die Energie basiert nämlich
auf Varaiblen, sodass das Spiel
erst ab einem bestimmten Wert
verloren ist. Ich kann es ja
eigentlich verraten, aber ich will,
nachdem ich bisjetzt immer nur
Demos zum Downloaden hier gesehen
habe, endlich mal eine Vollversion
von einem Zelda-Rpg veröffentlichen.
Kann aber eine Weile dauern.
Gut Ding will Weile haben.
Ach ja, wie stehts denn mit der
Gastrolle, ist die erwünscht?
Wenn ja, brauch ich nur noch
einen Namen, den ich verwenden
soll und Charaktereigenschaften, die
der NPC haben soll. Und nochmals
danke für die Hilfe.