Ergebnis 121 bis 140 von 218
-
(Ich bin's nochmal, sry für den Doppelpost.)
Was/wie hast Du denn modifiziert?
Nicos Entpacker erstellt ja .rom Dateien und eine .db Datei, die alle db für die roms enthält.
Nachdem ich den code von Baltrams r3resman nicht wirklich verstanden habe, habe ich mir das für Risen 3 in hex angeguckt und gesehen, dass man relativ einfach aus rom und db (bei R3 ist es eine db per rom) eine r3sec bauen kann.
Das habe ich erfolgreich getan, d.h. als ich diese dann auf den r3resman zog, kam eine r3secdoc Datei heraus, schonmal nicht schlecht.
Bei ELEX ist es (für mich) etwas schwieriger, weil ich erstmal die zur rom-datei gehörige db-Sektion aus dem db file heraussuchen muss. Außerdem fehlt die SE02 Signatur, die ich manuell hinter 1D 97 FE 3C eingefügt habe ... (edit: Unsinn gelöscht)
Ich glaube, ich spiele erstmal weiter ELEX, bis sich das einer anguckt, der sich auskennt...
edit: GENAU! s.u. Baltram erklärt, wie es geht."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!Geändert von tombom81 (22.10.2017 um 12:23 Uhr) Grund: "cleaning"
-
Ich hab die .rom Dateien direkt mit einem Hex Editor bearbeitet.
Also erstens den Wert der gewünschten Variable verändert und zweitens den Timestamp mit einem aktuelleren Datum überschrieben. So hat es bei Risen 2 immer funtkioniert (mit Risen 3 habe ich mich nicht beschäftigt).
Daher die Frage ob bzw. wie die .db Datei angepasst werden muss?3.1415926535
Blog
-
ahso, also auf die "harte Tour"?!
(mit Risen 3 habe ich mich nicht beschäftigt). Daher die Frage ob bzw. wie die .db Datei angepasst werden muss?
Ich kann dir aber nur empfehlen, mal mit Baltrams r3resman und einer r3sec Datei zu arbeiten (r3tpl habe ich noch nicht probiert).
Dann kannst du die Änderungsergebnisse mit einem hexeditor kontrollieren und versuchen, das auf ELEX zu übertragen.
Vorgehensweise:
- eine kleine r3sec (oder tple) auf den r3resman ziehen -> erzeugt r3secdoc Datei
- eine Entity in dieser ändern
- r3secdoc speichern und auf r3resman ziehen -> erzeugt r3sec
- r3sec in Ordner "Sector" speichern
- Ordner auf r3resman ziehen -> 7_na_sec.pak wird erzeugt
Diese pak mit Risenaut (R3) von NicoDE zerlegen in rom, db und csv-Dateien.
Wenn Du das alles vorher auch mit der Ausgangs-r3sec-Datei gemacht hast, kannst du die db-Dateien auf die Änderungen vergleichen, was Risen 3 angeht.
Allerdings sind bei ELEX die einzelnen db-Files für die rom eines Unterordners in einer db zusammengefasst, soweit ich das sehe. Die Signatur "GEC2" sollte jeweils den Anfang markieren.
Sieht ziemlich umständlich aus, sollte aber reichen, wenn Du es für eine r3sec-Datei machst, um zu sehen, was sich binär ändert."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!
-
Wäre sicherlich einen Versuch wert, leider fehlt mir dafür momentan aber die Zeit.
Die .db Datei enthält so weit ich das sehen kann die entsprechenden Zeitstempel, ebenso wie die .csv. Gut möglich, dass beide dahingehend geändert werden müssen.
Da es nur eine .db und .csv pro Dateityp gibt, stellt sich dann allerdings schon die Frage inwieweit verschiedene Mods überhaupt miteinander kompatibel sein können?
Genau. Bei Risen 2 habe ich auf diese Weise viele Mods kurz nach Release erstellt, ganz einfach weil es noch keine Tools zum bearbeiten gab.3.1415926535
Blog
-
Gleich vorweg: Ich habe im Moment nicht vor, Modding-Tools für Elex zu schreiben (oder vorhandene Tools anzupassen). Den Quellcode zum Risen 3 Resource Manager gibt's hier.
Aber ich habe es doch nicht lassen können, ein bisschen mit den Daten rumzuspielen. Wie Nico schon sagte, hat sich das PAK-Format nicht geändert. Das Format der .db und .csv-Dateien wohl auch nicht. Nur die Ordnerstruktur innerhalb der Archive ist anders, aber wenn man da mit Nicos Elexebra etwas nachhilft, kann der Resource Manager zum Entpacken (und Auflösen der kryptischen Dateinamen) und auch zum Erstellen von Elex-Archiven verwendet werden.
Zur Demonstration hier eine kleine Testmod, die die Musik im Hauptmenü ersetzt.
Kochrezept zum Nachbauen:
Spoiler:(zum lesen bitte Text markieren)1. Die c_1_na.pak in Elexebra öffnen
2. Darin den Ordner 0_na_snd extrahieren
3. Den eben erstellten Ordner 0_na_snd auf den Resource Manager (r3resman.exe) ziehen, es wird eine 0_na_snd.pak erstellt (dauert eine Weile)
4. Die 0_na_snd.pak gleich wieder auf den Resource Manager ziehen, es wird ein Ordner Sound erstellt, der Dateien mit brauchbaren Namen und der Endung .r3snd enthält (das Dateiformat für Sounds hat sich allerdings seit Risen 3 geändert und kann vom Resource Manager nicht mehr gelesen werden).
5. In diesem Ordner alle Dateien löschen bis auf mus_cs_chapterchange1_01.r3snd und diese umbenennen in mus_title_01.r3snd
6. Den Ordner Sound (der jetzt nur noch eine .r3snd-Datei enthält) wieder auf auf den Resource Manager ziehen und als "archive generation" 1 angeben (oder eine andere Zahl zwischen 1 und 9), es wird das Archiv 1_na_snd.pak erstellt
7. Das eben erstellte Archiv mit Elexebra sofort wieder entpacken
8. Den entpackten Ordner (1_na_snd) in einen leeren Ordner namens c_2_na verschieben
9. Den Ordner c_2_na auf den Resource Manager ziehen, es wird das Archiv c_2_na.pak erstellt
10. Mit der c_2_na.pak in ELEX\data\packed das Spiel starten --> neue Titelmusik
Das ist kein Problem, war in Risen 3 auch schon so.
-
- Registriert seit
- Oct 2017
- Beiträge
- 4
Danke Baltram für das leckere Rezept.
Nun ein Gutes hat es ja das die R3 Tools "quasi" verwendbar sind (da wieder Genome). So bleibt mehr Zeit zum spielen und die Arbeit die in den Tools steckt wird erneut gewürdigt indem man sie ohne viel Aufwand für selbst erstellte "Verbesserungen" an Elex verwenden kann.Geändert von n0nnex (23.10.2017 um 07:52 Uhr)
-
- Registriert seit
- Oct 2017
- Beiträge
- 4
[Bild: vLZ1qtE.png]
Kleine Ergänzung zu den Soundfiles:
Diese sind nun im derzeit gängigen Industriestandard "Fmod (.fsb)" Format.
Eventuell genügt es ja im res manager src die File Format Header Abfrage anzupassen und das output von ".wav" auf ".fsb" zu ändern?
Werde es bei Zeiten mal probieren. Muss erst mal wieder VC installieren. Das letzte mal C++ ist schon Äonen her. hehe.
Infos und Tool zum Soundformat hier: https://www.fmod.com
Geändert von n0nnex (23.10.2017 um 13:59 Uhr)
-
Seit dem Update der GOG-Version gibt es eine data/packed/c_1_na.p00 - auf den ersten Blick (ungetested):
Code:head { char8_t magic[4]; // "PAK " char8_t version[4]; // "V001" uint64_t unknown; // 0 uint64_t info_offset; // relative to head uint64_t info_size; // uint32_t, 0 } data { } info { root { char8_t magic[4]; // "VOL " uint32_t unknown; // 1 uint32_t name_offset; // relative to info uint32_t name_size; uint32_t file_offset; // relative to info uint32_t file_count; uint32_t jour_offset; // relative to info uint32_t jour_count; } jour[info.root.jour_count] { char8_t magic[4]; // "JOUR" uint32_t unknown[3]; } uint32_t sort[info.root.file_count]; file[info.root.file_count] { char8_t magic[4]; // "FILE" uint32_t unknown1; // 0 uint32_t name_offset; // relative to info.file[*] (into info.name) uint32_t path_offset; // relative to info.file[*] (into info.name) uint64_t data_offset; // relative to head (into data) uint32_t file_attrib; uint32_t unknown2; // 0 uint64_t file_ctime; uint64_t file_mtime; uint32_t file_size; uint32_t data_size; char8_t data_comp[4]; // "\0\0\0\0" (uncompressed), "ZLIB" uint32_t unknown3[3]; // 0, 0, 0 } char8_t name[info.root.name_size]; }
"Unter diesen schwierigen Umständen bin ich mir sicher, daß diese guten Menschen meinen augenblicklichen Bedarf an deren Gold verstehen werden." -- ConnorGeändert von NicoDE (23.10.2017 um 12:33 Uhr)
-
Ich bin nur ein stiller Mitleser und kann dem hier Diskutierten nicht entnehmen, ob das jetzt gute oder schlechte Neuigkeiten sind (obwohl es sich positiv anhört).
Wie ist denn der momentane Stand der Dinge? Können Modder in absehbarer Zukunft beginnen, Elex zu modden?
Persönlich sehe ich ohne diese Möglichkeit schwarz für Elexs Zukunft.
-
Bitte PB, gebt den Moddern ein paar Möglichkeiten in die Hand. Das muss ja nicht gleich ein Modedit Tool sein. Das würde das Spiel sehr schnell ungemein aufwerten, dann könnte man die Städe mit NPCs füllen usw. und noch weitere Quests integrieren. Das wär wirklich toll!
-
- Registriert seit
- Dec 2002
- Beiträge
- 14.520
hab jetzt nicht den ganzen thread gelesen, aber bei nexus gibt es erste kleine mods für elex
https://www.nexusmods.com/elex/mods/...lts/?src_cat=1
https://www.nexusmods.com/elex/mods/3/?
https://www.nexusmods.com/elex/mods/1/?
https://www.nexusmods.com/elex/mods/4/?
https://www.nexusmods.com/elex/mods/6/?
grins einer der modder scheint auch hier gerade online zu sein ...Stellen Sie Sich einmal vor alle Unternehmensberater, Investmentbanker und Aktienanalysten fallen Tot um ODER alle Krankenschwestern, Feuerwehrmänner, Polizisten und Altenpfleger fallen tot um und nun fragen sie sich wen Sie persönlich vermissen würden ..
Die Summe der Intelligenz auf der Erde ist eine Konstante, das Problem ist das die Zahl der Weltbevölkerung steigt ..
-
-
Ist es denn schon jemandem gelungen etwas anderes zu modifizieren als Sounddateien wie in Baltrams Beispiel?
Ich habe eine Vielzahl von verschiedenen Dateien mit der beschriebenen Methode bearbeitet, jedesmal ohne Änderung. Dabei waren Templates (u.a. für Objekte, Speedtrees, Items, Waffen), Sectors, Images, Effects, SpeedTrees. Geändert hat sich nichts, egal ob ich die Dateien bspw. einfach umbenannt oder direkt mit einem Hex-Editor bearbeitet habe...3.1415926535
Blog
-
Nur die Texte - aber das ist wahrscheinlich nicht so wichtig
Aber auch auf dieser Baustelle gibt es schon genug Probleme: (a) es gibt scheinbar Probleme mit Einträgen, bei denen die Gesamtlänge (ID, Trennzeichen und alle Spalten) ~16K Zeichen überschreitet (betrifft einen Eintrag in 1.0 und zwei Einträge in 1.1), (b) jemand müsste die ganzen Hashes auflösen (oder PB veröffentlicht sie ), um vernünftig damit arbeiten zu können und (c) gäbe es noch genug zu tun, um aus meinem aktuellen Prototypen ein brauchbaren STB compiler zu machen (braucht halt alles Zeit und die Länge der Teil-Strings ist immer noch durch die Engine limitiert, was die mögliche Komprimierung einschränkt/erschwert/verkompliziert).
ps: zu (a) könnte das jemand mal ausprobieren: Krals zweites Tagebuch finden, Text-Sprache auf Russisch umstellen und Screenshot vom Ende des Tagebuchs hier posten (der deutsche Text des Tagebuchs lautet:Spoiler:(zum lesen bitte Text markieren), Hash 79cc7643 ist "LETTER_WEIDMANNX6_2015-04-01_12-56-20_00", verwendet in It_Wri_Book_KralsSecondDiary)Ich kann mein altes Tagebuch nicht mehr finden. Ich muss es irgendwo auf den Balkonen zurückgelassen haben. Ich werde noch mal aufschreiben müssen, was mit Grimar passiert ist. Vielleicht brauche ich diese Informationen irgendwann noch einmal.
Tag 1:
Ich habe Grimar befreit. Er ist kaum in der Lage zu sprechen, sie müssen ihn im Konverter ganz schön zugesetzt haben. Ich kann ihn kaum noch erkennen, aber ich weiß, dass es mein Bruder ist.
Tag 2:
Er hat ein paar Sachen sagen können und ich habe versucht, ihm etwas zu essen zu geben. Er hat alles wieder erbrochen. Ihm scheint es sichtlich schlechter zu gehen. Ich habe gestern Nacht nicht schlafen können.
Tag 3:
Ich bin verzweifelt. Er isst nichts, er trinkt nichts. Er stöhnt nur und macht den Eindruck, als würde er sterben. Ich habe wieder nicht geschlafen. Jemand muss auf Grimar aufpassen.
Tag 4:
Ich bin eingeschlafen. Grimar ist noch da, aber es sieht so aus, als hätte er versucht meine Elexitsplitter zu essen. Sein ganzer Mund ist von dem scharfkantigen Zeug aufgerissen. Aber es scheint ihm besser zu gehen.
Tag 7:
Ich habe es geschafft, etwas Elex aus Goliet zu schmuggeln. Grimar hat sich sofort darauf gestürzt. Es scheint nicht genug gewesen zu sein. Ich fange an, die Tage durcheinanderzubringen. Es ist dauernd dunkel und ich schlafe schlecht.
Tag 8:
Er hat etwas gesagt! Er hat geredet! Ich konnte es nicht genau verstehen und es hat Stunden gedauert, aber es scheint so, als wolle er mir erzählen, was ihm passiert ist. Wenn ich ihn richtig verstanden habe, scheint er sich schon länger auf dem Gelände des Konverters aufgehalten zu haben, bevor ich ihn dort gefunden habe. Er hat wohl angefangen sich von Elex zu ernähren. Es gab dort nichts anderes.
Tag 12 oder 13:
Er redet nicht mehr. Je mehr Elex ich ihm gebe, desto mehr will er haben. Ich muss immer größere Mengen aus Goliet stehlen. Ich befürchte, dass ich bald erwischt werden könnte.
Tag 15 ???:
Jemand war bei mir. Jemand aus Goliet. Sie haben mich gefunden. Sie haben das fehlende Elex bemerkt. Dieser Mann hat mir gesagt, dass er uns nicht verraten wird. Ich kann ihm nicht genug dafür danken.
Tag ? (Ist überhaupt schon ein Tag vergangen?):
Etwas stimmt nicht mit Grimar. Ich habe ihm noch etwas Elexit gegeben und es auch geschafft noch mehr Elex zu kaufen. Er scheint über irgendetwas aufgebracht zu sein.
??? Es fühlt sich an wie eine Ewigkeit:
Er ist nicht aufgebracht, er ist jetzt schlichtweg wütend. Ich weiß nicht mehr, was ich tun soll. Ich habe versucht ihn zu beruhigen, aber es klappt nicht. Ich muss überlegen, was passiert, wenn er noch aggressiver wird. Ich werde versuchen ihn zu fesseln...
Die nächste Nacht wird schwierig. Ich bin müde."Unter diesen schwierigen Umständen bin ich mir sicher, daß diese guten Menschen meinen augenblicklichen Bedarf an deren Gold verstehen werden." -- ConnorGeändert von NicoDE (25.10.2017 um 15:25 Uhr)
-
Anscheinend kommt Elex nicht mit der Kompression zurecht, die r3resman verwendet. Ich habe die mal ausgeschaltet: r3resman.zip
Außerdem habe ich in dieser Version eine experimentelle Unterstützung für Elex-Templates eingebaut (also .rom --> .r3tpl --> .r3tpldoc und umgekehrt), die Elex-Hashes werden dabei aber noch nicht aufgelöst (es werden immer noch die von Risen 3 verwendet, die z.T. auch in Elex vorkommen). Hier zum Beispiel der kleine Heiltrank:
Spoiler:(zum lesen bitte Text markieren)Code:<master> { GUID = {DD18E8FE-F31F-4034-B251-574A082EE0C9}; RefTemplateGUID = {00000000-0000-0000-0000-000000000000}; Position = (vec 0.000000 0.000000 0.000000); Rotation = (quat 0.000000 0.000000 0.000000 1.000000); Unknown0 = <05>; Unknown1 = 50000.000000; Unknown2 = <1D A0 00 00 00 00>; "It_Po_Healing_Small" { GUID = {18BA5B7B-4AF3-41F2-B34C-17B9B183A651}; RefTemplateGUID = {00000000-0000-0000-0000-000000000000}; Position = (vec 0.000000 0.000000 0.000000); Rotation = (quat 0.000000 0.000000 0.000000 1.000000); Unknown0 = <00>; Unknown1 = 2000.000000; Unknown2 = <9D A1 00 00 02 00>; class eCMesh_PS { Version = 2; Properties { class bCString MeshFileName = "It_Po_Heal_Small_L1"; int MaterialSwitch = 0; class bCFloatColor ObjectColor = (color 0.000000 0.000000 0.000000); unsigned int <unknown name 0xf02eabfb> = 2; bool <unknown name 0x9a48dc06> = True; bool <unknown name 0x2d1d19e1> = False; <unknown type 0x7d730ecc> <unknown name 0x50b9a97f> = <A6 C7 89 3F 00 00 00 00>; bool <unknown name 0x5255fffa> = True; } ClassData { } } class gCItemConsumable_PS { Version = 1; Properties { class eCScriptProxyScript ConsumeScript = "ConsumePotion"; unsigned int Amount = 1; int GoldBuy = 50; int GoldSell = 10; bool MissionItem = False; bool MagicItem = False; bool AlchemyItem = False; bool GoldItem = False; bool AdventureItem = False; bool Permanent = False; int SortValue = 3100; class eCEntityProxy Owner = {00000000-0000-0000-0000-000000000000}; enum gEItemCategory Category = 9; class bCString IconOverlay = ""; class bCString IconImage = "Icon_Po_Healing_Small"; <unknown type 0xe2a52927> IconBackground = <EE 68 8B 60 00 00 00 00>; class bCMotion HoldOffset = <00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F>; class bCMotion <unknown name 0x37226e90> = <00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F>; bool Dropped = False; class eCTemplateEntityProxy ItemWorld = {00000000-0000-0000-0000-000000000000}; class eCTemplateEntityProxy ItemInventory = {00000000-0000-0000-0000-000000000000}; <unknown type 0xdfc1066f> RequiredSkills = <00 00 00 00>; <unknown type 0x31e0df9a> OnUseModifySkills = <01 00 00 00 47 45 43 32 6C F4 FA BA 01 00 3E 00 00 00 03 00 B4 56 69 D5 F4 4F EA DC 08 00 00 00 64 C8 7D 4B 00 00 00 00 30 80 88 0B F9 A2 71 A7 04 00 00 00 28 00 00 00 C5 5B 44 90 84 6B 19 0E 08 00 00 00 91 4A A1 1B 86 00 00 00 00 00 00 00>; <unknown type 0x31e0df9a> OnPossessModifySkills = <00 00 00 00>; enum gEItemUseType UseType = 49; class eCScriptProxyScript CanEquipScript = "CanEquipHasRequieredStats"; class eCScriptProxyScript <unknown name 0x8fda1e45> = ""; class eCScriptProxyScript OnEquipScript = "OnEquip"; class eCScriptProxyScript OnUnEquipScript = "OnUnEquip"; class eCScriptProxyScript OnPossessScript = ""; class eCScriptProxyScript OnUnholdScript = ""; class eCScriptProxyScript OnHoldScript = ""; class bCString EffectMaterial = "potion"; enum gEItemHoldType HoldType = gEItemHoldType_None; bool IsDangerousWeapon = False; enum gECoolDownType CoolDownType = gECoolDownType_None; unsigned int <unknown name 0x573e534a> = 0; unsigned int <unknown name 0xa23d941f> = 0; int <unknown name 0xda9dd823> = 0; unsigned int <unknown name 0x95fcdb28> = 0; int <unknown name 0x74b87553> = 0; } ClassData { [class gCItem_PS, Version 2] = <02 CA A8 90 00 00 00 00 01 00 00 00>; } } class gCInteraction_PS { Version = 2; Properties { enum gEInteractionUseType UseType = gEInteractionUseType_Item; class eCScriptProxyScript EnterROIScript = "OnEnterProcessingRange"; class eCScriptProxyScript ExitROIScript = "OnExitProcessingRange"; class eCScriptProxyScript TouchScript = ""; class eCScriptProxyScript IntersectScript = ""; class eCScriptProxyScript UntouchScript = ""; class eCScriptProxyScript TriggerScript = ""; class eCScriptProxyScript UntriggerScript = ""; class eCScriptProxyScript DamageScript = ""; class eCScriptProxyScript CanAttachSlotScript = ""; class eCScriptProxyScript AttachedSlotScript = ""; class eCScriptProxyScript DetachedSlotScript = ""; class eCScriptProxyScript <unknown name 0x5a724cba> = ""; class eCScriptProxyScript <unknown name 0x9f2503df> = "GeneratePlunder"; class gCScriptProxyAIState RoutineTask = ""; bool GroundBias = False; class bCString FocusNameBone = ""; class bCVector FocusViewOffset = (vec 0.000000 0.000000 0.000000); class bCVector FocusWorldOffset = (vec 0.000000 0.000000 0.000000); class eCScriptProxyScript FocusPriorityScript = "GetFocusEntityPriority"; class eCScriptProxyScript FocusNameScript = "GetFocusEntityName"; <unknown type 0x5903bef3> Interactions = <04 00 00 00 47 45 43 32 A5 CC 22 9D 01 00 72 00 00 00 05 00 68 6C 15 0D E7 30 8D 7C 08 00 00 00 B8 C4 54 9A 01 00 00 00 6F 60 7F 25 66 A3 A6 72 04 00 00 00 01 00 00 00 EC 48 DF 0B 9B C5 BB F9 04 00 00 00 01 00 00 00 EC 48 DF 0B 14 94 F6 CF 1C 00 00 00 01 00 18 00 49 6E 74 65 72 61 63 74 5F 50 6C 61 79 65 72 5F 54 61 6B 65 49 74 65 6D 6F 60 7F 25 DA 56 D9 AD 04 00 00 00 01 00 00 00 00 00 00 00 47 45 43 32 A5 CC 22 9D 01 00 96 00 00 00 05 00 68 6C 15 0D E7 30 8D 7C 08 00 00 00 D3 49 DA A7 04 00 00 00 6F 60 7F 25 66 A3 A6 72 1A 00 00 00 01 00 16 00 43 61 6E 49 6E 74 65 72 61 63 74 5F 4D 61 67 69 63 5F 49 74 65 6D EC 48 DF 0B 9B C5 BB F9 1A 00 00 00 01 00 16 00 50 72 65 49 6E 74 65 72 61 63 74 5F 4D 61 67 69 63 5F 49 74 65 6D EC 48 DF 0B 14 94 F6 CF 14 00 00 00 01 00 10 00 54 65 6C 65 6B 69 6E 65 73 69 73 5F 49 74 65 6D 6F 60 7F 25 DA 56 D9 AD 04 00 00 00 01 00 00 00 00 00 00 00 47 45 43 32 A5 CC 22 9D 01 00 79 00 00 00 05 00 68 6C 15 0D E7 30 8D 7C 08 00 00 00 D9 41 72 5E 02 00 00 00 6F 60 7F 25 66 A3 A6 72 04 00 00 00 01 00 00 00 EC 48 DF 0B 9B C5 BB F9 04 00 00 00 01 00 00 00 EC 48 DF 0B 14 94 F6 CF 23 00 00 00 01 00 1F 00 49 6E 76 65 6E 74 6F 72 79 55 73 65 5F 50 6C 61 79 65 72 5F 43 6F 6E 73 75 6D 65 46 6F 6F 64 6F 60 7F 25 DA 56 D9 AD 04 00 00 00 01 00 00 00 00 00 00 00 47 45 43 32 A5 CC 22 9D 01 00 93 00 00 00 05 00 68 6C 15 0D E7 30 8D 7C 08 00 00 00 68 77 39 22 03 00 00 00 6F 60 7F 25 66 A3 A6 72 22 00 00 00 01 00 1E 00 43 61 6E 51 75 69 63 6B 55 73 65 5F 50 6C 61 79 65 72 5F 44 72 69 6E 6B 50 6F 74 69 6F 6E EC 48 DF 0B 9B C5 BB F9 04 00 00 00 01 00 00 00 EC 48 DF 0B 14 94 F6 CF 1F 00 00 00 01 00 1B 00 51 75 69 63 6B 55 73 65 5F 50 6C 61 79 65 72 5F 44 72 69 6E 6B 50 6F 74 69 6F 6E 6F 60 7F 25 DA 56 D9 AD 04 00 00 00 01 00 00 00 00 00 00 00>; class bCMatrix SlotOffset = (mat 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000); enum gEFocusPriority FocusPriority = gEFocusPriority_Normal; enum gEFocusNameType FocusNameType = gEFocusNameType_Entity; int InteractionCounter = 0; class eCEntityProxy SlotWorldItem = {00000000-0000-0000-0000-000000000000}; class eCTemplateEntityProxy SlotItem = {00000000-0000-0000-0000-000000000000}; } ClassData { } } <unknown class 0xe5d2672a> { Version = 1; Properties { <unknown type 0x889e4d02> Shapes = <01 00 00 00 47 45 43 32 FD FF F2 BC 01 00 C2 00 00 00 08 00 9B E1 71 0F 4D F5 39 CE 04 00 00 00 00 00 F0 41 35 DA E8 98 47 64 73 A6 40 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 9B E1 71 0F 4B 0E 0C D1 04 00 00 00 00 00 00 00 9B E1 71 0F A8 7F 5C 0E 04 00 00 00 00 00 00 00 9B E1 71 0F E1 99 8B 42 04 00 00 00 00 00 00 00 9B E1 71 0F E2 99 8B 42 04 00 00 00 00 00 00 00 91 B3 94 7C 06 DC 48 9A 04 00 00 00 01 00 00 00 9B E1 71 0F E7 D7 70 2B 04 00 00 00 00 00 00 00 00 00 00 00>; } ClassData { } } } }
Ich habe mal testweise den Geldpreis erhöht und das Ganze in eine ExpensivePotion.pak gepackt. Hat funktioniert, der Trank war im Spiel teurer.
-
Danke; aber hattest du nicht die Titelmusik verändert? Da hast du doch auch ein pak erzeugt; wieso ging das denn?
Ich habe mal testweise den Geldpreis erhöht und das Ganze in eine ExpensivePotion.pak gepackt. Hat funktioniert, der Trank war im Spiel teurer.
Ich hatte versucht, r3sec files mit dem hexeditor zu modifizieren und festgestellt, dass offenbar die DynamicEntities 11 bytes größer sind bei ELEX.
Die erstellte pak wurde geladen, wenn man dem procmon log Glauben schenken darf, aber im Spiel gab's keine Änderung. Ich werde deine neue r3resman Version gleich mal testen.
(In der source deines r3resmans die oben erwähnten 11 bytes zu überspringen, ist mir nicht gelungen, weil man dazu das Format schon ziemlich gut verstanden haben muss. Da ist zum Beispiel ein Offset 186, den habe ich auf 197 geändert, aber da die entsprechende Routine rekursiv aufgerufen wird, musste ich den file pointer per printf loggen, um halbwegs zu verstehen, wo es langgeht.)
Na, ich spiele erstmal weiter ELEX, gefällt mir besser als Skyrim."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!
-
-
[SARKASMUS]
woah das templete für den Trank sieht ja toll so. So kompakt und übersichtlich, man sieht gleich was wofür da ist. Ich kann es kaum erwarten, eigene neue templates zu erschaffen und items zu verändern. Erwartet meine Mod Ende dieser Woche.
[/SARKASMUS]
-
Code:
class eCScriptProxyScript CanEquipScript = "CanEquipHasRequieredStats";
-