Ergebnis 1 bis 11 von 11

Thema: RMXP: Held muß sich verstecken

  1. #1

    RMXP: Held muß sich verstecken

    Hallo zusammen,

    ich steh mal wieder auf dem Schlauch und brauch Euere Hilfe :/ Folgende Situation: Der Held möchte in ein Gebäudem, aber die Tür ist verschlossen. Um in das Gebäude reinzukommen, muß er draußen am Gebäude-Eck einen Stromhebel bewegen. Nach einiger Zeit kommt jemand aus der Tür und geht direkt zu dem Stromkasten.

    Nun zu meinem Problem: der Feind darf den Helden nicht erwischen. Der Held darf also nicht in Sichtweite des Feindes sein, sonst gibt's eine Standpauke. Wenn der Held sich z.B. hinter der Kiste versteckt, die rechts von der Tür steht (der Stromkasten ist links von der Tür), sieht der Feind den Helden nicht, der Feind geht zum Stromkasten und der Held kann bequem ins Gebäude rein.

    Wie löse ich das am Besten? Ich kenne das Hide and Seek-Script von Hüpfende Kokusnuss, aber wie verwende ich es in diesem konkreten Fall (falls das überhaupt geht)?

  2. #2
    Zur Not mach doch einfach eine Eventseite pro Feld die der Typ geht und speicher da einfach jeweils alle Felder ab, die der Typ sehen kann. Hält sich der Held nicht dort auf, geht der Typ weiter, ein Schalter wird umgelegt, die nächste Eventseite wird aktiv, und so weiter.
    Wenn du das nur einmal brauchst und der Weg nicht allzu lang ist könnte das sogar die simpelste und am schnellsten zu erstellende Lösung sein.
    Ansonsten lass den Typen einfach permanent alle Felder in bestimmten Richtungen überprüfen (5 Felder in Blickrichtung, 2 Zur Seite und dann noch bis 3 die Schräg vor ihm z.B.) Wenn die Heldenposition mit der Position dieses Areals übereinstimmt, dann hat er ihn. Sollte mit dem Maker recht simpel zu erstellen sein. Hindernisse werden per Event bestimmt und unterbrechen die Sichtlinie. Fertig.

    Das Script von Hüpfende Kokosnuss kenn ich nicht, da kann ich dir leider nichts zu sagen.

  3. #3
    Aus der Erklärung im Script:
    Zitat Zitat
    Dieses Script sorgt dafür, dass ihr eine Art Versteckspiel
    ganz einfach basteln könnt. Wie z.B. bei Zelda Ocarina of Time oder in
    etlichen anderen Spielen.
    Es gibt hier 2 Arten von Events, die neuerdings sogar Kombiniert werden
    können:

    Seek-Events ("Suchende Events"): Diese haben eine Sichtweite, sie schauen
    immer geradeaus. Wenn sie den Spieler
    sehen, führen sie ihren Code aus.
    Hide-Events ("Versteck-Events"): Steht ein Hide-Event zwischen dem Spieler
    und einem Seek-Event, so wird der Code des
    Seek-Events nicht ausgeführt.

    Wie richte ich ein Seek-Event ein?

    Ein Seek-Event ist einfach ein parralleler Prozess, der eine Bedingung
    abfragt. Die Bedingung:
    Geh auf Conditional Branches, dann Seite 4. Wähle Script. Trage folgendes ein:

    seek(Sichtweite, ID des ersten Hide-Events, ID des letzten Hide-Events)

    Fertig. Siehe Demo.


    Wie richte ich ein Hide-Event ein?

    Erstell einfach ein leeres Event. Das ist alles. Aber:
    Du solltest alle Hide-Events hintereinander erstellen. Warum? Weil ein Hide-Event
    durch seine Event-ID zum Hide-Event wird. Bei den Seek-Events hast du ja 2
    Event-IDs angegeben. Die Events mit diesen beiden IDs und alle Events, deren ID
    dazwischen liegt, sind automatisch Hide-Events.

    Gibt es noch andere Hide-Möglichkeiten?

    JA! Lege eine Terrain-ID fest, alle Tiles mit dieser Terrain-ID werden so behandelt,
    als stände ein Hide-Event darauf. Die Terrain-ID lässt sich in Zeile 90 festlegen.
    Du müsstest also die Kiste als Event anlegen oder ein Tile mit einer Terrain-ID (die du im Script definierst (bei mir ist das Zeile 99)) versehen.
    Der NPC, der nach dem Spieler sucht, hat dann einen Parallel Process und festgelegte Moveroute. Im Eventcode selbst wird halt die Bedingung abgefragt und dann mit Switch auf eine weitere Eventseite umgestellt, in der der NPC auf den Spieler reagiert (rennt auf ihn zu oder sagt nur "Hey!" mit Schwarblende und Reset des Rätsels).

    MfG Sorata

  4. #4
    Danke für Deine Antwort Sorata. Wenn ich den NPC als Paralell Prozess verwende, funktioniert das Erwischen nur beim Rückweg ins Gebäude und auch nur, wenn ich direkt vor dem NPC stehe.

    Ich verwende das Script ja bereits erfolgreich an anderer Stelle im Spiel, aber da sind die NPC ja als "Action Button"-Event (wie im Original ja auch) und dort haben die NPC's keine weiter Aufgabe als zufällig in der Gegend rumrennen. Das ist ja bei diesem Event hier anders. Wahrscheinlich ist die Lösung ganz einfach und ich hab einfach nur ein Brett vorm Kopf...

  5. #5
    Ich habe es bei mir umgesetzt (siehe Anhang) und es funktioniert auch mit NPCs auf einer Custom MoveRoute:

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

Name:	charon_hide_seek01.png 
Hits:	9 
Größe:	42,2 KB 
ID:	23713

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

Name:	charon_hide_seek02.png 
Hits:	6 
Größe:	48,0 KB 
ID:	23712

    Zwei Dinge die du aber hierbei beachten musst:
    1. Die Sichtlinie des NPCs ist wirklich nur eine gerade Linie in Blickrichtung. Ich habe z.B. 5 Felder genommen. Entsprechend musst du hier einige Abstriche in der realistischen Umsetzung hinnehmen.
    2. Mit einer festen Move Route wird es natürlich eher schwer (ohne andere Scripte sogar fast unmöglich), den NPC direkt auf den Spieler zuzubewegen. Je nach dem Design deines Gameplays reicht es aber vielleicht auch einfach, wenn sich eine sichtbare Reaktion beim NPC zeigt (Animation + Textbox z.B.) und dann ggf. alles zurückgesetzt wird und der Spieler das ganze nochmal versuchen darf (der Held benutzt eine Rauchbombe oder entkommt knapp)


    MfG Sorata

  6. #6
    Ich zeig Dir mal, wie das bei mir aussieht...
    Event 1 ist also vorm Stromkasten.
    Event 2 ist der NPC, der zunächst nicht sichtbar ist, weil er ja anfangs im Gebäude ist.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Event01.jpg   Event02_1.jpg   Event02_2.jpg  

  7. #7
    Ich würde dem NPC/Parallel Process unter Autonomous Movement auf Custom stellen und darüber seine Route regeln. Das Herauskommen aus der Tür würde ich noch zum Stromkasten-Event packen.
    Im Parallel Process selbst würde ich dann einfach nur seine Position abfragen, wenn er z.B. wieder zurückgehen soll usw.
    Versuch mal, das so aufzuteilen, vielleicht funktioniert die Verarbeitung im Maker dann besser?

    MfG Sorata

  8. #8
    Ich danke Dir, jetzt klappt es! Klar, macht ja auch Sinn was Du schreibst, aber ich hatte echt ein Brett vorm Kopf :/ VIELEN Dank

  9. #9
    Nachtrag: in meinem Projekt hab ich ein Problem, daß der NPC startet, auch wenn ich nichts mach und nur in der Gegend rumsteh. Ich hab aber darauf geachtet, daß die Switch-Namen die Gleichen wie in dem hier geposteten Einzelprojekt sind. Ich bin alles zig mal durchgegangen, es entspricht alles genau dem, wie in dem Einzelprojekt. Ich hab auch auf die Auslöse-Bedingungen geachtet. Es ist alles haargenau wie in dem Einzelprojekt und dort funktioniert alles genau so wie es soll. Hast Du da auch noch eine Idee?

  10. #10
    Kannst du nochmal Screenshots der beteiligten Events (und der Eventseiten) machen und hier posten?

    MfG Sorata

  11. #11
    Hier sind die Screenshots. Aus welchem Grund auch immer, setzt er den Switch, der den Strom abstellt, automatisch auf ON.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Screenshot01.jpg   Screenshot02.jpg   Screenshot03.jpg   Screenshot04.jpg   Screenshot05.jpg  


Berechtigungen

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