Ergebnis 1 bis 20 von 27

Thema: Events pro Map/ Heldenbewegungs-TerrainID-skript RPGM2003

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Events pro Map/ Heldenbewegungs-TerrainID-skript RPGM2003

    Hallo miteinander!

    Ich habe mal wieder ein kurze Frage, die ich stellen möchte bevor ich es tatsächlich ausprobiere und dann evtl. scheitere:

    Wieviele Events kann man auf einer Map im Rpg2k3 setzen? Soviele wie es Platz gibt? Oder ist da eine Obergrenze?
    Alle Events wären ohne Charset und Auf Hero-Touch gestellt. Habe mal irgendwo gelsen, dass bei 9999 das Ende erreicht ist, stimmt das?

    lg Räbbit!

    Geändert von Mr.Räbbit (14.01.2012 um 13:51 Uhr)

  2. #2
    Zitat Zitat
    Habe mal irgendwo gelsen, dass bei 9999 das Ende erreicht ist, stimmt das?
    Ja.

    Anders gesagt: Eins weniger als auf 100x100 Feldern Platz finden können.

    Aber wozu brauchst du so extrem viele Events mit Touch?

  3. #3
    Danke für die schnelle Antwort MM.

    Ein kleiner Dämpfer. Allerdings stellt sich nun eine zusätzliche Frage, gibt es da Einbußen bei der Performance bei 9999 Events die auf Touch reagieren?

    Wofür ich das benötige wird nicht verraten, das ist ein kleines Geheimprojekt an dem ich gerade arbeite, das erfahrt Ihr erst, wenn es fertig ist.

  4. #4
    Da hatte ich mir auch schon sorgen gemacht... aber ich denke es funzt! Die sind ja nich aktiv solang man sie nich berührt Oo

  5. #5
    Ich hab nur den Verdacht, dass du dir damit etwas verüberkomplizierst, das sich
    auch mit einer oder ein paar parallel laufenden Koordinatenfragen lösen lässt.

  6. #6
    Gut, dann eine kleine Erklärung:

    Bei jedem Schritt wird je nach Terrain ein Zufallsevent gestartet, die wiederum andere Zufallsevents auslösen, wenn die richtigen Bedingungen erfolgen.
    Ich hatte geplant für jedes Terrain Zufalls-Starter auf die Map, also jeden einzelnen Sektor zu legen. (Auf Wälder,Berge usw)

    Wie sähe da eine elegantere Lösung aus? Koordinaten-Abfrage beherrsche ich, aber ich müsste dennoch erstmal genau bestimmen, welche genauen Koordinaten zu welchem Terrainfeld gehören. Bei 2-3 Maps von 100x100 ist das denke ich ein noch größerer Aufwand als die (6 unterschiedlichen) Terrain-Events per Hand zu verteilen. Oder kann man irgendwie das Terrain abfragen über das man sich gerade bewegt? In der Datenbank kann man leider bei Terrain keine Switches aktivieren, was die ganze Sache natürlich erheblich vereinfachen würde.

    lg Räbbit

  7. #7
    Terrain von einer Position einfangen kannst du, Seite 2, linke Spalte, viertletzter Befehl.

    Du musst dann den restlichen Prozess wissen lassen, dass du dich grade bewegt hast,
    damit der Kram auch nur genau dann neu gemacht wird.

  8. #8
    Und wie stelle ich es genau an, dass das Event weiß das der Held sich bewegt hat, oh großer magischer Pfuhl des Wissens?
    Da scheint bei mir noch eine Lücke zu sein. Über Hero-x-Coordinate + / - ? Oder doch anders?

  9. #9
    Ich würde die X/Y Koordinaten zwischenspeichern lassen, in zwei weitere Variablen (z.B. Check X, Check Y).
    Dann vergleichst du die aktuellen Koordinaten mit den zwischengespeicherten Variablen, mithilfe der Fork Condition.
    Sollten die X ODER die Y Koordinaten NICHT GLEICH sein, muss der Held sich ja bewegt haben.
    Das ganze dann als Vorraussetzung nehmen, um den Zufallswert generieren zu lassen.

    Ich würde da vielleicht ein 0.0 wait dazwischen lassen (vielleicht auch mehr)

    Edit:
    Nochmal zur eigentlichen Frage "Wieviele Events pro Map?"
    Also meiner Erfahrung nach ist bei maximal 100 Events ist Schluss - performance-technisch gesehen.
    Egal, ob die Events genutzt werden oder durch einen Switch deaktiviert sind, spielt keine Rolle.
    Die werden ja trotzdem gelesen, einfach nur weil sie auf der Map sind.
    Bei einer Karte von 100*100 sollte man sowieso SEHR wenig Events nutzen.
    Vor allem wenn's um Pictures geht, oder ziemlich komplexe Skripte.

    Geändert von Kyuraan (13.01.2012 um 18:02 Uhr)

  10. #10
    Ja, genau so. Nur bei "wait" kannst du ruhig etwas mehr Zeit lassen, dann muss das Programm nicht beinahe ständig rechnen, sondern macht das leistungsschonender in Etappen.

    Bei normaler Geschwindigkeit benötigt der Held für einen Schritt ~ 0,13 Sekunden. In "waits" sind das: 0,1s + 2x 0,0s (oder 8x 0,0s).
    In der üblichen Horrospielschleichgeschwindigkeit ("2x slower") dauert ein Schritt ~ 0,27s. In waits: 0,2s + 4x 0,0s (oder 16x 0,0s)

    Und ganz schrill ist man, wenn man sich für diesen Kram eine Exceltabelle mit den entsprechenden Formeln anlegt und künftig rechnen lässt.


    Nachtrag:
    Im bekannten und langerprobten Schrittgeräusche-Script hast du das übrigens alles fertig frei Haus. Dann musst du nicht mal selbst basteln und kannst die gesparte Zeit für anderes nutzen.

    Geändert von real Troll (13.01.2012 um 16:57 Uhr)

  11. #11
    Danke für Eure Antworten!
    Ich habe mal alles getestet, bin aber auf ein Problem gestoßen, dazu eine kleine Erläuterung des Event-Zwecks in seiner Ursprungsform als "HeroTouch":

    Terrain/Sektor wird betreten=
    (+1 zum Zeitzähler vom Tag&Nacht System)
    (Hero Speed verringern/erhöhen/gleibleibend)
    (Zufallswurf)
    Etwas passiert / nichts passiert

    Das Problem besteht jetzt in der PP Variante darin, das die Events nicht über einen Touch, sondern über eine Terrain-ID Variablen-Abfrage aktiviert werden. Also das Event wird auch aktiviert, wenn man einfach still dasteht. Ich finde nun irgendwie keine Möglichkeit, das Event nach einer Aktivierung stoppen zu lassen. Habe schon probiert, nach einer AKtivierung die Terrain-ID auf ein Leerlauf-Terrain setzen zu lassen. (Welches nichts aktiviert)

    Klappt alles nicht! :P

    Wie schaffe ich es also, dass sich die Terrain / Heldenbewegungsabfrage nicht immer und immer wieder looped?

    Danke im Vorraus, Räbbit!

Berechtigungen

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