Jump to content

Companion Scripting and Dialogue


RBRoAB

Recommended Posts

I don't have any problem learning it. It's just tough to find on the internet. I haven't had a lot of luck with guides, and most people who know scripting don't speak english well. If you know of any good guides, and that sort of thing, could you point me in the direction?

 

And I've solved some problems with AI packages. But maybe you know the answer to this one. My Protectron doesn't move very quickly. I've seen some NPC mods where if the NPC gets to far behind, it moves to player. Is that fairly simple?

Finally, I've had issues with dialogue. I did as you suggested. I created dialogue in detection and combat. Not all of the topics in those work, and even though they're all random, the NPC says the same things, not any of the other random choices.

 

I don't know if those have to do with scripting though.

 

by the by, I got your idle chatter to work and it runs fantastically, thank you! This one does run random comments.

 

You needthis tut for scripting. It's wonderful for learning how to script in FO3 and NV.

 

Re: your topics

 

Check and make sure you've properly filled in all of the conditions so your NPC is actually in there as the GetIsID and that the conditions are good ones that can be met. Also make sure you didn't accidentally tick RandomEnd. If you did the comments after that in the list won't play.

 

 

@Mish - Actually you can do IdleChatter as a dialogue topic in the Conversation Tab just like other things (HELLO, etc). The reason I used a script is because I wanted a long wait time between comments. I can't remember how short the turn around time is in the system, but it's very short and very annoying. But you set it up like a combat chatter topic with the one topic and a bunch of infos ticked as random.

Link to comment
Share on other sites

Thanks for the tutorial! Looks great so far!

 

And the good news is, almost all of this works. So that means it's almost a complete mod.

 

The only real problem left is getting the NPC to speak at the right times.

He should speak when on fire/half health/quarter health/knocked down/knocked outyadda yadda yadda, he doesn't though. Is there scripting involved in these?

 

And his whole dialogue tree. Can't access things like tactics and inventory through speaking. Can't even fire him.

 

Other than that, he runs well.

 

Seriously, thank you for all the help.

Link to comment
Share on other sites

After many amateur attempts at scripting, I've had no luck

however

I believe I have the right idea, I just can't put it down right

 

if the NPC can be hired, is hired, or is to be hired again, there should be some script like

 

scn ProtectronQuestScript

short bProtectronHireable
short bProtectronDoOnce

Begin GameMode
    if (bProtectronDoOnce != 1)
         Set bProtectronHireable to 1
         Set bProtectronDoOnce to 1
    EndIf

    if ProtectronREF == bProtectronHireable
         do not display.TOPICIDsHERE
              else display.TOPICIDsHERE
    EndIf
End

 

I have no idea if this is right, or what it should even look like. I feel like I'm really on the home stretch here though. He walks, he talks, he talks randomly, he waits, all that jazz.

His dialogue tree is having issues, and I know it's got something to do with scripting. I could really use the help of someone who' has done this before.

 

Basically, you go and talk to the NPC. He boots up, loads factory defaults. You ask for his help. He says no. You pass a skill challenge. He can travel with you.

Companion wheel works. But going to talk with him leads to an endless loop of "you ask for his help. He says no."

Link to comment
Share on other sites

  • 1 month later...

You need to set conditions for each topic that you don't want to be displayed. What you are looking for is the conditions list pane. You can set conditions like checking the value of quest script variable.

 

The "dialog tree" is set up by adding sub topics to the top level topics in the choices list pane. Topics that are choices under top level topics should not have the Top-Level option checked.

 

Have a look at My Companion Tutorial and see if that helps.

 

Edit: As for your example script, you would not check reference variables the way you did in the second if statement. If you are looking for a variable that is in the ProctionREF's object script it should look more like: If ProtectronREF.bProtectronHireable == 0.

Edited by trilioth
Link to comment
Share on other sites

  • Recently Browsing   0 members

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