Ffinnegan Posted September 12, 2023 Share Posted September 12, 2023 Hello, so in the past few days I started messing around with the Topics and Conversation tab, and I think I got a hold of the first one though the latter remains elusive. Main doubts I still have: 1) I noticed vanilla NQD quests (which contain generic town dialogue etc.) all have a script defining a number of variables, as "NPCNAME"VAR, which they use, afaik, to link conversations starting from INFOGENERAL to Answer topics, etc. So if I wish to replicate such linking with custom dialogue, I need to set up a similar script in my quest and link topics by first setting the var to 1 as the result script of the initial dialogue and then conditioning the response to only play if such variable is indeed set to 1 (all the while resetting to 0 so that the cycle can play again, endlessly). Is this correct? 2) I do not understand how I need to set quest priority for dialogue quests. Say I'm planning to add random rumors, I don't want my rumors to trump any vanilla rumors pertaining to existing quests, so I don't want to set my priority higher (I fear that, if I understand it correctly, by setting for instance a priority value higher than 11 - default value of NQD quests - my dialogue will likely play above them forever) than generic rumors quests. Now, if I set it to the same value, will they play at the same time (same chance of occurring) or do I need to tweak them in some other way? 3) When creating new quests to add these rumors in, do I need to take particular care to add any particular flag other than "Start game enabled"? I suppose I can condition quests so that the dialogue is limited to certain factions (i.e., the upper class rumors only play for those npcs in the nobility faction, etc.) but other than the main conditions (GetPlayerInSEWorld, GetIsPlayableRace, etc.) are there special conditions I need to take into consideration? 4) Finally, I know that to add topics to the dialogue menu (player to npc) you have to either script them in or add them via other topics or result scripts (yes I'm aware of the addtopic bug, that's well documented at least), but I don't need to worry about this for rumors, right? So, as long as my first item in the chain of conversation is either from HELLO or GREETING or INFOGENERAL, they will be added automatically to the NPCs in accordance with the conditions I set, correct? Sorry for the longwinded post, but since I struggled to find any real tutorial on such aspects I resolved to post here. If it appears that I have misinterpreted some function or have forgotten some crucial information, please do let me know. Thanks a lot! Link to comment Share on other sites More sharing options...
RomanR Posted September 13, 2023 Share Posted September 13, 2023 I don't have much experience in dialogs too, but I try to answer the best I can: 1) These varables are mostly helpers, for example to ensure that the asker will respond to question which was asked. So yes, if topic was a question, you will ensure right answer checking GetQuestVariable condition and right setting of variable (question will set it from 0 to 1 and reponse will set it back). 2) To my experience priority doesn't matter much, but setting Random flag do. See the Shadow Over Hackdirt quest (MS45) on how it is done. Also you can limit it to place (using GetInCell), NPC (using GetIsID), faction etc. as this quest shows. 3) MS45 quest is checking only for a playable race, similar to others, so I think you don't need to worry. 4) I think don't understand. You're defining the conditions for playing dialog or if the topic will be shown when you speak to someone, but when you execute AddTopic command, the topic should be added without restricitions. Link to comment Share on other sites More sharing options...
Ffinnegan Posted September 13, 2023 Author Share Posted September 13, 2023 I don't have much experience in dialogs too, but I try to answer the best I can: 1) These varables are mostly helpers, for example to ensure that the asker will respond to question which was asked. So yes, if topic was a question, you will ensure right answer checking GetQuestVariable condition and right setting of variable (question will set it from 0 to 1 and reponse will set it back). 2) To my experience priority doesn't matter much, but setting Random flag do. See the Shadow Over Hackdirt quest (MS45) on how it is done. Also you can limit it to place (using GetInCell), NPC (using GetIsID), faction etc. as this quest shows. 3) MS45 quest is checking only for a playable race, similar to others, so I think you don't need to worry. 4) I think don't understand. You're defining the conditions for playing dialog or if the topic will be shown when you speak to someone, but when you execute AddTopic command, the topic should be added without restricitions.Alright thanks, so if I understand it correctly, if I just set the quest priority to a higher number but have the dialogue being random, it really does not matter and it will not win over default dialogue, right? I'll still hear the vanilla rumors?I'll check MS45 for how it works there. Link to comment Share on other sites More sharing options...
RomanR Posted September 14, 2023 Share Posted September 14, 2023 Yes, when you look at this quest, you will see its priority is set to 50. Link to comment Share on other sites More sharing options...
Ffinnegan Posted September 15, 2023 Author Share Posted September 15, 2023 Yes, when you look at this quest, you will see its priority is set to 50.Do you perhaps know how the "Link to" and "Link from" tabs work, for conversations? Like, what does the "ANY" topic in Link From mean, exactly, like any Hello or any topic at all? If I add more than one Link To or Link From, is the selection random? Link to comment Share on other sites More sharing options...
Oblivionaddicted Posted September 15, 2023 Share Posted September 15, 2023 (edited) I have never integrated variables in my dialogue-adding scripts but since I have already created mods with dialogues I can give you some advices: -As a golden rule always start you editor ID's with a letter otherwise Oblivion will crash more oftenly.-To avoid the conflicts create editor ID's you are unlikely to find in other mods, a mix of your nickname a more or less short description and the acronym of your mod will make an excellent combination-You should better create one "quest" for the script that adds the dialogues and another "quest" for the dialogues. Use the StopQuest in your script so it stops working when it has done its job and since the dialogues depend of another "quest" they will remain available-The condtions you apply for a quest are those the game checks to make the script run-Give your dialogue "quests" a priority of 50 and you should be fine Edited September 17, 2023 by Oblivionaddicted Link to comment Share on other sites More sharing options...
RomanR Posted September 20, 2023 Share Posted September 20, 2023 Yes, when you look at this quest, you will see its priority is set to 50.Do you perhaps know how the "Link to" and "Link from" tabs work, for conversations? Like, what does the "ANY" topic in Link From mean, exactly, like any Hello or any topic at all? If I add more than one Link To or Link From, is the selection random? View all conversations as a chain starting from HELLO topic and ending in GOODBYE topic. ANY topic will link to or from everything what a NPC can say, but it's the conditions and setting of particular topic which decide if this topic wil be shown. Link to comment Share on other sites More sharing options...
Recommended Posts