Ergebnis 1 bis 6 von 6

Thema: Caterpillar System

  1. #1

    Caterpillar System

    Hallo allesamt. Ich bin neu hier, entschuldigt das mein erster Beitrag gleich ein neuer Thread ist. Ich habe - wie soviele hier - ein Problem mit dem Maker, ich verwende den 2003er.

    Ich habe ein Caterpillar (Drei Helden folgen dem Anführer auf Schritt und Tritt) in mein Spiel eingebaut - nach Anleitung von Drakuls Caterpillar System. Das ist noch eines der besseren.

    Problem: Das System lässt sich nicht auf verschiedene maps übertragen, selbst Drakuls Teleport Beispiel bezieht sich nur auf eine Map.

    Set Event Place funktioniert nur auf der derzeitigen Map und nicht map übergreifend. Und sobald mein Held die Karte verlässt bekomme ich ne Menge böser Fehlermeldungen da sich meine drei - bisher brav dem Anführer folgenden Events nicht mehr auf den Helden beziehen können.

    Ich habe versucht die MapID des helden in einer variable zu speichern und die drei "folgenden" events nur dann zu aktivieren wenn deren mapID mit der des helden übereinstimmen. erstens geht auch das wiederum nicht und zweitens muss ich dann auf jeder karte 3 zusätzliche events einbauen - nur für das caterpillar system.

    nachdem das nicht geht besteht die letzte lösung darin für jede karte nen eigenen switch zu erstellen und immer denjenigen auf ON zu stellen der zu der karte passt auf der der held gerade ist. dann können die drei events nur dann ausgeführt werden wenn der jeweilige switch, der karte auf der sie sich befinden auch wirklich auf ON ist. das heisst: pro map 3 zusätzliche events und pro map einen switch = das schlechteste workaround für diesen ansatz.

    jemand ne idee?

    PS: in (fast) allen hilfedateien im netz heisst es unter "set event place" man könne nicht nur x,y der event ändern sondern auch die map. das ist wohl falsch - in der maker hilfe steht klipp und klar das es nicht geht. man bekommt zwar ein treemenu mit allen karten angezeigt - kann diese aber nicht anklicken.

    ich hoffe ich überfordere euch jetzt nicht

    code kann folgen wenn benötigt wird

    ciao und vielen dank schonmal - auch wenns nur platte "geht nicht" antworten sind

    -TobiFB

  2. #2
    Events sind immer mapbezogen (außer Common Events) und lassen sich nicht auf andere teleportieren. Du musst sie also wirklich auf jede Map kopieren, um das System zu ermöglichen (am besten immer mit der gleichen Event ID, dann brauchste nichtmal das Steuerevent - sofern du eins hast - anpassen).

    Du kannst aber auch ohne Events arbeiten: Vehicles! Diese sind mapunabhängig und können überall eingesetzt werden. So brauchst du einfach nur ein Event, das die Vehicles auf die aktuelle Karte setzt und sie dem Helden folgen lässt. Wenn ich mich recht erinnere, hat sogar jemand aus dem Forum ein Script dazu gemacht, müsstest du mal suchen. Ist noch nicht allzu lang her.

  3. #3
    Hey danke, das nenne ich mal einen kreativen Einfall.
    *tüftel*

  4. #4
    Zitat Zitat von mellieu
    ... Wenn ich mich recht erinnere, hat sogar jemand aus dem Forum ein Script dazu gemacht, müsstest du mal suchen. Ist noch nicht allzu lang her.
    ah... das wird bestimmt so ein unwichtiger typ gewesen sein...^^
    hab mal bissel gesucht:

    hässliches script

    ich liebe aol...^^

    der hat auch bestimmt nix dagegen, wenn du das einfach so abkopierst...

    mfg
    üH

  5. #5
    Danke nochmals. Und gleich noch ne Frage:

    ich habs jetzt nochmal mit meinem Ansatz ausprobiert und es tatsächlich geschafft. Allerdings ist das Skript reiner Spaghetti Code. Ich brauche jetzt 3 Events pro map und alle drei sind paralelle prozesse die jeweils nur dann aktiv sind wenn der spieler sich auch auf der map befindet.

    ich hab mal ein wenig getestet mit einigen karten - nachdem nur diejenigen events aktiv sind wo ich mich gerade befinde dürfte es auch bei einem grossem spiel nicht sonderlich langsam werden -

    oder?

    edit: okay wenn ich noch etwas mehr arbeit reinstecke dann krieg ichs so hin das nur eines der jeweils drei events code enthält - als paraleller prozess. hätte mir dann zweimal was gespart. hmm...

    Geändert von TobiFB (11.12.2005 um 19:37 Uhr)

  6. #6
    Um dir mal was wichtiges zu sagen: Es wird von der Engine immer nur eine Map geladen. Die anderen Maps werden vom Proggi net behandelt. Wenn du eine Map mit Events zuklatschtst sodass man auf ihr einen sauschneller Rechner bräuchte, um sich flüssig zu bewegen, dann läuft das Spiel trotzdem auf allen anderen Maps flüssig.
    Außerdem können Events nur aktiv sein, wenn man gerade auf der Map ist, auf der sie sich befinden.

    Um dir da gleich noch was Praktisches mitzugeben: beendest du ein Event mit Clear Timer (falsch übersetzt, müsste Delete This Event heißen), dann ist es beim nächsten Betreten der Map wieder vorhanden, d.h. wenn du z.B. willst, dass beim Betreten der Map etwas eingeblendet wird, kannst du einem PP-Event sagen: Show Pic, Wait, Delete Pic, Clear Timer und fertig
    (nur um dir nochmal die Funktionsweise der Engine zu verdeutlichen)

Berechtigungen

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