Ergebnis 1 bis 1 von 1
  1. #1
    Newbie Avatar von shak-otay
    Registriert seit
    04.09.2012
    Beiträge
    39

    Standard [Release] Risen 2 Lrenter (modding)

    Nachdem LordOfWar ja schon einen tple-Editor für Risen 2 erstellt hat, wollte ich auch nicht zurückstehen
    und release hiermit den Risen 2 Lrenter, mit dessen Hilfe man NPCs und diverse Objekte klonen kann.

    Außerdem können _xmsh-Files in Wavefront-obj umgewandelt werden, z.B. Obj_Shp_PlayerShip_Brk_Sailing_L1._xmsh.

    Lrenter3.zip




    Kurzanleitung:

    TAK_NPC.lrent mit Hilfe von NicoDEs Entpacker (risenaut, 21.3.2012)
    aus der projects.pak (s. R2-dir\data\common) entpacken.

    • Risen Lrenter starten
      und TAK_NPC.lrent mit File\Open laden
    • Menupkt. Entities - manage
    • In der ComboBox neben dem save-bin-Button "Pedro" auswählen
      und den Button drücken.
    • Dann den append-bin-Button drücken und die gerade gespeicherte
      Entity Pedro.bin auswählen und "öffnen" (binäre Entity wird
      an die lrent angehängt).
    • ok-Button drücken.
    • Unter File\save die lrent speichern.
    • Der Name wird dabei um einen Underscore ("_") ergänzt.
    • Diese Datei laden, Pedro (am Ende der Entities drop down list)
      auswählen und den properties-Button drücken.


    (Achtung: Entity No. 2 ist der Original-Pedro. Finger wech, da!)

    Namen des geklonten Pedros ändern, evtl. auch Klamotten und Items.

    (Items können nur ersetzt, aber nicht zusätzlich eingefügt werden!)

    • Bei jeder Änderung muss der Replace-Button betätigt werden.
    • Danach ok-Button drücken und nochmal "ok" im "manage entities"-
      Fenster.
    • File\save
    • lrent nach C:\Dokumente und Einstellungen\user\Lokale Einstellungen\
      Anwendungsdaten\Risen2\Config kopieren.
    • Unterstrich(e) entfernen
    • Risen2 starten (es muss kein neues Spiel begonnen werden).



    Mein Dank geht - wie immer - an NicoDE für seine exzellenten Analysen
    und an Baltram für entscheidende Hinweise.


    Und natürlich an die Piranhas für Spiele, bei denen das Modden wirklich
    Spass macht, wenn denn die Analyse-Hürde erstmal genommen wurde.


    shak-otay, Juli 2012

    PS: aus Gründen, die mir wohl für immer verborgen bleiben werden,
    können nur an NPC-lrents entities angehängt werden.

    (Ausnahme: TAK_Interact.lrent in einer projects.p00 gepackt
    wird offenbar von der Vollversion akzeptiert.)

    known bugs:
    einige entities verursachen einen CTD beim Anhängen:
    - Pref_Plank_Fence_1_1
    - Obj_LS_FireBasket_1


    Hinweise zu FreePoints - NUR für ERFAHRENE modder -
    ---------------------------------------------------

    Die Aufenthaltsorte im Tagesablauf von NPCs wurden von der genome
    engine über FreePoint-Objekte (FP) festgelegt.

    Diese hatten einen UseType, z.B. SitCampfire, d.h. wenn ein NPC
    diesen FP ansgesteuert hatte, führte er die zum UseTpye gehörige
    Animation aus.

    Unterschieden wurde zwischen fest zugewiesenen und "freien" FreePoints.
    Die GuIDs frei verfügbarer FPts waren nicht in den Weltdaten-NPC-
    Entities eingetragen.

    Bei G3 besaß jede Routine genau 3 WRS-GuIDs, die die Verknüpfung zu
    einen working (W), einem relaxing (R) und einem sleeping (S)
    FreePoint festlegten.

    Das WRS-Konzept wurde mit Risen 2 weiter flexibilisiert. Die
    ursprüngliche starre Zuordnung sleeping ab Mitternacht, relaxing
    zur Mittagszeit und working den Rest des Tages (haha) wurde weiter
    "aufgeweicht" bzw. verbessert. D.h., es gibt Routinen mit mehr als
    3 GuIDs.

    Im Lrenter wird wg. der Übersichtlichkeit jeweils die erste GuID
    einer Routine (z.B. "Start") mit [W] gekennzeichnet, obwohl
    nicht sicher ist, ob sie tatsächlich einen working FPt "adressiert".

    (Der Terminus "WRS" wird im Lrenter traditionell weiterverwendet.)

    Wenn neue (= geklonte) NPCs sich realistisch in die Welt einfügen
    sollen, kommt man nicht umhin, ihnen neue FreePoins zu geben,
    damit sie den originalen NPCs nicht ins Gehege geraten.

    In Interact-lrents befinden sich beds, benches, campfires etc.,
    die FreePoints darstellen.

    Bevor in die WRS-Liste geklonter NPCs FreePoints eingetragen
    werden können, muss man einen FreePoint klonen.
    (save-bin, append-bin; s.o.)

    Nachdem man binäre FreePoints an eine lrent angehängt hat, findet
    sich im log-File z.B. folgender Eintrag:

    addit.Ents: 2
    - GuIDs -
    TAK_Obj_Int_Bench_Pir_1_L1
    7368616B735F546573744D6F64000300
    Obj_Int_Chest_Pir_1_L1
    7368616B735F546573744D6F64000400

    Der Name des FPts und die GuID muss in die FreePoints.txt
    eingetragen werden.


    In der combo "WRS-GuIDs from Freepoints.txt" Bench_DonPedro
    auswählen und alle 5 WRS-GuIDs in der linken WRS-combo ersetzen.

    Die GuIDs geklonter Entities setzen sich zusammen aus der Zahl und dem
    String in der Lrenter.ini. Eine GuID besteht aus 16 Hexbytes.
    Die Zahl (Word) wird vom Lrenter in GuID[14] (low word) und GuID[15]
    (hi word) eingetragen; desgleichen die (max.) 14 zeichen des Strings in
    GuID[0..13].

    Die Zahl wird mit jeder angehängten Entity um eins erhöht, damit die
    GuIDs einzigartig sind.

    einige Ergänzungen:

    Da Positionierungen generell fizzelig sind, habe ich G3RAMmod.exe an
    Risen 2 angepasst. Mit R2RAMmod kann man dies zur Runtime des games
    elegant erledigen; läuft aber z.Z. nur unter XP.

    Diverse Features wie Trade- und TeachEnabled werden sinnvoller-
    weise über InfoCommands (gCInfoCommandSetTeachEnabled) eingestellt.

    DonPedro hört mit seiner Katzenwäsche am Barrel garnicht mehr auf,
    obwohl ich in der "Start"-Routine per Lrenter ein Bett und eine Bank
    eingetragen habe.

    Vermutlich befindet er sich noch in der "PreStart"-Routine, aus der
    man ihn "rausholen" kann, indem man ein "gCInfoCommandSetRoutine
    DonPedro Start" in eine Info schreibt.

    (Aber dafür warten wir noch auf einen Info-Editor.;-))

    Es ist übrigens nicht vorgesehen, andere als NPC-properties zu
    bearbeiten.

    Bei "Obj_Int_xxx" ist der properties-Button daher disabled!
    Geändert von shak-otay (21.01.2013 um 18:03 Uhr)

Berechtigungen

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