Do the body/face animation buttons work in the conversation interface?
#1
Posté 24 janvier 2015 - 12:56
#2
Posté 24 janvier 2015 - 02:59
Yes they work (or at least the body animations work) if the creature has an animation of that type. You select the creature to animate (conversation owner or player) then click on the animation in the list. An asterisk then appears next to the selected creature indicating it has been assigned an animation.
Why wouldn't you want to experiment with the toolset?
#3
Posté 24 janvier 2015 - 08:40
#4
Posté 24 janvier 2015 - 09:04
If you mean use a dialogue box instead of a letterboxed cinematic, open the conversation and look in its properties. There's a box for "NWN1-style dialogue" and another for "Party Chat". The first gives you a single character dialogue box, and the other gives you the party dialogue box that allows you to select which character speaks for the party.
#5
Posté 24 janvier 2015 - 08:35
#6
Posté 24 janvier 2015 - 09:02
Okay got it. Thanks. Wow, these animations really make the dialogues fun. They really imbue the game with character! Is there a way to look at the actual animation script? So you can put it in somebody's onheartbeat?
You can put the PlayCustomAnimation function in their heartbeat, here is a list of the animations
http://nwn2.wikia.co...t_of_animations
I've done heartbeats for most of the more common actions, plus added some features like ensuring an npc will have an appropriate item automatically. It should save you plenty of time.
http://neverwinterva...ric-commoner-ai
#7
Posté 24 janvier 2015 - 10:47
I found this, but I'm just too damn stupid to figure out how script it and get into the line of dialogue:
gc_check_gold int nGold int bMP If nMP is false, return true if the PC has more gold than nGold. If nMP is true, return true if every PC has more gold than nGold.
#8
Posté 25 janvier 2015 - 12:11
You select the line of conversation that you want to control, click on the 'Conditions' tab down at the bottom, then 'Add' and select the 'Script' from the menu. You may need to click 'Refresh'. At that point you can fill in the fields. The condition will appear next to the conversation line you selected.
#9
Posté 27 janvier 2015 - 12:34
#10
Posté 27 janvier 2015 - 01:37
You select the line of conversation that you want to control, click on the 'Conditions' tab down at the bottom, then 'Add' and select the 'Script' from the menu. You may need to click 'Refresh'. At that point you can fill in the fields. The condition will appear next to the conversation line you selected.
Thanks.
#11
Posté 29 janvier 2015 - 01:35
#12
Posté 29 janvier 2015 - 02:07
Who owns the conversation? If you're talking to a party member, then you might simply be transferring gold from the player to another party member (which will go back to the player).
It seems that the default value for bDestroy in the TakeGoldFromCreature() function is FALSE, which means the current script will attempt to transfer the gold to the conversation owner. A modified version of GA_TAKE_GOLD that specified a bDestroy value of TRUE would prevent party members from recycling party gold.
So:
TakeGoldFromCreature( nGold,oPC );
would have to be:
TakeGoldFromCreature( nGold,oPC, TRUE );
#13
Posté 29 janvier 2015 - 09:45
#14
Posté 29 janvier 2015 - 10:25
If you click on the line where ga_take_gold is, below the conversation tree (not at the right, where the actions and conditions are shown in front of the line they refer to), don't you have text boxes labelled with variables names in front of them? On the third one, just change 0 (or FALSE) to 1 (or TRUE).
You may have to select the "actions" tab first to be able to see these parameters.
#15
Posté 29 janvier 2015 - 07:44
#16
Posté 29 janvier 2015 - 09:52
Go to the 'File' menu at the top left of the toolset and choose 'Open conversation/script' (or something similar, I'm working from memory). Filtering on the word 'gold' should allow you to locate and open the script easily enough. Once you make the change in the script editor and try to compile the script, you'll get a warning that you're trying to edit something read-only, and the toolset will make a local copy of the script in that particular module.
#17
Posté 30 janvier 2015 - 01:31
It worked! Thanks dude! Now I'm trying to figure out use a random number to decide between a set of conversation branches to send the player down. Something like this:
int nRandom = d3(1);
switch( nRandom ) {
case 0:
[convo branch 1];
break;
case 1:
[convo branch 2];
break;
default:
[convo branch3];
break;
#18
Posté 30 janvier 2015 - 01:38
There is a script in the game that does that: gc_rand_1of.
The script notes say:
// gc_rand_1of
/*
Used to randomly pick a dialog response.
Use paramaters 2 through X for each entry after the first, decementing by 1 for each branch going down.
Example: 3 entries would have the following conditionals:
gc_rand_1of(3)
gc_rand_1of(2)
The final entry doesn't need a check since it is a certainty.
*/
#19
Posté 30 janvier 2015 - 09:13





Retour en haut






