toolset question

G

Guest

Guest
Archived from groups: alt.games.neverwinter-nights (More info?)

Alright, I've finally begun to dabble with the toolset, and right now
I'm following the tutorial from Bioware. One of the little 'extra
credit' things to do (which they do a poor job of explaining) is to
create a conversation in which you are rewarded 1000XP just for talking
to someone. So I put an instance of the innkeeper in the area, made a
conversation where he says 'Hello, etc. etc.' (with no responses, so
maybe that's the problem) and I used the script editor to do "Give
reward" for "Action Taken" and I put in the amount. But when I talk to
him, there's no reward. Is it because I have to interact with him, or
did I just do something wrong?
 
Archived from groups: alt.games.neverwinter-nights (More info?)

John Salerno wrote:
> Alright, I've finally begun to dabble with the toolset, and right now
> I'm following the tutorial from Bioware. One of the little 'extra
> credit' things to do (which they do a poor job of explaining) is to
> create a conversation in which you are rewarded 1000XP just for
> talking to someone. So I put an instance of the innkeeper in the
> area, made a conversation where he says 'Hello, etc. etc.' (with no
> responses, so maybe that's the problem) and I used the script editor
> to do "Give reward" for "Action Taken" and I put in the amount. But
> when I talk to him, there's no reward. Is it because I have to
> interact with him, or did I just do something wrong?

I assume you have got a script with a line like

GiveXPToCreature(GetPCSpeaker(), 1000);

Because you have created a "One Liner Conversation", which doesn't open
the dialogue window, the object PCSpeaker will not be created, and
therefor the function fails. If you add a simple reply line to the
conversation (it may even be empty), the script works as expected.

HTH
Hans
 
Archived from groups: alt.games.neverwinter-nights (More info?)

Hans Wein wrote:
> John Salerno wrote:
>
>>Alright, I've finally begun to dabble with the toolset, and right now
>>I'm following the tutorial from Bioware. One of the little 'extra
>>credit' things to do (which they do a poor job of explaining) is to
>>create a conversation in which you are rewarded 1000XP just for
>>talking to someone. So I put an instance of the innkeeper in the
>>area, made a conversation where he says 'Hello, etc. etc.' (with no
>>responses, so maybe that's the problem) and I used the script editor
>>to do "Give reward" for "Action Taken" and I put in the amount. But
>>when I talk to him, there's no reward. Is it because I have to
>>interact with him, or did I just do something wrong?
>
>
> I assume you have got a script with a line like
>
> GiveXPToCreature(GetPCSpeaker(), 1000);
>
> Because you have created a "One Liner Conversation", which doesn't open
> the dialogue window, the object PCSpeaker will not be created, and
> therefor the function fails. If you add a simple reply line to the
> conversation (it may even be empty), the script works as expected.
>
> HTH
> Hans
>
>

Yes, that line is in there, and now I understand the problem. I figured
it might have been something like that, but thanks for explaining it a
little better. :)
 
Archived from groups: alt.games.neverwinter-nights (More info?)

Hans Wein wrote:
> John Salerno wrote:
>
>>Alright, I've finally begun to dabble with the toolset, and right now
>>I'm following the tutorial from Bioware. One of the little 'extra
>>credit' things to do (which they do a poor job of explaining) is to
>>create a conversation in which you are rewarded 1000XP just for
>>talking to someone. So I put an instance of the innkeeper in the
>>area, made a conversation where he says 'Hello, etc. etc.' (with no
>>responses, so maybe that's the problem) and I used the script editor
>>to do "Give reward" for "Action Taken" and I put in the amount. But
>>when I talk to him, there's no reward. Is it because I have to
>>interact with him, or did I just do something wrong?
>
>
> I assume you have got a script with a line like
>
> GiveXPToCreature(GetPCSpeaker(), 1000);
>
> Because you have created a "One Liner Conversation", which doesn't open
> the dialogue window, the object PCSpeaker will not be created, and
> therefor the function fails. If you add a simple reply line to the
> conversation (it may even be empty), the script works as expected.
>
> HTH
> Hans
>
>

Hmmm, now how do I make him *stop* giving me XP every time I talk to
him? :) I'm sure there's a way to change his dialogue after the first
time. Maybe it involves setting a variable, or is there a setting that
just lets you 'turn off' the script after it runs once?
 
Archived from groups: alt.games.neverwinter-nights (More info?)

"John Salerno" <johnjsal@NOSPAMgmail.com> wrote in message
news:cqf27i$rgf@library1.airnews.net...
> Hans Wein wrote:
>> John Salerno wrote:
>>
>>>Alright, I've finally begun to dabble with the toolset, and right now
>>>I'm following the tutorial from Bioware. One of the little 'extra
>>>credit' things to do (which they do a poor job of explaining) is to
>>>create a conversation in which you are rewarded 1000XP just for
>>>talking to someone. So I put an instance of the innkeeper in the
>>>area, made a conversation where he says 'Hello, etc. etc.' (with no
>>>responses, so maybe that's the problem) and I used the script editor
>>>to do "Give reward" for "Action Taken" and I put in the amount. But
>>>when I talk to him, there's no reward. Is it because I have to
>>>interact with him, or did I just do something wrong?
>>
>>
>> I assume you have got a script with a line like
>>
>> GiveXPToCreature(GetPCSpeaker(), 1000);
>>
>> Because you have created a "One Liner Conversation", which doesn't open
>> the dialogue window, the object PCSpeaker will not be created, and
>> therefor the function fails. If you add a simple reply line to the
>> conversation (it may even be empty), the script works as expected.
>>
>> HTH
>> Hans
>
> Hmmm, now how do I make him *stop* giving me XP every time I talk to him?
> :) I'm sure there's a way to change his dialogue after the first time.
> Maybe it involves setting a variable, or is there a setting that just lets
> you 'turn off' the script after it runs once?

John, use the tutorial example of talking with Falstadd to see how to change
the dialogue based upon prior conversation. Basically, you need to create a
local variable, set its value upon conversation, and then test it (text
appears when...) to see if the conversation has taken place.

David



--
CaissaWas__SPAMHater__INTP@adelphia__ANTIV__.net without the block
 
Archived from groups: alt.games.neverwinter-nights (More info?)

David wrote:
> "John Salerno" <johnjsal@NOSPAMgmail.com> wrote in message
> news:cqf27i$rgf@library1.airnews.net...
>
>>Hans Wein wrote:
>>
>>>John Salerno wrote:
>>>
>>>
>>>>Alright, I've finally begun to dabble with the toolset, and right now
>>>>I'm following the tutorial from Bioware. One of the little 'extra
>>>>credit' things to do (which they do a poor job of explaining) is to
>>>>create a conversation in which you are rewarded 1000XP just for
>>>>talking to someone. So I put an instance of the innkeeper in the
>>>>area, made a conversation where he says 'Hello, etc. etc.' (with no
>>>>responses, so maybe that's the problem) and I used the script editor
>>>>to do "Give reward" for "Action Taken" and I put in the amount. But
>>>>when I talk to him, there's no reward. Is it because I have to
>>>>interact with him, or did I just do something wrong?
>>>
>>>
>>>I assume you have got a script with a line like
>>>
>>>GiveXPToCreature(GetPCSpeaker(), 1000);
>>>
>>>Because you have created a "One Liner Conversation", which doesn't open
>>>the dialogue window, the object PCSpeaker will not be created, and
>>>therefor the function fails. If you add a simple reply line to the
>>>conversation (it may even be empty), the script works as expected.
>>>
>>>HTH
>>>Hans
>>
>>Hmmm, now how do I make him *stop* giving me XP every time I talk to him?
>>:) I'm sure there's a way to change his dialogue after the first time.
>>Maybe it involves setting a variable, or is there a setting that just lets
>>you 'turn off' the script after it runs once?
>
>
> John, use the tutorial example of talking with Falstadd to see how to change
> the dialogue based upon prior conversation. Basically, you need to create a
> local variable, set its value upon conversation, and then test it (text
> appears when...) to see if the conversation has taken place.

Ok, I understand now. I just wasn't sure if maybe there was a simple
method of just stopping a script from running more than once. But I
think I understand how to script a variable to check for that.
 
Archived from groups: alt.games.neverwinter-nights (More info?)

You can also tie it to a journal entry that is added during the initial
conversation, then check for that journal entry as a condition for a
particular line on conversation being available. This is still checking for
a local variable, but in this case and variable based on a journal entry.
Probably a bit more advanced than what you're looking for now. Eventually
the situation will come up though. Having a copy of the NWN Lexicon for
coding purposes would probably help you immensley.
 
Archived from groups: alt.games.neverwinter-nights (More info?)

Mailer Deamon wrote:
> You can also tie it to a journal entry that is added during the initial
> conversation, then check for that journal entry as a condition for a
> particular line on conversation being available. This is still checking for
> a local variable, but in this case and variable based on a journal entry.
> Probably a bit more advanced than what you're looking for now. Eventually
> the situation will come up though. Having a copy of the NWN Lexicon for
> coding purposes would probably help you immensley.
>
>

Yeah, I've actually come to a spot where it helped to do it by journal
entry than by variable. I'm learning as I go, I guess. :)