jastey Posted March 11, 2017 Share Posted March 11, 2017 I have a question to dialogue triggering. In my (Ajantis) mod I use InMyArea(Player1) to check for the PC's presence. I did this on purpose because I didn't want dialogues to be skipped because Player1 wasn't visible. This lead to players complain that he initiates dialogue although the PC just went hiding / invisible. (It also initiates dialogues across areas). So, I am thinking about replacing InMyArea(Player1) with See(Player1), but before I do something like this, I would like to know your opinion on this. Which see()/detect() trigger would you suggest that doesn't spoil CHARNAME's fight preparation but doesn't lead to a mute NPC because he never sees the PC to initiate dialogue? Link to comment
Roxanne Posted March 11, 2017 Share Posted March 11, 2017 Most NPCs (mod or vanilla) use the InMyArea(Player1) check only for banters with other NPCs Like e.g. InParty("Tiax") InMyArea(Player1) To make sure that the NPC with Tiax banter does not trigger when the PC is in another area. Using InMyArea(Player1) to trigger a dialogue with PC might result in the NPC running across a large map to the PC to initiate some dialogue that is due. So most commonly the See(Player1) or Detect(Player1) is used for talks to the PC. But there will always be exceptions that may be required by special circumstances depending on the dialogue that is due. E.g a case where a dialogue is triggered during a fight (which is normally excluded by the CombatCounter(0) condition). So Radio Yerewan's answer is - it all depends. Link to comment
Ardanis Posted March 11, 2017 Share Posted March 11, 2017 Using InMyArea(Player1) to trigger a dialogue with PC might result in the NPC running across a large map to the PC to initiate some dialogue that is due. Well, just use StartDialogNoSet() and not the endless supply of bugs that Dialog() is... for pretty much any purpose, really. That said, I'd go with Detect(), because if PC carries Staff of Magi on regular basis, all the banters are gonna get screwed. Link to comment
Roxanne Posted March 11, 2017 Share Posted March 11, 2017 Well, just use StartDialogNoSet() and not the endless supply of bugs that Dialog() is... for pretty much any purpose, really. But? Without a trigger like See() or Detect() would they not just shout at each other from different edges of the Cloakwood? Link to comment
Ardanis Posted March 11, 2017 Share Posted March 11, 2017 They would... But unlike Dialog(), it won't have a chance to actually break anything beside the immersion. Other than that, I do agree it should go along with Detect() Link to comment
jastey Posted March 12, 2017 Author Share Posted March 12, 2017 Thank you for your answers. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.