Vagrant0 Posted August 18, 2008 Author Share Posted August 18, 2008 Well.., you could try "linking" all parts of the conversation together... The end of Conv. 1 will activate conv. 2, the end of conv.2 will activate conv. 3......and-so-on Conv. 1. will still be triggered by the PC entering a certain area.Tried that, however didn't work at all. It would also probably force one dialogue to follow closly to the other since none of them are voiced and the silent mp3 is so short. Also between this and several other scripts which don't want to work right, I'm frustrated to the point of where I just don't want to keep working. Knowing that someone else can have this part covered would relieve me of a fairly large burden and let me focus on other areas. It's like I can't even script any more. Link to comment Share on other sites More sharing options...
QQuix Posted August 18, 2008 Share Posted August 18, 2008 When Armand Christophe says a string of lines when the player first meets him, he uses the following script (removed some lines) It seems that it could be easily adapted to different NPCs saying different lines in a row.Also, InfoLength could be set to a hardcoded number of seconds for each line ScriptName ArmandChristopheScript . . . Begin GameMode If LineSaid == 0 && ArmandStartSpeech == 1 && InfoLength == 0 Set InfoLength to ArmandChristopheRef.Say TG01Armand1 ArmandChristopheRef.SayTo Player TG01Armand1 Set LineSaid to 1 ArmandChristopheRef.PickIdle ElseIf LineSaid == 1 && InfoLength <= 0 ; Same for line 2 ElseIf LineSaid == 2 && InfoLength <= 0 . . . Set LineSaid to 99 EndIf If LineSaid > 0 && LineSaid < 99 Set InfoLength to InfoLength - GetSecondsPassed EndIf . . . End [EDIT] Just tried and it works. The NPCs where 1000 game units from each other. I used the following script attached to an activator: scn aaaActivatorTestSCRIPT short xLine float xLineDelay begin onactivate set xLine to 1 end Begin GameMode If xLine == 1 && xLineDelay <= 0 Set xLineDelay to 3 NPC1.look NPC2 NPC1.SayTo NPC2 aaaTest1 1 Set xLine to 2 ElseIf xLine == 2 && xLineDelay <= 0 Set xLineDelay to 3 NPC2.look NPC3 NPC2.SayTo NPC3 aaaTest2 1 Set xLine to 3 ElseIf xLine == 3 && xLineDelay <= 0 Set xLineDelay to 3 NPC3.look Player NPC3.SayTo Player aaaTest3 1 Set xLine to 0 EndIf If xLine > 0 Set xLineDelay to xLineDelay - GetSecondsPassed EndIf End Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.