Some dialogue questions

Post » Fri May 27, 2011 11:23 pm

Not quite the same, a full point would be alot to give out more than once or twice and it won't count towards leveling up (unless the player is using GCD).
User avatar
Andrew Perry
 
Posts: 3505
Joined: Sat Jul 07, 2007 5:40 am

Post » Sat May 28, 2011 5:16 am

Not quite the same, a full point would be alot to give out more than once or twice and it won't count towards leveling up (unless the player is using GCD).


Correct - I felt giving a big hit like that was overkill - the whole point is that using the persuasion option always feels like an undeveloped option - kinda like the developers wanted to make it work but ran out of ideas or time to finish it off - unlike upskilling a magic skill by casting spells or a weapon skill by giving something the bash - IMO the game is a bit weak on upgrading your speechcraft skills.

So I wanted to use the dialogue box to link to the persuasion to act as a partial reward for improving a speechcraft skill without overbalancing the reward.

I guess the other option is to somehow link it to journal entries where I need a succession of journal entries to be done and then when 10 are collected I could modskill - I'd prefer a solution that links to levelling up though so open to ideas.
User avatar
emma sweeney
 
Posts: 3396
Joined: Fri Sep 22, 2006 7:02 pm

Post » Fri May 27, 2011 9:35 pm

The only other thing I can think of along those lines, which would require some fitness and effort on your part, is what you might call "context sensitive persuasion". Basically they would still use the standard persuasion feature, but instead of just a disposition increase it would take them to the next part of the dialog tree of successful. So it might go something like this:

Topic: Enchanter's Stone: MyVar=0
So you want the Enchanter's Stone, huh? Are you trying to raise the dead?
Result:
Choice "Yep.", 1, "No, I want to chance my hair color.", 2

Topic: Enchanter's Stone: MyVar=0, Choice=2
That's an original use to be sure.
Result:
MessageBox "[She looks skeptical, use persuasion to convince her.]" ;<--This will show up in lighter text.
set MyVar to 1

Topic: Enchanter's Stone: MyVar=1
And you want it to color your HAIR you say?
Result:
MessageBox "[She looks skeptical, use persuasion to convince her.]"

Admire Success: MyVar=1
Well, you seem nice enough, so the Enchanter's Stone, then...
Result:
set MyVar to 2

Bribe Success: MyVar=1
My, you do have money to burn huh? I suppose it's not so strange that a wealthy person like you would use the Enchanter's Stone, to change their hair.
Result:
set MyVar to 2

Intimidate Success: MyVar=1
Uh look, didn't mean anything by it, if you want the Enchanter's Stone, I'll be happy to help.
Result:
set MyVar to 2

Topic: Enchanter's Stone: MyVar=2
Ah yes, all I can tell you is that it was last seen in the possession of a... blah blah blah
Result:
whatever

MyVar would be a "short" variable in the NPC's script. The script doesn't have to actually do anything, just store the variable. Unless you want to prevent the normal disposition gain, in which case, with some effort, once again, you can track the old disposition and force it back when it goes up.

All in all it seems like alot of work (it took me a while just to type that silly example), but that's the closest thing I can come up with.
User avatar
le GraiN
 
Posts: 3436
Joined: Thu Mar 22, 2007 6:48 pm

Post » Sat May 28, 2011 12:48 am

The only other thing I can think of along those lines, which would require some fitness and effort on your part, is what you might call "context sensitive persuasion". Basically they would still use the standard persuasion feature, but instead of just a disposition increase it would take them to the next part of the dialog tree of successful. So it might go something like this:

Topic: Enchanter's Stone: MyVar=0
So you want the Enchanter's Stone, huh? Are you trying to raise the dead?
Result:
Choice "Yep.", 1, "No, I want to change my hair color.", 2

Topic: Enchanter's Stone: MyVar=0, Choice=2
That's an original use to be sure.
Result:
MessageBox "[She looks skeptical, use persuasion to convince her.]" ;<--This will show up in lighter text.
set MyVar to 1

Topic: Enchanter's Stone: MyVar=1
And you want it to color your HAIR you say?
Result:
MessageBox "[She looks skeptical, use persuasion to convince her.]"

Admire Success: MyVar=1
Well, you seem nice enough, so the Enchanter's Stone, then...
Result:
set MyVar to 2

Bribe Success: MyVar=1
My, you do have money to burn huh? I suppose it's not so strange that a wealthy person like you would use the Enchanter's Stone, to change their hair.
Result:
set MyVar to 2

Intimidate Success: MyVar=1
Uh look, didn't mean anything by it, if you want the Enchanter's Stone, I'll be happy to help.
Result:
set MyVar to 2

Topic: Enchanter's Stone: MyVar=2
Ah yes, all I can tell you is that it was last seen in the possession of a... blah blah blah
Result:
whatever

MyVar would be a "short" variable in the NPC's script. The script doesn't have to actually do anything, just store the variable. Unless you want to prevent the normal disposition gain, in which case, with some effort, once again, you can track the old disposition and force it back when it goes up.

All in all it seems like alot of work (it took my a while just to type that silly example), but that's the closest I can think of.
User avatar
jessica sonny
 
Posts: 3531
Joined: Thu Nov 02, 2006 6:27 pm

Post » Fri May 27, 2011 9:45 pm

The only other thing I can think of along those lines, which would require some fitness and effort on your part, is what you might call "context sensitive persuasion". Basically they would still use the standard persuasion feature, but instead of just a disposition increase it would take them to the next part of the dialog tree of successful. So it might go something like this:


MyVar would be a "short" variable in the NPC's script. The script doesn't have to actually do anything, just store the variable. Unless you want to prevent the normal disposition gain, in which case, with some effort, once again, you can track the old disposition and force it back when it goes up.

All in all it seems like alot of work (it took my a while just to type that silly example), but that's the closest I can think of.


I really appreciate the head scratching work you went to - to get that example - I'm a little unsure how the messagebox works - is it prompting you to drop out of the dialogue topic and go to persuasion hit admire (or other) I'm sorry if I sound clueless - cause I am - or is the admire function included in the message box?

Actually it looks like a hard workaround for little gain and I've already learnt to edit back ideas in order to keep the mod moving forward - however staying on this topic - today i was thinking about the training option - my goal is to reward the player for making certain dialogue choices - ideally I want it to be part of the levelling up process - for instance I have a dialogue quest which works a little like a chain - you ask someone for info they say they will tell you if you find out something else for them - then it becomes a bit of hunting down the info and linking into other quests. I was hoping to end the chain with an increase in speechcraft skill - is there someway I can activate the training upskill script or is that hardcoded too - I've looked at the skillbooks and see they have no script.

I guess I could create a note that works like a speechcraft training book that is given at the end of the quest?

In any case thanks again very much for your help ManaUser :)
User avatar
luis dejesus
 
Posts: 3451
Joined: Sun Aug 19, 2007 7:40 am

Post » Fri May 27, 2011 8:13 pm

I really appreciate the head scratching work you went to - to get that example - I'm a little unsure how the messagebox works - is it prompting you to drop out of the dialogue topic and go to persuasion hit admire (or other) I'm sorry if I sound clueless - cause I am - or is the admire function included in the message box?

All MessageXox does in that case is show the text in a different colro to set it off from the dialog, you could just as easily put in the in response itself. So yes the idea was to use the normal persuade function, I'm inclined to agree that it would be alot of work for not much gain.

I guess I could create a note that works like a speechcraft training book that is given at the end of the quest?

You certainly could. So basically it would be a thank you note, but it would function as a skill book. That's a nice idea. Clever in fact. As long as it fits in thematically, I 'd say go with that. And you could praise the PC on their eloquence, "good listening", sage advice, or whatever in the note, so the player will understand what's going on, without it looking too artificial.
User avatar
Genocidal Cry
 
Posts: 3357
Joined: Fri Jun 22, 2007 10:02 pm

Post » Fri May 27, 2011 7:41 pm

Skill increase through dialogue is actually done in-game a few places. Here's what you'd put in the results box:
Player->Modspeechcraft 1
MessageBox "Your Speechcraft skill has increased."
User avatar
Jynx Anthropic
 
Posts: 3352
Joined: Fri Sep 08, 2006 9:36 pm

Post » Sat May 28, 2011 3:59 am

skill increase through dialogue is actually done in-game a few places. Here's what you'd put in the results box:
Player->Modspeechcraft 1
MessageBox "Your Speechcraft skill has increased."

Yes, that's easy enough, but it doesn't count towards leveling up.

Still it's the simplest solution, and there's something to be said for that. I do like the note idea though.
User avatar
lydia nekongo
 
Posts: 3403
Joined: Wed Jul 19, 2006 1:04 pm

Post » Sat May 28, 2011 3:55 am

Thanks for the replies - in the end I have opted for using notes as the means to legitimately gain a skill and have it contribute to levelling up - it ties in nicely to the story line and as they become collectable they work like achievements where if the maximum are achieved then a bonus reward is available.

As I've been rewriting some of the storyline - some new opprotunities for expanding quests have occured to me - I had originally not wanted to do a companion mod there are some very good companion mods already and some more in progress - however I would like to have my character help one of the NPC's on their personal quest which means tagging along with them a couple of times - depending on my characters level if we come across leveled creatures the NPC is not likely to last long as i have no plans on having them upskill themselves.

Sooo I am wondering how I can determine via a journal entry if they have been killed accidently versus if the character does away with them - for instance if accidently the journal is likely to record a sympathetic response versus the evil action which is likely to have a dark entry.

Is there a function which determines if the player kills someone or the NPC dies by other means?
User avatar
Enie van Bied
 
Posts: 3350
Joined: Sun Apr 22, 2007 11:47 pm

Post » Sat May 28, 2011 3:18 am

[Function] Dead-> (= / >= ) 1.
User avatar
ladyflames
 
Posts: 3355
Joined: Sat Nov 25, 2006 9:45 am

Post » Sat May 28, 2011 1:36 am

Got bored of reading halfway through :P
User avatar
Darrell Fawcett
 
Posts: 3336
Joined: Tue May 22, 2007 12:16 am

Post » Sat May 28, 2011 6:39 am

Got bored of reading halfway through :P


Then obviously dialogue based mods are not for you - please don't spam this thread with no value posts

@Jac if the companion is killed by another NPC or a creature - how does the journal get activated to record it was an accidental death?
User avatar
Jodie Bardgett
 
Posts: 3491
Joined: Sat Jul 29, 2006 9:38 pm

Post » Sat May 28, 2011 1:15 am

The game doesn't differentiate between who or what kills and NPC or creature, I believe. The dead count is the same regardless. I don't know offhand of any way to determine if the player killed an NPC or if a creature did, but there is an NPC killed by the player that the Enchanted Editor can review, but I don't know how to do that in game.
User avatar
NO suckers In Here
 
Posts: 3449
Joined: Thu Jul 13, 2006 2:05 am

Post » Sat May 28, 2011 9:52 am

Hm thanks Jac

To try and work this out I have been trying to deconstruct the misc quest 'An escort ot Molag Mar' where you need to get Paur Maston to meet up with Vanjirra - there is a journal entry that reads

I arrived in Molag Mar with Paur Maston. Of course, I knew that Vanjirra was already dead, but didn't figure that Paur needed to know that as well. The fool still paid me what he could for escorting him here.


But I can't see how the game knows that Vanjirra has met her end. I've searched through the quest journal entries and can't see anything that indicates her death at your hand or any other way. It was this quest that got me thinking about how do I trigger the journal that someone dies?
User avatar
Luna Lovegood
 
Posts: 3325
Joined: Thu Sep 14, 2006 6:45 pm

Post » Fri May 27, 2011 10:40 pm

There are a few possible dialog and script functions, but I couldn't tell you off hand the best way to use them for exactly what you want.

There's the Dead dialog function Jac mentioned, there's also an equivalent script function, GetDeadCount. Then there's OnDeath, a script function that returned true for one frame when an actor dies. Likewise there's OnMurder, which might be useful since only the PC can murder, but not every PC kill counts as murder (only they attack first and get caught). Then there's OnPCHitMe, which has somewhat complicated and strange behavior according to MWSfD. Also conceivably relevant there's a dialog function called FriendHit, which checks for the PC hitting NPCs following them.
User avatar
Czar Kahchi
 
Posts: 3306
Joined: Mon Jul 30, 2007 11:56 am

Post » Sat May 28, 2011 8:47 am

But I can't see how the game knows that Vanjirra has met her end. I've searched through the quest journal entries and can't see anything that indicates her death at your hand or any other way. It was this quest that got me thinking about how do I trigger the journal that someone dies?

Whenever an NPC or creature dies, their dead count is incremented by one. It doesn't matter how the NPC or creature dies, just that it's dead. As ManaUser pointed out, there are possible ways to determine if it was the player that killed the NPC/creature or something else, but they're almost too difficult to really be worth dealing with unless you have a quest that requires knowing what killed an NPC/creature. The developers assumed that it would be the player doing so, so they didn't include many functions to determine otherwise. True, people have been making companions for years, but the engine wasn't built around the player having one.
User avatar
Christine
 
Posts: 3442
Joined: Thu Dec 14, 2006 12:52 am

Post » Sat May 28, 2011 6:23 am

To try and work this out I have been trying to deconstruct the misc quest 'An escort ot Molag Mar' where you need to get Paur Maston to meet up with Vanjirra [...]

But I can't see how the game knows that Vanjirra has met her end. I've searched through the quest journal entries and can't see anything that indicates her death at your hand or any other way. It was this quest that got me thinking about how do I trigger the journal that someone dies?

I got interested in that and just looked it up. I have searched the entire morrowind.esm with the Enchanted Editor for "Journal "MV_TraderMissed" 110" but couldn't find it anywhere. It seems to me that this is a dead and unused Journal entry.

B
User avatar
Schel[Anne]FTL
 
Posts: 3384
Joined: Thu Nov 16, 2006 6:53 pm

Post » Fri May 27, 2011 11:15 pm

@ B - no wonder it was leading me on a wild goose chase then - I thought there was some way the game knew if you killed Vanjiira and then updated your journal - oh well

Um am back to baby steps - have spent the last 2 weeks rewriting the storyline to get rid of plot holes and tighten up the reason why quests are being done - so I've gone through and added generic topics to some 40 characters and tested them so far no big problems.

I have a pretty standard question to kick off the storyline - are you looking for work - I'll just leave the word 'work' as the topic name and filter for my NPC's who use it. However can someone please explain how update hyperlinks works is there something I should do with this button? Sorry for asking such a basic question but I don't want to mess up what work I have got done so far.

Thanks for the answers in advance :)
User avatar
Setal Vara
 
Posts: 3390
Joined: Thu Nov 16, 2006 1:24 pm

Post » Sat May 28, 2011 3:33 am

I have a pretty standard question to kick off the storyline - are you looking for work - I'll just leave the word 'work' as the topic name and filter for my NPC's who use it. However can someone please explain how update hyperlinks works is there something I should do with this button? Sorry for asking such a basic question but I don't want to mess up what work I have got done so far.

Thanks for the answers in advance :)


Update hyperlinks will mark dialog topics in your dialog text so you can see which could be click-able dialog. The standard rules for weither or not that dialog topic is available still apply. It's a good idea to avoid the update all button as it takes forever and can bloat your mod.
User avatar
Nitol Ahmed
 
Posts: 3321
Joined: Thu May 03, 2007 7:35 am

Post » Sat May 28, 2011 10:25 am

just to clarify, it appears that showing you (in the editor) which words will be hyperlinks is all that button is good for. The @# symbols are not actually saved with the mod apparently. I suspect its an obsolete feature, perhaps at a earlier stage in Morrowind's development it didn't parse dialog for topics automatically.
User avatar
brian adkins
 
Posts: 3452
Joined: Mon Oct 01, 2007 8:51 am

Post » Sat May 28, 2011 2:40 am

just to clarify, it appears that showing you (in the editor) which words will be hyperlinks is all that button is good for. The @# symbols are not actually saved with the mod apparently. I suspect its an obsolete feature, perhaps at a earlier stage in Morrowind's development it didn't parse dialog for topics automatically.


Thanks for that - it seems like I don't need to use it - I do use the errors button which is very useful :)

Quick question

What is the correct syntax for adding to a results box to unlock a door? For instance my character if she/he wants work goes to a building enters into a reception area tells the receptionist that she/he is looking for the owner regarding some work - in order to get access to the owner I now want the result to = CT_Reception_door to unlock

Or do I have to put a script on the door?

I've had a look at the chargen captain's door script and it activates if you have the package - if I have to put the script on the door instead of via results box - will a journal entry update be sufficient to activate it?

Also I had a look at the chargen guard who tells you to continue through to the next door - he also looks to see if you have your papers

I guess I can get the receptionist to give me visitor papers - but I was just thinking there must be an easy way to unlock the door?
User avatar
Emzy Baby!
 
Posts: 3416
Joined: Wed Oct 18, 2006 5:02 pm

Post » Sat May 28, 2011 4:46 am

Thanks for that - it seems like I don't need to use it - I do use the errors button which is very useful :)

Uh-oh. I hope you know about that button's quirks. You shouldn't save after using it because it can change global variables, possible other things, I'm not sure. An alternative is to create a dummy script to use as a syntax checker. Just paste your result code in there and try to save it.

Quick question

What is the correct syntax for adding to a results box to unlock a door? For instance my character if she/he wants work goes to a building enters into a reception area tells the receptionist that she/he is looking for the owner regarding some work - in order to get access to the owner I now want the result to = CT_Reception_door to unlock

[spoiler]MyDoorID->Unlock should work, provided the door is unique, and has reference persists. (The latter may not be required if its in the same cell as the speaker.)
User avatar
James Baldwin
 
Posts: 3366
Joined: Tue Jun 05, 2007 11:11 am

Post » Fri May 27, 2011 11:34 pm

Uh-oh. I hope you know about that button's quirks. You shouldn't save after using it because it can change global variables, possible other things, I'm not sure. An alternative is to create a dummy script to use as a syntax checker. Just paste your result code in there and try to save it.


[spoiler]MyDoorID->Unlock should work, provided the door is unique, and has reference persists. (The latter may not be required if its in the same cell as the speaker.)


Um... I have been continually checking my mod with Tesame to see if any thing changes apart from what I intentionally added - nothing obvious there.

I'm building my mod with only Morrowind.esm selected and Wrye's GMST Vaccine - I think the vaccine seems to prevent any dirt getting into the mod and all my tests so far are ok - but thanks for the warning - I'd not heard that before - it does seem the dialogue editor wasn't built with consulting the users first - it's a little clunky.

I've never used the references persist selection before - the door is in the same cell as the receptionist - um once the door is unlocked will it relock itself? If not and i wanted to lock a door again via dialogue would the result box be MyDoorID->Lock ?
User avatar
maya papps
 
Posts: 3468
Joined: Mon Aug 07, 2006 3:44 pm

Post » Fri May 27, 2011 6:50 pm

Um... I have been continually checking my mod with Tesame to see if any thing changes apart from what I intentionally added - nothing obvious there.

I'm building my mod with only Morrowind.esm selected and Wrye's GMST Vaccine - I think the vaccine seems to prevent any dirt getting into the mod and all my tests so far are ok - but thanks for the warning - I'd not heard that before -

Well it's possible that's outdated information or something. I know I read warnings about it a long time ago... Heres how Morrowind Scripting for Dummies words the warning:
Note: Result field scripts are not compiled by CS. You may write any rubbish there and MW will not complain until the line is told by an NPC and its script is compiled on-the-fly. If the script is complex enough to worry about possible syntax errors, it is recommended to copy/paste its text into a regular dummy script and try to save it. That is more reliable than using the "Error Test Results" button, as it can change preset values of global variables. On the other hand, the fact that resultbox scripts are compiled at runtime may allow some interesting effects, like addressing contents of another mod without duplicating it in the current mod, which can't be done with conventional scripts (Forum info / Kir).

But on the other hand, as long as you look at your mod with the Details window, TESEME, EE or whatever and verify that there are no odd global variables in there, I guess it's fine.

it does seem the dialogue editor wasn't built with consulting the users first - it's a little clunky.

I know, I guess from Bethesda's point of view the editor didn't need to be polished as much as a typical consumer product since the game was what people were paying for. Of course that's true, but I it still would have been nice if they'd thought about us poor modders a a little more. :)

I've never used the references persist selection before - the door is in the same cell as the receptionist - um once the door is unlocked will it relock itself? If not and i wanted to lock a door again via dialogue would the result box be MyDoorID->Lock ?

Yes it would, except for Lock you need to put a lock strength after it. e.g. [spoiler]MyDoorID->Lock 50. References Persists is normally needed when a script refers to anything it isn't attached to except an NPC. But that's partly just to stop the editor from complaining when you compile the script. Since this is dialog, not a script per se, I think you'll be okay, if the door is in the same cell the game shouldn't have an trouble finding it.

Of course... the only way to be sure is to try it.
User avatar
marina
 
Posts: 3401
Joined: Tue Mar 13, 2007 10:02 pm

Post » Sat May 28, 2011 6:45 am

Of course... the only way to be sure is to try it.


Heehee - the proof of the pudding is under the crust :)

Just to let you know it worked beautifully - I locked the doors at level 100 gave them unique id's and added the code to the Results box - I ran the error button and it told me I needed to set the references persist :)

So after saving I went for a clean test run here's some shots

In the first shot the player is in a conversation about someone's background - the conversation drifts onto work and they get asked if they want some. The choices are essentially yes or no but not so blunt both options result in different journal options - however both of them also unlock the door of the quest giver.

http://img222.imageshack.us/img222/497/unlockingdoor1.jpg

You're told to go see Culamani - she's a receptionist and you enter into a foyer with a door on your right which is locked - however once you talk to her it unlocks.

http://img222.imageshack.us/img222/576/unlockingdoor2.jpg

I just wanted to thank everyone who contributes to this thread and assure you that i do try out the suggestions - am getting more confident of trying things before asking - it's just that having invested so many months into building the mod I suffer paranoia i will fatally kill it - though sometimes i suspect it might just be modders procrastination.

Anyway the mod continues and I think it's pretty straightforward entering dialogue for a while.

Illy
User avatar
Racheal Robertson
 
Posts: 3370
Joined: Thu Aug 16, 2007 6:03 pm

PreviousNext

Return to III - Morrowind

cron