Pocket Plane Group
Miscellany, Inc. => Infinity Engine Modding Q&A => Topic started 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.
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)
-
!InPartySlot(LastTalkedToBy,0)
That's the condition Cespenar uses.
-
I've seen ;)
Hum I've got another annoyance but with DO :
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.
-
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?
-
LastTalkedToBy with no nested object will default to LastTalkedToBy(Myself).
-
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.