Roxanne Posted December 29, 2016 Share Posted December 29, 2016 Nice, that helps a lot, thanks. The dialog parts are working fine but i'm assuming the new banter files for SOD are why the banter files are not. Having that one variable that checks for the end of BG1 saves me quite a bit of time coding the reset of all variables upon transfer to SOD. Is there a script command to change your banter file name like there is for your dialogue? You may use (in the NPC's override script) something like StartDialogue("BMySoD",[PC]) Which should make your NPC use the BMySoD banter file for this specific dialogue. Otherwise it would be better to use the assignment in BDBanter.2da like in agb1's excellent turorial. Warning - even though it is possible to divert from the default assignment of dialogues (as explained by agb1) - do that with utmost caution. Stuff like StartDialogueNoSet("NotTheStandardFile") or SetDialogue etc should only be used if you have a clear idea or full control of what happens to the NPC afterwards (e.g. it leaves party to rejoin you at a later stage, you start some cutscene that finally resets all etc) Otherwise you may easily run into unwanted conditions (e.g. if the NPC gets killed or imprisoned or similar). Unless you are completely sure about what you do, it is best to stick to what agb1 has outlined - (see BoneHill mod for examples of how it may go wrong...Fabio switches dialogue files based on scripts but if you follow a different sequence of events he gets stuck with wrong assignments), Link to comment
WarChiefZeke Posted December 29, 2016 Author Share Posted December 29, 2016 Can not find BDBanter to Append in Chitin.key? could this have something to do with the modmerge? Link to comment
agb1 Posted December 29, 2016 Share Posted December 29, 2016 Roxanne, I think we're trying to say the same thing, but you might be introducing confusion with your example -- StartDialogueNoSet does not change the assigned dialogue (no set = does "no[t] set"). So it is safer to use StartDialogueNoSet. If you intend to change the NPC's currently assigned dialogue file and you understand the implications and consequences of that (which, as you explained, can be problematic), then you must use the StartDialogue action (without NoSet). Option 1 = StartDialogue("dialog file to set", creature to initiate dialogue with) // use with caution Option 2 = StartDialogueNoSet(creature to initiate dialogue with) // uses dialogue file currently assigned to target creature -- recommended unless you NEED to use option 1 Link to comment
WarChiefZeke Posted December 29, 2016 Author Share Posted December 29, 2016 hm...all my scripts use StartDialogueNoSet lol. It hasn't caused me problems when I playtested but is this a potentially buggy setup? And I certainly plan to make this EET compatible, which from reading the linked threads doesn't seem to hard other than manipulating the variable timings to match the new chapter numbers. Link to comment
agb1 Posted December 29, 2016 Share Posted December 29, 2016 See my post just above yours. Since your mod is a BGEE/SOD mod, you don't need to change the chapter variables, because they are the same with or without EET. The EET-compatible %bg2_chapter_#% variables are for mods that introduce content in BG2, since without EET the chapter numbers reset in BG2 and therefore you must adjust them. And yes, if it can't find BDBanter then you've probably forgotten to run modmerge. Link to comment
WarChiefZeke Posted December 29, 2016 Author Share Posted December 29, 2016 oh, right. good to know then. modmerge is installed, i thought that was the problem actually... Link to comment
WarChiefZeke Posted December 29, 2016 Author Share Posted December 29, 2016 APPEND ~BDBANTER.2DA~~#Ishy BISHY~UNLESS ~#Ishy~ looks fine to me.... Link to comment
WarChiefZeke Posted December 29, 2016 Author Share Posted December 29, 2016 could it be i'm appending the same file in two different areas? Link to comment
agb1 Posted December 29, 2016 Share Posted December 29, 2016 Nope, it looks like SoD doesn't actually ship with a BDBanter.2DA file. BDDialog.2da exists in the game files, but BDBanter.2DA does not. However, SoD's campaign.2da file does reference BDBanter.2DA, so its nonexistence simply means that none of the original game NPCs change their dialogue files automatically at the start of SoD (through this mechanism, at least). Try using this code in your tp2 instead: ACTION_IF (FILE_EXISTS_IN_GAME ~BDBANTER.2DA~) BEGIN APPEND ~BDBANTER.2DA~ ~#ISHY BISHY~ UNLESS ~#ISHY~ END ELSE BEGIN // SoD does not ship with a BDBanter.2DA file, but does reference it (from CAMPAIGN.2DA), so create it (code adapted from EET implementation by K4thos) <<<<<<<< .../ishy-inlined/BDBANTER.2DA 2DA V1.0 NONE FILE KIVAN BDKIVANB ALORA BDALORAB MINSC BDMINSCB DYNAHEIR BDDYNAHB YESLICK BDYESLIB CORAN BDCORANB AJANTIS BDAJANTB KHALID BDKHALIB JAHEIRA BDJAHEIB GARRICK BDGARRIB SAFANA BDSAFANB FALDORN BDFALDOB BRANWEN BDBRANWB QUAYLE BDQUAYLB XAN BDXANB SKIE BDSKIEB ELDOTH BDELDOTB XZAR BDXZARB MONTARON BDMONTAB TIAX BDTIAXB KAGAIN BDKAGAIB SHARTEEL BDSHARTB EDWIN BDEDWINB VICONIA BDVICONB IMOEN2 BDIMOENB NEERA BDNEERAB DORN BDDORNB RASAAD BDRASAAB BAELOTH BDBAELOB VOGHILN BDVOGHIB MKHIIN BDMKHIIB CORWIN BDCORWIB GLINT BDGLINTB #ISHY BISHY >>>>>>>> COPY ~.../ishy-inlined/BDBANTER.2DA~ ~override~ // copy the in-lined (memory-only) file we defined above into the override folder (as a real file) END ... I'm assuming you want to use a different banter file during SoD, which means you probably want to use something other than BISHY during SoD. ... On further inspection, it seems that none of the original NPCs have any SoD-specific banter files. Have you ever seen a banter occur during SoD? Link to comment
WarChiefZeke Posted December 29, 2016 Author Share Posted December 29, 2016 Great, it works, I never would have come up with that sort of code on my own and I wasn't really understanding it from looking at what few SOD mods exist either. Much appreciated! The work on making SOD content has been significantly streamlined. Link to comment
Roxanne Posted December 29, 2016 Share Posted December 29, 2016 On further inspection, it seems that none of the original NPCs have any SoD-specific banter files. Have you ever seen a banter occur during SoD? This has already been the subject of excessive discussion in the EET context, The issue is that there are loads of NPC banters in SoD but they do not appear in dialogues but are displayed as string head/subtitles and are mashed into the game somewhat. See this http://gibberlings3.net/forums/index.php?showtopic=28215 Link to comment
agb1 Posted December 29, 2016 Share Posted December 29, 2016 We might actually be breaking SoD banters for original game NPCs with that code. It is possible that Th e game defaults to using banters from interdia.2da during SoD if the NPC is not listed in BDBanter.2da. It would be weird if it worked like that, but if it doesn't work like that then the implication of the missing BDBanter.2da file in the SoD default files is that there are no party banters in SoD by default. No banters at all. Therefore my question - have you ever seen a party banter during SoD (not an interjection -- some dialogue that happens at a specific place/time/event -- a timed banter from the B dialogue file that occurs after idling or playing long enough)? Link to comment
agb1 Posted December 29, 2016 Share Posted December 29, 2016 Cross-posted with Roxanne. Ah, I forgot about that thread. Thank you. So- there are no "traditional" (non-string-head) banters in SoD for the original NPCs. Therefore the spoilered code proposed by me above will cause no harm. Link to comment
Roxanne Posted December 29, 2016 Share Posted December 29, 2016 We might actually be breaking SoD banters for original game NPCs with that code. It is possible that Th e game defaults to using banters from interdia.2da during SoD if the NPC is not listed in BDBanter.2da. It would be weird if it worked like that, but if it doesn't work like that then the implication of the missing BDBanter.2da file in the SoD default files is that there are no party banters in SoD by default. No banters at all. Therefore my question - have you ever seen a party banter during SoD (not an interjection -- some dialogue that happens at a specific place/time/event -- a timed banter from the B dialogue file that occurs after idling or playing long enough)? (EET experience) Mod added NPCs keep their banter files in SoD. For example Isra (not foreseen for SoD but can be kept) will continue her banters - just the contents is weird as it refers to events prior Sarevok's defeat. Even though this behaviour itself may be considered a bug (Isra should have left party not stayed) it shows what happens just in case... With Sandrah I had the experience that she would start NPC to NPC banters that ended after her initial line (as the counterpart had no matching response file) Therefore I added those by assigning the NPCs their BG1 banter file during SoD by appending BDBanter,2da COPY_EXISTING ~BDBanter.2da~ ~override~ REPLACE_TEXTUALLY ~SAFANA BDSAFANB~ ~SAFANA BSAFAN ~ COPY_EXISTING ~BDBanter.2da~ ~override~ REPLACE_TEXTUALLY ~EDWIN BDEDWINB~ ~EDWIN Bedwin ~ COPY_EXISTING ~BDBanter.2da~ ~override~ REPLACE_TEXTUALLY ~VICONIA BDVICONB~ ~VICONIA BVicon ~ COPY_EXISTING ~BDBanter.2da~ ~override~ REPLACE_TEXTUALLY ~DYNAHEIR BDDYNAHB~ ~DYNAHEIR BDYNAH ~ COPY_EXISTING ~BDBanter.2da~ ~override~ REPLACE_TEXTUALLY ~MINSC BDMINSCB~ ~Minsc BMINSC_ ~ COPY_EXISTING ~BDBanter.2da~ ~override~ REPLACE_TEXTUALLY ~JAHEIRA BDJAHEIB~ ~Jaheira BJahei ~ COPY_EXISTING ~BDBanter.2da~ ~override~ REPLACE_TEXTUALLY ~KHALID BDKHALIB~ ~KHALID BKhali ~ Since up to now nobody but Sandrah cared about the issue, I felt free to do this. In the long term some consensus would be required if other modders want to use banter files (for vanilla NPCs) in SoD. Personally I think it is best to continue the BG1 files instead of putting a new set of files in place - after all the majority of banters would be valid in both parts of the game. Again, this is EET context, not speaking for BGEE/SoD. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.