Jump to content

Requesting assistance with quest


Vagrant0

Recommended Posts

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

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

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...