Beispiel: Habe jetzt einen Arenakampf mit Gelford in Reddock gemoddet! Der funktioniert
mit allem super. Nur mein PC Hero ist zu schwach um Gelford endgültig zu besiegen.
Diesen Sieg über Gelford wollte ich aber auch überprüfen. Natürlich, ich möchte bei allen neuen
Quests nicht immer die vorherigen alten Quests durchspielen.
Frage: Gibt es eine Möglichkeit diese mit Modden als "bestanden abzuhaken?" So das der
PC Hero direkt "anschließend" "zu Gelford gehen kann" ???
Es gibt das Info Kommando SucceedQuest um eine Quest erfolgreich in einem Gespräch zu beenden.
Alternativ kannst du dir auch Stärke und Leben in der Konsole ercheaten so das du Gelford überlegen bist.
Aktiviere dazu den TestMode. Mit ^ öffnest du die Konsole. Mit "teach STR 500" bekommt dein Held 500 Stärke.
Frage: Wie kann ich den "Rückmarsch" verhindern ???
Du musst dem NPC mit dem Kommando SetRoutine eine neue Routine ausführen lassen.
Schau dir das einfach mal bei Kliff an: BPANKRATZ31233
Da wird auch noch das Kommando SetSlaveryEnabled ausgeführt, damit die Option "Komm mit." wieder verschwindet.
Um einem NPC neue Routinen zuzuweisen musst du die Weltdaten modifizieren.
Das ist mit g3dit auch nicht so schwer.
Aber ein wenig musst du dich damit beschäftigen, um es zu lernen.
Mit Strg+E kannst du innerhalb der Weltdaten nach diversen Dingen suchen.
Am einfachsten ist es, wenn du alle Gothic3 Data entpackst und z.B. in einem Verzeichnis Gothic3DataOriginal speicherst.
Dieses gibst du als sekundäres Verzeichnis in den g3dit Einstellungen an. Ich nutze als kurzen Alias G3.
Im Primären Verzeichnis wählst du ein Verzeichnis aus, in dem deine modifizierten Dateien gespeichert werden sollen.
Für das CSP nutze ich als Alias CSP. Du kannst da etwas für dich passendes auswählen.
PS:
Noch ein wichtiger Hinweis:
Alle Daten eines NPC werden im SaveGame gespeichert.
Falls du Änderungen an einem NPC vornimmst und einen alten Spielstand lädts, dann werden diese Änderungen nicht übernommen.
Du musst dazu ein neues Spiel beginnen.
1. habe jetzt auch g3dit
2. habe über die Irentdat den NPCs in Reddock City neue Positionen für ihre Tagesabläufe gegeben.
3. D.h. für die drei Tageszeiten die Tätigkeiten anderer NPCs kopiert.
Also: Der BBQ Grill ist jetzt 24h besetzt, Gelford und Javier hauen sich auch mal ein paar Stunden aufs Ohr ...
4. Das funktioniert.
5. Wollte für Joey komplett neue Positionsangaben berechnen und stellte fest, ich muss da einen
Groben Denkfehler machen
5. Wollte für Joey komplett neue Positionsangaben berechnen und stellte fest, ich muss da einen
Groben Denkfehler machen
6. Siehe den kleinen Attache File!
Ich hoffe, ihr könnt mir da weiterhelfen!
In den Tagesabläufen steht eine GUID (diese Hex-Werte) drin.
In der GUID ist keine Position verschlüsselt.
Kopiere die GUID in die Zwischenablage, drücke Strg+E und lasse nach dieser GUID suchen.
Mit Doppelklick kannst du das zur GUID gefundene Objekt öffnen.
In der Datei klonst du was du benötigst, z.B. ein Sit_Ground. Dort trägst du deine neue Position ein.
Für das geklonte Objekt würfelt g3dit eine neue GUID aus, diese musst du bei Joey in die Navigation eintragen. [Bild: attachment.php?s=013bb07250c976e060d219275a62df77&attachmentid=49575&d=1599976266&thumb=1]
Wieder einmal herzlichen Dank, MadFaTal, für deine schnelle und gute Antwort!
es funktioniert!
Der gute Joey hat jetzt drei neue Tagesabläufe an drei neuen, von mir über Marvin ermittelten Orten.
Daraus ergibt sich leider sofort eine neue Frage:
Diese Art der neuen Positionen wird von Joey nur innerhalb der Höhle von Reddock anerkannt.
(Ist die neue Position neben Brenton und Gelford, hat Joey bereits keine Lust und setzt sich neben Norris ans Lagerfeuer)
Meine Frage zielt darauf ab: Ich würde Joey gerne nach Chris oder Jack bringen, also einmal zu den Steinkreisen
oder einmal zu dem Leuchtturmwärter.
Was muss ich tun, um auch diese neue Positionen für Joey hinzubekommen ?
Diese Art der neuen Positionen wird von Joey nur innerhalb der Höhle von Reddock anerkannt.
(Ist die neue Position neben Brenton und Gelford, hat Joey bereits keine Lust und setzt sich neben Norris ans Lagerfeuer)
Meine Frage zielt darauf ab: Ich würde Joey gerne nach Chris oder Jack bringen, also einmal zu den Steinkreisen
oder einmal zu dem Leuchtturmwärter.
Was muss ich tun, um auch diese neue Positionen für Joey hinzubekommen ?
Wenn du im Marvin Mode Strg+N drückst, dann visualisiert dir Gothic3 einiges von der Navigation.
Du siehst dann grün umrandete Navigationszonen (NavZone) innerhalb derer sich NPC bewegen können.
Blaue bzw. gelbe NavPath verbinden verschiedene NavZone miteinander.
Du müsstest auch gelbe Kreise (InteractionPoint) sehen.
Solch InteractionPoint hast du schon erfolgreich in die Navigation-Routine von Joey eingetragen.
George aus unserem CSP Team hat hier viel analysiert. Ich gebe hier eine Kurzfassung wieder, so das du etwas Hintergrund Wissen dazu erhälts:
Der beim NPC als Routine eingetragene InteractionPoint in der Navigation ist nicht absolut. Gothic3 sucht auch in der nahen Umgebung nach ähnlichen InteractionPoints und nutzt diese für den NPC. Die Suche nach ähnlichen InteractionPoint wird ab und an erneut durchgeführt und veranlasst den NPC die Position zu ändern. Dadurch sieht das Spiel lebendiger aus.
Du hast z.B. an einer Hauswand 3 RepairHut InteractionPoint nebeneinander und stellst noch ein Wasserfass in die Nähe. Trägst du einen der RepairHut InteractionPoint als Routine in die Navigation des NPC, dann wechselt der NPC automatisch zwischen den 3 RepairHut Punkten und erfrischt sich ab und an auch am Wasserfass.
Es ist möglich das die Engine sehr nahe beieinander liegende InteractionPoint nicht zeitgleich von zwei NPC nutzen lässt.
InteractionPoint müssen innerhalb der grün umrandeten NavZone liegen. Nur dann können NPC diese nutzen.
Um Joey zum Steinkreis oder zu Jack zu bringen und dort zu lassen musst du für Joey zwei neue Routinen ergänzen und dort InteractionPoint beim Steinkreis oder bei Jack eintragen.
Die Routinen musst du per Info-Skript Kommando SetRoutine setzen. Z.B. im Zusammenhang mit einer Quest (Follow-NPC oder Bring-NPC).
Sofern die NavZone per NavPath verbunden sind sollten sich NPC auch innerhalb einer Routine zwischen InteractionPoint in verschiedenen NavZone bewegen können.
Der PC Hero kann wählen, ob er Joey zum Leuchtturm oder zu den Steinkreisen bringt.
Der eine Quest finished automatisch den anderen.
Zum Schluß hört der PC Hero wie Jack Xardas nach Myrtana geschifft hat,
oder von Chris, das Xardas der Entstehung der Barriere zugeschaut hat.
Es funktioniert, Joey legt sich am Lagerfeuer schlafen oder sitzt mit Jack oder Chris zusammen am Feuer usw.
Es stimmt, Joey "interagiert" mit den Positionen von Chris oder Jack.
Frage: Wo muss ich suchen um diese NPCs zu finden?
Sehr viele NPC sind in der SysDyn_...
Warum verwendest du nicht die Entity Suche von g3dit? Shortcut: Strg+E und dann nach dem Namen wie Hamlar suchen lassen.
Du musst dabei alle originalen Dateien aus Projects_compiled dekomprimiert in einem Verzeichnis vorliegen haben und dieses Verzeichnis unter Einstellungen als sekundäres auswählen.
Wollte meinen Angriff von Reddock auf KapDun vorbereiten. Die "Sprach-npc"s wie Copper, Norris und Javier ...
stellen sich auch in die von mir in g3dit vorgegeben Positionen. (Sieben an der Zahl, sieht echt gut aus.)
Leider gehorchen mir die anderen nicht (bis auf ZZ_RebNovice_R_02).
Also RebWarrior_01, RebNovice_03 usw. verfolgen weiter ungestört ihren Tagesablauf.
Frage: Wie kann ich diese Sorte von NPCs "freischalten?"
Ich hoffe, MadFaTal, du hast noch Geduld und kannst mir da weiterhelfen!
Wollte meinen Angriff von Reddock auf KapDun vorbereiten. Die "Sprach-npc"s wie Copper, Norris und Javier ...
stellen sich auch in die von mir in g3dit vorgegeben Positionen. (Sieben an der Zahl, sieht echt gut aus.)
Leider gehorchen mir die anderen nicht (bis auf ZZ_RebNovice_R_02).
Also RebWarrior_01, RebNovice_03 usw. verfolgen weiter ungestört ihren Tagesablauf.
Frage: Wie kann ich diese Sorte von NPCs "freischalten?"
Ich hoffe, MadFaTal, du hast noch Geduld und kannst mir da weiterhelfen!
Wie von dir vermuetet, sind die "Sprach-NPC" eindeutig in der Welt. D.h. ein Befehl im INFO Skript bewirkt genau eine Änderung an diesem eindeutigen NPC.
"RebWarrior_01" dagegen ist nicht eindeutig und wird mehrmals in der Spielwelt von Gothic3 genutzt, z.B. in Reddock, aber auch in Faring oder Geldern.
Meine Suche per Strg+E in g3dit nach "RebWarrior_01" ergibt 14 Funde.
Wenn du "RebWarrior_01" in einem Skript angibst, dann sucht Gothic3 danach und bricht nach dem ersten Auffinden ab.
Falls dieser erste Fund nicht deinem gewünschten NPC in Reddock entspricht, dann versucht Gothic3 deinen INFO Skript Befehl auf einen anderen NPC in der Welt anzuwenden.
Das funktioniert natürlich nicht, da du diesem anderen NPC keine Routine für den Angriff auf KapDun hinzugefügt hast.
D.h. du musst alle NPC, welche du individuell per Skript steuern willst Spiel-intern einen eindeutigen Namen geben.
Im CSP haben wir z.B. allen NPC aus Reddock den Prefix Reddock verpasst und gleichnamige NPC durchnummeriert.
In Reddock gibt es z.B. zwei mal "RebNovice_02". Im CSP haben wir diese umbenannt:
- Reddock_RebNovice_02a
- Reddock_RebNovice_02b
Damit können wir im CSP diese einzeln per Skript steuern.
Du musst nach dem Umbenennen auch Fokusnamen in der Stringtable.ini bereitstellen, da sonst kein Name über diesem umbenannten NPC sichtbar ist.
Das ist leicht per copy and paste in der stringtable.ini erledigt:
FO_RebNovice_02=Rebel;;Ribelle;;Rebelle;;Rebell;;Rebelde;;Rebel;;Lázadó;;Buntown ik;;Повстанец;;反抗軍;
FO_Reddock_RebNovice_02a=Rebel;;Ribelle;;Rebelle;;Rebell;;Rebelde;;Rebel;;Lázadó ;;Buntownik;;Повстанец;;反抗軍;
FO_Reddock_RebNovice_02b=Rebel;;Ribelle;;Rebelle;;Rebell;;Rebelde;;Rebel;;Lázadó ;;Buntownik;;Повстанец;;反抗軍;
Sofern du keine Kompatibilität mit vorhandenen Modifikationen anstrebst kann du bei den internen NPC Namen frei entscheiden.
Du kannst stattdessen auch folgendes nutzen:
FO_Reddock_01=Rebel;;Ribelle;;Rebelle;;Rebell;;Rebelde;;Rebel;;Lázadó;;Buntownik ;;Повстанец;;反抗軍;
FO_Reddock_02=Rebel;;Ribelle;;Rebelle;;Rebell;;Rebelde;;Rebel;;Lázadó;;Buntownik ;;Повстанец;;反抗軍;
Du musst am Ende den Überblick über deine Modifikation behalten.
PS:
Und mache dir keine Sorgen, wegen deinen Fragen.
Ich freue mich, das du dich so intensiv mit den Modifikationen an Gothic3 beschäftigst und werde dir auch weiterhin so gut es geht weiterhelfen.
Technische Frage: Ist es möglich, Bücherregale, Lagerfeuer, etc ... aufzustellen?
Was für ein Hilfsprogramm (g3dit?) können wir nehmen?
Kein Problem mit g3dit. Am besten geht es mit der g3dit Remote Steuerung und Gothic3 im Fenstermodus (ge3.ini (Fullscreen=false)).
Wir haben im CSP Adventskalender kurz die Tools vorgestellt.
Dort findest du auch ein Bild, wie g3dit zusammen mit Gothic3 auf einem Bildschirm aussieht.