Aurelio Posted January 31, 2022 Posted January 31, 2022 (edited) Hi, where is the relation overview construtced? E.G Xoti vs Maia. I have the following conversation between Shrimp and Maia. conversations\03_neketaka_vailian_district\03_cv_rtc_soldiers.stingtable <Entry> <ID>14</ID> <DefaultText>"I was but a face in the crowd, but I remember the one who walked out of Hadret House alive." He claps you on the shoulder again - harder - and this time you recognize inebriation behind his enthusiasm.</DefaultText> <FemaleText /> </Entry> <Entry> <ID>117</ID> <DefaultText>"To Tākowa. May our enemies crumple under cannon shot." Maia winks at the sailors and raises a fist.</DefaultText> <FemaleText /> </Entry> This will create an entry in the relation overview, however a string will be listed as missing with the ID 118. I believe the string which should be there is ID 117. If I manually add an entry 118 in the file conversations\03_neketaka_vailian_district\03_cv_rtc_soldiers.stingtable that text will be displayed. ID 118 is missing from this file in any language. But where is it defined which ID will be used? Edited February 4, 2022 by Aurelio
Aurelio Posted February 1, 2022 Author Posted February 1, 2022 To answer my own question... In the file PillarsOfEternityII_Data\exported\design\conversations\03_neketaka_vailian_district\03_cv_rtc_soldiers.conversationbundle At line 860 you have to change "ToNodeID": 118, to "ToNodeID": 117, to fix the bug. Question: Is it possible to provide a fixed 03_cv_rtc_soldiers.conversationbundle to the override folder without disablling achivements etc? Still I have other dialogs, where the text strings are not displayed as missing but just do not show anything. Not sure how to fix that.
Aurelio Posted February 1, 2022 Author Posted February 1, 2022 (edited) I have now noticed, that all dialogs with Stewardship and Autonomy do not show any text on the reputation screen. (e.g Main char vs Aloth) It seems the definition of these windows is somehow broken? And it seems only to affect dialogs with Aloth. Edited February 1, 2022 by Aurelio
Kvellen Posted February 2, 2022 Posted February 2, 2022 21 hours ago, Aurelio said: Question: Is it possible to provide a fixed 03_cv_rtc_soldiers.conversationbundle to the override folder without disablling achivements etc? Still I have other dialogs, where the text strings are not displayed as missing but just do not show anything. Not sure how to fix that. Yes this is possible to do, there is a particular folder structure for it to work though: override\yourmodfolder\conversations\03_neketaka_vailian_district\03_cv_rtc_soldiers.conversationbundle The "iroll20s" console command is the only thing that disables achievements I think. 1
Aurelio Posted February 2, 2022 Author Posted February 2, 2022 Ok, good. Wil try that. But I really need now help from a dev, I think, to see, if the text not beeing displayed could be fixed somehow...
Testlum Posted February 3, 2022 Posted February 3, 2022 (edited) For the Stewardship/Autonomy question, character topic preferences are captured inside the characters.gamedatabundle file. It looks like what sets them apart from Aloth's other topics is that they also have conditional data: { "TopicID": "3d28fa9d-5127-4b6a-af14-9c4769f17720", //Autonomy "Axis": "Positive", "WeightID": "c131acce-6af4-4d78-b0e2-48b26e6631b1", "Conditional": { "Operator": 0, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalExpression, OEIFormats", "Operator": 1, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsGlobalValue(String, Operator, Int32)", "Parameters": [ "n_Aloth_ending", "EqualTo", "3" ], "Flags": "", "UnrealCall": "", "FunctionHash": 901380568, "ParameterHash": 561454095 }, "Not": false, "Operator": 0 } ] }, { "$type": "OEIFormats.FlowCharts.ConditionalExpression, OEIFormats", "Operator": 1, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsGlobalValue(String, Operator, Int32)", "Parameters": [ "n_Aloth_ending", "EqualTo", "0" ], "Flags": "", "UnrealCall": "", "FunctionHash": 901380568, "ParameterHash": 561454094 }, "Not": false, "Operator": 0 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean CompareGlobals(String, Operator, String)", "Parameters": [ "n_Aloth_authority", "LessThan", "n_Aloth_autonomy" ], "Flags": "", "UnrealCall": "", "FunctionHash": -679574504, "ParameterHash": 1073915269 }, "Not": false, "Operator": 0 } ] } ] } }, { "TopicID": "62b80708-269f-4bc6-a737-5f328db35370", //Stewardship "Axis": "Positive", "WeightID": "c131acce-6af4-4d78-b0e2-48b26e6631b1", "Conditional": { "Operator": 0, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalExpression, OEIFormats", "Operator": 1, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsGlobalValue(String, Operator, Int32)", "Parameters": [ "n_Aloth_ending", "EqualTo", "2" ], "Flags": "", "UnrealCall": "", "FunctionHash": 901380568, "ParameterHash": 561454096 }, "Not": false, "Operator": 0 } ] }, { "$type": "OEIFormats.FlowCharts.ConditionalExpression, OEIFormats", "Operator": 1, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsGlobalValue(String, Operator, Int32)", "Parameters": [ "n_Aloth_ending", "EqualTo", "0" ], "Flags": "", "UnrealCall": "", "FunctionHash": 901380568, "ParameterHash": 561454094 }, "Not": false, "Operator": 0 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean CompareGlobals(String, Operator, String)", "Parameters": [ "n_Aloth_authority", "GreaterThanOrEqualTo", "n_Aloth_autonomy" ], "Flags": "", "UnrealCall": "", "FunctionHash": -679574504, "ParameterHash": -1459997686 }, "Not": false, "Operator": 0 } ] } ] } } ], Not quite sure how to fix the issue, though. Edited February 3, 2022 by Testlum
Aurelio Posted February 3, 2022 Author Posted February 3, 2022 (edited) Ok, the fix I proposed might not be a real fix, because I'm skipping NoteID 118. This node 14. The node ID corrosponds to the text ids. So from NodeID 14 we move to NodeID 118 { "$type": "OEIFormats.FlowCharts.Conversations.TalkNode, OEIFormats", "EmotionType": "", "EmotionStrength": 0.5, "PersistEmotion": true, "EmotionDelay": 0.0, "SpeakerGuid": "8b9a32d7-3530-4f41-8ca5-08f80776ad5c", "ListenerGuid": "b1a8e901-0000-0000-0000-000000000000", "ExternalVO": "", "HasVO": true, "NotSkippable": false, "IsQuestionNode": false, "HideSpeaker": false, "IsTempText": false, "PlayVOAs3DSound": false, "PlayType": 0, "Persistence": 0, "NoPlayRandomWeight": 0, "VOPositioning": 0, "DisplayType": 1, "NodeID": 14, "ContainerNodeID": -1, "Links": [ { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 14, "ToNodeID": 118, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } } ], "ClassExtender": { "ExtendedProperties": [ "SpeakerAnimation,0", "ListenerAnimation,0", "DoNotClearText,False", "FocusedSpeaker,8b9a32d7-3530-4f41-8ca5-08f80776ad5c", "VOEventOverride,None" ] }, "Conditionals": { "Operator": 0, "Components": [] }, "OnEnterScripts": [], "OnExitScripts": [], "OnUpdateScripts": [] }, The stringtable ID for NodeID 118 does not exist in the file conversations\03_neketaka_vailian_district\03_cv_rtc_soldiers.stingtable This NodeID 118: There are 4 links to other nodes, 15, 117, 16 and 17. I don't know how the game chooses which link it follows. In my game it follows link 117. This is the text I see in the dialog. So it silently follows from NodeID 14 to 118 and then to 117. This dialog triggers a reputation change. Because ID 118 does not exist in the stringtable file, missing 118 is shown on the reputation screen. There should have been the text of ID 117. So is this an oversight from the developers or how is this supposed to be fixed? I just noticed that ID 14 is TalkNode while 118 is a ScriptNode. But still the game tries to use the text from nonexisting id 118 from the stringtable file. { "$type": "OEIFormats.FlowCharts.Conversations.ScriptNode, OEIFormats", "RequiresValidChildNode": false, "NotSkippable": false, "IsQuestionNode": false, "HideSpeaker": false, "IsTempText": false, "PlayVOAs3DSound": false, "PlayType": 0, "Persistence": 0, "NoPlayRandomWeight": 0, "VOPositioning": 0, "DisplayType": 0, "NodeID": 118, "ContainerNodeID": -1, "Links": [ { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 118, "ToNodeID": 15, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } }, { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 118, "ToNodeID": 117, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } }, { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 118, "ToNodeID": 16, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [ { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean IsCulture(Guid, Guid)", "Parameters": [ "b1a8e901-0000-0000-0000-000000000000", "59a4c801-24af-4fd8-bb6e-39c5c0b4ca5d" ], "Flags": "", "UnrealCall": "", "FunctionHash": -714406469, "ParameterHash": -855385635 }, "Not": false, "Operator": 0 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean HasConversationNodeBeenPlayed(Guid, Int32)", "Parameters": [ "b6373521-9602-4f01-a0ad-b3bd2d49edb1", "117" ], "Flags": "", "UnrealCall": "", "FunctionHash": -1870187966, "ParameterHash": 748013732 }, "Not": true, "Operator": 0 } ] }, "ClassExtender": { "ExtendedProperties": [] } }, { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 118, "ToNodeID": 17, "PointsToGhost": false, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } } ], "ClassExtender": { "ExtendedProperties": [ "SpeakerAnimation,0", "ListenerAnimation,0", "DoNotClearText,False", "FocusedSpeaker,", "VOEventOverride,None" ] }, "Conditionals": { "Operator": 0, "Components": [] }, "OnEnterScripts": [], "OnExitScripts": [], "OnUpdateScripts": [] }, Edited February 4, 2022 by Aurelio
Aurelio Posted February 26, 2022 Author Posted February 26, 2022 Ok, I found another place with the issue and not with and missing text entry node. This is the conversation node ID 35 which leads to ID 37. PillarsOfEternityII_Data\exported\design\conversations\28_drowned_barrows\28_cv_aduk.conversationbundle Stewardship will be considered. { "$type": "OEIFormats.FlowCharts.Conversations.PlayerResponseNode, OEIFormats", "NotSkippable": false, "IsQuestionNode": false, "HideSpeaker": false, "IsTempText": false, "PlayVOAs3DSound": false, "PlayType": 0, "Persistence": 3, "NoPlayRandomWeight": 0, "VOPositioning": 0, "DisplayType": 1, "NodeID": 35, "ContainerNodeID": -1, "Links": [ { "$type": "OEIFormats.FlowCharts.Conversations.DialogueLink, OEIFormats", "RandomWeight": 1, "PlayQuestionNodeVO": true, "QuestionNodeTextDisplay": 0, "FromNodeID": 35, "ToNodeID": 37, "PointsToGhost": true, "Conditionals": { "Operator": 0, "Components": [] }, "ClassExtender": { "ExtendedProperties": [] } } ], "ClassExtender": { "ExtendedProperties": [ "SpeakerAnimation,0", "ListenerAnimation,0", "DoNotClearText,False", "FocusedSpeaker,", "VOEventOverride,None" ] }, "Conditionals": { "Operator": 0, "Components": [] }, "OnEnterScripts": [ { "Data": { "FullName": "Void DispositionAddPoints(Guid, Guid)", "Parameters": [ "6d4a08e8-3b00-4abc-b786-ec051f0f3b8a", "54772c0d-cf3f-4589-8cab-9f3601d575c2" ], "Flags": "", "UnrealCall": "", "FunctionHash": 1769062230, "ParameterHash": -1500557251 }, "Conditional": { "Operator": 0, "Components": [] } }, { "Data": { "FullName": "Void TriggerTopic(Guid, Guid, Guid, Boolean)", "Parameters": [ "b1a8e901-0000-0000-0000-000000000000", "62b80708-269f-4bc6-a737-5f328db35370", "54772c0d-cf3f-4589-8cab-9f3601d575c2", "True" ], "Flags": "", "UnrealCall": "", "FunctionHash": -1675420349, "ParameterHash": -1003693522 }, "Conditional": { "Operator": 0, "Components": [] } } ], "OnExitScripts": [], "OnUpdateScripts": [] }, If I change the following line from "Pro-Stewardship" (62b80708-269f-4bc6-a737-5f328db35370) to "Pro-Tradition" (e79eabe7-8d68-4cf4-9a07-3e84b154d6ec) the conversion will be displayed on the reputation wheel with a tradition icon. If its stewardship only the stewardship icon will be displayed and with empty text boxes. So the bug is not in the stringtable file but on how the stewardship relation changes are displayed. But I really dont know where to look at or if the bug is in the compiled code. { "Data": { "FullName": "Void TriggerTopic(Guid, Guid, Guid, Boolean)", "Parameters": [ "b1a8e901-0000-0000-0000-000000000000", "62b80708-269f-4bc6-a737-5f328db35370", "54772c0d-cf3f-4589-8cab-9f3601d575c2", "True" ], "Flags": "", "UnrealCall": "", "FunctionHash": -1675420349, "ParameterHash": -1003693522 }, "Conditional": { "Operator": 0, "Components": [] } } From the characters.gamedatabundle file: { "$type": "Game.GameData.TopicGameData, Assembly-CSharp", "DebugName": "Pro-Stewardship", "ID": "62b80708-269f-4bc6-a737-5f328db35370", "Components": [{ "$type": "Game.GameData.TopicComponent, Assembly-CSharp", "Value": 3, "DisplayName": 37, "Icon": "gui/icons/gamesystems/pro_stewardship.png", "CircularIcon": "gui/icons/gamesystems/rep_pro_stewardship.png", "NegativeDescription": 49, "PositiveDescription": 48 } ] }, { "$type": "Game.GameData.TopicGameData, Assembly-CSharp", "DebugName": "Pro-Tradition", "ID": "e79eabe7-8d68-4cf4-9a07-3e84b154d6ec", "Components": [{ "$type": "Game.GameData.TopicComponent, Assembly-CSharp", "Value": 4, "DisplayName": 15, "Icon": "gui/icons/gamesystems/pro_tradition.png", "CircularIcon": "gui/icons/gamesystems/rep_pro_tradition.png", "NegativeDescription": 42, "PositiveDescription": 43 } ] }
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now