PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lichtwichts Mods/Fixe



lichtwicht
17.06.2007, 12:11
1. ich habe mdahm's neuen Fix inzwischen gespielt und rundherum muß ich zugeben, daß seiner besser ist!
mich stört zwar, daß man Nefarius z.B. bei einem "Fastrun" zum Ishtar plätten mitnehmen, könnte...allerdings ging das ja vorher auch!
2. @mdahm: daß das mit 15: Dismiss so (gut) funktioniert hätte ich nicht gedacht!
Ich dachte, man müßte explizit "Lauf zurück!" sagen...

3. mdahm' fix-sammlung gibts hier im Attachment seines Posts (http://forum.jowood.de/showthread.php?t=144235)
den Nefarius-Bug lösen folgende 2 Info's:
NEWM0002_info_G3_World_01.info
SKALVERAM3297_info_G3_World_01.info

wird sicher im nächsten ComPat im JoWood-Forum (http://forum.jowood.de/forumdisplay.php?f=659) eingebaut...

lichtwicht
19.06.2007, 23:27
(btid=1641) (http://www.worldofgothic.de/gothic3/bugtracker/view.php?id=1641)

Links zu packern usw. (anderer Zusammenhang...) (http://forum.worldofplayers.de/forum/showpost.php?p=3540838&#post3540838)

zum "Fix":
das Problem ist, daß die 4(!) Feldherren intern alle gleich heißen: "MoraSul_SlaveZombie_01" und die Folge-Quests bestimmen (CondSecondaryNPCstates=0), daß der Feldherr noch leben muß!
(min)1 tot -> alle FolgeQuests nicht abschließbar...

Ich habe diese "lebt er noch?"-Abfrage einfach entfernt(aus den ersten 3 Folge-Quests, in der 4. wird das "komischerweise" nicht abgefragt...)

damit funktioniert der Fix bei mir! (wer zufällig "in der Nähe der Quest" ist möge es bitte ausprobieren!)



ein weiteres Problem(, daß ich wohl nicht fixen werde), ist daß Merdarion von 5(!) Feldherren spricht, es gibt aber nur 4(!), es gibt auch nur 4 Folge-Quests!
meine bitte geht daher an vielleicht an Humanforce? ;), der sich mit der stringtable.ini "angefreundet" hat, das dort zu ändern...
und vielleicht an jemand, der sich mit den Sound-files beschäftigt, ob ihm zufällig ein Schnipsel mit "4" untergekommen ist, den man in das entsprechende Soundfile reinschneiden könnte?

die entprechenden Dialoge müßten hier zu finden sein:
Merdarion_KillAllUndead_quest_G3_World_01.quest
und da: QUEST_BPANKRATZ320060430010634
BPANKRATZ31735_info_G3_World_01.info
dort folgende: INFO_BPANKRATZ320060430011136;INFO_BPANKRATZ320060430011400;INFO_BPANKRATZ320060 430011400_0;INFO_BPANKRATZ320060430011400_1

parallel-Post im JWF (http://forum.jowood.de/showpost.php?p=2095289&postcount=1)



EDIT: was mir noch eingefallen ist, in der: BPANKRATZ31734_info_G3_World_01.info(der AbschlußDialog für die "Töte alle untoten Feldherren-Quest)
waren 4 CloseQuest-Anweisungen zu den Follow-Quests...das war mir zu "gefährlich", ich habe diesen Dialog deshalb zum Kind(Child) des letzten Follow-Quests gemacht...
Damit kann man Merdarion ERST von der Tötung der Feldherren berichten, NACHDEM man ihm bis zum letzten Standort gefolgt ist. (die CloseQuests habe ich dann auch gleicht gelöscht)

nochwas: leider hat noch niemand einen Weg gefunden wie man die (politische) Zugehörigkeit auf .info-Ebene beeinflußen kann...das führt dazu, daß Merdarion Mezir angreift(von dem er voher noch erzählt, was das für 'ne coole Type sei). Sowie die Orks und Assasinen am letzten Feldherrenstandort in Tempelnähe. (wird man wohl vorerst weiter mit leben müssen...)

lichtwicht
22.06.2007, 18:07
nochwas: leider hat noch niemand einen Weg gefunden wie man die (politische) Zugehörigkeit auf .info-Ebene beeinflußen kann

hehe, doch: ich hier (http://forum.worldofplayers.de/forum/showthread.php?p=3818767&#post3818767)
dementsprechend habe ich Mezir bearbeitet, jetzt greift Merdarion Mezir nicht mehr an!
Ich sehe dies jedoch als MOD, die über einen FIX hinausgeht!

Links zu packern usw. (anderer Zusammenhang...) (http://forum.worldofplayers.de/forum/showpost.php?p=3540838&#post3540838)

lichtwicht
25.06.2007, 11:47
(Fix)-Kombination: statt des Flammenschwertes jetzt (mehr) "normale Schwerter" kaufen!
falls "das Händler-Skript schon ins SaveGame gewandert ist" wird wenigstens das Flammenschwert auf 30.000 Gold verteuert!


Nachteile:
1) funktioniert NUR wenn man mit noch KEINEM Schmied gesprochen hat, der dieses Skript benutzt, Beispiele siehe 2) ... d.h. eigentlich muß man ein neues Spiel anfangen!
4) hat man vor diesem "Fix" Flammenschwerter für 1.000 Gold gekauft, kann man sie jetzt für 9.000 verkaufen(ohne Feilschen).

desweiteren würde ich noch vorschlagen, den Eintrag in der stringtable.ini abzuändern:
ITEMDESC_It_1H_FlameSword_01=This powerful Weapon shouldn't be available at merchants!;;-;;Cette arme ne devrais pas à vendre;;Dieses mächtige Waffe sollte es nicht zu kaufen geben!;;-;
(steht auch in "stringtable.ini.add")
mein Französich war noch nie gut!(habe am Abendgymnasium mich nur durch "gute mündliche Mitarbeit im Unterricht" auf 5 Punkte retten können ;))
der Sinn sollte einigermaßen rüberkommen...Italienisch und (war es Spanisch?) kann ich halt' garnicht...(ich könnte es vielleicht noch auf Thailändisch(mit Lautschrift!!!) übersetzten :))

DL: Flammen1_30k.rar

whatever... Diskussion gibt's hier! (http://forum.jowood.de/showpost.php?p=2114781&postcount=42)




alternativer Fix: Flammenschwert kostet 30.000 Gold

tja, gibt's nicht viel zu sagen...Nachteil: hat man vor diesem "Fix" Flammenschwerter für 1.000 Gold gekauft, kann man sie jetzt für 9.000 verkaufen(ohne Feilschen).

von mir geänderte Dateien:
_Weapons_1H_Story_It_1H_FlameSword_01.tple

DL: Flammen30k.rar

(FIX) Händler-Inventartausch: "normales Schwert" statt Flammenschwert (btid=1303)

habe das als FIX bezeichet...irgendwie kommt aus der "Diskussion" raus, daß man sich auf kein Tausch-Item einigen kann! Außerdem stimme ich verschiedenen Meinungen zu, daß ein BugFix nichts "neues" einfügen sollte...also raus mit dem Flammenschwert und gut is'
(ja, es gibt (statistisch) ein paar "normale Schwerter" mehr...ICH finde, das stört nicht...)

DL: Flammen1.rar
Links zu packern usw. (anderer Zusammenhang...) (http://forum.worldofplayers.de/forum/showpost.php?p=3540838&#post3540838)



(MOD)(1) Händler-Inventartausch: Katana statt Flammenschwert

was habe ich getan:
man nehme einen Hex-Editor, VIEL ZEIT(2 Tage) und sehe sich den ganzen GENOM-Müll an. Sodenn begreife man (irgendwann) wie Händler-Inventare erstellt werden. Man verschwende min. 8 Stunden um zu verstehen, daß ein einmal aktiviertes Skript im Save-Game gespeichert wird, und alle Änderungen am Ursprungsskript einfach ignoriert werden! (arrggghhhh!)

However! Ich habe ein Skript umgebaut, daß man statt Flammenschwertern jetzt Katana's kaufen kann!
(zuerst hatte ich ein Skript mit dem Enzo, Ismael und Sven statt Langschwerter-Bauplänen Katana's verkaufen)

warum man für meine Mod Neu-anfangen muß?
Nachteile:
1) funktioniert NUR wenn man mit noch KEINEM Schmied gesprochen hat, der dieses Skript benutzt, Beispiele siehe 2) ... d.h. eigentlich muß man ein neues Spiel anfangen!

2) es gibt u.U. eine "Flut" von Katana's, denn dieses Skript benutzten:
-"Rebell" in Ardea(das ist der "Namenlose" Schmied, der spawnt nachdem man Ardea befreit hat)
-Zakosh in Faring
-Thorek in Montera
-Tyler in Nemora
-Mannig in Okara
-Kliff in Reddock(!) um sich den Fix zu "versauen" reicht auch schon ihn auf dem Ork-Bauernhof EINMAL anzusprechen!
-Kadok in Silden
-Vandorn in Vangard(Vengard)
-und wahrscheinlich etliche andere namenlose Rebellen-Schmiede nach Stadtbefreiungen...

DL: Katana2.rar
Links zu packern usw. (anderer Zusammenhang...) (http://forum.worldofplayers.de/forum/showpost.php?p=3540838&#post3540838)

"Erklärung" was ich gemacht habe (http://forum.worldofplayers.de/forum/showthread.php?p=3840180)



(MOD)(2) Händler-Inventartausch: "Flammenschwert rufen"-Spruchrolle statt Flammenschwert

(MOD) ich fand die Idee gleich Klasse, obwohl es berechtigte Einwände gibt!
das Hauptproblem ist, daß die Spruchrolle ansich verbuggt ist! (@mdahm: ich hab's mir grob angesehen und führchte, daß das NOCH TIEFER in der Engine vergraben ist, als die Templates!)

Naja, sollte "irgendwann" die Spruchrolle gefixt sein, wäre das mein Favorit(neben dem Katana...)

DL: Flammen2.rar
Links zu packern usw. (anderer Zusammenhang...) (http://forum.worldofplayers.de/forum/showpost.php?p=3540838&#post3540838)

lichtwicht
26.06.2007, 17:09
Update: (v1.0)
die Robe ist übrigens vorher schon ein "MissionItem", also habe ich meine geänderte Datei wieder rausgenommen! (ein Glück, daß das sonst keine Auswirkungen auf die BETA-Tester hatte!)


ACHTUNG! dieser Fix funktioniert auch im Nachhinein!
(großer) NACHTEIL! wer die Artefakte schon verkauft hat, kann DIE ARTEFAKTE NICHT MEHR ZURÜCKKAUFEN!!!


von mir geänderte Dateien:
Adanos_Artefacts_Story_It_Artefact_Amulet.tple
Adanos_Artefacts_Story_It_Artefact_Crown.tple
Adanos_Artefacts_Story_It_Artefact_Ring_01.tple
Adanos_Artefacts_Story_It_Artefact_Ring_02.tple


Links zu packern usw. (anderer Zusammenhang...) (http://forum.worldofplayers.de/forum/showpost.php?p=3540838&#post3540838)

arrggghhhh! 2 Tage "rumgepfusche" an der Krone um festzustellen, daß "mein erster Verdacht" etwas damit zu tun hatte...Der Datenblock der Krone "sieht etwas anders aus". Die anderen 3 Items haben den "MissionItem" vor der 43 (
siehe hier (http://forum.worldofplayers.de/forum/showthread.php?p=3849546&#post3849546)) ABER die Krone hat es vor der 44...
(wie immer, wenn's gemacht ist, ist es sooo logisch und einfach! *grummel*)

nach der "Pleite, mit dem Aufruf zum BETA-Test"(v0.9) habe ich diesmal selber etwas eingehender getestet: (ICH kann: ) die Artefakte NICHT mehr verkaufen; die Artefakte behalten ihre Eigenschaften(die entsprechenden Schutzwerte werden im Charakterbildschirm angezeigt...ich habe es mir jedoch erspart "mich von einem Wildschwein niedermähen zu lassen" und zu zählen ob die Rüstung WIRKLICH was bringt...);
Ich habe die Artefakte bei Beliar "abgegeben"(altes Save), alles war "normal"!

(leider bringt uns das bezüglich der Struktur, der Genom-Dateien, nicht wirklich weiter...)

lichtwicht
05.07.2007, 11:24
1. das NordmarSchwert ist kein MissionItem mehr
2. durch mdahm's "Trick" kann man die Quest NICHT mehr durch verkaufen abschließen (und sich dadurch den komplett folgenden Queststrang verbauen!)
3. es gibt einen Engine-Bug!: bei den type=0 Quests ist es egal welche "Qualität" man abliefert("normal"/selbst geschmiedetet/geschärft/abgenutzt/oder irgendwelche Kombinationen davon) (OT: damit könnte man z.B. die Mondklingen-Geschichte bei Nasib reparieren, denn der handelt ja nicht! s.u.)
bei dem .info-Befehl "Give" jedoch wird NUR das Item gegeben, wie es EXAKT im Template(.tple) steht! (d.h. z.B. hier: das Item: It_1H_Ingvar_Sword wird NUR übergeben wenn es im "normal"-Zustand vorliegt(Quality=0); ist es jedoch selbstgeschmiedet(Quality=128) wird es NICHT übergeben!) (das wäre vielleicht was für die "taskforce" (man kopiere die Routine von den .Quests über die von den .infos ?))
4. man(ICH wüßte nicht wie!) kann keine type=0 Quest (z.B. durch "FinishedQuests=HalteMichAufQuest") blockieren! Durch verkaufen der entsprechenden Anzahl des entsprechenden Items wird diese Art von Quests IMMER ABGESCHLOSSEN!
(5. das Einführen eines "neuen" Item-Templates(Schwert, selbst geschiedet(Quality=128)) löst das Problem übrigens AUCH NICHT!)

ALSO, es gibt jetzt 2 Möglichkeiten:
1. die erste(völlig unkomplizierte) Möglichkeit: man kann NordmarSchwerter verkaufen; der Questverlauf wird gewahrt; lediglich behält man sein selbstgeschiedetes Schwert...unschön
koproduktion von mdahm und mir!
DL: IngvarSword1.rar

2. völlig neue Quest einführen: Das Schwert wird geschmiedet, und Ingvar sagt, daß man es zu Tjalf bringen soll(Tjalf handelt NICHT!)
Vorteil(e): Quest nicht (selbst-)blockbar; Nordmarschwerter verkaufbar; wie es logisch wäre, wird ein Schwert abgeben...
Nachteil(e): ich habe zwar versucht vorhandene Dialoge zu benutzten, aber z.B. sagt Ingvar niemals "Tjalf"...da müßte man sich etwas zurechtschneiden...(teilweise gefundenes "Rohmaterial" habe ich in der "stringtable.ini.add" aufgeführt)

DL: IngvarSword3_oST.rar


P.S. weiß jemand einen Bug bei dem man ein "neues" Item zur Reparatur einführen muß?

lichtwicht
24.10.2007, 12:44
Zuerst möchte ich mal eine "alte" Idee auffassen: Die von "Moddern" NEU eigefügten Template-ID's sollten zentral erfasst sein:
ich schlage mal den "Bug-ReservierungsThread" im JWF vor(, in dem wir auch schon die Info-ID's "gesammelt" haben) (http://forum.jowood.de/showthread.php?p=2092688#post2092688)
hier mal meine bisher "Gesammelten Werke":

Template(File) Name
"Item-Hash"
"Haendler-Hash"

Written_Story_It_Porgan_Message.tple
FD 7B 90 FB 81 B0 6C 48 9F 34 B2 E3 55 5F 0E 5F
EE 90 47 F5 69 DF A6 4E 8B 64 54 25 C5 74 C2 2F

Trophies_Monster_TS_Trophy_MyMud.tple
BE 6D 14 EE 88 12 BE 4F B0 62 7E 9A 46 BC 00 BF
A5 91 55 D4 C0 A7 54 4F B5 6A E0 81 7D 0B D4 AF


also, zuerst wollen wir dem Template eine neue Eigenschaft(TreasureSet) hinzufügen:
@Waran_Silden_Waran_01.tple bzw. Programmierer GESUCHT! (http://forum.worldofplayers.de/forum/showthread.php?p=4673731&#post4673731)

super! jetzt hätte das Vieh eigentlich die Chance auf mehr Inventar...hat er aber nicht! (WICHTIG!: ) Wenn man die "entity" spawnt, wird das geänderte Template benutzt. Nur (ohne marvin) normalerweise interessiert G3 die Template-Änderung nicht! Viele (und vor allem Tiere bzw. NPC's mit "Eigenamen") "entity"'s sind in der "SysDyn"(das ca. 80MB große File) (http://entpacktes_Data_Gothic3_Installations_Verzeichnis/Projects_compiled/G3_World_01/SysDyn_{9A103CC2-4190-4DB3-9618-0419E5445AAD}/SysDyn_{9A103CC2-4190-4DB3-9618-0419E5445AAD}.lrentdat) "genannt"("referenziert"). Beim "Silden_Waran_01" z.B. kommt Hatlods Säge aus DIESER Datei!(nicht, daß ich das völlig durchschaut hätte...)
nachdem ich jetzt wochenlang über der "SysDyn" gebrütet habe, habe ich ENDLICH die "Klasse(/n)"(von DeadCode zu DeadCode) für eben den "Silden_Waran_01" und (den "stinknormalen") Waran gefunden.
Und zwar sind in der "SysDyn" die Templates(offensichtlich) mit der "Haendler-Hash" referenziert!
Die zwei "entscheidenden" Schnipsel aus der "SysDyn": die SysDyn-Schnipsel (http://www.file-upload.net/download-459778/sysdynKlassen.rar.html)
EDIT @ "SysDyn"
"kurze Hack&Slay-Analyse von lichtwicht" & es gibt nur ein einzelnes unterschiedliches Byte! Das erste Bit in der "Silden_Waran_01"-Klasse von 0 auf 1 geändert und...
war ja klar, daß ich hier auf dem Holzweg war...
Irrwitzigerweise hat es trotzdem funktioniert, "nur" meine Vermutung was dieses Byte bedeutet war völlig falsch!
Es geht/ging um folgende 2 Bytes: (h)"78 02"
ein kurzer Vergleich mit dem Template(Waran_Silden_Waran_01.tple) ergibt: Dies ist der Wert für "Change Time ???"
Ändert man diesen in einer der beiden Dateien(z.B. habe ich im Template jetzt "79 02" genommen) wird das Template verwendet! Offensichtlich ist es egal ob der Wert größer oder kleiner ist!?(z.B. "77 02" würde auch funktionieren)

TADA!!! JETZT wird das (neue) Template benutzt!!!
Allerdings muß man leider immernoch ein neues Spiel anfangen um das geänderte Template wirksam werden zu lassen...(könnte noch lösbar sein...)
Ich habe meine MOD dementsprechend umgebaut. Die "SysDyn" muß nun nicht mehr verändert werden! Es reicht eine Änderung im Template! ... siehe nächster Beitrag!

"Problem": wenn jetzt dann noch mehr Leute ihren bevorzugten NPC auf ein Template "zurückstufen" wird es SEHR schnell unübersichtlich werden! Wir sollten hierfür eine zentrale Verwaltungsstelle haben! (ähnlich wie Humanforce die Stringtable.ini "verwaltet")


der Rest ist eigentlich "Standard":
"Erstellen" des "neuen" TreasureSet's: ich habe mir das "Trophies_Monster_TS_Trophy_Bison.tple" genommen. Binärvergleich mit (z.B.) "Trophies_Monster_TS_Trophy_Waran.tple" und schwupps ist gleich klar, wo die Anzahl der Items steht...("Meat_Raw"="04" und "Claw"="02")
(wieder die "Haendler-Hash")
einfach die gewünschten ID's einfügen, und gut is'(zuerst hatte ich die Beführchtung, daß wenn man ein "Monster_TS_Trophy"-TreasureSet benutzt, daß man die Items nur nehmen könnte, wenn man das entsprechende Jagdtalent gelernt hat. Völlig uninteressannt! Ist(offensichtlich) vom Item abhängig!)

und dann habe ich noch einen ganzen fetten Abend mit der Kürzung meiner Notiz zugebracht(und damit, daß Satzzeichen NICHT am Anfang einer Zeile stehen...)...
Siehe: Guide von Kronos (http://forum.jowood.de/showthread.php?t=145652)


habe fertig! lichtwicht

lichtwicht
14.11.2007, 17:36
Updated 26.1.08
Humanforce hat einen Semikolon-Fehler in der "BPANKRATZ31525_info_G3_World_01.info" entdeckt!
Danke!, verbessert.
DL: WaranStone.g3mod(.zip) (WaranStone v1.03, letzte Version "ohne Will")

Updated 29.12.2007
Ich habe den "Mini-Fix" von leonard(man kann Porgan erst nach der Quelle seiner Macht fragen, wenn man mit ihm darüber geredet hat, daß er Druide ist) miteingebaut. (wird wahrscheinlich mit CP1.6 kommen)
desweiteren veröffentliche "nur" noch die .g3mod(zip)-Version...(der ModStarter wird bald voll funktionieren!!! (der arme wizer ;)))

DIES IST EINE MOD!

"Problem": nicht alle Druidensteine im Spiel eingefügt!

Lösung: ich habe dem "Waran mit Verstopfung" den Stein(und anderes) hinzugefügt, sowie eine Mini-Quest von Porgan dazugeschrieben.

ACHTUNG! Damit die "Inventar-Änderung" aktiv wird, muß man ein NEUES SPIEL beginnen!
Desweiteren sind (natürlich) keine Sprachdateien vorhanden, daher müssen die UNTERTITEL eingeschaltet werden! (über Einstellungen-Audio)

(Osolete)

Zur Installation:

es gibt 4 ".pak"'s:
Infos
Quests
Templates
Strings
(+ PB-Patch 1.12 "Projects_compiled.p01")

diese müssen (letztenendes) "per Hand" "eingebaut" werden...
ich habe die drei "kleinen" mit den richtigen Dateiendungen UND unterschiedlichem Inhalt hochgeladen.

ALSO es gibt 4 Downloads:
WaranDruidStoneMod Teil1 fuer PB-Patch 1.12 ...
WaranDruidStoneMod Teil1 fuer CP-Patch 1.5 ....
WaranDruidStoneMod Teil1 fuer QP 1.51 .........
UND
stringtable.ini (Teil 2)(für QP 1.51, abwärtskompatibel)(ich gehe davon aus, daß Humanforce in bälde eine neue "MOD-stringtable.ini" "herausbringt" und ich würde empfehlen diese dann zu verwenden! (nachdem vielleicht ein paar englische Zeilen überarbeitet wurden))

Link Humanforce-Thread: http://forum.jowood.com/showthread.php?t=143833&page=40

Interessierte Spieler/innen laden sich nun "Teil 1" für ihren Patch herunter.
Und dann die "stringtable.ini" (Teil 2).

also: die "Strings.pak"(aus Teil 2) muß für PatchXY umbenannt werden zu:
PB-Patch 1.12 : Strings.p00
CP-Patch 1.5 : Strings.p01
QuestPaket 1.51: Strings.p02

und dann kopiert(verschiebt) ihr die 4 ".pak"-Dateien ins Gothic3-"Data"-Verzeichnis!
Wenn ihr alles so gemacht habt wie hier beschrieben werden KEINE Dateien überschrieben!
(wenn doch, habt ihr entweder die "falsche Version"(Teil 1) oder eine andere MOD am laufen! ... -> erst nachsehen, dann fragen;))
"Support" für Leute, die noch andere MOD's installiert haben, findet NUR über "meinen Thread"(DIESEN HIER;)!) statt!(Geduld, bitte)

ein paar Spoiler bezüglich der Quest:
Tip! erst mit Porgan reden, dann suchen!
wer mit dem 2ten Teil der Quest nicht weiterkommt:ein Druide würde niemals sagen, daß man alle Tiere dort töten soll! Nichts anderes ist aber gemeint! ;)
wem das nicht hilft, bzw. wer die genaue Bedingung wissen will:man muß den "Silden_Lurker_02" töten! Das ist der Lurker, der Hatlods Hammer im Inventar hat!


gruss, lichtwicht


P.S. I want to thank
diego_pmc, repT|Le, TanisRedmora, Lazor, WernerTWC and DeadlyArrow
from the WoG-Forum for some help with the english translation!


Natürlich kann ich für nichts garantieren...Ob's funktioniert, die Festplatte zerstört, SaveGames unspielbar macht oder vermehrt zu "Guru"'s führt...
...Benutzung AUF EIGENE GEFAHR!

P.S.S. und ich habe eine Idee von Humanforce geklaut! Siehe stringtable.ini INFO_LICHTWICHT2007111215_und folgende ;) wird natürlich wieder rausgenommen wenn's dir nicht gefällt.


technische Dokumentation ausgelagert (http://forum.worldofplayers.de/forum/showthread.php?p=4893499&#post4893499)

lichtwicht
20.11.2007, 21:14
Vorstellungs- bzw. Installations- Post s.o.
Updated 29.12.2007


die "technische Dokumentation":

von mir geänderte Datei(en):
Waran_Silden_Waran_01.tple
Written_Story.lrtpldatasc
Trophies_Monster.lrtpldatasc
stringtable.ini
BPANKRATZ31525_info_G3_World_01.info

von mir eingefügte Datei(en):
Written_Story_It_Porgan_Message.tple
Trophies_Monster_TS_Trophy_MyMud.tple
Arakos_Encourage_quest_G3_World_01.quest
Porgan_FindMud_quest_G3_World_01.quest
LICHTWICHT9902_info_G3_World_01.info
LICHTWICHT9903_info_G3_World_01.info
...und so weiter: 9904, 9905, 9906, 9907, 9908, 9909, 9910, 9911, 9912, 9913, 9914, 9915, 9916, 9917, 9918, 9919, 9920, 9921
LICHTWICHT9922_info_G3_World_01.info
LICHTWICHT9923_info_G3_World_01.info

betreffs hinzugefügter Zeilen:
Written_Story.lrtpldatasc
{6863696c-7774-6369-6874-5f495f000002}:0=Written_Story_It_Porgan_Message.tple
Trophies_Monster.lrtpldatasc
{6863696c-7774-6369-6874-5f495f000003}:0=Trophies_Monster_TS_Trophy_MyMud.tple


folgendes war eine Idee von Shak-otay! Danke! einfach, aber genial!

benutzte GUID's(Hashes)
Written_Story_It_Porgan_Message.tple
Item-Hash: 6C 69 63 68 74 77 69 63 68 74 5F 49 5F 00 00 02
(lichtwicht_I_000002)
Haendler-Hash: 6C 69 63 68 74 77 69 63 68 74 5F 48 5F 00 00 02
(lichtwicht_H_000002)

Trophies_Monster_TS_Trophy_MyMud.tple
Item-Hash: 6C 69 63 68 74 77 69 63 68 74 5F 49 5F 00 00 03
(lichtwicht_I_000003)
Haendler-Hash: 6C 69 63 68 74 77 69 63 68 74 5F 48 5F 00 00 03
(lichtwicht_H_000003)

(
alte benutzte ID's:
Written_Story_It_Porgan_Message.tple
Item-Hash: FD 7B 90 FB 81 B0 6C 48 9F 34 B2 E3 55 5F 0E 5F
Haendler-Hash: EE 90 47 F5 69 DF A6 4E 8B 64 54 25 C5 74 C2 2F

Trophies_Monster_TS_Trophy_MyMud.tple
Item-Hash: BE 6D 14 EE 88 12 BE 4F B0 62 7E 9A 46 BC 00 BF
Haendler-Hash: A5 91 55 D4 C0 A7 54 4F B5 6A E0 81 7D 0B D4 AF
)



(immer noch nicht gelöst: )
Und bezüglich der Quest:
weiß vielleicht jemand wie man eine Quest mit Zeitlimit so scheitern lassen kann damit sie in der Missionsübersicht auch unter gescheitert steht?
momentan mache ich es in einer .info(, die ein "Child" einer "gEInfoCondType_Overtime = 4"-.info ist,) über CloseQuest...
die Quest wird auch brav abgebrochen, verschwindet dann aber komplett aus der MissionsÜbersicht!
mit "gEInfoCondType_DoCancel = 11" habe ich es auch schon probiert! Selbes Ergebnis!
verwende ich: "gEInfoCondType_Failed = 12" oder "gEInfoCondType_Cancelled = 13" wird die .info garnicht ausgeführt! (irgendwie sogar logisch ;))

auf der Suche nach einer Lösung bin ich zufällig hierauf gestoßen:CondPlayerKnows=OvertimeImArsch_BugFix
:D(dieser "GameEvent" wird übrigens nirgendwo gesetzt!):D

lichtwicht
29.12.2007, 21:00
High!
meine ganzen "Analyse-Geschichten" führen nun zu dieser "MOD".
Feedback ist ausdrücklich willkommen und erwünscht!-)

ABER! Ich würde das ganze als extrem experimentell einstufen!
Daher zuerst der Warnhinweis!
Natuerlich kann ich fuer nichts garantieren...Ob's funktioniert, die Festplatte zerstoert, SaveGames unspielbar macht oder vermehrt zu "Guru"'s fuehrt...
...Benutzung AUF EIGENE GEFAHR!

Dies ist Version 0.5 ! und hat noch Fehler!
-tja, das Mädel, wenn es läuft, dreht sich um 90°...könnte damit zusammenhängen, daß ich als "AusgangsEntity" ein "Monster"(den Gotha-Dämon) und nicht eine/n NPC gewählt habe...
-!-ich werde ein eine neue "NullEntity" basierend auf Roland(Okara) erstellen. (er hat vorallem ALLE 5 TreasureSet's zur verfügung, AUCH einen "InventoryStack"! und 2 "InventorySlot's"(um das Aussehen etwas zu ändern...)

-und was ich mir am Einfachsten vorstellte(die Puppen tanzen zu lassen), habe ich auch nicht hinbekommen!
man kann per marvin im "gCScriptRoutine_PS" bei CurrentTask einfach "ZS_SlaveBabe_Dance" eingeben und schon tanzen alle NPC's!
auf .Info(und allen anderen .pak)-Ebene kann man nicht einmal eine neue Routine einführen...dies scheint in der Script_Game.dll zu passieren...
(ein Traum wäre natürlich in der Script_Game.dll ein neues .Info-Kommando(SetTask bzw. SetCurrentTask) einzuführen...aber das sind unwichtige Modder-Träume ;))
(in dieser MOD ging es ja auch "nur" darum NEUE NPC's ins Spiel zu bringen)

Download gelöscht!
Source-Files-Download gelöscht!

-> Neues Spiel starten; min. 1 Gold im Inventar haben und sich zu Chris(der Jäger nahe Vengard) begeben... (in Errinerung an alte 3D-Shooter schwelgen...)
P.S. "Tip": plündert sie mal ;)


...
"kleine" technische Doku:
(betr. benutzte (neue!) GUID's: ich habe sie "nur" als asc dargestellt...)
lichtwicht_I_(No.)1:0
lichtwicht_H_(No.)1:0
neuer Eintrag in der Mercenaries.lrtpldatasc:
{6863696c-7774-6369-6874-5f495f000001}:0=Mercenaries_WannaDance.tple
(lichtwicht_T_) hex: 0:6C6963687477696368745F54 00 5F0001
lichtwicht_W_(No.)1:0
lichtwicht_W_(No.)2:0
lichtwicht_W_(No.)3:0
(einzige) bentuzte Info-ID: 9924
...


erweitertete technische Doku / Erklärbär:
man nehme aus der "Projects_compiled.pak" bzw. "Projects_compiled.p00" folgende Dateien:
\\G3_World_01\Nordmar\FireClan_City\G3_Nordmar_01_FireClan_NPC_01\G3_Nordmar_01_ FireClan_NPC_01.lrent
\\G3_World_01\Nordmar\FireClan_City\G3_Nordmar_01_FireClan_NPC_01\G3_Nordmar_01_ FireClan_NPC_01.sec

\\G3_World_01\Nordmar\FireClan_City\G3_Nordmar_01_FireClan_NPC_01\G3_Nordmar_01_ FireClan_NPC_01.secdat
\\G3_World_01\Myrtana\Gotha_City\G3_Myrtana_01_Gotha_NPC_01\G3_Myrtana_01_Gotha_ NPC_01.lrentdat

sodenn erstelle man sich folgendes Verzeichnis:
\\G3_World_01\Myrtana\Vangard_Outdoor\G3_Myrtana_01_Outdoor_Vangard_NPC_perm\
dorthin kopiert man die 4 Dateien und benennt sie folgendermaßen um:
G3_Myrtana_01_Outdoor_Vangard_NPC_perm.lrent
G3_Myrtana_01_Outdoor_Vangard_NPC_perm.sec

G3_Myrtana_01_Outdoor_Vangard_NPC_perm.secdat
G3_Myrtana_01_Outdoor_Vangard_NPC_perm.lrentdat

EDIT:dann hole man sich noch die "G3_World_01.wrldatasc" und kopiere sie nach \\G3_World_01\
am Ende der Datei fügt man noch folgende Zeile ein:
G3_Myrtana_01_Outdoor_Vangard_NPC_perm=true
dies ist nicht nötig!-)

in der "G3_Myrtana_01_Outdoor_Vangard_NPC_perm.secdat" ändert man den StringTable-Eintrag(am Ende) auf "G3_Myrtana_01_Outdoor_Vangard_NPC_perm"(das LängenWort nicht vergessen ;-)

die ehemalige "G3_Myrtana_01_Gotha_NPC_01.lrentdat"(jetzt "G3_Myrtana_01_Outdoor_Vangard_NPC_perm.lrentdat") kürzt man so, daß nur noch eine "Entity"(Gotha_Demon_01) referenziert wird.
ACHTUNG! womit ich TAGE zugebracht habe: an hex 0x0094(ein Wort) ist die Anzahl der referenzierten Entities hinterlegt, wenn dieser Wert zu groß ist bekommt man den Guru, daß die fileversion >= 31 sein muß...(EDIT: weil die "Engine" in die StringTable hineinließt! und gottseidank(hier) an der Stelle für "fileVersion" ein kleinerer wert steht...)
(das erkläre ich jetzt nicht im Detail, ihr könnt bald meine "neue" "G3_Myrtana_01_Outdoor_Vangard_NPC_perm.lrentdat" benutzen. Denn: )

jetzt wird's erst richtig "lustig":

Anpassen der .lrentdat: (genannte Werte beziehen sich auf mein(Urbans) TinyHexer-Skript(min. v0.28))
ID's/Hashes:
RootEntity:
003B: "lrentdat_T_GUID" (ich kann es nicht begründen, aber ich würde 004B immer "00" lassen)
00A1: "lrentdat_W_GUID" (World-Hash?)(1)

NPC:
01CC: "Haendler-Hash" (Haendler-Hash, des gewünschten NPC(Template(.tple)) angeben)
01E4: "lrentdat_W_GUID" (World-Hash?)(2)


StringTableEntries: (auch Längenangabe ändern ;-)
01B97: (0006) Name des NPC (TemplateStringTableEntry No. 2) (findet dann auch Verwendung in der stringtable.ini, Info's und Quest's)
027F0: (00AC) TS_Plunder_Demon -> Hum_Female_Nice
03855: (0170) G3_Demon_Body_01.FXA -> G3_Hero_Skeleton.FXA
03C19: (019D) G3_Demon_Body_01.FXA -> G3_Hero_Body_Babe_Myrtana_02.FXA


Positionen:
Headers:
RootEntity: (hier: Werte genommen aus "G3_Myrtana_01_Outdoor_Vangard_Dynamic_Objects_01_SHyb.node"-Root)
0059: (Min-World-Vector?)
0065: (Max-World-Vector?)
007C: (Min-World-Vector?)
0088: (Max-World-Vector?)
0148 - 01AF(B0) (ächtz...Positionen halt? garnicht kapier' ich die letzten 2 "D3DXMATRIX"!!!)
(NEED HELP WITH .LRENTDAT-HEADER! (vielleicht ist der Header für die "RootEntity" DOCH anders aufgebaut, als der für die "normalen Entities"???))

NPC:
020B - 02F2: (hier: Werte kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702)

bCVector:
044C: (LastUseableNavigationPosition) (hier: Werte kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702)

After-Class of "eCVisualAnimation_PS":
1B1C-1B33: (?) (hier: Werte kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702)

nach Klasse "eCRigidBody_PS":
0597-05EA: (hier: Werte kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702)

Klasse "eCCollisionShape_PS" nach 1.Sub-Klasse "eCCollisionShape":
0729-077C: (hier: Werte kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702) (vermutlich "Cells" keine x,y,z's)
Klasse "eCCollisionShape_PS" nach 2.Sub-Klasse "eCCollisionShape":
085F-08BA: (hier: Werte kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702) (vermutlich "Cells" keine x,y,z's) (die SysDyn-Klasse ist (insgesamt) ein DWord kürzer.?.)

bCPropertyID: (GUID's ?)
0462: (LastUseableNavigationZoneID) neue "lrentdat_W_GUID" (World-Hash?)(3)
(nicht geändert: Werte vom "Gotha_Demon_01")
(?) 0345
(?) 0363
(?) 0381
bTValArray<class bCPropertyID>: (0101000000 + GUID's ?)
(nicht geändert: Werte vom "Gotha_Demon_01")
(?) 03AB
(?) 03CE
(?) 03F1


Class Values: (andere als Positionen)
Class "eCRigidBody_PS":
04AC: "TotalMass"
SubClass of "eCCollisionShape":
0694: "Material"
Class "gCCharacterMovement_PS":
0A9B: "SwimDepth"
Class "gCNPC_PS":
0AEF: "Voice"
0B07: "Level"
0B15: "LevelMax"
0B23: "Gender"
0B33: "Species"
0B43: "PoliticalAlignment"
0B53: "Class"
0B73: "Enclave"
0B91: "AttitudeToPlayer2"
0CA4: "Bearing"
Class "gCInventory_PS":
0D84: "TreasureSet1"
0D90: "TreasureSet2"
SubClass of "gCInventory_PS"("gCInventoryStack"):
(das Aussehen(SubClass "gCInventorySlot") muß vom Template kommen...)
0E53: "Template" - Haendler-Hash getauscht: von "Adanos_Artefacts_Story_It_Artefact_Ring_01.tple" zu "_Weapons_1H_Story_It_1H_Katana_01.tple"
Class "gCScriptRoutine_PS":
0EFD: "Routine" (StringTable-Entry)
Class "eCIlluminated_PS":
16E7: "EnableDynamicLighting"
16F2: "EnableAmbient"
After-Class of "eCVisualAnimation_PS":
1AEE: 019D->0170 (StringTable-Entry)

das wars dann auch schon...;) viel Spaß damit! lichtwicht

Shak-otay
31.12.2007, 00:09
Hi lichtwicht,

Deine Mod läuft bei mir (mit Patch 1.12) ohne Guru/Abstürze.

Womit Du der Erste wärst, der einen G3-NPC in einer eigenen lrentdat kreiert hat!

*****************************
!!! G-R-A-T-U-L-A-T-I-O-N !!!
*****************************

Und das vor ultimo bzw. knapp vor Jahresende - gut getimed;-)
(Jetzt muss ich Morna wohl auch Haare verpassen?! (Nen Pferdeschwanz wirds aber nicht!!!)

Dass WannaDance beim Gehen wie ne Kraulerin aussieht, edit: ...liegt sicher daran, dass Du keine Body- und keine Head-Entity in Deiner lrentdat drin hast. (Bist Du sicher schon selbst drauf gekommen:-)


Wenn ich mich nicht irre, könnte man mit dem neuen Wissen jetzt auch die fehlenden 4 magischen Truhen einbauen (-> SysDyn{}.lrentdat).
Bisher hatte ich dabei nur Gurus produziert...
edit: Vielleicht sollten wir mal einen Wertbewerb für modder dafür ausrufen? (für die Truhen, nicht die Gurus:-)

Gruß und guten Rutsch,
shak-otay

PS: Und danke für die Erklärungen! Very nice:-) Werd ich mir wohl doch mal das geänderte TinyHexer-script runterladen müssen; ich komm nämlich nicht auf 6C Entities in der ursprünglichen lrentdat...
edit: Kongeniale Erweiterung von Urbans script! Mein Respekt für Deine Arbeit!

Drachentoeter27
31.12.2007, 11:14
@lichtwicht,

hab deine Mod ausprobiert. Läuft problemlos mit CP 1.5.2.

Klasse Arbeit!

Frage: Ist das Wälzen auf dem Boden beabsichtigt?§rofl

Die Kleine versinkt beinahe im Boden.

lichtwicht
06.01.2008, 17:52
Post von 17:45

Dass WannaDance beim Gehen wie ne Kraulerin aussieht, edit: ...liegt sicher daran, dass Du keine Body- und keine Head-Entity in Deiner lrentdat drin hast. (Bist Du sicher schon selbst drauf gekommen:-)
Frage: Ist das Wälzen auf dem Boden beabsichtigt?§rofl
Nein, das Wälzen auf dem Boden ist NICHT beabsichtigt!!! §cry
@Shak-otay: daß es an den fehlenden Head&Body-Entities hängt glaube ich eigentlich nicht...habe es aber noch nicht ausprobiert...(dafür aber unzählige andere Sachen! §cry) BITTE NICHT ZITIEREN!!! @MagieTruhen:*hust*(ich hab' nix gesagt!) aber warte mal auf CP1.6 ...

Post von 17:52
mini-MOD (FIX?) Lares lehrt Meisterdieb
(getestet mit CP 1.52 und marvin)
(Bugtracker-ID=1628 (http://www.worldofgothic.de/gothic3/bugtracker/view.php?id=1628))

beim "rumfummeln" mit den Templates/.lrentdat(und anpassen des THexer-Skripts) fiel mir die Diskussion mit Lares ein...

MAN MUß ein NEUES SPIEL anfangen, damit Lares Meisterdieb lehrt!
DL: Lares.g3mod(.zip)

sollte es als FIX angesehen werden, sollte man den ChangeTimeValue wieder zurücksetzten(7504) und die .lrentdat auch ändern. Ich habe das jetzt gelassen, da Lares in der "SysDyn"(80MB-file) steht...könnte ich aber nachliefern.

Tech-Doku

Template-Änderungen:
0556: ChangeTimeValue ("Trick" damit das Template benutzt wird)
0F30(ff): gCNPC_PS-TeachSkills (HaendlerHash für Meisterdieb eingefügt und Counter um 1 erhöht)
Größenanpassungen:
0F36: TeachSkills
0D2F: gCNPC_PS-Size Until End Class Entry
0D44: gCNPC_PS-Size Until Dead Code
000A: Offset To String Table
0347: Size Of Code Section (Until Magic value DEADBEEF)
-----
SKALVERAM31120_info_G3_World_01.info: kleiner SemiColon-Fehler verbessert (hat aber nichts negatives bewirkt)
-----
stringtable.ini: 2 Erklärungszeilen für Meisterdieb eingefügt(kopiert von Diego...Lares hat diesselbe Stimme wie Lester! hmpf!)

greez lichtwicht

lichtwicht
11.01.2008, 20:23
Update! (neuer Thread wegen Erklärbär)
Sie läuft jetzt ;)
verantwortlich dafür dürften folgende Änderungen gewesen sein (siehe Erklärbär):
00B7: ? Process Disabled (Bool) ???? -> 01
0CA2: "Bearing" -> 00

ABER! Ich würde das ganze als extrem experimentell einstufen!
Daher zuerst der Warnhinweis!
Natuerlich kann ich fuer nichts garantieren...Ob's funktioniert, die Festplatte zerstoert, SaveGames unspielbar macht oder vermehrt zu "Guru"'s fuehrt...
...Benutzung AUF EIGENE GEFAHR!

Dies ist Version 0.8 !
-NOCH hat sie eine Glatze (v0.9 will come ;) hoffentlich geht auch das ohne SubEntity(sieht aber schlecht aus)...)
-und was ich mir am Einfachsten vorstellte(die Puppen tanzen zu lassen), habe ich auch nicht hinbekommen!
man kann per marvin im "gCScriptRoutine_PS" bei CurrentTask einfach "ZS_SlaveBabe_Dance" eingeben und schon tanzen alle NPC's!
auf .Info(und allen anderen .pak)-Ebene kann man nicht einmal eine neue Routine einführen...dies scheint in der Script_Game.dll zu passieren...("EDIT": zumindest ICH habe dahingehend noch nichts gefunden...)
(ein Traum wäre natürlich in der Script_Game.dll ein neues .Info-Kommando(SetTask bzw. SetCurrentTask) einzuführen...aber das sind unwichtige Modder-Träume ;))
(in dieser MOD ging es ja auch "nur" darum NEUE NPC's ins Spiel zu bringen)

-> Neues Spiel starten; min. 1 Gold im Inventar haben und sich zu Chris(der Jäger nahe Vengard) begeben... (in Errinerung an alte 3D-Shooter schwelgen...)
P.S. "Tip": plündert sie mal ;)


...
"kleine" technische Doku:
(betr. benutzte (neue!) GUID's: ich habe sie "nur" als asc dargestellt...)
lichtwicht_I_(No.)1:0
lichtwicht_H_(No.)1:0
neuer Eintrag in der Mercenaries.lrtpldatasc:
{6863696c-7774-6369-6874-5f495f000001}:0=Mercenaries_WannaDance.tple
(lichtwicht_T_) hex: 0:6C6963687477696368745F54 00 5F0001
lichtwicht_W_(No.)1:0
lichtwicht_W_(No.)2:0
(einzige) benutzte Info-ID: 9924
...


erweitertete technische Doku / Erklärbär:
man nehme aus der "Projects_compiled.pak" bzw. "Projects_compiled.p00" folgende Dateien:
\\Projects_compiled\G3_World_01\Nordmar\FireClan_City\G3_Nordmar_01_FireClan_NPC _01\G3_Nordmar_01_FireClan_NPC_01.lrent
\\Projects_compiled\G3_World_01\Nordmar\FireClan_City\G3_Nordmar_01_FireClan_NPC _01\G3_Nordmar_01_FireClan_NPC_01.sec

\\Projects_compiled\G3_World_01\Nordmar\FireClan_City\G3_Nordmar_01_FireClan_NPC _01\G3_Nordmar_01_FireClan_NPC_01.secdat
\\Projects_compiled\G3_World_01\Myrtana\Okara_City\G3_Myrtana_01_Okara_NPC_01\G3 _Myrtana_01_Okara_NPC_01.lrentdat

sodenn erstelle man sich folgendes Verzeichnis:
\\Projects_compiled\G3_World_01\Myrtana\Vangard_Outdoor\G3_Myrtana_01_Outdoor_Va ngard_NPC_perm\
dorthin kopiert man die 4 Dateien und benennt sie folgendermaßen um:
G3_Myrtana_01_Outdoor_Vangard_NPC_perm.lrent
G3_Myrtana_01_Outdoor_Vangard_NPC_perm.sec

G3_Myrtana_01_Outdoor_Vangard_NPC_perm.secdat
G3_Myrtana_01_Outdoor_Vangard_NPC_perm.lrentdat

dann hole man sich noch die "G3_World_01.wrldatasc" und kopiere sie nach \\Projects_compiled\G3_World_01\
am Ende der Datei fügt man noch folgende Zeile ein:
G3_Myrtana_01_Outdoor_Vangard_NPC_perm=true
dies ist zwar nicht nötig, schadet aber nicht, und hilft der Übersicht...

in der "G3_Myrtana_01_Outdoor_Vangard_NPC_perm.secdat" ändert man den StringTable-Eintrag(am Ende) auf "G3_Myrtana_01_Outdoor_Vangard_NPC_perm"(das LängenWort nicht vergessen ;-)

die ehemalige "G3_Myrtana_01_Okara_NPC_01.lrentdat"(jetzt "G3_Myrtana_01_Outdoor_Vangard_NPC_perm.lrentdat") kürzt man so, daß nur noch die "Master-Entity"(Roland) und dessen 2 "Sub-Entities"(gCInventorySlot) referenziert werden.
(das erkläre ich jetzt nicht im Detail, ihr könnt meine "neue" "G3_Myrtana_01_Outdoor_Vangard_NPC_perm.lrentdat" benutzen. Denn: )

jetzt wird's erst richtig "lustig":

Anpassen der .lrentdat: (genannte Werte beziehen sich auf mein(Urbans) TinyHexer-Skript(min. v0.28))
RootEntity:
000A: Offset To String Table
0027: Size Of Code Section (Until Magic value DEADBEEF)
003B: "lrentdat_T_GUID" (ich kann es nicht begründen, aber ich würde 004B immer "00" lassen)
0059: (Min-World-Vector?)(hier: Werte genommen aus der "SysDyn"-RootEntity)
0065: (Max-World-Vector?)(hier: Werte genommen aus der "SysDyn"-RootEntity)
007C: (Min-World-Vector?)(hier: Werte genommen aus der "SysDyn"-RootEntity)
0088: (Max-World-Vector?)(hier: Werte genommen aus der "SysDyn"-RootEntity)
0094: Number of Entities referenced in this file ! (with RootEntity)
00A1: "lrentdat_W_GUID" (World-Hash?)(1)
00B7: ? Process Disabled (Bool) ???? -> 01

0148 - 018F: (Min/Max World Root; Min/Max Local Point; Min/Max Local World)(hier: Werte genommen aus der "SysDyn"-RootEntity)
0190 - 01AF: (ächtz...Positionen halt? nix-versteh!)(hier: Werte genommen aus der "SysDyn"-RootEntity)
01B9: Change Time (DWord) ? (nicht geändert(FFFFFFFF))

"Master-Entity"(NPC)-Header:
01CC: "Haendler-Hash" (Haendler-Hash, des gewünschten NPC(Template(.tple)) angeben)
01E4: "lrentdat_W_GUID" (World-Hash?)(2)
0209: (StringTableEntry wurde geändert, Link bleibt gleich!)
020B - 02D2: (PosiMatrix & Vectoren)(hier: Werte kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702)
02D3 - 02F2: (???)(hier: Werte kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702)
02FC: Change Time (DWord) ? (gleichsetzten mit Template(Haendler-Hash-Header) hier: 0x99010000)
0300: ???? gesetzt auf 0x0000803F (gleich mit "Chris" & "Yasmin")

"Master-Entity"(NPC)-Klassen und Sub-Klassen:
gCNavigation_PS:
folgende GUID's kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702
0345: WorkingPoint
0363: RelaxingPoint
0381: SleepingPoint
genauso die bTValArray<class bCPropertyID>: (0101000000 + GUID's ?)
03AB(B0): WorkingPoints
03CE(D3): RelaxingPoints
03F1(F6): SleepingPoints
044C-0457: (LastUseableNavigationPosition)(bCPropertyID) (hier: Werte kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702)
0462: LastUseableNavigationZoneID (GUID wieder kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702)

"Sub-Vector's" von "eCRigidBody_PS":
0597-05EA: (der komplette "Sub-Class-Block") (hier: Werte kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702)

Class "gCNPC_PS":
(0AEB: Voice: StringtableEntry geändert)
0B03: "Level"
0B11: "LevelMax"
0B1F: "Gender"
0B3F: "PoliticalAlignment"
0B5F: "Type"
0B6F: "Enclave"
0B8D: "AttitudeToPlayer2"
0CA2: "Bearing" -> 00

Class "gCInventory_PS":
(0E27: wenn GUID's "gelöscht" Größe anpassen!!!)
0E51: "TreasureSet1"
0E5D: "TreasureSet2"
SubClass of "gCInventory_PS"("gCInventoryStack"):
0F20: Template-Haendler-Hash getauscht: von "Teleports_Story_It_Teleport_Okara.tple" zu "_Weapons_1H_Story_It_1H_Katana_01.tple"
SubClasses of "gCInventory_PS"("gCInventorySlot"):
0FAF: Template-Haendler-Hash getauscht: von "HumanBodyParts_Head_Hero_03_S21.tple" zu "HumanBodyParts_Head_Hero_Babe_01.tple"
0FD0: "lrentdat_S_GUID" (S)ubEntity/Inventory(S)lot-Hash?(1)
101C: Template-Haendler-Hash getauscht: von "HumanBodyParts_Body_Body_Paladin.tple" zu "HumanBodyParts_Body_Body_Babe_Myrtana_Slave.tple"
103D: "lrentdat_S_GUID" (S)ubEntity/Inventory(S)lot-Hash?(2)

After-Class of "eCVisualAnimation_PS":
(1C9E: Slot_Head: StringtableEntry geändert)
(1CA7: Slot_Head(animated?): StringtableEntry geändert)
(1CB2: Slot_Body: StringtableEntry geändert)
1CD1-1CE8: (?) (hier: Werte kopiert aus "SysDyn"-Entity:"Chris" No.(dez)15702)


StringTableEntries: (auch Längenangabe ändern ;-)
2D10: (0006) Name des NPC (TemplateStringTableEntry No. 2) (findet dann auch Verwendung in der stringtable.ini, Info's und Quest's)
(NPC)
34C7: (0071) Hum_Female_Nice
4E26: (01A5) G3_Head_Hero_Babe_01.fxa
4E43: (01A6) G3_Head_Hero_Babe_Animated_01.fxa
4E74: (01A8) G3_Hero_Body_Babe_Myrtana_02.fxa

das wars dann auch schon...;) viel Spaß damit! lichtwicht

ich habe diesem Post mal die Standard-"Männer-lrentdat"(mit (2) Sub-Entities und "Erlärung" dazu) angehängt.

lichtwicht
13.01.2008, 17:21
Finish! (neuer Post wegen Anpassungs-Erklärbär)
(getestet mit CP1.52 und SaveGames, die mit PB1.12 erstellt wurden)

Zuerst der Warnhinweis!
Natuerlich kann ich fuer nichts garantieren...Ob's funktioniert, die Festplatte zerstoert, SaveGames unspielbar macht oder vermehrt zu "Guru"'s fuehrt...
...Benutzung AUF EIGENE GEFAHR!

Dies ist Version 0.9 !
-was ich mir am Einfachsten vorstellte(die Puppen tanzen zu lassen), habe ich nicht hinbekommen! (siehe alte Veröffentlichungsposts)
-es wird wohl keine weiteren Versionen geben, da für die "Tanzerei" ja wahrscheinlich die Script_Game.dll erweitert werden müßte. (und ICH das weder kann noch will)
-sie hat jetzt die Haare von Yasmin. Um mir die Erstellung der "SubEntity" "Haare" zu ersparen, habe ich an entsprechender Stelle einfach die SubEntityHash(GUID) von Yasmin's "Haar-Definition"-Entity genannt...(nicht überragend schön...ich bin halt' unendlich FAUL;))

-> beliebiges Spiel starten(laden); min. 50 Gold im Inventar haben und sich zu Chris(der Jäger nahe Vengard) begeben... (in Errinerung an alte 3D-Shooter schwelgen...)
P.S. "Tip": plündert sie mal ;)

Technische Doku/Anpassungs-Erklärbär:


(betr. benutzte (neue!) GUID's: ich habe sie "nur" als asc dargestellt...)
lichtwicht_I_(No.)1:0
lichtwicht_H_(No.)1:0
neuer Eintrag in der Mercenaries.lrtpldatasc:
{6863696c-7774-6369-6874-5f495f000001}:0=Mercenaries_WannaDance.tple
(lichtwicht_T_) hex: 0:6C6963687477696368745F54 00 5F0001
lichtwicht_W_(No.)1:0
lichtwicht_W_(No.)2:0
neuer Eintrag in der G3_World_01.wrldatasc:
G3_Myrtana_01_Outdoor_Vangard_NPC_perm=true
benutzte Info-ID: 9924 (& 9925 in der Infos.p03)
-----------------------------------------------------------

Anpassungs-Erklärbär:
nehmt mein Verzeichnis: \\Projects_compiled\G3_World_01\Myrtana\Vangard_Outdoor\G3_Myrtana_01_Outdoor_Va ngard_NPC_perm\
und die Datei: \\Projects_compiled\G3_World_01\G3_World_01.wrldatasc
(wie gesagt, die Änderung in der "G3_World_01.wrldatasc" ist scheinbar nicht zwingend nötig...sorgt aber für Überblick!)
Benennt die Dateien/Verzeichnisse "nach eurem Gusto" um und passt dann in der (ehemaligen) "G3_Myrtana_01_Outdoor_Vangard_NPC_perm.secdat" den Stringtable-Eintrag eurem neuen Namen an.
Dann ändert ihr die (ehemalige) G3_Myrtana_01_Outdoor_Vangard_NPC_perm.lrentdat: (genannte Werte beziehen sich auf mein(Urbans) TinyHexer-Skript(v0.31))
eingeklammerte Werte müßt ihr nur anpassen, wenn "mehr" als die empfohlenen Werte geändert habt...
RootEntity:
(000A: Offset To String Table)
(0027: Size Of Code Section)
003B: "lrentdat_T_GUID" (ich kann es nicht begründen, aber ich würde 004B immer "00" lassen)
(0094: Number of Entities referenced in this file !)
00A1: "lrentdat_W_GUID" (World-Hash?)(1)

"Master-Entity"(NPC)-Header:
01CC: "Haendler-Hash" (Haendler-Hash, des gewünschten NPC(Template(.tple)) angeben)
01E4: "lrentdat_W_GUID" (World-Hash?)(2)
0209: Name des NPC(StringTableEntry ändern, Link bleibt gleich!)
023B - 0246: (PosiVectoren)
027B - 0286: (PosiVectoren)
028B - 02A2: (Min-& Max-PosiVectoren)
02BB - 02C2: (Min-& Max-PosiVectoren)
02D7 - 02E2: (PosiVectoren)
02E7 - 02F2: (PosiVectoren)
02FC: Change Time (DWord) ? (gleichsetzten mit Template(Haendler-Hash-Header) hier: 0x99010000)


"Master-Entity"(NPC)-Klassen und Sub-Klassen:
gCNavigation_PS:
(Working-, Relaxing- & SleepingPoints: (sind die GUID's von "Chris", sollten aber auch sonst funktionieren???) FEEDBACK
0345: WorkingPoint // 0363: RelaxingPoint // 0381: SleepingPoint
genauso die bTValArray<class bCPropertyID>: (0101000000 + GUID's ?)
03AB(B0): WorkingPoints // 03CE(D3): RelaxingPoints // 03F1(F6): SleepingPoints
)
044C-0457: LastUseableNavigationPosition: (PosiVectoren)


"Sub-Vector's" von "eCRigidBody_PS":
05B2 - 05BD: (PosiVectoren)
05CE - 05D9: (PosiVectoren)


Class "gCNPC_PS":
0AEB: (Voice: StringtableEntry geändert)
0B03: "Level"
0B11: "LevelMax"
0B1F: "Gender"
(0B3F: "PoliticalAlignment")
(0B5F: "Type")
(0B6F: "Enclave")
(0B8D: "AttitudeToPlayer2")
(0CB5: ("TeachAttribs": StringtableEntry ändern))
(0CB7ff: "TeachSkills" Haendler-Hashes der Skills)


Class "gCInventory_PS":
(0E27: wenn Inventory-Slots "gelöscht"/"eingefügt": Größe anpassen!!!)
(0E51: (TreasureSet1: StringtableEntry ändern))
(0E5D: (TreasureSet2: StringtableEntry ändern))
(0E69: (TreasureSet3: StringtableEntry ändern))
(0E75: (TreasureSet4: StringtableEntry ändern))
(0E81: (TreasureSet5: StringtableEntry ändern))

SubClass of "gCInventory_PS"("gCInventoryStack"):
0F20: "Hidden Inventory" Template-Haendler-Hash hier: "_Weapons_1H_Story_It_1H_Katana_01.tple"

SubClasses of "gCInventory_PS"("gCInventorySlot"):
0FA6: Template-Haendler-Hash für die Haare hier: "HumanBodyParts_FacialStuff_Hair_Head_01_Woman_03_S00.tple"
1005: Template-Haendler-Hash für den Kopf hier: "HumanBodyParts_Head_Hero_Babe_01.tple"
105E: Template-Haendler-Hash für den Körper hier: "HumanBodyParts_Body_Body_Babe_Myrtana_Slave.tple"


After-Class of "eCVisualAnimation_PS":
1CCC: Slot_Head(StringTableEntry ändern, Link bleibt gleich!)
1CD5: Slot_Head(Animated)(StringTableEntry ändern, Link bleibt gleich!)
1CE0: Slot_Body(StringTableEntry ändern, Link bleibt gleich!)
1D02: (bereits existierende oder neu erstellte) "Haar-Entity" World(Slot)-Hash(GUID) dazu
(1D5C: Float(?) dessen Bedeutung ich nicht kenne!) FEEDBACK


StringTableEntries: (auch Längenangabe ändern ;-)
2D10: (0006) Name des NPC (TemplateStringTableEntry No. 2) (findet dann auch Verwendung in der stringtable.ini, Info's und Quest's)
2592: (0071) Hum_Female_Nice
(294D: (009E) TeachAttribs)
(2A5D: (00AF) TreasureSet1)
(2A6D: (00B1) TreasureSet2)
(2A7D: (00B3) TreasureSet3)
(2AA1: (00B5) TreasureSet4)
(2AC5: (00B7) TreasureSet5)
3ECF: (01A5) G3_Head_Hero_Babe_01.fxa
3EE9: (01A6) G3_Head_Hero_Babe_Animated_01.fxa
3F17: (01A8) G3_Hero_Body_Babe_Myrtana_02.fxa

viel Spaß damit! lichtwicht

P.S.(so jetzt;)) Dank an Shak-otay, dessen MOD's, Proggi's und Tips eine ständige Inspiration darstellen, und gerade die lrentdat's ohne ihn nicht "so schnell" (teilweise)entschlüsselt worden wären!
Wenn ich schon beim Danken bin: Thanx to NicoDE, MasterEvil & Urban für die Arbeiten am GENOM-Format!
Sowie natürlich allen Mitgliedern vom CPT!
Und wizer für seine Arbeit am MOD-Starter! hoffentlich schläft das Projekt nicht ein...

für diese MOD muß ich KEIN neues Spiel starten! Feedback hierzu wäre sehr willkommen.
in die "WannaDance_Source.rar" habe ich sicherheitshalber noch eine "Infos.p03" gepackt, wenn bei jemand das Mädel nach laden eines alten Spielstandes NICHT da ist, wäre nett wenn ihr noch ausprobiert diese Info einzubinden und bei Jack(Leuchtturm/Ardea) den Dialog abspult. Vielleicht ist sie dann da?

Shak-otay
13.01.2008, 23:25
Hi lichtwicht,

habe Deine Mod mit Patch 1.12 ausprobiert:
- neues Spiel, Marvin-Mode, goto Chris -> WannaDance ist da und "funktioniert".

- Okara-SG geladen, MM, goto Jack, dann zu Chris latschen -> wie oben
Die info mit "SetSectorStatus" brauchte ich nicht.

(Wenn ich aber bei dem SG direkt mit "goto" zu Chris beame, gibt's bei mir nen Guru: Floordetection failed. Muss nicht an Deiner Mod liegen, da ich immer noch mit meiner G3-Erstinstallation arbeite -ja, sowas solls geben!- und ziemlich viel experimentiert habe...)

******************************************************
Fazit: Absolut geniale Mod! Das ist das, worauf alle gewartet haben.

Muss man sich natürlich etwas reindenken, wenn man eigene NPCs erstellen will.
Aber wer mit nem Hex-Editor umgehen kann und die 10te Klasse gepackt hat, sollte das auch schaffen;-)
******************************************************
Wenn jetzt noch irgendwie das Stunlocken der Orks durch den Hero beseitigt werden könnte, wäre ich wunschlos glücklich (was G3 anbelangt:-)


# gCNavigation_PS:
# (Working-, Relaxing- & SleepingPoints: (sind die GUID's von "Chris", sollten aber auch sonst funktionieren???) FEEDBACK

WannaDance-gCNavigation_PS, TE-Index 0011h WorkingPoints: die Verknüpfungs-GuID 75 55 3B C1... findet man auch in ..Outdoor_Vangard_Dyn_Obj_01_SHyb.node, offset 12600h.

Das ist der Sit_CampFire-Freepoint von Chris; inwieweit sich NPCs FreePoints "teilen" dürfen, teste ich gerade. Bei Campfires ist es ja naheliegend.

Gruß,
shak-otay

PS: Natürlich habe ich versucht, sie tanzen zu lassen. (CampFire-UseType auf 77= gEUseTpye_Dance setzen in der obigen .node, offset 12798h).
Bei manchen Stand-FreePoints funzt diese Vorgehensweise.

Hier spuckt leider die Engine dazwischen und stellt wieder 88= Use_CampFire ein (oder 89=Sit_CampFire).

Ach ja, und danke für die credits:-)

lichtwicht
17.01.2008, 12:58
Salve Shak-otay,

ja der Working-Point in der oben veröffentlichen Version ist noch ein "normaler"...
ich habe eine Version "in Lauerstellung" da steht da ein Allgemeiner...
Als ich den Sit-Campfire geändert hatte(Use-Type auf (h)4D) hat sie übrigens getanzt! ("Problemlos"...)

(ich werde zukünftig beim "gCNavigation_PS" einen neuen Skriptstate und entsprechende Working/Sleeping/Relaxing-Hashes einfügen.)
1 Beta-Version habe ich schon gemacht, da habe ich ein Template aus "Navigation" "neu erstellt"(man muß die Position angeben), und dieses dann per .info aufgerufen -> SIE TANZT
Allerdings werden nirgendwo sonst Templates dafür benutzt, deswegen will ich das eigentlich auch nicht!
Eine .node ist schnell erstellt(habe ich schon), allerdings wird sie vom Spiel nicht benutzt!
Alle benutzten "Positionen"(NICHT die "Allgemeinen"!) werden in der NavigationMap.xnav(o.ä. 14MB) genannt, und ich versuche gerade die Datei mittels THexer-Skript zu "entschlüsseln"...(das kann aber noch dauern!)

P.S. das mit dem "Guru: Floordetection" hast du doch schonmal geschrieben...(tja, eine zweite Meinung wäre interessant ;-)
Ich mach übrigens immer "goto wann" TAB ENTER
(Die Haare von Yasmin dauern dann immer einen MiniMoment bis sie auch geladen sind...und wenn sie läuft/rennt schieben sie sich manchmal nach hinten...Prinzipiell sollte man dafür wohl doch 'ne SubEntity "opfern"...)

Shak-otay
17.01.2008, 20:30
Salve Shak-otay,
...
Als ich den Sit-Campfire geändert hatte(Use-Type auf (h)4D) hat sie übrigens getanzt! ("Problemlos"...)

Salve ebenfalls, lichtwicht,

tja, scheint so, dass Frauen meistens nicht das machen, was ich will:-)


Eine .node ist schnell erstellt(habe ich schon), allerdings wird sie vom Spiel nicht benutzt!
Du meinst, wenn man kein neues Spiel anfängt?


Alle benutzten "Positionen"(NICHT die "Allgemeinen"!) werden in der NavigationMap.xnav(o.ä. 14MB) genannt, und ich versuche gerade die Datei mittels THexer-Skript zu "entschlüsseln"...(das kann aber noch dauern!)
Ich hab da schon mal geguckt (s.Anhang); ist zwar nicht viel bei rausgekommen. Zumindest scheinen die Verknüpfungs-GuIDs nach Lokalitäten sortiert zu sein, also nicht wild verstreut.


P.S. das mit dem "Guru: Floordetection" hast du doch schonmal geschrieben...(tja, eine zweite Meinung wäre interessant ;-)
Ich mach übrigens immer "goto wann" TAB ENTER
Das ist ja auch nicht so dramatisch, weil man beim normalen Spielen (d.h. ohne goto im MarvinMode) das Problem (bei mir) nicht aufritt.

(Die Haare von Yasmin dauern dann immer einen MiniMoment bis sie auch geladen sind...und wenn sie läuft/rennt schieben sie sich manchmal nach hinten...Prinzipiell sollte man dafür wohl doch 'ne SubEntity "opfern"...)

Verstehe das Konzept der PBs da nicht ganz: einerseits gibt es extra Entities für Head, Body und Hair, dann die GuIDs in den Inventory-Slots und Du hast noch nen Extra-Slot für Hair in Deiner MaterialSwitch-Definition...
Na egal; schon cool, dass Du das zum Laufen kriegst:-)

Edit: sorry, hatte die falsche NavMap.txt angehängt. Es gibt da sicher noch mehr Strukturen...

edit2: Für den unwahrscheinlichen Fall, dass hier noch jmd. forschen will, habe ich die NavMap.txt nochmal geupdated:)

lichtwicht
19.01.2008, 15:35
Du meinst, wenn man kein neues Spiel anfängt?
nein, leider auch bei neuem Spiel!
(ansonsten hätte ich ja was wo ich den SetSectorStatus mit einer neuen node/lrentdat ausprobieren könnte)
naja, kommt Zeit, kommt Rat §knin

EDIT

Verstehe das Konzept der PBs da nicht ganz: einerseits gibt es extra Entities für Head, Body und Hair, dann die GuIDs in den Inventory-Slots und Du hast noch nen Extra-Slot für Hair in Deiner MaterialSwitch-Definition...
Na egal; schon cool, dass Du das zum Laufen kriegst:-)
Naja, prinzipiell denke ich, daß es nie gedacht war einen NPC NUR über Templates zu definieren (es sollte wohl eigentlich IMMER Sub-Entities geben! ICH habe bisher keinen NPC(oder Monster) gefunden, der keine Sub-Entities hätte...) Daß es trotzdem funktioniert, liegt wohl daran, daß die PB's ihre Engine einigermaßen "Idiotensicher" machen wollten ?!?
(P.S. If you make something idiotproof, someone will invent a better idiot! :D Sorry, der mußte jetzt einfach sein...)
Aber du hast schon recht, man hat so das Gefühl, in einer NPC-Definition stehen viele Dinge doppelt, und ein Verweis auf das Template, dient wohl auch nur dem "World-Editor"...
Aber wir wollen uns nicht beschweren, prinzipiell bin ich der Meinug, nicht jedes Template müßte eine StringTable haben??? Warum nicht EINE zentrale? Aber gerade solche Sachen machen das "dekodieren"(raten;-) einfacher...(zumindest für mich, der ich keinen Anspruch auf 100%igkeit habe...(obwohls schon schön wär !-))

lichtwicht
26.01.2008, 18:20
Updated 29.1.2008

Sie tanzt!
(getestet mit CP1.52 und SaveGames, die mit PB1.12 erstellt wurden und marvin)

Dies ist Version 1.5 !

DL: WannaDance.g3mod(.zip) (angepasst für wizer's MOD-Starter) (Link (http://forum.worldofplayers.de/forum/showthread.php?t=312175&page=40))
SOLLTE auch mit seinen jetztigen "Beta's" funktionieren, solange NUR 1 MOD aktiviert ist !!!
(leider nicht mit der aktuellen 0.75...die 0.71 funktioniert: für diese MOD benötigt man KEINE Stringtable.ini-Einträge! daher kann man die Strings.p00 aus dem G3-Data-Verzeichnis einfach als "Multi-Stringtable" nehmen)
!!! angeblich funktioniert der ModStarter, der in wizer's CommunityUpdater(0...5beta) integriert ist !!! (http://forum.worldofplayers.de/forum/showthread.php?t=336180&page=40) (den habe ich bisher nur noch nicht getestet...)

-> beliebiges Spiel starten(laden); min. 50 Gold im Inventar haben und sich zu Chris(der Jäger nahe Vengard) begeben...
P.S. "Tip": plündert sie mal ;)

Technische Doku:


geänderte Dateien:
G3_World_01.wrldatasc
G3_Myrtana_01_Outdoor_Vangard_Dynamic_Objects_01_SHyb.node
Mercenaries.lrtpldatasc

hinzugefügte Dateien:
LICHTWICHT9924_info_G3_World_01.info
LICHTWICHT9926_info_G3_World_01.info
LICHTWICHT9927_info_G3_World_01.info
G3_Myrtana_01_Outdoor_Vangard_NPC_perm.lrent
G3_Myrtana_01_Outdoor_Vangard_NPC_perm.lrentdat
G3_Myrtana_01_Outdoor_Vangard_NPC_perm.sec
G3_Myrtana_01_Outdoor_Vangard_NPC_perm.secdat
sfx_creature_wannadance_call.wav
Mercenaries_WannaDance.tple
-----------------------------------------------------------
(betr. benutzte (neue!) GUID's: ich habe sie "nur" als asc dargestellt...)
lichtwicht_I_(No.)1:0
lichtwicht_H_(No.)1:0
lichtwicht_W_(No.)1:0
lichtwicht_W_(No.)2:0
lichtwicht_W_(No.)3:0
lichtwicht_W_(No.)4:0
(lichtwicht_T_) hex: 0:6C6963687477696368745F54 00 5F0001
neuer Eintrag in der Mercenaries.lrtpldatasc:
{6863696c-7774-6369-6874-5f495f000001}:0=Mercenaries_WannaDance.tple
neuer Eintrag in der G3_World_01.wrldatasc:
G3_Myrtana_01_Outdoor_Vangard_NPC_perm=true
benutzte Info-ID's: 9924, 9926, 9927
-----------------------------------------------------------
Hair-Entity erstellt! (ächtz! 78 Properties, machte roundabout 150-200 StringtableEntries, die ich per Hand aktualisieren mußte...)
Vorteile: sie kann jetzt nicht mehr durch töten gewisser NPC's eine Glatzte bekommen!
Wenn sie läuft, "rutschen die Haare nicht mehr nach hinten"!

auf die Idee mit den "Nav_Freepoints" brachte mich (natürlich;-) Shak-otay!
ich habe also in der node: G3_Myrtana_01_Outdoor_Vangard_Dynamic_Objects_01_SHyb.node
den "Sit_Campfire" von Chris zu "Dance" dupliziert und nur den UseType auf (h)4D geändert.
-habe meinen Dance-Point etwas verschoben...
Glücklicherweise mußte ich den neuen "Freepoint" NICHT in der NavigationMap.xnav(die ich immer noch nicht "dekodiert" habe) eintragen!

und dann in meiner .lrentdat der Routine "Start" die Hashes von oben genannter "Sit_Campfire" zugeordnet. (WorkingPoints // RelaxingPoints // SleepingPoints)
sowie der Routine "Tanze" die Hashes von oben genannter "Dance".


was noch ToDo wäre: (eigentlich nix mehr!-)
-meiner lrentdat endlich eine Hair-Sub-Entity spendieren! (bin ich zu faul zu) ERLEDIGT!
-"schönere" Dialoge suchen/schreiben (s.o.:-) Geschenkt! ist 'ne Testmod!
(?-den neuen "Freepoint" in der NavigationMap.xnav eintragen?) Wird für diese Mod auch nicht mehr kommen! die "NavigationMap" ist 14MB groß, das rentiert für 'ne Testmod nicht!
-"neue" Positionen für WannaDance festlegen, da sie nicht sofort zu tanzen beginnt, wenn Chris auf "ihrer" Position ist... ein bischen kann sie noch "hängen" wenn man sie zur "Start-Routine" zurückschickt...

Natuerlich kann ich fuer nichts garantieren...Ob's funktioniert, die Festplatte zerstoert, SaveGames unspielbar macht oder vermehrt zu "Guru"'s fuehrt...
...Benutzung AUF EIGENE GEFAHR!


EDIT 20.5.09
bei der "Übertragung" nach CP1.7 ist mir aufgefallen, daß mein Template/lrentdat einen Fehler hat!
das Haar-gCInventorySlot ist falsch "einsortiert"(010000-Folgen)!
also keine SaveGames mit der MOD anlegen!
ich lasse den DL trotzdem unverändert hier angehängt...
(1. Faulheit / 2. Bezug zu "Erklärbär/en")

lichtwicht
29.03.2008, 15:08
hervorgegangen aus Shak-otay's Thread (http://forum.worldofplayers.de/forum/showthread.php?p=5875006)
"mein Weg" einen neuen NPC zu erstellen: (nur auf's Aussehen bezogen)
-Template klonen, umbenennen, in .lrtpldatasc nennen
-in den Sub-Klassen von "gCInventory_PS" (in den "gCInventorySlot") die "Haendler-Hashes" der gewünschten Körperteile bei "Template" angeben. Reihenfolge(hier): Bart-Haare-Kopf-Körper...Im Template ist die Reihenfolge wohl egal, später in der .lrentdat wird sie über die "Slot"-"bTPropertyContainer<enum gESlot>" identifiziert(siehe "g3_enum.txt" beigefügt bei jeder Version des Tiny-Hexer-Scripts (http://forum.worldofplayers.de/forum/showthread.php?t=243383) (Bart=04h; Haare=0Fh; Kopf=10h; Körper=11h)
-(ingame-marvin) spawn des NPC's (Aussehen und Funktionalität checken)

-lrentdat klonen, ggf. kürzen, und umbenennen nach "G3_Nordmar_01_FireClan_NPC_01.lrentdat"(einfachste Möglichkeit zum Einbringen neuen Inhalts)
-ändern des lrentdat, s.u. (kompliziertester Part!)

neues Template & neue .lrentdat:

Klon von: "Bakaresh_Temple_Tizgar.tple"
geändert auf: "Okara_City_Judge.tple"
6C 69 63 68 74 77 69 63 68 74 5F 54 48 30 30 32 (lichtwicht_TH002)
{6863696c-7774-6369-6874-5f5448303032}:0=Okara_City_Judge.tple
Beard_Head_08_Myrtana_02_S00 (habe ich der Einfachheit halber gelassen)
Template: 60 B4 22 33 0A 32 96 41 A9 4B BE 56 BC AC ED 9D
Hair_Head_08_Myrtana_02_S00 geändert auf: Hair_Head_01_Woman_05_S00
Template: 23 9F 51 D4 60 58 08 4E 85 B5 EB 8E 5F FA BD BC
Head_Hero_08_S21 geändert auf: Head_Fat_01_S15
Template: E6 EA C7 0A 0C D8 D0 41 B3 97 12 2B 04 D4 7F 6E
Body_AssMage geändert auf: Body_Druid
Template: 39 CC D4 20 BB 7B F6 4F 93 B4 39 2D CB 0C 1E 2D
(habe die Stimme spaßeshalber auf "Hum_Female_Nice" geändert)

.lrentdat:
-gekürzter Klon von: "G3_Varant_01_Bakaresh_NPC_01.lrentdat" (=tazgir.rar: lrentdat.only-tizgar)
-neue Hashes für alle Entities und Root-Positionen-Rahmen maximiert
--(Main TW005; Bart TS006; Haar TS007; Kopf TS008; Körper TS009) (=tazgir.rar: lrentdat.wo-pos)
-einfügen von universal-FreePoint: 6D 62 C6 1F E6 9D 0F 4D A4 B7 D1 F8 C9 29 0A 7B
für alle (Working/Sleep/usw...)Points
-und anpassen der Position(NUR im Tazgir-Header!)
gebastelt: 82533(-+70)4810(-+70)/-9407(-+70)
80 0F A1 47 00 20 94 45 00 14 14 C6 80 55 A1 47 00 80 98 45 00 E4 11 C6
80 32 A1 47 00 50 96 45 00 FC 12 C6 (=tazgir.rar: lrentdat.Template)

-Anpassen des Aussehens:
--Main-Entity:
----Ursprungstemplate angeben GUID@01CC: "lichtwicht_TH002"
----Name ändern STE#006@0209: "Judge"
---in den SUB-CLASSen von gCInventory_PS die Template-GUIDs setzen
----Bart(0E1F): bleibt gleich! (siehe ggf. Haare)
----Haare(0EAA): 23 9F 51 D4 60 58 08 4E 85 B5 EB 8E 5F FA BD BC (Hair_Head_01_Woman_05_S00)
----Kopf(0F17): E6 EA C7 0A 0C D8 D0 41 B3 97 12 2B 04 D4 7F 6E (Head_Fat_01_S15)
----Körper(0F84): 39 CC D4 20 BB 7B F6 4F 93 B4 39 2D CB 0C 1E 2D (Body_Druid)
---SUB-CLASSe von eCVisualAnimation_PS:
----Slot_Head@1C06(STE#199) auf: "G3_Head_Fat_Myrtana_01.fxa"
----Head_Animated@1C0F(STE#19A) auf: "G3_Head_Fat_Animated_01.fxa"
----Slot_Body@1C1A(STE#19C) auf: "G3_Hero_Body_Druid.fxa"
--SUB-ENTITIES:
---Bart:
----Template-GUID@1D1F (bleibt, ansonsten siehe Haare)
----Name-STE#1A0@1D5C (bleibt, ansonsten siehe Haare)
---Haare:
----Template-GUID@23BA auf 23 9F 51 D4 60 58 08 4E 85 B5 EB 8E 5F FA BD BC
----Name-STE#1DC@23F7 auf "Hair_Head_01_Woman_05_S00"
----bCMeshResourceString-STE#1DD@251D&2529 auf "G3_Animation_Head_Hair_Woman_01_05.xcmsh"
---Kopf:
----Template-GUID@2A55 auf E6 EA C7 0A 0C D8 D0 41 B3 97 12 2B 04 D4 7F 6E
----Name-STE#1DE@2A92 auf "Head_Fat_01_S15"
----ChangeTime gleichsetzten mit Template@2B85: 2300
----bCAnimationResourceString-STE#1DF@2F87 auf "G3_Head_Fat_Myrtana_01.FXA"
----bCAnimationResourceString-STE#1E0@2F93 auf "G3_Head_Fat_Animated_01.FXA"
---Körper:
----Template-GUID@3233 auf 39 CC D4 20 BB 7B F6 4F 93 B4 39 2D CB 0C 1E 2D
----Name-STE#1E2@3270 auf "Body_Druid"
----ChangeTime gleichsetzten mit Template@3363: B108
----Texture-STE#1E3@33E6 auf "IT_Armor_Druid.tga"
----bCAnimationResourceString-STE#1EA@378D auf "G3_Hero_Body_Druid.FXA"

Beispiele für nicht geänderte Sachen:
----NPC-Type@0B75 auf "0"(Personal)
----Robe-Bool@343E auf "01"(true)
----(die DruidenRobe hat eigentlich KEINE zusätzlichen Skills!...Faulheit! @360A & 362B)
(=tazgir.rar: lrentdat.ardea ACHTUNG! braucht das Template aus "new_Judge.rar"!!!)
so, jetzt noch schnell den Judge nach Okara(=Mannig) "gebeamt"(Positionen im Judge-Header:
06 F1 E5 C5 39 D4 59 45 C7 C6 7A 47
C6 19 E8 C5 99 AD 53 45 9C A2 7A 47 46 C8 E3 C5 D9 FA 5F 45 F2 EA 7A 47
) und dann noch PAL(@0B55) von "Ass" auf "Slave" gestellt => "new_Judge.rar"
(für diesen Judge muß man auch kein neues Spiel anfangen!)

Ich hoffe damit vielleicht etwas helfen zu können...(vor allem mit der "Beschreibung")
Das Hauptproblem ist (zumindest für mich) das Zusammensuchen der Dateinamen(*.tga *.fxa *.xcmsh) aus den entsprechenden Template's...UND der ChangeTime-Werte für (Main-,) HEAD- und BODY-Entity!!! Wenn die nicht gleich sind gibt's "Schatten"!!!
(völlig außen vor habe die Positionierungs-Problematik gelassen...~scheinbar~ reicht die Angabe im Header der Main-Entity...es soll nur gesagt sein, daß in den "World-Dateien" ZIGMAL teilweise verständliche, teilweise von mir unverstandene Positionen, genannt werden...)
---und ich habe (wie mit den Rüstungs-Skills) die ganzen Werte des NPC's und dessen SUB-ENTITIES nicht auf Konsistenz überprüft---
(sieht natürlich besch...eiden aus mit Weiber-Zopf und Bart(bzw. die Kopfbehaarung dazu)...obwohl...lustig...)


EDIT:
2 weitere Versionen("ohne-Templates.rar"): (inspiriert durch Shak-otay's Konzept)
1) ("Projects_compiled.p02.tizgar") habe das "neue" Template wieder "gekillt" und den Bezug in der lrentdat auf das Tizgar.tple zurückgesetzt.
(A0 7F AB B4 C2 5F 5A 41 AB 7D F6 96 C8 30 57 E6)(@01CC)
2) ("Projects_compiled.p02.00") "löschen" aller Beziehungen zu Templates!
durch ersetzen aller Templates-Hashes mit "00"-Folgen:
hier an folgenden Adressen(hex): 01CC 0E1F 0EAA 0F17 0F84 1D1F 23BA 2A55 3233

Fazit: für 1) ist völlig OK...zum testen finde ich die Erstellung eines eigenen Templates aber doch recht praktisch...(ist aber letztlich unnötig!)
zu 2) es funktioniert(bei mir!), genauso wie bei Shak-otay's NPC's: altes Spiel laden und Judge ist da! (und bleibt auch nach Save&Reload da)
neues Spiel: Judge ist "unsichbar"(man kann hin"goto"en)...Ich habe die "Aktivierung" per "MoveTo" spontan nicht hinbekommen...(zugegeben, nicht mehr als 1 Versuch...)

EDIT2: MaterialSwitch-Werte: Folgende Beschreibung bezieht sich auf mein neues "G3_Myrtana_01_Kap_Dun_DG_lw_01.lrentdat"(siehe DG-PreRelease unten)


-Anpassen des Aussehens:
----(neue!) World-Hash GUID@00A1
--Main-Entity:
{----Ursprungstemplate angeben GUID@01CC (Tizgar)}
----(neue!) World-Hash GUID@01E4
{----ChangeTimeWert DWord@02FC (05030000)}
----Name ändern STE#006@0209: "BeatIt"
---in den SUB-CLASSen von gCInventory_PS die Template-GUIDs setzen
----gCInventoryStack:
-----Anzahl: int@0E48 (1)
-----Item: GUID@0EBA (It_Gold)
----Bart: Template: GUID@0F25 (Beard_Head_09_Myrtana_01_S06)
----Bart: Entity: GUID@0F46 (lw_S_1)
----Haare: Template: GUID@0FB0 (Hair_Head_07_Myrtana_01_S03)
----Haare: Entity: GUID@0FD1 (lw_S_2)
----Kopf: Template: GUID@101D ()
----Kopf: Entity: GUID@103E (lw_S_3)
----Körper: Template: GUID@108A (Body_Druid)
----Körper: Entity: GUID@10AB (lw_S_4)
---CLASS eCVisualAnimation_PS:
{----MaterialSwitch: int@1CF3 (0)}
---SUB-CLASSe von eCVisualAnimation_PS:
{----MaterialSwitch-Kopie: int@1CFF (0)}
----Slot_Head@1D0C(STE#199) auf: "G3_Head_Hero_Myrtana_03.fxa"
----MaterialSwitch-Kopie der Sub-Entity(Kopf): int@1D0E (0A)
----Head_Animated@1D15(STE#19A) auf: "G3_Head_Hero_Myrtana_Animated_03.fxa"
----MaterialSwitch-Kopie der Sub-Entity(Kopf): int@1D17 (0A)
----Slot_Body@1D20(STE#19C) auf: "G3_Hero_Body_Druid.fxa"
----MaterialSwitch-Kopie der Sub-Entity(Körper): int@1D22 (0)
----Bart-Entity: GUID@1D42 (lw_S_1)
----Haare-Entity: GUID@1DA3 (lw_S_2)
--SUB-ENTITIES:
---Bart:
----Template-GUID@1E25 (Beard_Head_09_Myrtana_01_S06)
----(neue!) World-Hash GUID@1E3D (lw_S_1)
----Name-STE#1A0@1E62 (Beard_Head_09_Myrtana_01_S06)
----ChangeTime gleichsetzten mit Template@1F55 (3A000000)
---CLASS eCVisualMeshDynamic_PS:
----ResourceString: STE#1A3@1F88 & @1F94 (G3_Animation_Head_Beard_Myrtana_09_01.xcmsh)
----MaterialSwitch: int@1FDE (06)
---CLASS gCInteraction_PS:
----Owner: GUID@22F4 (lw_W_8)
---Haare:
----Template-GUID@24C0 (Hair_Head_07_Myrtana_01_S03)
----(neue!) World-Hash GUID@24D8 (lw_S_2)
----Name-STE#1DC@24FD (Hair_Head_07_Myrtana_01_S03)
----ChangeTime gleichsetzten mit Template@25F0 (32000000)
---CLASS eCVisualMeshDynamic_PS:
----ResourceString: STE#1DD@2623 & @262F (G3_Animation_Head_Hair_Myrtana_07_01.xcmsh)
----MaterialSwitch: int@2679 (03)
---CLASS gCInteraction_PS:
----Owner: GUID@298F (lw_W_8)
---Kopf:
----Template-GUID@2B5B (Head_Hero_03_S10)
----(neue!) World-Hash GUID@2B73 (lw_S_3)
----Name-STE#1DE@2B98 (Head_Hero_03_S10)
----ChangeTime gleichsetzten mit Template@2C8B (23000000)
---CLASS gCInteraction_PS:
----Owner: GUID@2FA0 (lw_W_8)
---CLASS eCVisualAnimation_PS:
{----STE#199@308D - bereits geändert!(s.o.)}
{-----ehemals: STE#1DF@308D auf "G3_Head_Hero_Myrtana_03.FXA"}
{----STE#19A@3099 - bereits geändert!(s.o.)}
{-----ehemals: STE#1E0@3099 auf "G3_Head_Hero_Myrtana_Animated_03.FXA"}
----MaterialSwitch: int@32E1 (0A) (auch kopieren nach 1D0E & 1D17)
---SUB-CLASSe von eCVisualAnimation_PS:
{----STE#199@32EB - bereits geändert!(s.o.)}
----MaterialSwitch-Kopie: int@32ED (0A)
{----STE#19A@32F4 - bereits geändert!(s.o.)}
----MaterialSwitch-Kopie: int@32F6 (0A)
---Körper:
----Template-GUID@3339 (Body_Druid)
----(neue!) World-Hash GUID@3351 (lw_S_4)
----Name-STE#1E2@3376 (Body_Druid)
----ChangeTime gleichsetzten mit Template@3469 (B1080000)
---CLASS gCItem_PS:
----Texture-STE#1E3@34EC auf "IT_Armor_Druid.tga"
---CLASS gCInteraction_PS:
----Owner: GUID@37A6 (lw_W_8)
---CLASS eCVisualAnimation_PS:
{----STE#19C@3893 - bereits geändert!(s.o.)}
{-----ehemals: STE#1EA@3893 auf "G3_Hero_Body_Druid.FXA"}
----MaterialSwitch: int@3AE7 (0) (auch kopieren nach 1D22)
---SUB-CLASSe von eCVisualAnimation_PS:
{----STE#19C@3AF1 - bereits geändert!(s.o.)}
----MaterialSwitch-Kopie: int@3AF3 (0)

Shak-otay
30.03.2008, 16:15
...
zu 2) es funktioniert(bei mir!), genauso wie bei Shak-otay's NPC's: altes Spiel laden und Judge ist da! (und bleibt auch nach Save&Reload da)
neues Spiel: Judge ist "unsichbar"(man kann hin"goto"en)...Ich habe die "Aktivierung" per "MoveTo" spontan nicht hinbekommen...(zugegeben, nicht mehr als 1 Versuch...)

Hm, bei mit dem Duplicator v0.25 erstellten NPCs ist es genau umgekehrt: nach Laden eines alten Spiels ist der NPC (hier "Judge") unsichtbar und muss mit "MoveTo" sichtbar gemacht werden.
Bei einem neuen Spiel ist der NPC sofort sichtbar.

Grübel:dnuhr: (oder hast Du das evtl. verwechselt?)
Sonst wird die ganze Chose noch verwirrender als sie ohnehin schon ist.:D

Muss ich mir nochmal genauer angucken, was Du anders machst.

Deinen Vorschlag mit der Aufnahme der Head-/Body-GuIDs habe ich schon aufgegriffen; mehr template-Bezüge zu integrieren ist programmtechnisch ziemlich aufwändig; hab' wie gesagt schon mehr als 4000 Codezeilen.

Und es ist ja auch nicht so, dass uns G3-modder die Türen einrennen.:rolleyes::D

Gruß,
shak-otay

PS: Schönes Stück Arbeit, das Du da wieder hingelegt hast.:gratz

lichtwicht
20.04.2008, 04:24
...zum vorliegenden (Feedbackwunsch):
so sollte es funktionieren:
-egal ob mit alten SG, oder neuem Spiel!
-VOR Aktivierung der DG bei Seruk solltet ihr weder (goto )BeatIt(die neue Wache am Turm), die Magiekiste(goto lichtwicht_KD_Mage_Chest_01) nähe Friedhof, noch das Schwert auf dem Turm(goto It_2H_BeatItSword_01) sehen!!!
-durch die Aktivierung der DG bei Seruk("Aktiviere die Mission - Suche nach den fünf Artefakten (Xardas)") solltet ihr oben genanntes sehen!
-die Magiekiste sollte NUR mit dem Schlüssel, den ihr von BeatIt bekommt, geöffnet werden können!
-die Magiekiste hat IMMER den selben Inhalt:
+das MagiekistenItem "das gerade dran ist" (z.B. Nr.1 ist eine Feuerball-Spruchrolle)
+ein Katana
+eine Bauernrüstung
+den Druidenstein des Warans
(jetzt wisst ihr auch wo dieses temporäre TreasureSet herkommt ;-)
-bevor ihr Seruk nicht "Gut, du darfst passieren." und dann BeatIt nicht "Lass mich vorbei!" sagt, solltet ihr NICHT an ihm vorbeikommen! (~eingeschränkt~ das mit den Rüstungswerten funktioniert noch nicht 100%ig)
-!-interessieren würde mich vor allem jemand "Mutiges"!
-!-jemand, der den neuen Inhalt aktiviert und dann ein paar Stunden weiterspielt...ein paar Quests in anderen Städten machen uswusf. Eine Abklärung ungeahnter Folgeschäden wie z.B. dem InventarBlocker, den's mal beim QP gab...

Installation:
DL: lwDGPreR1.rar (alt, jetzt R2)
da gibt es 3 Dateien:
-Projects_compiled.p01: sicherheitshalber dabei, falls es jemand noch nicht hat...
-LW_INST1.BAT: dummes Batch zum eventuellen umbenennen der PAK's (z.B. für PB1.12 oder QP2)
-DGPreR1.exe: selbstentpackendes Rar-Archiv(angepasst für CP1.6)
--Inhalt: Data\Infos.p02; Data\Projects_compiled.p02; Data\Templates.p02; Ini\G3_World_01_local.wrldatasc

entweder ihr benennt die PAK's aus dem Archiv selber um und macht euch 'ne Sicherheitskopie von Ini\G3_World_01_local.wrldatasc
oder ihr gebt meinem schlechten Batch 'ne Chance: LW_INST1.BAT und DGPreR1.exe ins G3-Verzeichnis kopieren und beim Aufruf des Batch den Pfad zum G3-Verzeichnis mitangeben...
(wenn das so weitergeht, frage ich das nächste Mal NicoDE ob ich seine G3Pak&Dir benutzten kann um 'ne Strings.pak zu machen...)


bytheway@Shak-otay: du tust schon gut daran die neuen NPC's (vorerst) "nur" mit Körper und Kopf zu definieren! Das zusammensuchen von den Teilen(Haare, Bart und Kopf müssen zueinander passen!) ist echt Zeitaufwendig! falls es interessiert, angehängt mal ein Beispiel wie es nicht passt...§ugly

Teil-TechDoku:

WICHTIGSTE Änderung:
der (neue) Eintrag in der "Ini/G3_World_01_local.wrldatasc":
G3_Myrtana_01_Kap_Dun_DG_lw_01=false
("false" bedeutet, daß das Verzeichnis noch nicht aktiviert, ABER VORHANDEN ist!)
! es ist übrigens egal ob die Entities in der .lrentdat "Enabled" sind oder nicht! Wenn hier ein "false" steht sind sie erstmal NICHT da !

GUID's:
G3_Myrtana_01_Kap_Dun_Dynamic_Objects_01_SHyb.node
lichtwicht_W_000006 (FP_lw_KD_Boss_01)
6C 69 63 68 74 77 69 63 68 74 5F 57 5F 00 00 06 00 00 00 00


G3_Myrtana_01_Kap_Dun_NPC_perm.lrentdat
0:lichtwicht_T 00 _0003
00 00 00 00 6C 69 63 68 74 77 69 63 68 74 5F 54 00 5F 00 03
lichtwicht_W_000007 (Root)
6C 69 63 68 74 77 69 63 68 74 5F 57 5F 00 00 07 00 00 00 00

lichtwicht_W_000008 (MEnt1(BeatIt))
6C 69 63 68 74 77 69 63 68 74 5F 57 5F 00 00 08 00 00 00 00
lichtwicht_S_000001 (SEnt1(Bart) für MEnt1)
6C 69 63 68 74 77 69 63 68 74 5F 53 5F 00 00 01 00 00 00 00
lichtwicht_S_000002 (SEnt2(Haare) für MEnt1)
6C 69 63 68 74 77 69 63 68 74 5F 53 5F 00 00 02 00 00 00 00
lichtwicht_S_000003 (SEnt3(Kopf) für MEnt1)
6C 69 63 68 74 77 69 63 68 74 5F 53 5F 00 00 03 00 00 00 00
lichtwicht_S_000004 (SEnt4(Körper) für MEnt1)
6C 69 63 68 74 77 69 63 68 74 5F 53 5F 00 00 04 00 00 00 00

lichtwicht_W_000009 (MEnt2(lichtwicht_KD_Mage_Chest_01))
6C 69 63 68 74 77 69 63 68 74 5F 57 5F 00 00 09 00 00 00 00

lichtwicht_W_000010 (MEnt3(It_2H_BeatItSword_01))
6C 69 63 68 74 77 69 63 68 74 5F 57 5F 00 00 0A 00 00 00 00


Keys_Story_It_Key_BeatIt.tple
lichtwicht_I_000004
lichtwicht_R_000004
6C 69 63 68 74 77 69 63 68 74 5F 52 5F 00 00 04 00 00 00 00
Keys_Story.lrtpldatasc
{6863696c-7774-6369-6874-5f495f000004}:0=Keys_Story_It_Key_BeatIt.tple


Plunder_Chest_TS_Treasure_lw_01.tple
lichtwicht_I_000005
lichtwicht_R_000005
6C 69 63 68 74 77 69 63 68 74 5F 52 5F 00 00 05 00 00 00 00
Plunder_Chest.lrtpldatasc
{6863696c-7774-6369-6874-5f495f000005}:0=Plunder_Chest_TS_Treasure_lw_01.tple


_Weapons_2H_World_It_2H_BeatItSword_01.tple
lichtwicht_I_000006
lichtwicht_R_000006
6C 69 63 68 74 77 69 63 68 74 5F 52 5F 00 00 06 00 00 00 00
_Weapons_2H_World.lrtpldatasc
{6863696c-7774-6369-6874-5f495f000006}:0=_Weapons_2H_World_It_2H_BeatItSword_01.tple
(eventueller) zukünftiger Plan: Die Diebesgilde Myrtana's!..
Cool fände ich Quests in jeder Stadt/Rebellenlager Myrtana's, die sich bestenfalls aufeinander beziehen!
Vielleicht könnte man sogar einen Teil des wohl einmal geplanten Beruf-Systems nutzen?
Allerdings habe ich sicher nicht vor alle Quests selber zu schreiben!
Ich würde mich über Freiwillige freuen, die eine Stadt/Rebellenlager "übernehmen"(also vorallem die Info-Quest-Stringtable-Skripterei...ggf. mit technischer Hilfestellung von mir)

EDIT:
DL: lwDGPreR2.7z
Der Inhalt der "MOD" ist derselbe!
Ich habe lediglich mein MOD-Installer-Batch verbessert.
(z.B. kreiere ich ein UnInstall-Batch)

Anwenden des Batch:
-kopiere das Batch und das selbstentpackende Archiv(den Inhalt des Downloads) in das Gothic3-Verzeichnis
-halte im Gothic3-Verzeichnis die Tools von NicoDe bereit: G3Pak.exe und G3PakDir.exe sowie die Lizenztexte dazu: G3Pak.txt und G3PakDir.txt
zu finden z.B. hier (http://forum.worldofplayers.de/forum/showthread.php?t=237474)
-ausführen des Batch (Angabe des Pfades nicht mehr nötig (dank Debug-Abuse;-))

Im Gothic3-Verzeichnis gibt's danach mein Log-File "lichtwichtsfiles.txt" und das UnInstall-Batch "LW_DEL_1.BAT", welches die genannten Änderungen rückgängig macht.

Shak-otay
20.04.2008, 23:00
falls es interessiert,...
loggisch:)

angehängt mal ein Beispiel wie es nicht passt...
Ähm, nicht versteh'. Die FireClan-lrentdat unterscheidet sich zwar in 123 B. von Deiner "mod-lrentdat", aber BeatIt sah eigentlich bei beiden gleich aus (Bart, Haar,Head,Body).:dnuhr:

Zur mod selbst:
alles perfekt nach Missions-Aktivierung, auch nach SG-reload und mit altem SG.

Allerdings habe ich auch noch nie jemanden dermassen mit GuIDs um sich schmeißen sehen.:rolleyes::)
Du machst das immer noch alles händisch, eh?:D

Werd' bei nächster Gelegenheit mit dem SG weiterspielen.
---------------------------------------------------------------


(eventueller) zukünftiger Plan: Die Diebesgilde Myrtana's!..

Super Idee. Eigentlich wollte ich was mit den 24 Banditen vor Montera machen oder mit rivalisierenden Goblinstämmen (Goblins mit Untertiteln, logischerweis), aber "Diebesgilde" ist viel cooler. Ich denk' mal drüber nach. Diebes-PAL = none (?)

lichtwicht
21.04.2008, 15:41
Ähm, nicht versteh'. Die FireClan-lrentdat unterscheidet sich zwar in 123 B. von Deiner "mod-lrentdat", aber BeatIt sah eigentlich bei beiden gleich aus (Bart, Haar,Head,Body).:dnuhr:
tja, der Teufel liegt im Detail!
wenn du genau hinsiehst, fällt dir auf, daß der Bart etwas im Gesicht verschwunden, und die Haare zu tief sitzen, das bedeutet BeatIt hat eine "Tonsur"...
btw, die 123b sind wahrscheinlich der InventoryStack, den ich dann später eingefügt habe(1xGold)

Allerdings habe ich auch noch nie jemanden dermassen mit GuIDs um sich schmeißen sehen.:rolleyes::)
Du machst das immer noch alles händisch, eh?:D
ja! leider alles immer noch mittels HexEditor...aber diese lrentdat habe ich so angelegt, daß ich sie recht einfach wiederverwenden kann...(siehe auch Beschreibung oben...)
und naja soviele GUID's müssen halt' leider sein!..:(

Diebes-PAL = none (?)
damit BeatIt nicht sofort von irgendwelchen Leuten angegriffen wird muß seine PAL "none" sein.
("Slave" würde auch funktionieren...aber das muß ja glücklicherweise nicht sein!)
(wäre sie "Orc" würde er von den Rebellen nach einer KapDun-Revolution angegriffen...und bei "Reb" vorher von den Orks)
man könnte auch mal mit "Out"(law) rumprobieren und einen NPC in ein Banditennest stellen...

lichtwicht
01.05.2008, 22:43
WaranStone MOD v1.1

neue 2te Bedingung: mit Will zum Waran gehen...

zum aktivieren des "neuen" Inhalts des Warans mit Verstopfung muß ein neues Spiel gestartet werden.
Die Quest startet "normalerweise" bei Porgan. (sollte aber auch auf jede andere denkbare Art gestartet (und beendet) werden können!)

DL: lwWSTONE11.7z
dabei kommt mein neues MOD-Installer-Batch zum Einsatz.

Anwenden des Batch:
-kopiere das Batch und das selbstentpackende Archiv(den Inhalt des Downloads) in das Gothic3-Verzeichnis
-halte im Gothic3-Verzeichnis die Tools von NicoDe bereit: G3Pak.exe und G3PakDir.exe sowie die Lizenztexte dazu: G3Pak.txt und G3PakDir.txt
zu finden z.B. hier (http://forum.worldofplayers.de/forum/showthread.php?t=237474)
-ausführen des Batch (Doppelklicken;-)

Im Gothic3-Verzeichnis gibt's danach mein Log-File "lichtwichtsfiles.txt" und das UnInstall-Batch "LW_DEL_2.BAT", welches die genannten Änderungen rückgängig macht.

lichtwicht
12.02.2009, 19:11
der Vollständigkeit halber ein paar Links:
Ein paar Spielereien mit dem "Schattenzepter"-Template (http://forum.worldofplayers.de/forum/showthread.php?t=356640)
Hier entsteht die "Zugang nach Ishtar"-MOD (http://forum.worldofplayers.de/forum/showthread.php?t=411357)
Hier habe ich mal versucht ein Tutorial, mithilfe General Martok's G3-Editor, zur G3-Questerstellung zu schreiben (http://forum.worldofplayers.de/forum/showthread.php?t=542682)

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

[relaunch] WStone v1.3

Ich habe meine erste wirkliche MOD "Druidenstein des Warans" nun unabhängig von vorhandenen Dateien gemacht! (Projects_compiled und Templates)
(in einer "recht frühen" Version fand diese MOD Einzug in Humanforce's QuestPacket(2.0)
ich hoffe mit diesem MOD-relaunch alles "überschrieben" zu haben, soll heißen, ist "kompatibel")
-Nachteil: wenn man mit HF's QP2.0 ein neues Spiel angefangen hat, bekommt man die "3 Gegenstände" "doppelt"!

logischerweise gibt es Probleme, wenn man Teile der MOD schon, vor dem installieren dieser hier, "angespielt" hat !!!
->Vorraussetzung also: noch nicht mit Porgan über den Druidenstein geredet haben!

(weiterer "Nachteil": man muß für diese MOD KEIN Neues Spiel mehr beginnen!
(Problem für mich: ich weiß nicht zwingend was ihr mit Will gemacht habt!(Quadir!)
ich ~denke~, ich habe alle Möglichkeiten "gefangen", aber das Thema ist recht komplex!
->Feedback falls etwas nicht so funktioniert wie man es sich vorstellen könnte, wäre überaus willkommen...))


Ansonsten: Installation mittels Shak-otay's ModStarter (&noch: Eintrag in "G3_World_01_local.wrldatasc" -> ADD_INST.BAT...(siehe ReadMe's))

hav phun, lichtwicht

lichtwicht
20.05.2009, 00:45
hoi, mein erster NPC jetzt auch für CP1.7...
zuallererst der unvermeidliche Warnhinweis/"Haftungsausschluß"
Natuerlich kann ich fuer nichts garantieren...Ob's funktioniert, die Festplatte zerstoert, SaveGames unspielbar macht oder vermehrt zu "Guru"'s fuehrt...
...Benutzung AUF EIGENE GEFAHR!
Download im Anhang (WannaDance1-7.7z)
Installation mit Shak-otay's MOD-Starter(0.57a) (oder "per Hand")
Bekanntes mögliches Problem: die Position des Dance-FP ist etwas unglücklich gewählt...könnte mit dem Lagerfeuerzugang kollidieren(?)
Offensichtlich kann man aber auch während sie tanzt Fleisch bruzeln...
(sorry, aber gerade die Positions-Bestimmung(inkl. 300+/-) macht mir noch sehr viel (Hand-)Arbeit...deshalb habe ich einfach die alten Positionen kopiert!)



zuerst: (nochmal! schonmal so oder so ähnlich von Shak geschrieben)
Änderungen an Weltdateien(und Templates) durch CP 1.7

als Vergleichsdatei habe ich Tizgar genommen: \Projects_compiled\G3_World_01\Varant\Bakaresh_City\G3_Varant_01_Bakaresh_NPC_01 \G3_Varant_01_Bakaresh_NPC_01.lrentdat
als Ausgangsdatei für meine neue "Father-lrentdat" diente \Projects_compiled\G3_World_01\Varant\Ishtar_Outdoor\Surus_Killer\Surus_Killer.l rentdat

lrentdat-root-(und alle anderen lrentdat-)header:
-keine Änderungen festgestellt
NPC-Main-Entity:
CLASS 4 (gCCharacterMovement_PS)
neue Eigenschaft: "TreatWaterAsSolid"("bool")(hier false)
(als neue letzte Eigenschaft)
CLASS 5 (gCNPC_PS)
neue Eigenschaft: "LastHitTimestamp"("long")(hier 0)
(als neue 17. Eigenschaft(zwischen "LastFightAgainstPlayer" und "LastFightTimestamp"))
bei den "Sub"-Entities habe ich auch nichts weiter groß festgestellt...

die \Templates\Navigation\Navigation\Navigation_Anchor_Local.tple wurde in das "Format mit StringTable am Ende der Datei" gebracht!(cool!)
kleiner Nebeneffekt: der "Change Time"-Wert änderte sich von 0x00000000 auf 0x02000000
dasselbe bei Nav_Freepoints_Boss.tple - "Change Time"-Wert nicht geändert (0x0C000000)
und Nav_Freepoints_Dance.tple - "Change Time"-Wert nicht geändert (0x0C000000)

es ist anzunehmen, daß auch alle anderen FP's ins "bessere Format" gebracht wurden, seht euch also die (ggf. neuen) ChangeTimeWerte an.
btw.
ich habe mir jetzt nicht alle Templates angesehen, aber was ich gesehen habe, hatte diesselben GUID's !!! Very nice!!!
(so rein von meinem Verständnis einer GUID wäre Datum/Zeit ein Teil davon...)
Auch die Change-Time-Werte scheinen (größtenteils, siehe z.B. Ausnahme oben) übernommen worden zu sein!
Ich denke das CPT hat absichtlich "die alten" GUID's kompilieren lassen("abwärtskompatibilität") !
Kann natürlich sein, daß man dafür "nur einen Schalter drücken mußte"...(obwohl ich persönlich schätzen würde, daß es nicht ganz so einfach war)...drandenken hat man halt müssen...jedenfalls Danke@CPT!

folgend (traditionell;-) ein Erklärbär:

angehängt meine "father-lrentdat" für CP1.7 (father-for-4.7z - nur die lrentdat...btw. wird exakt so Teil der ZNI werden)
--- Achtung, wenn die lrentdat auch bei mir vorzüglich zu funktionieren scheint
muß gesagt sein, daß ich etliche Sachen vereinfacht("genullt") habe!
Benutzung auf eigene Gefahr!

Diese Datei ist für einen NPC mit Bart, Haaren, Kopf und Körper ausgelegt...die WannaDance braucht aber keinen Bart!-)
Also wird die Bart-Entity entfernt, dazu nur ein paar Stichworte...ihr könnt bei Wunsch ja die WannaDance-lrentdat nehmen...
-löschen der Bart-Entity / -löschen des Bart-gCInventorySlot(dafür eine 010000 einfügen und die Size des gCInventory_PS anpassen) / -löschen des Bart-Eintrags in der MaterialSwitch-Definition und anpassen der Size des eCVisualAnimation_PS / -löschen eines Eintrags und anpassen der Anderen im "Define Sub-Entities (to Master-Entities)"(direkt vorm DeadBeef) / -anpassen der 2 DeadBeef-Pointer und EntityCounter ein erniedrigen(RootEntity) / Fertsch;-)

Sooo, jetzt haben wir eine Ausgangsdatei(Vater)! Nun die Schritte zur Anpassungen um einen neuen NPC mit neuem FP zu erstellen:
-da ich mir (vorher) die Arbeit gemacht habe alle Einträge in der Textliste zussammenzustellen, passen wir die als erstes an! (bringt gleich etwas Übersicht in die lrentdat)
-die folgende Liste sagt die StringTableEntry-Nummer(in hex) und den neuen Eintrag beginnend mit 1EF(an 0x60F5) für den NPC-Namen:
1EF WannaDance
1F1 Start
1F2 Tanze
1F4 Hum_Female_Nice
1F6 Tanz, Weib, tanz!
1FA TS_Plunder_Slave
1FB
1FC
1FD
1FE
(200 G3_Hero_Skeleton.FXA)
201 G3_Head_Hero_Babe_01.FXA
202 G3_Head_Hero_Babe_Animated_01.FXA
203 G3_Hero_Body_Babe_Myrtana_02.FXA
209 Hair_Head_01_Woman_05_S00
20A G3_Animation_Head_Hair_Woman_01_05.xcmsh
20C Head_Hero_Babe_01
20E Body_Babe_Myrtana_Slave
22C WD_Anchor_Local_VO_LW_06
22D WD_FP_Dance_VO_LW_06
tja, das war einfach...jetzt zu dem GUID, Position, ChangeTime & MatSwitch-Raffel: (hex-Adresse am Anfang)
(003B T-GUID)
00A1 (neue) RootEntity-World-GUID
01CC TemplateRefHash (aus Mercenaries_Merc_Babe_Slave_01.tple)
01E4 W-GUID (für WannaDance)
xyz-Position des NPCs an:
023B
027B
02D7
02E7
048A
Drehrichtung des NPC an: 020B-023A und 024B-027A
+/- 300 xyz-Positionen an: 028B-02A2 und 02BB-02D2
02FC ChangeTime-Wert (vom Mercenaries_Merc_Babe_Slave_01.tple)
Navigation-Routinen:
-1. Routine("Start") (das ist der Sit_Campfire von Chris) GUID an:
0345
0363
0381
03B0
03E7
041E
-2. (alternative) Routine("Tanze") (das ist der neue FP dieser Datei)
03C4
03FB
0432
(0B4C Level)
(0B5A LevelMax)
0B6A Gender
0B8A Political Alignment
(0B9A (NPC-)Class)
(0BD8 AttitudeToPlayer)
(0EA6 gCInventoryStack (TemplateRefHash))
GUIDs: gCInventorySlot & MatSwitchDef & Sub-Entities
Haare:
TemplateRefHash:
0F32
1D46
(neue) World-GUID:
0F53
1CC4
1D5E
Kopf:
TemplateRefHash:
0F9F
23E1
(neue) World-GUID:
0FC0
23F9
Körper:
TemplateRefHash:
100C
2BBF
(neue) World-GUID:
102D
2BD7
MaterialSwitch für/von Main-Entity
1C75
1C81
MaterialSwitch für/von Kopf-Entity
1C90
1C99
2B67
2B73
2B7C
MaterialSwitch für/von Körper-Entity
1CA4
3359
3365
1E76 ChangeTime-Wert (vom HumanBodyParts_FacialStuff_Hair_Head_01_Woman_05_S00.tple)
1EFF MaterialSwitch für/von Haare
Zuordnung der Sub-Entities zur Main(NPC)-Entity - Owner: W-GUID
2215
2826
3018
2511 ChangeTime-Wert (vom HumanBodyParts_Head_Hero_Babe_01.tple)
2CEF ChangeTime-Wert (vom HumanBodyParts_Body_Body_Babe_Myrtana_Slave.tple)
(2DCA Robe(bool)
(2F96 ActivateSkill1(TemplateRefHash) hier ImmuneToPoison)
Das war der NPC, jetzt zum FP (die 2 STEs sind bereits erledigt)
33C1 und 382F (neue) S-GUID für Anchor_Local
xyz-Position des FPs an:
3418
3458
34B4
34C4
36D1
376D
377D
Drehrichtung des FP an: 33E8-3417 und 3428-3457 sowie 36A1-36D0
+/- 300 xyz-Positionen an: 3468-347F und 3498-34AF sowie 3721-3738 und 3751-3768
(neue) FP-W-GUID an: 3645 und 367A
3662 TemplateRefHash (aus Nav_Freepoints_Dance.tple)
3792 ChangeTime-Wert (vom Nav_Freepoints_Dance.tple)
3812 UseType (hier Dance=4D) (muß natürlich mit dem referenzierten Template übereinstimmen)
jetzt kommt eine kleine Anmerkung zum Ursprungstemplate und die "Tech-Doku"(GUIDs und anderer Zahlenraffel)

was mir damals schon einiges an Kopfzerbrechen machte, habe ich nun experimentell nachgewiesen...
das Ursprungstemplate(Mercenaries_Merc_Babe_Slave_01.tple) hat einen Fehler!
im NPC_PS gibt es die Eigenschaft "Bearing" das wird hier auf "Babe" gestellt, wie man meinen sollte, daß richtig wäre...ist es aber nicht!
Bearing muß auf "None" stehen, sonst "krault sie über den Boden" anstatt zu laufen.

GUIDs (nur in ASC):
0:lichtwicht_T 00 _000F
lichtwicht_W_000022 (...0016) (RootEntity)
lichtwicht_W_000023 (WannaDance)
lichtwicht_S_000021 (SEnt1(Haare) für WannaDance)
lichtwicht_S_000022 (SEnt2(Kopf) für WannaDance)
lichtwicht_S_000023 (SEnt3(Körper) für WannaDance)
lichtwicht_S_000024 (WD_Anchor_Local_VO_LW_06 für FP)
lichtwicht_W_000024 (WD_FP_Dance_VO_LW_06)

die MOD verwendet den Projects_compiled-Ordner "G3_Myrtana_01_Outdoor_Vangard_NPC_Perm"
(mein alter Zufallstreffer von der Ursprungsmod...wenn andere MODs(oder ein neuer Patch) denselben Ordner verwenden sollten, gibt's natürlich Probleme!
Vorteil: ich brauche keinen neuen Eintrag in der "G3_World_01.wrldatasc"!)

benutzte Info-ID's: 9924, 9926, 9927