|
-
Hilfe beim ändern von Objects_Interacts_G3_Object _Interact_Bookstand_01.tple
Hallo zusammen,
ich brauche mal wieder Hilfe.
Es geht um das Template Objects_Interacts_G3_Object_Interact_Bookstand_01.tple
Könnte einer, der sich damit gut auskennt mir das so verändern, dass ich mit ihm einen Dialog führen kann. Im moment sagt der held wenn er es anklickt ja nur, dass er das schon kennt. Man kann keine Infodaten ausführen, wie es mit normalen NPCs möglich ist. hatte irgendwo gelesen, dass man da in der template den GC_Dialog_PS reinschrieben muss, damit das geht
Ich habe da nämlich vor, das tauschhandelmäßig so zu gestalten, dass man wenn man nötige Zutaten hat, eine Auswahloption zu haben, um entsprechende Spruchrollen zu erhlaten, wenn man die Zutaten "abgibt."
Vielen Dank für die Unterstützung im Vorraus.
Kenn mich noch nicht wirklich damit aus templates zu ändern.
Grüße Hero3000
Neuer EDIT:
mit einen Wasserfass scheint das schon mal geklappt zu haben...
Geändert von Hero3000 (15.08.2010 um 19:34 Uhr)
-
Zitat von Hero3000
[...]
Kenn mich noch nicht wirklich damit aus templates zu ändern.
Tja, sind alle ziemlich beschäftigt... wirst du vllt. selbst machen müssen.
Neuer EDIT:
mit einen Wasserfass scheint das schon mal geklappt zu haben...
Genau.
Ich habe mal aufgeschrieben, was ich alles geändert habe (hoff', ich hab' nischt übersehen.)
lrtpldatasc-File nicht vergessen zu ändern!
Code:
Änderungen bei Einfügen der Dialog-class und Indices
----------------------------------------------------
(Adressen des unveränderten
Objects_Interacts_G3_Object_Interact_Barrel_01.tple!)
0x0000000A Offset to StringTable (ST) ändern von 0x838 auf 0x8E0
(Berechnung s. am Ende des Textes)
0x0000001B Anzahl der StringTable-Einträge um 11 erhöht
hinter
0x000000DF 0x6000
die Indices 11 zusätzlicher ST-Einträge eingefügt
0x000000ED Item-hash ändern (z.B. erstes Byte + 1)
0x000001F8 Ref-Hash ändern
0x000002FB Number of class entries um 1 erhöht
Hinter der class gcNavOffset_PS eine Dialog-class eingefügt.
0x0000083D s. Adr. 0x1B
--------------------------------------------------
StringTable am Fileende erweitern
Die Adresse sind HIER die des ...Barrel_02.tple (mit Dialog-class)
Längenword
0x000010CE 0B 00 gCDialog_PS
0x000010DB 0E 00 TalkedToPlayer
0x000010EB 0x12 00 EndDialogTimestamp
0x000010FF 0C 00 TradeEnabled
0x0000110D 0D 00 TradeCategory
0x0000111C 0x29 00 bTPropertyContainer<enum gETradeCategory>
0x00001147 0C 00 TeachEnabled
0x00001155 0C 00 PartyEnabled
0x00001163 0A 00 MobEnabled
0x0000116F 0E 00 SlaveryEnabled
0x0000117F 0C 00 PickedPocket
Summe: 0x00A9 (Länge aller zus. Strings; nur für Filelängenkontrolle)
Berechnung Offsetänderung an Adresse 0x000A:
--------------------------------------------
zus. 11 Indices (a 2 Bytes) in der index-Tabelle am Anfang = 22 (0x16)
zus. dialog-class = 0x92
Summe = 0xA8 -> an Adresse 0x000A: 0x838 + 0xA8 = 0x8E0
-------------------------------------------------------
-------- (nur zur Kontrolle) --------------------------
Änderung der Filelänge
bisher zus. 0xA8
zus. 11 Längenwords = 0x16
zus. Strings = 0xA9
Summe 0x167 = 359 dez.
Filelänge ...Barrel_01.tple= 4134
+359 = 4493 (Länge von ... Barrel_02.tple)
(Einfach Dialog-Block aus dem Barrel_02 - tple (Adr. 0x739 - 0x7CA) hinter die
NavOffset-class des ...Bookstand_01.tple kopieren.)
Uurps, da fällt mir gerade ein, evtl. passt das mit den Indices nicht überein.
Muss ich mal eben checken...
edit: Mist, der Bookstand hat noch einen .xnvmsh-Stringtable-Eintrag, der die Indices gegenüber dem Barrel durcheinanderbringt.
Man muss also nach dem Kopieren des Dialogs aus "meinem" Barrel_02.tple noch die Indices der 11
zusätzlichen StringTable-Einträge ("gCDialog_PS" etc.) an die Bookstand-StringTable anpassen.
(wär ja sonst auch zu einfach gewesen...)
Geändert von Shak-otay (16.08.2010 um 19:21 Uhr)
-
Zitat von Shak-otay
Tja, sind alle ziemlich beschäftigt... wirst du vllt. selbst machen müssen.
Genau.
Ich habe mal aufgeschrieben, was ich alles geändert habe (hoff', ich hab' nischt übersehen.)
lrtpldatasc-File nicht vergessen zu ändern!
Code:
Änderungen bei Einfügen der Dialog-class und Indices
----------------------------------------------------
(Adressen des unveränderten
Objects_Interacts_G3_Object_Interact_Barrel_01.tple!)
0x0000000A Offset to StringTable (ST) ändern von 0x838 auf 0x8E0
(Berechnung s. am Ende des Textes)
0x0000001B Anzahl der StringTable-Einträge um 11 erhöht
hinter
0x000000DF 0x6000
die Indices 11 zusätzlicher ST-Einträge eingefügt
0x000000ED Item-hash ändern (z.B. erstes Byte + 1)
0x000001F8 Ref-Hash ändern
0x000002FB Number of class entries um 1 erhöht
Hinter der class gcNavOffset_PS eine Dialog-class eingefügt.
0x0000083D s. Adr. 0x1B
--------------------------------------------------
StringTable am Fileende erweitern
Die Adresse sind HIER die des ...Barrel_02.tple (mit Dialog-class)
Längenword
0x000010CE 0B 00 gCDialog_PS
0x000010DB 0E 00 TalkedToPlayer
0x000010EB 0x12 00 EndDialogTimestamp
0x000010FF 0C 00 TradeEnabled
0x0000110D 0D 00 TradeCategory
0x0000111C 0x29 00 bTPropertyContainer<enum gETradeCategory>
0x00001147 0C 00 TeachEnabled
0x00001155 0C 00 PartyEnabled
0x00001163 0A 00 MobEnabled
0x0000116F 0E 00 SlaveryEnabled
0x0000117F 0C 00 PickedPocket
Summe: 0x00A9 (Länge aller zus. Strings; nur für Filelängenkontrolle)
Berechnung Offsetänderung an Adresse 0x000A:
--------------------------------------------
zus. 11 Indices (a 2 Bytes) in der index-Tabelle am Anfang = 22 (0x16)
zus. dialog-class = 0x92
Summe = 0xA8 -> an Adresse 0x000A: 0x838 + 0xA8 = 0x8E0
-------------------------------------------------------
-------- (nur zur Kontrolle) --------------------------
Änderung der Filelänge
bisher zus. 0xA8
zus. 11 Längenwords = 0x16
zus. Strings = 0xA9
Summe 0x167 = 359 dez.
Filelänge ...Barrel_01.tple= 4134
+359 = 4493 (Länge von ... Barrel_02.tple)
(Einfach Dialog-Block aus dem Barrel_02 - tple (Adr. 0x739 - 0x7CA) hinter die
NavOffset-class des ...Bookstand_01.tple kopieren.)
Uurps, da fällt mir gerade ein, evtl. passt das mit den Indices nicht überein.
Muss ich mal eben checken...
Danke für die Infos. Werde mir das tolle neue Tutoral vom DeathKnight anschauen. Vielleicht bekomme ich das ja hin. Wobei templates ändern eine ganz andere Sache ist, als Questskripten.
Gruß Hero3000
-
wow, 6 Jahre alter thread, ich bin trotzdem mal so frech, hier anzuknüpfen, weil gerade die Frage nach einem Teleport per Tür-Dialog aufkam, um in einen Keller zu teleportieren.
Ich habe die Dialogklasse aus dem hier verlinkten Barrel-tple in ein Animated-Door-template kopiert und dies mit einem Dialog verknüpft.
(Hat erst nicht funktioniert, weil ich sowohl im Template als auch im Dialog Fehler gemacht hatte.)
Jetzt teleportiert der Held zu Rhobar (oder jedem anderen NPC oder einzigartigem Objekt, wenn man ihn/es in den Dialog einträgt).
Dazu den Interacts-Ordner im Zip in den Gothic 3 Unterordner \Data\Templates\Objects kopieren.
Dann 'spawn G3_Object_Interact_Animated_Door_09'
im Marvin-Mode eingeben und die Tür anklicken.
(_compiledinfos_G3_World_01.bin in Data\Infos muss gelöscht werden, damit sie neu erstellt wird)
Code:
[Info]
Name=FILLERD258
SortID=3339
Owner=G3_Object_Interact_Animated_Door_09
InfoGiven=false
Parent
Quest
ConditionType=3
InfoType=3
GoldCost=99
CondOwnerNearEntity
Folder=Interacts/
CondPlayerKnows
CondItemContainer
CondItems
CondItemAmounts
CondSecondaryNPC
CondSecondaryNPCstates
TeachSkill
TeachAttrib
TeachAttribValue=0
ClearChildren=false
Permanent=true
InfoScript_Commands=Say;MoveTo;MoveTo
InfoScript_Entities1=;player;Runak
InfoScript_Entities2=;Rhobar;Rhobar
InfoScript_IDs1
InfoScript_IDs2
InfoScript_Texts=INFO_BPANKRATZ320060123161102;;
Sesam_ffneDich.zip
Geändert von tombom81 (12.12.2016 um 14:36 Uhr)
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|