• Anmelden

1

Samstag, 3. Januar 2009, 11:23

Event durch NPC starten

Hiho...

Hab mich im Grunde nur wegen dieser Frage im Forum angemeldet, trotzdem schöne Sache hier ;)

Also:
Ich habe ein Problem. Ich will, dass sich ein Event startet, wenn ein NPC ein bestimmtes Feld betritt. Weiß jemand wie das funktioniert? Wäre sehr dankbar...

Also wenn jetzt ein NPC z.B. auf eine Blume geht, soll sich ein Event starten, z.B. ein Text.

greetz
pokusa

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »pokusa« (3. Januar 2009, 11:29)


2

Samstag, 3. Januar 2009, 11:36

Da fallen mir spontan folgendes ein:
Du speicherst auf parallel process die Koordinaten des NPCs in Variabeln und fragst per Conditional Branch ab, ob sie mit den Koordinaten des gewünschten Felds übereinstimmen. Wenn ja, kann dein Event los legen.
Bild Frohe Weihnachten und einen guten Rutsch ins neue Jahr!

MV Ressourcen | Homepage

3

Samstag, 3. Januar 2009, 11:44

Klingt gut...

aber könntest du mir das noch ein bisschen genauer erklären? Versteh ich nicht ganz...

greetz
pokusa

4

Samstag, 3. Januar 2009, 12:19

Ist der Weg deines NPCs zufällig, oder vorprogramiert? Bei letzterem brauchst du doch einfach nur die Nachricht abspielen, wenn der Npc seinen Weg beendet hat.

Wie gut kennst du dich mit Variabeln und Conditions aus? Damit ich weiß, wie ausführlich du es brauchst.
Bild Frohe Weihnachten und einen guten Rutsch ins neue Jahr!

MV Ressourcen | Homepage

5

Samstag, 3. Januar 2009, 12:32

Ist der Weg deines NPCs zufällig, oder vorprogramiert? Bei letzterem brauchst du doch einfach nur die Nachricht abspielen, wenn der Npc seinen Weg beendet hat.

Wie gut kennst du dich mit Variabeln und Conditions aus? Damit ich weiß, wie ausführlich du es brauchst.
Nicht besonders gut. Das Nötigste halt (im Sinne von: Sammle 6 Pflanzen, wenn du meinst was ich meine). Also relativ ausführlich ;)

EDIT: Der Weg ist vorprogrammiert, aber nur halt "Move Up", also die ganze nur das oben gehen.

greetz
pokusa

6

Samstag, 3. Januar 2009, 12:40

Wenn dein NPC einen festen Weg hat, kannst du dir die komplizierte Methode mit den Variabeln etc sparen. Zähl einfach die Kästchen, die der NPC hoch geht, bis er bei der Blume steht. Mach dann soviele "Move up"-Befehle hintereinander und lass dann einfach die Nachricht per show Text zeigen.
Bild Frohe Weihnachten und einen guten Rutsch ins neue Jahr!

MV Ressourcen | Homepage

7

Samstag, 3. Januar 2009, 12:49

Wenn dein NPC einen festen Weg hat, kannst du dir die komplizierte Methode mit den Variabeln etc sparen. Zähl einfach die Kästchen, die der NPC hoch geht, bis er bei der Blume steht. Mach dann soviele "Move up"-Befehle hintereinander und lass dann einfach die Nachricht per show Text zeigen.
ok ich versuche es

greetz
pokusa

8

Samstag, 3. Januar 2009, 13:08

Gehört das mit dem NPC und der Blume zu einem komplexeren Event? Ich meine, soll der Held dabei fröhlich auf der Karte rumlaufen sollen, oder abwarten, bis der NPC fertig ist?
Bild Frohe Weihnachten und einen guten Rutsch ins neue Jahr!

MV Ressourcen | Homepage

9

Samstag, 3. Januar 2009, 13:26

Gehört das mit dem NPC und der Blume zu einem komplexeren Event? Ich meine, soll der Held dabei fröhlich auf der Karte rumlaufen sollen, oder abwarten, bis der NPC fertig ist?
Ne, war ne gute Hilfe. Dank dir...

Nun aber ein weiteres Problem: Da ich kein RPG Mache (bzw. kein reines) will ich, dass man die Gegner besiegt, indem man sie in ein bestimmtes Feld lockt. Wie macht man es also, dass wenn die Gegner (NPCs) das Feld berühren, verschwinden?
Ich tippe mal drauf, dass es jetzt etwas mit den Variablen zu tun hat ;)

greetz
pokusa

10

Samstag, 3. Januar 2009, 13:48

Ah, japp, genau, das ist jetzt wieder etwas anders, weil der Held sich ja bewegen und parallel irgendwas anstellen können soll.
Ich hoffe, wie du das mit dem Anlocken hinbekommst, weißt du, denn das lass ich jetzt mal aus.

Du brauchst für jedes einzelne Fallenfeld und jeden einzelnen Gegner 2 Variabeln (Map X-Position + Map Y-Position).
Zunächst müssen diese also definiert werden. Dazu mach am besten ein 3. Event ohne Grafik auf, stell dies auf parallel process (denn die Variablen des Gegners verändern sich ja, wenn er sich bewegt und so wiederholt sich die folgende Abfrage, außerdem ist der Held handlungsfähig) und nimm den Befehl Control Variables.... Dort kannst du unter Charakters [...]'s [...] die Events des Gegners und des Fallenfeldes auswählen und auch Map X oder Y anwählen und so als Variable speichern. So dass du am Ende 4 Variabeln hast: Gegner Map x, Gegner Map y, Fallenfeld Map x, Fallenfeld Map y

Nun must du eine Conditional Branch machen und die Variabeln miteinder vergleichen lassen (dazu musst du zwei Conditionals ineinander verschachteln), sind sie gleich, kannst du dein Monster verschwinden lassen.

Setzt am besten noch ein Wait von einigen Frames hinter diese Befehle, sonst könnte es dazu kommen, dass das Spiel festhängt, weil der PC ununterbrochen diese Variabeln abfragt.

So, ich hoffe, es ist nachvollziehbar. ^^'
Bild Frohe Weihnachten und einen guten Rutsch ins neue Jahr!

MV Ressourcen | Homepage

11

Samstag, 3. Januar 2009, 13:50

Ah, japp, genau, das ist jetzt wieder etwas anders, weil der Held sich ja bewegen und parallel irgendwas anstellen können soll.
Ich hoffe, wie du das mit dem Anlocken hinbekommst, weißt du, denn das lass ich jetzt mal aus.

Du brauchst für jedes einzelne Fallenfeld und jeden einzelnen Gegner 2 Variabeln (Map X-Position + Map Y-Position).
Zunächst müssen diese also definiert werden. Dazu mach am besten ein 3. Event ohne Grafik auf, stell dies auf parallel process (denn die Variablen des Gegners verändern sich ja, wenn er sich bewegt und so wiederholt sich die folgende Abfrage, außerdem ist der Held handlungsfähig) und nimm den Befehl Control Variables.... Dort kannst du unter Charakters [...]'s [...] die Events des Gegners und des Fallenfeldes auswählen und auch Map X oder Y anwählen und so als Variable speichern. So dass du am Ende 4 Variabeln hast: Gegner Map x, Gegner Map y, Fallenfeld Map x, Fallenfeld Map y

Nun must du eine Conditional Branch machen und die Variabeln miteinder vergleichen lassen (dazu musst du zwei Conditionals ineinander verschachteln), sind sie gleich, kannst du dein Monster verschwinden lassen.

Setzt am besten noch ein Wait von einigen Frames hinter diese Befehle, sonst könnte es dazu kommen, dass das Spiel festhängt, weil der PC ununterbrochen diese Variabeln abfragt.

So, ich hoffe, es ist nachvollziehbar. ^^'
Werde mich am Laufe des Tages da durcharbeiten. Vielen Dank, kompetente Community :yahoo!:

greetz
pokusa

RedLink

Landsknecht

Motto: Faulheit ist Relativ

  • Nachricht senden

12

Samstag, 3. Januar 2009, 15:08

Ich habe mal ne demo gemacht.
Aber die ist nicht perfekt.
Ich glaube das kann jeder besser aber um die Funktion zu kapieren reicht es ja :hi:
Fallengegner.exe
  • Scripter

    Für den MV
  • Mitmacher

    nirgendswo

13

Samstag, 3. Januar 2009, 15:21

Ich habe mal ne demo gemacht.
Aber die ist nicht perfekt.
Ich glaube das kann jeder besser aber um die Funktion zu kapieren reicht es ja :hi:
index.php?page=Attachment&attachmentID=7850
Hab zu danken!

greetz
pokusa

14

Montag, 5. Januar 2009, 09:34

Hi.

Erst mal Danke für das Tut und den DL. Aber kann mir das noch jemand einmal genauer mit dem radius erklären? Also wenn jetzt der Player eine bestimmte Stelle erreicht verfolgt der Gegner einen?

greetz
pokusa

Social Bookmarks