Dialog am den Innos- und Beliarschreinen + neue Objekte ins Spiel
Hallo,
Ich hätte da mal zwei Fragen:
1) Wir wollten für unsere Mod an den Innos- und Beliarschreinen etwas verändern.
Um zu testen, ob das überhaupt richtig funktioniert, haben wir erst mal ein Probe-Info geschrieben.
Das Problem ist, dass das Spiel die einfach ignoriert. D.h. die neue Dialogoption ist nicht da.
Und zweitens wollten wir wissen in welcher Datei steht, was in der Welt so "gespawnt" wird.
Also Häuser, Möbel, Ruinen, usw...
Man kann z.B mit spawn G3_Object_Interacts_Bed_01 ein Bett spawnen.
Nur wenn man das jetzt nicht im Spiel machen möchte, sondern schon zu Beginn - gibt es da eine Datei, oder mehrere, in die man das eintragen kann. Vielleicht eine .node Datei?
Hallo,
Ich hätte da mal zwei Fragen:
Hat jemand eine Idee woran das liegen kann?
Zuviele Conditions, von denen eine nicht erfüllt ist?
Fangt besser mit einer Kopie der FILLERX20-info an (was bei euch ja der Parent ist), löscht das "PARANOIA" aus der Zeile CondPlayerKnows=PARANOIA und ersetzt den InfoScript_Texts-Eintrag durch euren. Wenn das funzt, könnt ihr euch weiter vorhangeln.
Und zweitens wollten wir wissen in welcher Datei steht, was in der Welt so "gespawnt" wird.
Also Häuser, Möbel, Ruinen, usw...
stehen in den CStat.node-Files (also Weltdaten).
Interacts wie Stühle in den SHyb.node-Files.
Man kann z.B mit spawn G3_Object_Interacts_Bed_01 ein Bett spawnen.
Nur wenn man das jetzt nicht im Spiel machen möchte, sondern schon zu Beginn - gibt es da eine Datei, oder mehrere, in die man das eintragen kann. Vielleicht eine .node Datei?
Soweit ich weiß, funzt "spawn" außer im Marvin mode nur in info-Files.
Zuviele Conditions, von denen eine nicht erfüllt ist?
Fangt besser mit einer Kopie der FILLERX20-info an (was bei euch ja der Parent ist), löscht das "PARANOIA" aus der Zeile CondPlayerKnows=PARANOIA und ersetzt den InfoScript_Texts-Eintrag durch euren. Wenn das funzt, könnt ihr euch weiter vorhangeln.
Das PARANOIA ist mir auch schon aufgefallen. Weist du wo der GameEvent gesetzt wird und was der soll?
Zitat von Shak-otay
stehen in den CStat.node-Files (also Weltdaten).
Interacts wie Stühle in den SHyb.node-Files.
Soweit ich weiß, funzt "spawn" außer im Marvin mode nur in info-Files.
Ja, über Infos ist das am einfachsten.
Aber wir wollten vielleicht ein paar kaputte Fässer am Strand in Ardea einfügen. So als Reste das Banditenüberfalls.
Da sollte da dann schon in die Weltdaten rein, weil man das sofort sieht.
Muss man da noch was beim Bearbeiten beachten? Oder kann man da einfach ein Entity hinzufügen und fertig?
Oder anders gefragt: Muss außer der .node - Datei noch etwas anderes bearbeitet werden?
Das PARANOIA ist mir auch schon aufgefallen. Weist du wo der GameEvent gesetzt wird und was der soll?
Nope; der scheint nur in der Vorstellung zu existieren, so wie PERM_NEWS, Beliar_chosen und Innos_chosen.
Also -Scherz beiseite-, vermutlich werden die von der engine gesetzt. ("Innos_chosen" vom Innos_Tester).
Aber wir wollten vielleicht ein paar kaputte Fässer am Strand in Ardea einfügen. So als Reste das Banditenüberfalls.
Da sollte da dann schon in die Weltdaten rein, weil man das sofort sieht.
Muss man da noch was beim Bearbeiten beachten? Oder kann man da einfach ein Entity hinzufügen und fertig?
Oder anders gefragt: Muss außer der .node - Datei noch etwas anderes bearbeitet werden?
Naja, die Fässer sollen ja liegen, wahrscheinlich? In den nodes befinden sich vermutlich nur Interact_Barrels, also stehende. Die müsste man dann drehen. Wenn man vorhandene nodes bearbeitet, muss man nichts weiter ändern.
(Allerdings könnte das dann mit anderen mods kollidieren, die auch vorhandene nodes verändern, was ja nur böse Buben wie ... machen.)
Kaputte Fässer gibt's evtl. nur in den CStat-nodes. So eine entity zu kopieren und mit neuen Koordinaten zu versehen, ist eigentlich kein Problem, wenn man sich mit Weltdaten-moddding etwas auskennt.
(Man muss/sollte auch keine neue CStat.node dafür erstellen.)
Aber warum tauchen die da so oft auf? Also diese Werte (89391/5122/-12960)
Hier
Code:
0x00004708 0xF94AAE47, 0x53B29F45, 0xF6C94CC6 89237.9453125, 5110.29052734375, -13106.490234375 (D3DXVECTOR3) ??? Min World Root / Local Point (or Max) (rounded for marvin: 89238/5110/-13106// )
0x00004714 0xDBE3AE47, 0x95C6A145, 0x823548C6 89543.7109375, 5176.82275390625, -12813.376953125 (D3DXVECTOR3) ??? Max World Root / Local Point (or Min) (rounded for marvin: 89544/5177/-12813// )
0x00004720 0x6E97AE47, 0xCCA0A145, 0x0B7F4AC6 89390.859375, 5172.099609375, -12959.7607421875 (D3DXVECTOR3) ??? World / Local Position (rounded for marvin: 89391/5172/-12960// )
und hier...
Code:
0x00004807 0xF94AAE47, 0x53B29F45, 0xF6C94CC6 89237.9453125, 5110.29052734375, -13106.490234375 (D3DXVECTOR3) Min World Root (bCBox) ???? (rounded for marvin: 89238/5110/-13106// )
0x00004813 0xDBE3AE47, 0x95C6A145, 0x823548C6 89543.7109375, 5176.82275390625, -12813.376953125 (D3DXVECTOR3) Max World Root (bCBox) ???? (rounded for marvin: 89544/5177/-12813// )
0x0000481F 0x50C8B0C3, 0x88E899C1, 0x3069A9C3 -353.56494140625, -19.2385406494140625, -338.82177734375 (D3DXVECTOR3) Min Local Point (bCBox) ???? (rounded for marvin: -354/-19/-339// )
0x0000482B 0xC00EB043, 0xD077EF42, 0x3069A943 352.115234375, 119.7340087890625, 338.82177734375 (D3DXVECTOR3) Max Local Point (bCBox) ???? (rounded for marvin: 352/120/339// )
0x00004837 0xF94AAE47, 0x53B29F45, 0xF6C94CC6 89237.9453125, 5110.29052734375, -13106.490234375 (D3DXVECTOR3) Min Local World (bCBox) ???? (rounded for marvin: 89238/5110/-13106// )
0x00004843 0xDBE3AE47, 0x95C6A145, 0x823548C6 89543.7109375, 5176.82275390625, -12813.376953125 (D3DXVECTOR3) Max Local World (bCBox) ???? (rounded for marvin: 89544/5177/-12813// )
0x0000484F 0x32615643 214.379669189453125 ????
0x00004853 0x6A97AE47, 0x74BCA045, 0xBC7F4AC6 89390.828125, 5143.556640625, -12959.93359375 (D3DXVECTOR3) ??? World-Vector ??? (rounded for marvin: 89391/5144/-12960// )
0x0000485F 0x32615643 214.379669189453125 ????
0x00004863 0x6A97AE47, 0x74BCA045, 0xBC7F4AC6 89390.828125, 5143.556640625, -12959.93359375 (D3DXVECTOR3) ??? World-Vector ??? (rounded for marvin: 89391/5144/-12960// )
(Das Einfachste wäre, du verwendest die _headerparts-bins von G3RAMmod; da muss ich aber den link erst noch erneuern.)
Kannst ja bescheid sagen, wenn der Link erneuert ist.
Bei deinem Tool kann man dann einfach ein Gegenstand spawnen, ihn verschieben und die Positionen dann in den bins speichern.
Dann die in die Weltdaten kopiern und fertig, oder?
Yep; allerdings hakte da noch irgendwas; ist ja auch schon wieder 4 Monate her, dass ich daran gearbeitet habe. Wird etwas dauern, bis ich das nochmal angehe.
edit: in die Weltdaten werden nur die bins gepasted; die Barrel-Entiy z.B. muss man vorher selbst klonen.
Man kann natürlich auch eine vorhandene benutzen. Gespawnte Entities dienen nur zum schnellen Austesten von Positionierungen; die wandern also nicht in die Weltdaten. (nur um evtl. Missverständnissen vorzubeugen).
Vllt. versuchst du's erstmal mit dem calculator; würde mich nämlich interessieren, was der alles kann. Drehungen sind implementiert, soweit ich weiß; aber mglweise werden für Translationen nicht automatisch alle Coords verändert, so dass man das einzeln durchführen muss?
Vielleicht eine blöde Frage, aber wie kann ich im Marvin-Modus, wenn ich edit eingegeben hab, ein anderes Objekt auswählen, anstatt dem Hero?
Und wie kann ich im edit-Modus die Kamera wieder frei bewegen?<-- hat sich erledigt
Wenn du edit eingibst wird normalerweise das fokussierte Objekt ausgewählt. Wenn nichts fokussiert ist, wird der Held genommen.
Manchmal passiert es, dass nicht mehr das fokussierte Objekt gewählt wird, sondern immer der Held. Woran das liegt weiß ich nicht, aber das einzige was dann hilft (zumindest kenne ich keine andere Möglichkeit), ist ein Neustart des Spiels.
Ein andere Möglichkeit, man schreibt editObjektname, dadurch wird das nächste Objekt, welches diesen Namen trägt, ausgewählt.
Ja, das hab ich nach langen ausprobieren hinbekommen.
@ Shak-otay
Dein Tool ist genial Damit konnte ich die gespawnten Objekte verschieben und drehen.
Nur das eigene Eintragen in die Weltdaten ist ein bischen nervig. Wenn du das auch noch einbauen würdest...
Hab jetzt schon mal ein Fasshaufen eingebaut. Ich denke die nächsten Objekte werden ein bischen scheller gehen, da ich jetzt den Dreh raus hab.
@ Shak-otay
Dein Tool ist genial Damit konnte ich die gespawnten Objekte verschieben und drehen.
Ich weiß...
Nur das eigene Eintragen in die Weltdaten ist ein bischen nervig.
M-A-C-H-S-T DU WITZE?
Wenn du das auch noch einbauen würdest...
Naja, da habe ich sehr viele interessantere Aufgaben zu erledigen.
Copy 'n paste der bins in die CStat-node dürfte ja nicht so das Problem sein, oder?
Für die Adressen muss man die CStat natürlich durch lichtwichts TinyHexer script jagen.
Wenn du etwas coden kannst, könntest du das script so ändern, dass es die beiden Headerpart-Adressen jeder Entity mit ausgibt.
(Naja, vllt. machich das iwann noch mal, aber im Moment eher nicht...)
Edit: Mir ist gerade aufgefallen, dass das Objekt kurzzeitig verschwindet, wenn man darauf zuläuft.
Ist das ein Bug?
Denk' schon. Erwähnte ja, dass da noch was hakt.
Nach dem Verschieben muss man allerdings erstmal out of ROI laufen (4000 Einheiten, oder so), damit der CS auch verschoben wird (das ist kein Bug).
Kann man schön sehen, wenn man in marvin ctrl-Q für die CS-Anzeige drückt.
edit: fein, dass du es hingekriegt hast. Die meisten geben heutzutage ja schon bei geringeren Schwierigkeiten auf...
Naja, damit meinte ich nicht die beiden Bins einfügen, sondern das neue Entity. Man muss bei 263 Entitys erst einmal das finden, in dem schon mal ein Fass steht. In der Strukturansicht kann man, so weit ich das jetzt gesehen hab nicht suchen. Also extern speichern, suchen...
Zitat von Shak-otay
Nach dem Verschieben muss man allerdings erstmal out of ROI laufen (4000 Einheiten, oder so), damit der CS auch verschoben wird (das ist kein Bug).
Kann man schön sehen, wenn man in marvin ctrl-Q für die CS-Anzeige drückt.
Das wusste ich nicht. Ich hab das Fass verschoben, im G3RAMmod auf speichern getrückt und den Rest halt im Tinihexer. Kann das daran liegen?
Naja, damit meinte ich nicht die beiden Bins einfügen, sondern das neue Entity.
Hattich wohl nicht verstanden: du hast eine neue eigene Entity eingebaut? Reeeeeesssspekt, das ist nicht trivial.
Ja, neueEntities, das hatte ich vor 2 Jahren alles schon gecodet.
Das Problem sind die individuellen StringTable-Einträge; d.h. G3_Object_Barrel z.B.hat in verschiedenen CStats meist verschiedene Indices. Oft gibt es in der CStat ein bestimmtes Object nicht,so das man es aus einer anderen holen muss.
Hatte zwar einen Index-Konverter; der war aber überhaupt nicht userfriendly. Und heute noch mal durch den eigenen code wühlen? Forget it.
Hatte auch schon überlegt, mal ein abgespecktes tool zu erzeugen. Solange man nicht "cross CStats" arbeiten muss, wär das nicht so schwer. Aber z.Z. ist mir das Creation Kit (TESV) einfach wichtiger.
Man muss bei 263 Entitys erst einmal das finden, in dem schon mal ein Fass steht. In der Strukturansicht kann man, so weit ich das jetzt gesehen hab nicht suchen. Also extern speichern, suchen...
Na, was meinst du, haben die Weltdaten-modder die letzten 3 Jahre gemacht?
Machst du für jede CStat nur 1x (naja, ok, Entity 1-99, 100-199, 200-299, kann auch 3 oder 4x werden), aber dann hast du "was fürs Leben"...
Das wusste ich nicht. Ich hab das Fass verschoben, im G3RAMmod auf speichern getrückt und den Rest halt im Tinihexer. Kann das daran liegen?
Nope. alles "clean". Das mit dem "out of ROI" bezog sich nur auf die ingame-Situation nach dem Verschieben, wo man der engine ein statisches mesh quasi "unterm Arsch wegzieht". Schon erstaunlich, dass die das überhaupt so, ohne mit der Wimper zu zucken, wegsteckt.
Geändert von Shak-otay (08.02.2012 um 23:31 Uhr)
Grund: vergess' imma ein "t" bei letzten
Hattich wohl nicht verstanden: du hast eine neue eigene Entity eingebaut? Reeeeeesssspekt, das ist nicht trivial.
Danke. Für unsere Mod hab ich da auch schon einige Templates bearbeitet und kenne mich daher eigentlich recht gut aus.
Zitat von Shak-otay
Das Problem sind die individuellen StringTable-Einträge; d.h. G3_Object_Barrel z.B.hat in verschiedenen CStats meist verschiedene Indices.
Ach so heißen die. Ich hab die einfach Atributte getauft.
Letzt hab ich ich dazu auch was rausgefunden, als ich bei einem Monster ein Inventarslot erweitern wollte. Als erstes wollte ich ein anderes Monster klonen und an mein altes Monster "anpassen". Aber das hab ich schell verworfen, als ich Zwitter im Spiel erzeugt hab.
(~ Zwei Meshes in einem Körper)
Jetzt füge ich da oben eine neue Variable ein. (Damit mein ich diese String Index Table Entries) Schreib die zu dem Slot und füge unten bei der String Table den Namen vom Inventar ein.
Aber ich komm vom Thema ab.
Zitat von Shak-otay
Nope. alles "clean". Das mit dem "out of ROI" bezog sich nur auf die ingame-Situation nach dem Verschieben, wo man der engine ein statisches mesh quasi "unterm Arsch wegzieht". Schon erstaunlich, dass die das überhaupt so, ohne mit der Wimper zu zucken, wegsteckt.
Zwei Gurus hab ich als Belohnung schon einstecken müssen.
Aber das ist nicht so schlimm...
Ich mach Morgen mal ein kuzen Video. Dann kann ich das "verschwinden" besser verdeutlichen.
Irgwelche Koordinatenwerte werden in G3RAMmod falsch berechnet.
edit: das Problem existiert auch, wenn du Gothic3 mit der geänderten CStat-node startest?
Wenn ja, könntest du bei der Lösung des Problems helfen, indem du mal die Barrelgroup (G3_Object_Barrelgroup_0x, x={1..6}) per info an derselben Stelle spawnst. (D.h. in der info die Koordinaten angeben, die du bei deiner fadenden Group mit G3RAMmod ablesen kannst.)
Die Koordinaten mir dann bitte mitteilen (so genau wie möglich, am Besten copy&paste aus den G3RAMmod-Editboxen).
...oder soll ich das doch lieber über Infos bzw. Spawnen regeln?
Wenn du nötigenfalls templates erstellen kannst, wäre Spawnen per info ein fehlerfreier Weg.
das Problem existiert auch, wenn du Gothic3 mit der geänderten CStat-node startest?
Gerade dann ist das Problem ja da. Ich hab mal ein Bild von den Koordinaten. Wenn ich die Koordinaten jetzt in dir CStat.node einfüge ist dieses kurze Verschwinden da. Wenn ich das per Info spawnen lass, (an der gleichen Stelle) ist das Problem nicht da.