Jump to content

Conditions for dialogue options


Guest deleted43426342

Recommended Posts

Guest deleted43426342

For this conversation with an NPC I want to make sure you can only pick this dialogue option after you read something. Basically, you steal a book and only with that book you can pick that dialogue. I first used getItemcount but that somehow doesn't work.

 

So I tried to look in the geck as I remember that the quest Oh my Papa has this option for you to show Papa Khan a book. Obviously only if you have that particular book. Problem is that the item used as the book doesn't allow me to write something for it. Only a title. And with just that it won't make sense.

 

And the other is for the same NPC so I can make her say something but only when a specific NPC has died.

Link to comment
Share on other sites

How does GetItemCount not work? Is this a book or a note? For a note, use GetHasNote in the conditions, and for an actual book, I don't like GetItemCount (because you can steal it and drop it and that would ruin the condition despite the fact that you've already stolen it) but it should work if you make sure you select Target instead of Subject for the Run On dropdown menu of the condition.

 

There's a GetDead condition for dialogue you can pick. Never tried it but seems like what you want. You'd pick Reference for Run On, and then use the Select button that appears, which will allow you to choose the person that needs to be dead. But that person will need to have a reference ID and be a persistent reference, which you can do by double-clicking them in the world in the editor, typing the name you wish to use, and ticking the persistent reference box (and I think you need to do that before opening the dialogue condition so that it 'refreshes').

Link to comment
Share on other sites

Guest deleted43426342

It was indeed a note, and thank you! I fixed it. However, GetDead doesn't work. Maybe because I'm not using it correctly or just because it doesn't work. Anyways thank you!

Link to comment
Share on other sites

Well, in what way does GetDead not work?

 

If it really doesn't work for dialogue, we can get into scripting, which if you've never done it may seem daunting but stuff like this is really easy and I can walk you through it, though I prefer something like GetDead for a number of reasons regarding how messy debugging can get when using scripts.

Link to comment
Share on other sites

Guest deleted43426342

It doesn't work as she just says her normal dialogue.

 

I know a little about it as I tried to make two NPC's have a conversation. It doesn't work. So I prefer it without scripting it. But since it's not that necessary for my mod I guess I could just drop it.

Link to comment
Share on other sites

But you successfully selected the reference that needs to die? (Jesus, that does sound morbid, doesn't it.)

 

One thing that can sometimes help when testing is starting a new game or disabling and enabling your reference.

 

The script would be extremely simple. You'd want a quest script (maybe attached to your dialogue) that declares a variable, and then you'd just want one line of code in another script attached to the NPC that needs to be killed to satisfy the condition.

 

Quest script:

scn MyQuestScript

short bNPCDead

Script to attach to NPC that will be killed:

scn NPCScript

begin OnDeath
Set MyQuest.bNPCDead to 1
End

Then you can choose GetQuestVariable in the dialogue conditions.

 

Edit: Copy-pasted and forgot to use the name of the Quest, not the script for the variable when referencing it in the second script.

Edited by EPDGaffney
Link to comment
Share on other sites

Guest deleted43426342

Thank you for the help! Stupid question am I supposed to change something about it? As I can't save the last script.

Link to comment
Share on other sites

Well, the quest script needs to be attached to a quest first, and then you use the Quest ID in the place in the second script that I have as MyQuest.

 

If the game happens to have a script already called NPCScript, then that could be why.

 

If you haven't made sure you've 'accepted' the Quest or saved its script before trying to do the second one, it may not know that quest has that variable yet. The GECK was not very much updated since the '90s versions, so it requires a lot of outdated stuff like that. Try to save your entire project between the two scripts. If the whole project can save, it should all be ready for the second script.

 

And last, make sure the first script type is quest and the second is object.

 

Edit: GECK PowerUp will give you error messages for scripting, so I'd advise getting that if you want to do any more scripting. And it lets you disable the spell-checker.

And make sure that NPC that needs to die has a unique Base ID, as it will attach the script to every NPC in the world that is of that type (example, attach script to a Fiend, and any time you kill any Fiend, it will update the script, but if the NPC is unique, this is not a problem as there's only the one).

Edited by EPDGaffney
Link to comment
Share on other sites

Guest deleted43426342

Thank you for the help! It didn't work, but I'll drop it for now. As I got bigger problems with this mod. But still, thank you for all your help!

Link to comment
Share on other sites

I probably left out some tiny condition somewhere that I'm just used to doing by now but a beginner wouldn't know to do. If you ever want to get back to this, we should be able to get to the bottom of it with some more questions as there's no reason it shouldn't work. Press on.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...