Ergebnis 1 bis 16 von 16
  1. #1 Zitieren
    Apprentice
    Registriert seit
    Apr 2022
    Beiträge
    10
    Moin,
    aktuell durchsuche ich die Game Daten nach einer Möglichkeit die Loyalität der Begleiter zu verändern. Aber bisher habe ich noch keinen Erfolg gehabt irgendwas in dieser Richtung in den Daten zu finden.
    Hat da irgendjemand schon Erfolg mit gehabt oder einen Anhaltspunkt wie bzw. wo man die Werte modifizieren könnte?
    Evolox ist offline

  2. #2 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.143
    Guckstu in der w_info.hdrdoc, script "OnInfo_AddLoyaltyAmount":
    Code:
                            class gCInfoCommandRunScript {
                                Version = 1;
                                Properties {
                                    class eCScriptProxyScript Script = "OnInfo_AddLoyaltyAmount";
                                    class bCString Self = "";
                                    class bCString Other = "";
                                    enum gEOtherType OtherType = gEOtherType_Entity;
                                    int Param = 0;
                                    class bCString StringParam = "bad";
                                    enum gEScriptParamType ParamType = gEScriptParamType_AutoSelect;
                                }
                                ClassData {
                                }
                            }
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Tuvok, scannen Sie den Planeten nach Mikroplastik!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline

  3. #3 Zitieren
    Apprentice
    Registriert seit
    Apr 2022
    Beiträge
    10
    Zitat Zitat von tombom81 Beitrag anzeigen
    Guckstu in der w_info.hdrdoc, script "OnInfo_AddLoyaltyAmount":
    Code:
                            class gCInfoCommandRunScript {
                                Version = 1;
                                Properties {
                                    class eCScriptProxyScript Script = "OnInfo_AddLoyaltyAmount";
                                    class bCString Self = "";
                                    class bCString Other = "";
                                    enum gEOtherType OtherType = gEOtherType_Entity;
                                    int Param = 0;
                                    class bCString StringParam = "bad";
                                    enum gEScriptParamType ParamType = gEScriptParamType_AutoSelect;
                                }
                                ClassData {
                                }
                            }

    Sehr strange. Den Teil finde ich nicht in der w_info.hdrdoc. Die Klasse gCInfoCommandRunScript ist generell bei mir nicht vorhanden. Die w_info.hdrdoc die ich aus c_1_na\documents\w_info.hdr mit elex2resman rausbekomme ist aber schon die richtige oder?
    Evolox ist offline

  4. #4 Zitieren
    Apprentice
    Registriert seit
    Apr 2022
    Beiträge
    10
    Ok ich denke mal es liegt daran, dass bei mir so aussieht ClassData { [class gCInfo, Version 2] = <02 00 00 00 47 45....

    Habe ich irgendeinen Step übersehen?
    Evolox ist offline

  5. #5 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.143
    Ahso, ja, ganz vergessen; hatte den code des elex2resmans gepatched. War nur eine Versionsnummer zu ändern, iirc.
    Bist du coder (also könntest du den resman erstellen)? Dann such ich die Stelle mal raus.

    Meine exe enthält (aus technischen Gründen) kein fmod; deswegen will ich die nicht hochladen.
    Ist auch nur die debug -Version, da braucht man ne debug dll, msvcrt-irgendwas-d.dll.
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Tuvok, scannen Sie den Planeten nach Mikroplastik!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline

  6. #6 Zitieren
    Apprentice
    Registriert seit
    Apr 2022
    Beiträge
    10
    Wäre super wenn du mir sagen könntest welche Stelle ich ändern muss. Die Stelle selber zu ändern und resman zu erstellen sollte ich hinkriegen. Wo genau ist denn das Repository gelandet?
    Evolox ist offline Geändert von Evolox (14.04.2022 um 16:16 Uhr)

  7. #7 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.143
    Finde natürlich meine Notizen nicht, versuch mal:
    In mi_risendoc.cpp:
    Code:
    else if ( a_strName == "class gCNavigation_PS" && uVersion == 13 )    / statt 12
    
    else if ( a_strName == "class gCRoutine" && uVersion == 2 )    // statt 1
    
    else if ( a_strName == "class gCInfo" && uVersion == 2 )    // statt 1
    Kann sein, dass noch eine Zeile fehlt; sag Bescheid, wenn's nicht reicht.

    George - Github

    Gibt angeblich auch nen branch von TinyHatastrophe, oder so ähnlich; musstu suchen.


    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Tuvok, scannen Sie den Planeten nach Mikroplastik!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline Geändert von tombom81 (14.04.2022 um 16:27 Uhr)

  8. #8 Zitieren
    Apprentice
    Registriert seit
    Apr 2022
    Beiträge
    10
    Hat super geklappt. Danke für die Hilfe. Jetzt muss ich nur mal schauen wie ich die loyalty amount auf einen hohen positven Wert setzen kann.
    Evolox ist offline

  9. #9 Zitieren
    Apprentice
    Registriert seit
    Apr 2022
    Beiträge
    10
    Leider kann ich die w_info.hdrdoc nicht zurück in eine hdr Datei konvertieren. Resman haut dann immer ein Parse Error raus. Auch wenn ich nichts verändere. Andere hdrdoc Datein scheinen zu funktionieren. Woran könnte das wohl liegen?
    Evolox ist offline

  10. #10 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.143
    Ja, das dürfte spannend werden. "Good", "brave", usw. "moneyclaim" ist bestimmt negativ?

    (Wo ich hinseh: viel Aufwand den PB betrieben hat.)

    Happy modding!

    Zum parse error: "at line ...", oder so?

    Die 2. Zeile ResourceRevision = NFO1;
    musst du rauswerfen. Und dann "NFO1" in der .hdr einfügen. (Hatte ich hier beschrieben.)

    (Hatte da auch den Wert an 0x0018 geändert auf 0xC8 und 16 Null-bytes eingefügt; das war aber garnicht nötig, afair.)
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Tuvok, scannen Sie den Planeten nach Mikroplastik!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline Geändert von tombom81 (14.04.2022 um 20:02 Uhr) Grund: link ergänzt

  11. #11 Zitieren
    Apprentice
    Registriert seit
    Apr 2022
    Beiträge
    10
    Habe es mal gerade ausprobiert die ResourceRevision = NFO1 rauszuschmeißen, aber der Parse Error kommt immer noch.
    Da steht aber auch parse error in line 3 und die revision zeile ist ja in der zweiten Zeile.
    Vielleicht muss ich doch noch irgendwas in der mi_risendoc ändern? Zumindest sieht die ClassData an einigen Stellen immer noch so aus
    ClassData {
    [class gCInfoCommandSwitchCase, Version 1] = <01 00
    Evolox ist offline Geändert von Evolox (14.04.2022 um 21:09 Uhr)

  12. #12 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.143
    Ja, um classData von switchcase habe ich mich noch nicht gekümmert. Muss man auch nicht, weil der resman das trotzdem rückübersetzen kann (staune noch immer, wie genial Baltram das gelöst hat).

    (Es sei denn, du brauchst unbedingt den switchcase-Klartext.)

    Die parse error line nummer ist ein caveat im resman; ich hatte da 10 breakpoints um den downzutracken.

    Bin auch gerade voll in meinem savegame modifier Projekt; fällt mir immer schwer, umzuswitchen.

    Wir brauchen die passende Funktion, geht ja um doc->hdr. hmm, DocumentRisen3ClassData() ?
    oder Risendocparser().
    Da steht in meinen Notizen
    Code:
    else if ( a_strName == "class gCInfo" && uVersion == 2 )
    ...
    2 Stellen
    nochmal später in Risendocparser
    Vielleicht hast du eine der 3 übersehen?

    Ansonsten musste debuggen; dazu w_info.hdrdoc in die debug commandline Zeile der VS-gui eintragen (mit full path)

    edit: mi_risendoc.cpp
    Stell sicher, dass du die letzte Version des codes von George hast, Datum: 28.3.2022
    Wenn die daraus compilierte exe Probleme macht mit hdrdoc zu doc,
    suche diese Zeile (nach "DT01" suchen) und änder sie gegebenenfalls so
    Code:
    if ( m_streamIn.ReadString( 4 ) != "DT01" || m_streamIn.ReadU32() != 0 || m_streamIn.ReadU32() != 2 )
    , falls sie nicht schon so aussieht.

    Als code-maintainer bin ich aufgrund meiner chaotischen Arbeitsweise leider völlig unbrauchbar; George hat da einen sehr guten Job gemacht!

    Achso, den kleinen typo in der Hauptdatei müsstest du vielleicht noch fixen:
    Code:
    else if ( g_GetFileExt( strPath ).ToLower() == "elexs2ecdoc" )
    zu "elexsec2doc"
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Tuvok, scannen Sie den Planeten nach Mikroplastik!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline Geändert von tombom81 (15.04.2022 um 06:34 Uhr)

  13. #13 Zitieren
    Apprentice
    Registriert seit
    Apr 2022
    Beiträge
    10
    So jetzt hab ichs endlich soweit, Mein Fehler war, dass ich die 3 Zeilen wo die uVersion geändert weden musste nur in DocumentRisen3ClassData() geändert hatte aber nicht im Risendocparser(). Jetzt kann das modden losgehen. Der erste Versuch die Loyalty zu ändern hat schonmal das Game zum crashen gebracht
    Evolox ist offline

  14. #14 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.143
    Zitat Zitat von Evolox Beitrag anzeigen
    Der erste Versuch die Loyalty zu ändern hat schonmal das Game zum crashen gebracht
    Ja, manche Änderungen findet die genome engine nicht lustig.

    btw, hast du mal in valakiis thread geschaut? Da könnte man sicher gegenseitig Synergien schöpfen...
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Tuvok, scannen Sie den Planeten nach Mikroplastik!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline

  15. #15 Zitieren
    Apprentice
    Registriert seit
    Apr 2022
    Beiträge
    10
    Ja den Thread von valakiis verfolge ich auch nebenbei die ganze Zeit. Auch sehr spannend. So ich habe jetzt in die Dialoge wo man die Begleiter nach der aktuellen Loyalität fragt, einfach das RunScript mit AddLoyaltyAmount gepackt. Das funktionioniert ziemlich gut. Mit dem param value procrew steigert man die loyalität am meisten so wie es aussieht. Fände es natürlich geiler wenn man die Loyalität über einen Trank oder so ändern könnte. Aber so wie es aussieht kann man gCInfoCommandRunScript nicht in Templates nutzen oder sehe ich das falsch? Und eine andere Option das Ganze umzusetzen sehe ich aktuell noch nicht.
    Evolox ist offline

  16. #16 Zitieren
    General Avatar von tombom81
    Registriert seit
    Jun 2015
    Beiträge
    3.143
    Zitat Zitat von Evolox Beitrag anzeigen
    Fände es natürlich geiler wenn man die Loyalität über einen Trank oder so ändern könnte.
    Ein Liebestrank? Verstehe.

    Also prinzipiell geht bestimmt ne ganze Menge; beansprucht aber ganz schön die Kreativität.
    Mit dem Risen-SDK konnte man scriptmäßig geile Sachen machen; eine Anpassung an ELEX scheint aber aufwändig bis unmöglich, wenn ich das richtig verstanden hatte.

    Aber so wie es aussieht kann man gCInfoCommandRunScript nicht in Templates nutzen oder sehe ich das falsch?
    Da bräuchte man besagtes SDK, um ein vergleichbares script zu erstellen, denke ich. Und die Scripts in den templates haben meist keine variablen parameter, afair.

    Und eine andere Option das Ganze umzusetzen sehe ich aktuell noch nicht.
    Frag mal valakiis. Ich glaub, der brennt für solche Dinge.

    edit: mein Reden.
    "in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
    TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
    Tuvok, scannen Sie den Planeten nach Mikroplastik!
    "Hört mir bloß auf mit "Stormson".
    "In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
    Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!
    tombom81 ist offline

Berechtigungen

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