Jump to content

Recommended Posts

Posted

I checked out the other custom NPC thread, but it didn't really ask the questions I need answers to.

 

Like a lot of people, I have made my own companions. I've made each one functional with the companion wheel, but that's it. Very basic

 

I've created custom dialogue using new quest in the geck, and also used that for scripting.

 

Now I'm looking to take that a step further. I've created a new creature companion. A protectron. Most of the basics I can handle. But I want this companion to say different things in different situations.

 

I already have voice clips. I've given voices to companions with just basic functions. But this will be more advanced.

 

A few examples, say things when combat has ended, say something when I sneak, say random things while exploring, say something when in caution (not just in danger).

 

I'm not looking for someone to do this for me, I'm looking for a guide, tutorial, or anyone who can push me in the right direction.

Posted

Had the GECK open so I threw this together.

 

It's much simpler than you may think. The topics already exist, they're universal. You've just gotta go to the correct tab to find them.

 

For example, combat barks. Go to the combat tab, add the topic called "Attack" (don't make one, use the existing one) and add your characters combat barks to that. It really is that simple, you don't need to do anything else (other than add the actor ID condition as with all dialog.)

 

It really is that simple. Most of the topic titles speak for themselves, HealthQuarter is what's said when the character is badly hurt, and so on. You'll find most of what you're looking for in the combat and detection tabs. A few exist in the default topics one.

 

http://i47.tinypic.com/xahpz.jpg

Posted

Saying random stuff whilst walking around requires a script. Just add all of the idle chatter to a single topic and flag random on each response.

 

scn SCRIPTNAMEHERE

float timer

begin GameMode

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

 

IsAllowedToTalk is a global var that lets the player turn the idle chatter on and off. Add a switch to a topic.

Posted

@ Mishaxhi thank you! this is amazing!

pretty much just what I needed

 

Is there any scripting involved with doing this? That's just the part I have trouble with.

Posted

@ Mishaxhi

thanks again for the help

this is off topic, but this hasn't happened to me before and I can't figure it out

 

I'm creating a Protectron companion. I've made a package with "GetScriptVariable" but the ProtectronREF isn't showing up, and can't be selected via render window. Any ideas?

Posted

ProtectronREF. It's unique.

 

It's in GSShackVictorInt

 

PlayerREF shows up

ProtectronHouseMarkerREF shows up.

 

Yeah, in the conditions of the package, GetScriptVariable, ProtectronREF isn't showing up

Posted

@Mishaxhi also, what type of script from your earlier post?

I'm assuming object, but again, not much experience.

Object, quest, or effect?

  • Recently Browsing   0 members

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