Jump to content

Need Help With NPC Script Problem


Griphyne

Recommended Posts

I'm fairly new to scripting (just started one week ago), and have been struggling to get this working since before the weekend. Basically, I'm trying to replicate a scripted conversation between multiple npcs, similarly to many times in game. Unfortunately after the first npc speaks their line, the script for the second one never fires. After a bit of playing around and testing different things, I found everything worked (albeit with the wrong timing) when the begin was changed from SayToDone to Gamemode. Since the sayToDone all seem to work for the default game, and searching seems to have revealed nobody with a similar issue, I'm assuming this is something I've messed up elsewhere. But after whole a weekend of looking for that mistake, I'm stumped. If anyone has any ideas why it isn't starting, it'd be much appreciated.

 

Here's the code for the first npc. This works fine (as far as I'm aware).

 

SCN TBHMulchSCRIPT

short ConvFlag

Begin GameMode

if GetStage TBH001 == 15
	if ConvFlag == 0
		set ConvFlag to 1
		TBHMelodyRef.SayTo TBHMulchRef TBH001SlaverIntro
	endif
endif	

End

 

 

This is the one that never activates:

 

SCN TBHShellshockSCRIPT

Begin SaytoDone TBH001SlaverIntro

if TBHMulchRef.ConvFlag == 1
	set TBHMulchRef.ConvFlag to 2
	TBHMulchRef.SayTo TBHShellshockRef TBH001SlaverIntro
endif

End

Link to comment
Share on other sites

You should do this through the conversation tab instead of in a script. Keep the variable 'short convflag' in your quest script. Create a topic. Under 'Link to' add the same topic.

Add a response for NPCa, make sure under conditions you add 'getisid == NPCa' and 'getquestvariable yourquesid convflag==0'. Under result script, add the line 'set yourquestid.convflag to yourquestid.convflag+1.

Now add a 2nd response under the same topic, for NPCb's response. Change your getisid condition to read NPCb and convflag == 1, keep the same result script.

 

Hope this makes sense. If you are stuck on some portion, look in GECK at the Simms/Burke exchange under Quests->MS11->conversations->MS11BattleTopic.

Link to comment
Share on other sites

Thanks for the reply. Unfortunately now I don't seem to be getting any conversation pieces starting, but I'll keep trying.

 

I already had a conversation topic set up from before pretty much identically to how you said, with the exception of the result scripts. My worry is that the Burke/Simms setup is the direct two person conversation, whereas the situation I've got set up is between multiple npcs. If I understand correctly, their conversation will be npc-1 walks up to npc-2 and begins it, then npc-2 walks to npc-3 and says the next conversation piece, wheras I was looking for a conversation set up more like the ElderLyons/SarahLyons/Rothchild 'Take It Back' one (this is what I had been using previously to try to get it working).

 

Any idea why SayToDone doesn't work in the case I had previously?

Link to comment
Share on other sites

You should do this through the conversation tab instead of in a script.

I agree. It has worked well for me. It allows the inclusion of short scripts with each line of conversation as well as emotion animations. I have done group conversations with it also.

Link to comment
Share on other sites

Thanks for the reply. Unfortunately now I don't seem to be getting any conversation pieces starting, but I'll keep trying.

 

I already had a conversation topic set up from before pretty much identically to how you said, with the exception of the result scripts. My worry is that the Burke/Simms setup is the direct two person conversation, whereas the situation I've got set up is between multiple npcs. If I understand correctly, their conversation will be npc-1 walks up to npc-2 and begins it, then npc-2 walks to npc-3 and says the next conversation piece, wheras I was looking for a conversation set up more like the ElderLyons/SarahLyons/Rothchild 'Take It Back' one (this is what I had been using previously to try to get it working).

 

Any idea why SayToDone doesn't work in the case I had previously?

 

You may have better luck if the 'sayto's are in a quest script, and not the NPC script. The 'saytodones' are in the NPC scripts. Take a look at the CG03Script, CG03Butch, CG03WallyMack, CG03Amata during the Tunnel snakes bullytalking scene. I made a mod once that added another NPC into this Sayto chain.

 

And all the 'sayto' topics are in the 'conversation' tab.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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