>greet_prog 100~
if quest (0,4,$n) == 1
say Are you here to AID me $n?
else
if quest (0,4,$n) == 2
if hasobjnum ($n) == 3720
say Yes! I see you have found the stone!
say Now give it to me $n!
emote beams from excitement at you.
else
say You should look high up in the tower for the stone of concealment $n.
endif
endif
if quest (0,4,$n) == 4
cackle
say Good job $n.
say Now do not forget to ask for your REWARD
endif
endif
>rand_prog 10~
mpasound From somewhere nearby you hear a voice scream in agony!
mpecho The Grey Lord cries out in pain and agony!
>speech_prog aid~
mpecho The Grey Lord narrows his eyes and looks at you carefully.
if quest (0,4,$n) == 1
mpecho The Grey Lord sighs in relief.
say I am glad my servant was able to find you. It is not
say possible for you to help me escape, but you can help
say me gain revenge against my captors. The first step
say is to CONCEAL my presence from the recruiters.
else
say The mark of my servant is not upon you. If you have
say helped me in the past, I am sorry that I do not
say remember you. If you are a thief I warn you: if you
say attempt to harm me you will regret it!
endif
>speech_prog conceal~
mpecho The Grey Lord narrows his eyes and examines you again.
if quest (0,4,$n) <= 2
mpmset $n quest 0 4 2
say There was a time when I was the master of this tower and
say of all its contents. Then the thrice damned servants of
say Gaia, Manwe, Ulmo and Demise joined together to strip
say me of my powers.
say As I was captured I managed to hide a powerful Stone of
say Concealment in one of the force cages. Find it and give
say it to me so I can implement the next step of my plan.
else
say Have you been spying on one of my
say helpers? I see no mark upon you. Begone before it is
say too late!
endif
>give_prog I3720~
if quest (0,4,$n) == 2
or quest (0,4,$n) == 1
say At last!
mpecho The Grey Lord utters the words 'dsepmlg'.
mpecho The Stone of Concealment begins to glow brightly!
mpmset $n quest 0 4 3
say Now hurry. Since they cannot detect my presence it
say will be simple to instigate a fight. Tell either of
say the recruiters that:
say The other recruiter set the grey lord free
say Come back to me afterward and I will REWARD you
say handsomely.
else
say At last, the stone!
mpecho The Grey Lord narrows his eyes and examines you.
say You do not have the mark of one of my helpers. Are you
say a spy for Manwe and Hypnos? You will get no information
say from me!
endif
mpjunk i3720
>speech_prog reward~
if quest (0,4,$n) == 4
nod $n
say I am happy enough now to last another 1000 years of this
say torture. Take this rune dagger $n.
say It is weak, but bears the powers of Hypnos, thus will
say help to keep you safe from harm.
mpoload 3721
mpmset $n quest 0 4 5
give I3721 $n
say Now leave me to my torment.
mpjunkperson $n I3719
else
say You have not fulfilled your part of the bargain yet.
endif
For my MUD I want to have NPCs to have semi-intelligent dialogs and conversations. I want them to remember what I said to them and what they said to me before, so that they don't repeat the same dull replies over and over. I want to have them have conversations amongst themselves, and to have them spontaneously talk to me about whatever is going on lately, etc..
Of course I can code a lot of this using triggers and scripts, but it would be better to have some decent "dialog editor" so that builders can easily add "conversation content".
How do other MUDs handle such situations? Any good solutions out there? Examples of other implementations? Other good ideas? I would like to know :)
Cheers!
Arend jr.