Ergebnis 1 bis 14 von 14

Thema: Event-ID bestimmen

Hybrid-Darstellung

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

    Event-ID bestimmen

    Gibt es noch eine andere Möglichkeit die ID eines events genau zu bestimmen, außer es zig mal zu kopieren?

    Problem ist folgendes:
    Die KS-Engine, die ich verwende ( von Kazesui ) funktioniert nur, wenn die Event-ID höher als ein bestimmter Wert ist.
    Diesen Wert kann ich bestimmen. Die Gegner-Events sollten also die Events im Spiel sein mit der höchsten ID.
    Nun gibt's natürlich das Problem, dass ich sehr große & sehr kleine Maps habe, Maps mit wenig Events, Maps mit vielen Events.
    Ich müsste ein Gegner-Event mehrere hundert mal kopieren, das ist den Maps mit den hohen Event-IDs gezollt.
    Manche Maps sind gar nicht groß genug, dass ich auf ihnen ein Event mehrere hundert mal kopieren könnte ( 20x15 ).

    Ich hoffe, ich konnte irgendwie deutlich machen, worum es mir geht. (:

  2. #2
    Das habe ich iirc im letzen Thread schon geschrieben, aber: dreh die Bedingung doch einfach um und verwende die ersten n Events als Gegner. Wenn du dann auf einer Map 5 Gegner hast, setzt du die "Ist-ein-Gegner-Abfrage" auf <= 5, wenn du auf einer Map 30 Gegner hast, setzt du die Abfrage auf <= 30, etc.

  3. #3
    Ja, stimmt, ich erinnere mich. (:

    Mit anderen Worten: ich werde wohl nicht umhin kommen alle Events nochmal zu setzen, oder?

    Aber direkt die ID bestimmen kann man wohl nicht. \:

  4. #4
    Zitat Zitat von Norpoleon Beitrag anzeigen
    Ja, stimmt, ich erinnere mich. (:

    Mit anderen Worten: ich werde wohl nicht umhin kommen alle Events nochmal zu setzen, oder?

    Aber direkt die ID bestimmen kann man wohl nicht. \:
    Ich kenne das Skript nicht, auf das du dich beziehst, aber soweit ich das verstanden habe ist die Bedingung, welche Events als Gegner erkannt werden für jede Map gleich (?)
    Dann könntest du doch auch einen Bereich festlegen mit 2 Bedingungen (>=50 && <=70 etwa).

    Und du müsstest ja nur die Events verschieben (wenn du Cepanks Rat folgst und die ersten 20 (oder wieviel es sind) Events für Gegner nimmst), die in dem Bereich sind und deren ID neu vergeben.

  5. #5
    Falls ich die Holzhammermethode in den Raum werfen darf: Kannst du nicht anstatt direkt abzufragen, ob die Event ID > 50 ist, abfragen ob die ID > [Variable] ist? Die Variable kannst du dann ja direkt auf jeder Map einzeln anpassen, je nach dem, wie du sie brauchst. So bist du flexibel und musst vor allem nicht rückwirkend jetzt anfangen zu jonglieren. Immer noch nicht gerade die eleganteste Methode, aber hey.

    Und ja, dass Event IDs vom Maker automatisch vergeben werden und nicht manuell einstellbar sind, ist manchmal echt nervig. Ähnlich nervig wie das fehlen einer Möglichkeit, von Haus aus Pictures anhand von Variablen auszuwählen. -___-

    Geändert von BDraw (04.02.2016 um 21:50 Uhr)

  6. #6
    Zitat Zitat von BDraw Beitrag anzeigen
    Falls ich die Holzhammermethode in den Raum werfen darf: Kannst du nicht anstatt direkt abzufragen, ob die Event ID > 50 ist, abfragen ob die ID > [Variable] ist? Die Variable kannst du dann ja direkt auf jeder Map einzeln anpassen, je nach dem, wie du sie brauchst. So bist du flexibel und musst vor allem nicht rückwirkend jetzt anfangen zu jonglieren. Immer noch nicht gerade die eleganteste Methode, aber hey.
    Das System funktioniert schon mit einer variablen ID (ich hoffe mal, das ist Norpoleon bewusst D:). Ändert aber ja nichts daran, dass Gegenerevents immer die höchsten IDs belegen müssen und man beispielsweise nicht später noch einen NPC auf die Map setzen kann ohne die Gegner noch einmal neu zu sortieren.

    @Norpoleon: Hattest du nicht immer nur einen Gegner pro Map? In dem Fall sollte sich der Aufwand doch in Grenzen halten.

  7. #7
    Zitat Zitat von Cepanks Beitrag anzeigen
    Das System funktioniert schon mit einer variablen ID (ich hoffe mal, das ist Norpoleon bewusst D. Ändert aber ja nichts daran, dass Gegenerevents immer die höchsten IDs belegen müssen und man beispielsweise nicht später noch einen NPC auf die Map setzen kann ohne die Gegner noch einmal neu zu sortieren.

    @Norpoleon: Hattest du nicht immer nur einen Gegner pro Map? In dem Fall sollte sich der Aufwand doch in Grenzen halten.
    Ah, darum ging es, ich hatte das jetzt nur überflogen. ^^°

    Aber in diesem Fall würde ich einfach ein paar Variablen reservieren - so viele, wie maximal Gegner auf einer Map auftauchen - und einfach in denen die IDs der betroffenen Events auf der Map speichern. Das Script kann dann ja immer die selben Variablen durchgehen. Das ist etwas mehr Arbeit, erscheint mir aber irgendwie etwas weniger Fehleranfällig.

    Alternativ könnte man aber doch auch einfach eine Variable einführen, die sagt, ab wo die IDs wieder nicht berücksichtigt werden? Also quasi: V[min ID] > ID > V[max ID]
    Dann kann man zwar keine Gegner im Nachhinein mehr hinzufügen, aber zumindest andere Events...

  8. #8
    Du könntest zeitweise die Map vergrößern und dann die Events setzen. Oder aber du bereitest dir generell eine Map mit allen Gegnerevents vor. Und kopierst diese dann immer wieder als Basis für weitere Maps.

  9. #9
    Erstmal danke für die Hilfe. (:

    @Cepanks: Bei dem damaligen Spiel war das so, dass ich nur einen Gegner pro Map brauchte. Im jetzigen Projekt sollen zig Gegner auf den Maps sein.
    & ja mir ist das mit den Variablen bewusst. (:

    @Felski: Das sind simple Ideen, die mir aber sehr weiterhelfen.
    Ich hatte nicht dran gedacht, dass ich ja einfach eine Map machen kann, wo ich immer Gegner weiter kopiere, um immer die maximale Event-ID zu erhalten.
    Hoffe das klappt auch so, wie ich mir das jetzt vorstelle. (:

    EDIT: Habe es ausprobiert. Das funktioniert so leider nicht. \:
    Setze ich ein Event auf die Map, sucht sich das Event die niedrigste freie Event-ID.
    D.h. ich muss die Gegner-Events doch zig mal auf die Map kopieren, bis die gewünschte ID erreicht ist. Das wird eine ziemliche Katastrophe. (:

    Geändert von Norpoleon (05.02.2016 um 15:13 Uhr)

  10. #10
    Alternativ musst du das ganze einmal vorbereiten. Und dann immer diese Map kopieren und verändern.

  11. #11
    Zitat Zitat von Norpoleon Beitrag anzeigen
    & ja mir ist das mit den Variablen bewusst. (:
    Scheinbar - so lese ich es aus dem Anfangspost heraus - ist es dir ja nicht bewusst. Wenn ich Cepanks verstehe, kannst du pro Map einfach eine Variable setzen, die dann bestimmt, ab welcher ID die Monster-Events beginnen. D.h. auf kleinen Maps brauchst du nicht die ID 150, sondern einfach nur die höchste ID.

    Das Problem, wenn du nachträglich noch ein Event einfügst, bleibt natürlich bestehen.

    Ich nehme an du benutzt einen sehr alten Maker, ohne Ruby?

  12. #12
    @Linkey: Ich verwende den 2003er RPG Maker.
    Es gibt ein Event, in dem ich bestimme, wie die Variable der Gegner-ID sein muss, damit im ganzen Spiel die Gegner getroffen werden können.
    Ich weiß nicht, wie ich diese Variable für jede Map einzeln bestimme; vielleicht kann mir da einer weiterhelfen...

Stichworte

Berechtigungen

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