Jump to content

Recommended Posts

Posted

In the box where you enter the reference name, there's a bunch of checkboxes at the bottom. Make sure "persistent reference" is checked.

 

I can't remember if all actors have it checked by default, but that's all I can think of.

Posted

@Mishaxhi oh my god how did I miss that? I can't believe you had the idea to check there. Thank you so much.

 

Alright, I've got the Combat and Detection tabs figured out.

I'm mostly just having trouble with the idle chatter.

Posted

Also, how much do you know about creating NPCs?

I want to create a few dialogue topics, and have that lead to asking to follow.

 

And, I'm not too worried about involving this. It'll probably come in much later if anything. But since my NPC is a Protectron, is there any way I could have him start out disabled, or broken, sort of like Ed-E?

 

If not, it's completely fine. I'm very grateful for all the help you've given me already.

Posted

Alright, idle chatter.

 

- create a new quest

- give it 2 stages, 10 and 100. Add fail quest to 100

- add a topic, and in the possible responses, add all of the idle chatter

- flag "random" on each one - make this the quest script

 

scn SCRIPTNAMEHERE

float timer

begin GameMode
       
       if ( timer > TIMEINSECS ) && ACTORREFHERE.GetPlayerTeamMate == 1 && player.IsSneaking == 0 && player.IsInCombat == 0
               ACTORREFHERE.say TOPICIDHERE
               set timer to 0
       else
               set timer to timer + getsecondspassed
       endif
End

 

SCRIPTNAMEHERE - obvious

TIMEINSECS - time in seconds between talking (willow uses 300, niner uses 180, cass used something much higher, ect.) depends how talkative you want them to be

ACTORREFHERE - the companions ref id

TOPICIDHERE - topic ID that stores all of the responses

 

One last thing you can do is add a variable called IsAllowedToTalk, or something, andd at that as an extra condition. You can turn this on and off to tell the companions whether they're allowed to talk.

 

Last thing to do is to start the quest in game. Pretty basic, as soon as they're added as a companion, add the script SetStage (guestID) 10.

Posted

Setting up the basic stuff is easy, though you'll probably want to read up on basic quest scripting and such on the GECK wiki. I could tell you all of it now, but then you'd have trouble down the line when you wanted to do anything else. It's pretty simple stuff though.

 

As for the repair thing, pretty easy. I'm not sure how E-DE did it, but I'd go with something like this.

 

- dupe the companion

- make this clone dead by default

- make them a per ref, give them a ref name

- set the real companion to disable by default

- add an onactivate script to the dead version

- script holds a fade to black timer than disables the dead version and enables the alive one

Posted
All right, thanks again. I got most of it done. Still having problems with the idle chatter quest. Mostly the fact that I can't get it to save. I copied and pasted what you gave me, put in all the correct IDs, it just won't save.
Posted

So it's bare bones finished. A little broken though. he's got some dialogue issues I need to figure out. And also, when I hire him as a companion, he'll enter new interiors with me, but stands still.

 

His companion wheel seems to work for the most part.

And until I decide to add in the broken/disabled protectron, I'm using a science skill challenge.

It works, has a success and fail, even gives experience reward. But I'm having issues using it with dialogue. Like it will show up again after success and failure. I don't mind that it shows up after failure.

 

For now, I'll put the idle chatter on hold. I think I should have a working companion with now flaws or bugs first.

I know this is a lot for me to ask of you, so if you don't mind, please help. Don't worry about answering everything, we can go one at a time.

Posted

The idle chatter script I gave you wasn't complete. You can't indent properly here, so I used 5 spaces instead.

 

This might make more sense.

 

scn SCRIPTNAMEHERE

float timer

begin GameMode
       
[indent]if ( timer > TIMEINSECS ) && ACTORREFHERE.GetPlayerTeamMate == 1 && player.IsSneaking == 0 && player.IsInCombat == 0
[indentX2]ACTORREFHERE.say TOPICIDHERE
[indentX2]set timer to 0
[indent]else
[indentX2]set timer to timer + getsecondspassed
[indent]endif
End

 

Where it says indent hit tab to create the space.

You're gonna have trouble in the future though cause this is page 1 book 1 of how to script. Not being condescending but I really suggest that you get the basics down before going any further. You will probably learn the rest of hat you want to do in the process.

 

None of it is too tech minded, it's just logic and common sense. The first hurdle, which is learning proper syntax and the law of scripting, is a biggie. Once you get over that, everything else comes easier. Trust me, I was in the EXACT same position as you around 4 months ago.

Posted (edited)

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.

Edited by RBRoAB
  • Recently Browsing   0 members

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