Dialogue Issues

Post » Tue Dec 21, 2010 12:06 pm

I got the Dialogue headaches. :bonk:


I'm trying to make a very chatty NPC. I'm nearly done with the mod and am adding the finishing touches and dialouge and have hit a problem. The problem is either my lack of understanding or execution or maybe both :) I'm hoping someone can help clear it up for me because the results are bad, and not what I'm after.

So, I'm using HELLOS for the NPC to talk to other NPCs. However, it isn't always working so great. I thought, that if I specified, (like I'd seen with other NPCs in the GECK) my NPC and one other NPC that a specific HELLO topic would only be said to the target NPC. I"m sure this isn't always happening. I have a tester using the mod now and she and I have both encountered the NPC using HELLOS inappropriately. It's hard to diagnose the problem fully because of the random nature of HELLOs.

So this is what I'm hoping someone can answer for me:

Should HELLOS work the way I thought? Can I make a comment exclusive to an NPC if there is just the HELLO and not a continued conversation?

If HELLOS can be used the way I thought, I might be having trouble with using GetInFaction as a condition. Again, from what I had observed in the GECK and read in the wiki it seems to be that it can be used to determine if any NPC is a member of a particular faction (for dialogue purposes) and if he/she is then the NPC can use the info (HELLO). The incorrent HELLOS that my tester and I started noticing seemed to start appearing (as best I can tell) when I started using GetInFaction. Am I not understanding how to use it for dialouge? Bummer if I'm wrong about that because it is so awesomly flexible.

If anyone can shed any light on this for me I would be sooooo grateful.

Thanks,

:) llama
User avatar
GRAEME
 
Posts: 3363
Joined: Sat May 19, 2007 2:48 am

Post » Tue Dec 21, 2010 12:27 pm

I'm not clear on what the problem is...

Is it that your custom hello is being used with NPCs that it shouldn't?
Or is it that your NPC is using a random hello and not the one you have specified?

For the first case, add conditions for the Hello that signify the speaker (use GetIsID NPCRef1 ==1 run on subject) and add another condition for the target NPC (use GetIsID NPCRef2 ==1, run on target). That should preclude any random NPC from using your Hello out of turn and also ensure that only NPC1 will say it to NPC2.

If its the second case, Hellos, like any other dialogue, will evaluate from top down, so another Hello (like from the 'generic' quest) might be chosen over yours. To force yours to be chosen first, give it a higher priority than any random Hellos. If you want to see all the dialogue that a particular NPC has, hit the Dialogue button on their NPC data page. By flipping through he tabs, you can see all the dialogue that is available for this NPC from all quests.
User avatar
jess hughes
 
Posts: 3382
Joined: Tue Oct 24, 2006 8:10 pm

Post » Tue Dec 21, 2010 12:27 pm

I'm not clear on what the problem is...



Ya, sorry about that PK. I should have just put up a screenie, huh?

Well, so, Charon (that's my NPC) is now a lot chattier. He has a lot of HELLOS. He is saying one (at least) to the player that he should only be saying to four other specific NPCs or factions. But I just went to take a screenie to make it very clear what I meant and it turns out the condition (GetInFaction/BOS Outcast == 1) wasn't set for Target but was set for Subject. I had only checked and rechecked those conditions about, oh I don't know, at least three times, but I'd missed it every time. So, could that make it play incorrectly so that Charon (correctly identified by GetIsID as the Subject) would speak the line to the Player?
User avatar
Katy Hogben
 
Posts: 3457
Joined: Mon Oct 30, 2006 12:20 am

Post » Mon Dec 20, 2010 11:11 pm

TBH, if you have two conditions, one being GetIsID = Charon (subject) and GetInfaction = BOSOutcasts (subject), I would think that no one would ever speak that hello, unless you put Charon into the BOSOutcast faction. So, ya, post a 'screeenie'. Are you 100% positive that there isn't another Hello with the same text?
User avatar
alicia hillier
 
Posts: 3387
Joined: Tue Feb 06, 2007 2:57 am

Post » Tue Dec 21, 2010 1:15 am

TBH, if you have two conditions, one being GetIsID = Charon (subject) and GetInfaction = BOSOutcasts (subject), I would think that no one would ever speak that hello, unless you put Charon into the BOSOutcast faction. So, ya, post a 'screeenie'. Are you 100% positive that there isn't another Hello with the same text?


omg, I just wrote a long response and then I deleted it :banghead: It is clearly just one of those days.

Ok, so you are saying it should be a total fail if the conditions were subject and subject. Got it.

I do have three other instances of the exact same HELLO. Two of them are NPC-target and one of them is Faction-target. The target conditions are unique from each other. But there are no other conditions.

Could it have anything to do with GetInFaction? Is the problem that I'm using exact same infos over and over? I have done it with other Hellos and it seems to be working with them, although, really,maybe they are failing too and I just haven't heard them fail in game yet. I was feeling pretty comfortable with it since my conditions were unique, like with packages.

Thanks so much for talking to me about this. Sometimes just trying to figure this stuff out with just the wiki can be...stressful. :)
User avatar
Khamaji Taylor
 
Posts: 3437
Joined: Sun Jul 29, 2007 6:15 am

Post » Tue Dec 21, 2010 5:35 am

If you have multiple Hellos with the same text, you may want to distinguish them somehow - maybe add a letter the end, like blah blah A and blah blah B. That way when you see the text in game you can be sure which one has been selected. Also, you can create multiple conditions separated by the 'OR' logical operator to allow several groups or specific NPCs to use the same info. Here is an example:

GetIsID [NPC1] == 1 (or) (run on subj)
GetInFaction [BOSFaction] == 1 (or) (run on subj)
GetIssix [Female] == 1 (and) (run on subj)
GetInFaction [RCSecurityFaction] ==1 (and) (run on subj)
GetIsID [Player] ==1 (run on targ)

With this set of conditions, the associated info would be used by NPC1 and any member of the BOSFaction and all women belonging to the RCSecurityFaction who are addressing the player. The use of and/or on the last condition is irrelevant and ignored.
User avatar
Darrell Fawcett
 
Posts: 3336
Joined: Tue May 22, 2007 12:16 am

Post » Tue Dec 21, 2010 7:33 am

If you have multiple Hellos with the same text, you may want to distinguish them somehow - maybe add a letter the end, like blah blah A and blah blah B. That way when you see the text in game you can be sure which one has been selected. Also, you can create multiple conditions separated by the 'OR' logical operator to allow several groups or specific NPCs to use the same info.


I did what you suggested and went in and typed the name of the target next to identical Hellos on the offending comment and then went into the game and played for a long time last night. He did say the comment appropriately once and kept saying it incorrectly in a particular instance without any identifier (! weird). So, I do use the phrase one other time, in a topic (not a Hello info), for a SayTo and I had neglected to give it a Target at all. So I guess he was picking it up and using it to greet the player but only in this one weird instance. I dunno. It was weird, as it was only in saves I was entering into that were clean (no mods at all), he was saying it immediately and only that one time, and only some of those. I'm not going to worry about it anymore.

Thanks for the refresher on the AND/OR thing. It's very clear to me how the symbols work when I'm writing a script, but I do still get stuck when conditioning dialogue sometimes. Weird. And I do have some comments conditioned like that. I decided to go to( the mostly) very specifically controlled subject/target pairings when I was trying to gain very clear control of who was being talked to. I think I've gone overboard with the duplication thing, but I was uncomfortable with piling on conditions when I started out and just ended up overdoing it by duplicating. :shrug:
User avatar
Ana Torrecilla Cabeza
 
Posts: 3427
Joined: Wed Jun 28, 2006 6:15 pm


Return to Fallout 3