Pocket Plane Group

Miscellany, Inc. => Infinity Engine Modding Q&A => Topic started by: Baldurien on July 27, 2004, 04:32:36 AM

Title: [solved] I don't want to speak to party except protagonist ...
Post by: Baldurien on July 27, 2004, 04:32:36 AM
Hello

I'm trying to force the player to speak only with the protagonist to a specific player,

I've tried that :
0x40BC IsGabber(O:Object*)
NT Returns true only if the specified object is in the party but is not the protagonist.

Code: [Select]
IF ~IsGabber(LastTalkedToBy)~
THEN BEGIN notprotagonist
SAY ~I don't want to speak to you, you're not <CHARNAME>~
IF ~~ THEN EXIT
END


I solved the problem :

InPartySlot( LastTalkedToBy, 0 )

But it seems to fail in Bg2

How could I do that ? (since I can't test if LastTalkedToBy == Protagonist)
Title: Re: [solved] I don't want to speak to party except protagonist ...
Post by: Shed on July 27, 2004, 05:20:14 AM
!InPartySlot(LastTalkedToBy,0)

That's the condition Cespenar uses.
Title: Re: [solved] I don't want to speak to party except protagonist ...
Post by: Baldurien on July 27, 2004, 05:54:32 AM
I've seen ;)

Hum I've got another annoyance but with DO :

Code: [Select]
SetGlobal( "OutsideIsCold", "LOCALS", 1 );
ClearAllActions()
SetCutSceneLite(TRUE)
ActionOverride( Protagonist, ForceSpell(LastTalkedToBy(Protagonist),CLERIC_RESIST_FIRE))
ActionOverride( Protagonist, SetCutSceneLite(FALSE))
ActionOverride( Protagonist, StartDialogueNoSet(LastTalkedToBy))

All of that work except for the last line : Bgmain say "Action:) invalid... " or it don't work.

I would like the main character to speak again with the NPC he was talking to. I could force the NPC to talk to the protagonist (it will work), but if I do this, then I will potentially have the cutscenelite end before. I could handle this with Wait() but still, I don't know how many time should I wait.
Title: Re: [solved] I don't want to speak to party except protagonist ...
Post by: Shed on July 27, 2004, 07:22:17 AM
LastTalkedToBy isn't really an Object, I think. It needs to be LastTalkedToBy(Protagonist).

As far as I know anyway. And I don't know what cutscenelite is. Also I assume you are putting spaces only to avoid smilies?
Title: Re: [solved] I don't want to speak to party except protagonist ...
Post by: SimDing0™ on July 27, 2004, 07:39:25 AM
LastTalkedToBy with no nested object will default to LastTalkedToBy(Myself).
Title: Re: [solved] I don't want to speak to party except protagonist ...
Post by: Baldurien on July 27, 2004, 12:56:59 PM
I put space only for scripting conveniance, Bioware Script doesn't care of space.

I used a Wait(6).

CutSceneLite is the same as CutSceneMode except the scripts doesn't stop.