Testmap: Effekte/Scripts/Objekte

  • Ich habe zum Spaà mal diese kleine Testmap erstellt, um auszuprobieren ob man auch mit HoF schon Effekte hinkriegen kann, wie im ToE Video.
    Durch Scripts bzw Ãnderungen an den Objekt-Eigenschaften ist dies möglich.
    So gibt es auf dem Feld etwa arbeitende Bauern, wenn man die StraÃe entlangreitet und die Feuerrune im Gepäck hat, gehen die Bäume in Flammen auf. Auch wenn man nach Einsammeln der Rune die Bauernhütte besucht wird diese niedergebrannt und die Bauern sterben :devil:


    Die Map sollte mit HoF v 2.1 funktionieren, unter Einzelspieler als "^^Scripts, Effekte etc" aufgeführt und an diesen Post angehängt sein. Die Kartenbeschreibung enthält Hinweise zum empfohlenen Vorgehen ;)


    An alle Mapper/Modder/Scripter/...: Postet hier auch mal eure Testmaps und zeigt, was man mit Manipulationen an Objekten, mit Effekten oder mit Scripts alles so erreichen kann :) Ich bin gespannt :P


    Fragen zu der Map, wie Funktionsweise der Scripts oder soetwas beantworte ich hier gerne, einfach in diesem Thread nachfragen ;)

  • Mit der Vers.2.0 ist es ebenfalls spielbar.
    Ist es bekannt wie lange die Bäume und der Hof brennt? Eine Woche auf jeden Fall.
    Mich würden die beweglichen Bauern interessieren.
    Ich wollte einen in meiner Karte einbauen. Gab dem Kind den Namen
    "Bauer 1" und bei shared "AdvMapMonsterShared:MapObjects\Haven\working_peasant.(AdvMapMonsterShared)" ein.
    AnschlieÃend stand null drin :D.
    Ist jetzt die Zeile falsch und/oder benötige ich noch einen Mod?

  • Zitat

    Original von Annavanta
    Ist es bekannt wie lange die Bäume und der Hof brennt? Eine Woche auf jeden Fall.


    Eigentlich sollten die solange brennen, bis die Effekte per Script wieder abgeschaltet werden, was in der Map nicht vorgesehen war.

    Zitat

    Mich würden die beweglichen Bauern interessieren.
    Ich wollte einen in meiner Karte einbauen. Gab dem Kind den Namen
    "Bauer 1" und bei shared "AdvMapMonsterShared:MapObjects\Haven\working_peasant.(AdvMapMonsterShared)" ein.
    AnschlieÃend stand null drin :D.
    Ist jetzt die Zeile falsch und/oder benötige ich noch einen Mod?


    DDas liegt daran, dass das Objekt working_peasant in meiner Map enthalten ist, in anderen jedoch normalerweise nicht.
    So etwas zu machen ist recht kompliziert. Kurz gesagt hab ich das gemacht, in dem ich ein neues Map-Objekt erstellt habe, dem das Model der Bauern zugewiesen habe, dann ein neues AnimSet erstellt, wo der idle00 Animation die Angriffs-Animation der Bauern zugewiesen wird.


    Hier eine ausführlichere Erklärung zum Nachbauen(geht auch mit den meisten anderen Animationen/Kreaturen):


    • Zwei Stacks der gleichen Kreatur nebeneinander auf der Karte platzieren.
      Einer der Stacks wird nacahher animiert, der andere dient als Quelle zum kopieren der Eigenschaften.
    • Den zu animierenden Stack auswählen und im PropertiesTree neben dem Textfeld "Shared" auf "New" klicken. Dann im Dialogfenster einen beliebigen Namen(bei mir etwa "working_peasant") eingeben und, der Ãbersicht halber, Add Type aktivieren. Mit OK bestätigen.
      Dadurch wird ein neues AdvMapMonsterShared-Objekt erstellt, dem wir gleich Eigenschaften zuweisen werden.
    • Jetzt den zweiten Stack auswählen, bei dem keine Ãnderungen vorgenommen wurden. Dort im PropertiesTree neben Shared auf [...] klicken. Es öffnet sich ein Eigenschaftsfenster des AdvMapMonsterShared für den ganz normalen Bauern. Aus dem Feld neben "Model" wird der eingetragene Wert kopiert.
      Beim Bauern ist das etwa: Model:_(Model)\Creatures\Haven\Peasant_LOD.(Model)
      AuÃerdem sollte man sich den Wert neben Creature merken.
      Dann kann das Eigenschaftsfenster mit Cancel wieder geschlossen werden.
    • Wieder den zu animierenden Stack auswählen und im Properties Tree auch hier neben Shared auf [...] klicken, um unserem animierten Bauern-Objekt die Eigenschaften zuzuweisen.
      Jetzt werden im Eigenschaftsfenster die Standard-Werte eingetragen, die Animation kommt später.
      - bei Model den kopierten Pfad zum Original-Modells einfügen(z.B. Model:_(Model)\Creatures\Haven\Peasant_LOD.(Model) )
      -AnimSet wird erstmal nicht geändert, kann null bleiben und wird später bearbeitet
      -Wenn die animierte Kreatur angegriffen werden können soll, einmal auf ActiveTiles rechtsklicken und "Add" auswählen, ansonsten ignorieren.
      -Bei Type CREATURE_SPECIFIC auswählen falls das nicht schon eingestellt ist.
      -Bei Creature den selben Wert auswählen wie beim ursprünlgichen Objekt (Hier: CREATURE_PEASANT)
      -Alle anderen Werte können ignoriert werden.
    • Jetzt das Eigenschaftsfenster, diesmal mit OK schlieÃen. Wir haben jetzt eine perfekte Bauern-Kopie ohne Animation. um zu sehen ob bis hier alles geklappt hat, kann die Karte gespeichert werden und neu geladen werden. Es sollten jetzt zwei Objekte nebeneinander stehen, von denen eines animiert ist und das andere nicht.
    • Jetzt kümmern wir uns um die Animationen. Als erstes muss ein neues AnimSet erstellt werden: Wieder den zu animierenden Stack auswählen, [...] neben Shared anklicken und jetzt im Eigenschaftsfenster bei AnimSet auf New klicken. In dem Feld einen beliebigen Namen, am besten den selben wie vorhin, eingeben, AddType Aktivieren und mit OK bestätigen.
      Jetzt haben wir ein neues AnimSet für den Bauern, welches wir gleich mit Animationen füllen werden. Wenn die Kreatur statisch sein soll, d.h. die ganze Zeit dieselbe Animation durchführen soll, müssen wir nur eine einzige Animation hinzufügen. Wenn aber durch ein Script noch eine andere Animation ausgeführt werden soll, in meiner Karte etwa die Todesanimation, muss diese auch schon hinzugefügt werden.
    • Im Eigenschaftsfenster des zu animierenden Shared-objektes, das immer noch offen ist, neben dem AnimSet Field, das jetzt mit einem Text wie AnimSet:Maps\SingleMissions\mapname\working_peasant.(AnimSet) gefüllt ist, auf [...] klicken um die Eigenschaften des AnimSets aufzurufen.
    • Im Eigenschaftsfenster des AnimSets jetzt durch Rechtsklick auf animations->Add so viele Animationen hinzufügen wie gebraucht werden.
    • Die Animation, die standardmäÃig abgespielt wird, wenn kein Script etwas anderes festgelegt hat, muss den namen "idle00" tragen. Also unter animations > [0] > Kind den Wert idle00 eintragen.
      Jetzt haben wir zwar einen benannten Platzhalter für die Animation, aber die Animation selbst fehlt noch.
    • Neben dem Feld Anim direkt unter dem "Kind"-Feld, das eben gefüllt wurde, auf [...] klicken. Diesmal soll keine neue Animation erstellt werden(wäre auch möglich für Effekte etc, aber noch um einiges komplizierter) sondern eine bestehende Animation, nämlich eine im Kampf für die Kreature verwendete, ausgesucht werden. Dafür wird die linke Seite des Eigenschaftsfensters benutzt, in dem ein Verzeichnisbaum angezeigt wird. Das Problem dabei ist, dass die Animationen an verschiedensten Stellen gespeichert sind. Deshalb is suchen und Ausprobieren angesagt.
      Die besten Anlaufstellen für Kreaturen-Animationen sind:
      - _(AnimSet)\Creatures\ und die Unterordner
      - _(BasicSkelAnim)\Creatures\ und Unterordner
      - und eventuell Characters\Creatures\ und Unterordner
    • in meiner Map habe ich mich für
      BasicSkelAnim:_(BasicSkelAnim)\Creatures\Haven\Peasant\attack00.(BasicSkelAnim)
      entschieden. Die Namen der Dateien enthalten meistens die Bezeichnung der Kreatur und der Animation, Hit für getroffen werden, Attack für angreifen, idle für Standardanimation, Stir für unruhig oder specability für Spezialfähigkeit. Also aus dem Tree links die gewünschte Animation auswählen und mit OK bestätigen.
      Jetzt ist der Animation "idle00" auch eine wirkliche Animation zugewiesen.
    • Falls weitere Animationen benötigt werden, diese Schritte wiederholen: unter Kind einen (für die anderen Animationen eigentlich beliebigen) Scriptnamen eingeben und bei Anim die gewünschte Animation auswählen.
    • Um das resultat zu sehen, alle Eigenschaftsfenster mit OK schlieÃen, auf der Map ein Objekt bewegen(damit auch wirklich gespeichert wird), Speichern und neu laden. Falls die Animation die falsche war, kann sie einfach wieder geändert werden(Objekt wählen, Shared [...], animset [...] und bei der entsprechenden Animation durch [...] eine neue aussuchen und alles mit OK bestätigen.
    • Um mehrere gleiche Stacks dieser Art zu haben, kann einfach der Sharedeintrag des bearbeiteten kopiert und bei anderen Stacks eingefügt werden.


    Puh... Ich hoffe mal es sind jetzt keine Fehler drin ;) Trotzdem würde ich dazu raten, dies ersteinmal auf einer Testkarte zu probieren, damit nichts passiert, wenn doch was schief läuft ;)


    ...Ich glaub ich mach da nachher einen eigenen Tutorial-Thread draus :P


    BTW wie man eine bestimmte Animation per Script aufruft ist im Handbuch "Skriptfunktionen" unter PlayObjectAnimation() beschrieben.

    "Well, things just got simpler. And a lot more complicated."

    Einmal editiert, zuletzt von makrise ()

  • :daumen: Das ist eine sehr gut beschriebene Anleitung und hat auf Anhieb geklappt. Habe das auch mit Erzengeln probiert; geht auch.
    Bei denen geht halt leider der Leuchteffekt um das Schwert verloren.


    So jetzt brauche ich nur noch ein paar Animationen/Zubehör für die Berge und das Gelände, dann kann ich meine nächste Karte in Angriff nehmen. ;)

  • Forum

    Hat das Thema geschlossen.