How to keep a good drunk down.
#1
Posté 10 janvier 2011 - 01:42
I've tried the sleep effect, paralyze effect, the CustsceneParalyze effect and all fail. They allow the NPC to pop right up when the PC tries to talk to them.
Thoughts?
#2
Posté 10 janvier 2011 - 02:40
#3
Posté 10 janvier 2011 - 03:33
#4
Posté 10 janvier 2011 - 04:01
#5
Posté 10 janvier 2011 - 09:57
#6
Posté 10 janvier 2011 - 10:22
void main()
{
}
#7
Posté 10 janvier 2011 - 10:55
Orion7486 wrote...
If you put this script in the onconvo event, the npc will do nothing when left clicked on:
void main()
{
}
Yeah, I think you pretty much want to strip as many of their events as you can. I'm pretty that's actually what the statue script DannJ is referring to does.
#8
Posté 10 janvier 2011 - 11:03
If you set this flag to FALSE, you could trigger some random bark string conversations from the drunks, while not forcing them to stand up and face you. You could have a series of Zs (if they are asleep), something completely incoherant, or perhaps play a belching sound effect.
#9
Posté 11 janvier 2011 - 01:08
DannJ wrote...
No - there is a flag that can be set to TRUE/FALSE that enables or disables a creature turning when a PC tries to initiate conversation (even if they don't actually have a conversation).
If you set this flag to FALSE, you could trigger some random bark string conversations from the drunks, while not forcing them to stand up and face you. You could have a series of Zs (if they are asleep), something completely incoherant, or perhaps play a belching sound effect.
Can I make them fart?
Great to know that works. I looked at that flag and ignored it, thinking that it only affected the turning. So it will keep them from standing up too? *AND* I can make them fart and snore? Now if I can just make them give each other wedgies and draw lewd pictures on the forehead of their unconscious friends in magic marker, then I'll be headed for the hall of fame for sure!
Modifié par M. Rieder, 11 janvier 2011 - 01:11 .
#10
Posté 11 janvier 2011 - 01:09
MasterChanger wrote...
Orion7486 wrote...
If you put this script in the onconvo event, the npc will do nothing when left clicked on:
void main()
{
}
Yeah, I think you pretty much want to strip as many of their events as you can. I'm pretty that's actually what the statue script DannJ is referring to does.
I tried simply deleting the script for "on conversation" and it didn't work. I never tried substituting a blank script.
#11
Posté 11 janvier 2011 - 01:25
#12
Posté 11 janvier 2011 - 01:50
#13
Posté 11 janvier 2011 - 02:33
M. Rieder wrote...
I believe SetOrientOnDialogue() is the function you were referring to.
Yes! That's the one.
It's a pity they took the farting sound effect out for NWN2. I believe it existing in NWN1 (called something like 'flatus.wav' I think). At least NWN2 has a nice long burp though...
#14
Posté 11 janvier 2011 - 03:13
#15
Posté 12 janvier 2011 - 01:05
The default conversation clean all the effect on the 2 objects in conversation before the conversation to be sure that the conversation can start.
You have 2 possibility for keeping your drunk in a drunk state.
1 loop the animation in the drunk heartbat
2 change the default conversation script so they won't clean the effect on him.
#16
Posté 12 janvier 2011 - 05:39
#17
Posté 12 janvier 2011 - 09:51
Shallina wrote...
The default conversation clean all the effect on the 2 objects in conversation before the conversation to be sure that the conversation can start.
In the module I'm working on, it's possible to talk to a 'statue' creature (animations frozen, SetOrientOnDialogue=FALSE, stoneskin effect) without it changing posture. This is the guts of the OnSpawn script, from one created originally by Brendan Bellina:
#include "NW_I0_GENERIC"
void main()
{
object oTarget = OBJECT_SELF;
effect eFreeze = SupernaturalEffect( EffectVisualEffect( VFX_DUR_FREEZE_ANIMATION ) );
ApplyEffectToObject( DURATION_TYPE_PERMANENT, eFreeze, OBJECT_SELF );
SetOrientOnDialog(oTarget, FALSE);
SetBumpState(oTarget, BUMPSTATE_UNBUMPABLE);
}
You'd have to apply a looping prone animation to oTarget first, then delay applying the freeze effect by a fraction of a second, so that the drunk was frozen while lying down. You should then be able to talk to him or her without them even flinching.
#18
Posté 14 janvier 2011 - 12:02
Generally I use it on a client enter and loop through all the NPCs and apply the different animations. If modified it can be used on a trigger or as a custom spawn script.
object oTarget = GetFirstObjectInArea(OBJECT_SELF);
object oArea = OBJECT_SELF;
string sAnimation;
while (GetIsObjectValid(oTarget))
{
sAnimation = GetLocalString(oTarget,"animation");
if (sAnimation != "")
{
PlayCustomAnimation(oTarget,sAnimation,1,1.0);
SetOrientOnDialog(oTarget,FALSE);
SetBumpState(oTarget,BUMPSTATE_UNBUMPABLE);
}
oTarget = GetNextObjectInArea(oArea);
}
Another thing you can do is create a simple ssf for the drunk. Burps, farts or snoring. So when players click on them they get those noise effects while the drunk lays on the ground. I did that with the injured people in Risen Hero.
Modifié par Shaughn78, 14 janvier 2011 - 12:10 .
#19
Posté 14 janvier 2011 - 03:01
Modifié par DannJ, 14 janvier 2011 - 03:05 .
#20
Posté 14 janvier 2011 - 12:25
Shaughn78 wrote...
I have used this script (it is part of a larger script, only posted the velevant part) to set animation on NPCs. It applies a looping animation, prevents the turn with dialog and makes them unbumpable (so the player can't push them around).
Generally I use it on a client enter and loop through all the NPCs and apply the different animations. If modified it can be used on a trigger or as a custom spawn script.
object oTarget = GetFirstObjectInArea(OBJECT_SELF);
object oArea = OBJECT_SELF;
string sAnimation;
while (GetIsObjectValid(oTarget))
{
sAnimation = GetLocalString(oTarget,"animation");
if (sAnimation != "")
{
PlayCustomAnimation(oTarget,sAnimation,1,1.0);
SetOrientOnDialog(oTarget,FALSE);
SetBumpState(oTarget,BUMPSTATE_UNBUMPABLE);
}
oTarget = GetNextObjectInArea(oArea);
}
Another thing you can do is create a simple ssf for the drunk. Burps, farts or snoring. So when players click on them they get those noise effects while the drunk lays on the ground. I did that with the injured people in Risen Hero.
to make an ssf, do you have to make a hak or mess with any 2da's or is it more like making a blueprint?
#21
Posté 14 janvier 2011 - 01:05
#22
Posté 14 janvier 2011 - 02:28
The new soundset needs to be added to the soundset.2da. You may be able to get around actually editing the 2da. Looking at the soundset 2da there are a number of empty soundsets left over from NWN1 and it's expansions. The first one is "Archhound" you can create the ssf that it references "c_archhond". You will not have a properly labeled drunk soundset but it should prevent the need for a HAK.
Modifié par Shaughn78, 14 janvier 2011 - 02:39 .
#23
Posté 18 janvier 2011 - 02:37
http://nwn2stuff.blo...g-response.html
Every drunk could have the same conversation. With enough responses to randomly choose from, there shouldn't be too much repetition.
Modifié par DannJ, 18 janvier 2011 - 02:38 .





Retour en haut






