Jump to content

Making a creature "talk"


scarycave

Recommended Posts

One of my difficulties is that I'm trying to make my mod not dependent on Oblivion.esm, that way it can be used for Nehrim, Moroblivion, and any other total conversion mods out there, as well.

 

For anything that isn't hardcoded, derived from what's hardcoded, or unique to my mod, I'm trying to employ dynamic referencing. A series of "if" statements based on information I can't predict isn't going to be workable.

 

Unfortunately, due to things I'd like my system to be able to do, like evaluating conditions such as actors' factions, I may, in the end, likely wind up having to abandon my "universal" dream, but I still want it to be open-endedly compatible for use with other companion mods.

(open-endedly? I think I just invented a new adverb.)

 

In your case though, the GetCreatureSoundBase might work better than checking a hundred different IDs, It looks like all goblins except CreatureGoblin1 use CreatureGoblin1 for their sound base, Two checks and you've determined if its a goblin or not. Each creature family appears to do the same thing. One creature is the sound base, all others refer to it.

Link to comment
Share on other sites

  • Replies 47
  • Created
  • Last Reply

Top Posters In This Topic

I have the dog set up with Follow and Wait commands and they update the creatures packages accordingly.

Since you brought up the talking zombies, I tried to test it with a Lich, and it worked perfectly. The fact that its already the same size, and doesn't have a neck like the dog, mountain lion, deer, etc. makes talking easy. There's still that bit of trouble with the fade up.

 

I think I can actually get the npc to work for all creatures - if I use a global variable, get the creatures ID and use that for an IF statement.

If not though, the npc and the script can be easily built up again in less than a minute, you just copy the script and change the coding in certain areas.

 

I'm not familiar with menuque or dynamic references really, but I'm interested to see what they can do.

 

It's good to hear that this has potential. You may have created the new standard model for talking creatures ;)

What do you mean by fade up?

 

 

One of my difficulties is that I'm trying to make my mod not dependent on Oblivion.esm, that way it can be used for Nehrim, Moroblivion, and any other total conversion mods out there, as well.

 

For anything that isn't hardcoded, derived from what's hardcoded, or unique to my mod, I'm trying to employ dynamic referencing. A series of "if" statements based on information I can't predict isn't going to be workable.

 

Unfortunately, due to things I'd like my system to be able to do, like evaluating conditions such as actors' factions, I may, in the end, likely wind up having to abandon my "universal" dream, but I still want it to be open-endedly compatible for use with other companion mods.

(open-endedly? I think I just invented a new adverb.)

 

In your case though, the GetCreatureSoundBase might work better than checking a hundred different IDs, It looks like all goblins except CreatureGoblin1 use CreatureGoblin1 for their sound base, Two checks and you've determined if its a goblin or not. Each creature family appears to do the same thing. One creature is the sound base, all others refer to it.

 

I call that a "dynamic process", ie you just feed the script any reference from any mod and the script will evaluate its associated variables, process them and give a result. It's brilliant for dealing with continuous variation.

 

What exactly is the goal of your mod? Maybe there is a way to avoid using factions. PM me if you don't want to go off-topic.

Link to comment
Share on other sites

 

I have the dog set up with Follow and Wait commands and they update the creatures packages accordingly.

Since you brought up the talking zombies, I tried to test it with a Lich, and it worked perfectly. The fact that its already the same size, and doesn't have a neck like the dog, mountain lion, deer, etc. makes talking easy. There's still that bit of trouble with the fade up.

 

I think I can actually get the npc to work for all creatures - if I use a global variable, get the creatures ID and use that for an IF statement.

If not though, the npc and the script can be easily built up again in less than a minute, you just copy the script and change the coding in certain areas.

 

I'm not familiar with menuque or dynamic references really, but I'm interested to see what they can do.

 

It's good to hear that this has potential. You may have created the new standard model for talking creatures :wink:

What do you mean by fade up?

 

Maybe. :) Might be a bit too early yet though.

The fade-up I'm talking about is that transition enable, disabled actors do. They just sort of fade up from nothing, its like a separate alpha the game uses when an actor gets loaded in. I've been thinking of a way to fix it though, maybe instead of disabling, I just send them to some really weird coordinate like 0,0,-99999, that way the moveto is instant. I would have to create separate npc's for each desired creature though unless I have them all jump to the players cell - if not I'll need the creature to have some code that will bring the speaker with them instead.

Link to comment
Share on other sites

That should probably work. ;)

 

As for moving the speaker... When followers are involved, I guess all you can do is check what cell he is in every 10 seconds and use moveto when necessary.

The only efficient code I can think to add to the creature would be OnLoad, but this causes problems if there are two creatures in two adjacent cells. Then again, since you will be using MoveTo anyway, it wont matter too much - you will just have a few seconds of fade up if the creatures are a cell apart and you start running between them. You could always use a fail-safe/fall-back procedure in case this kind of thing happens.

Link to comment
Share on other sites

What about using SetActorAlpha (saa) to eliminate the fade effect?

 

I'm not following why you need the speaker to tag along. Couldn't you just pop 'em into position when you want to talk?

 

My mod is a "Companion System" basically trying to merge the roleplayed dialog of mods like CMPartners with an "on-the-fly" combat control system similar to that of Minionz. The problem with just using the two existing mods is that they they don't interact.

Link to comment
Share on other sites

I'm unfamiliar with Minionz :ermm:

 

I think its more due to the time taken for the actor to start responding while fading in. In my experience, while fading they tend to be unresponsive.

 

 

Another thought... If you use the creature as a mount, then have the speaker as the rider, then the speakers will always be around and the creatures will even have the "talk" symbol over the crosshair. This means that each follower requires its own speaker, but that's not really a bad thing.

Edited by WarRatsG
Link to comment
Share on other sites

  • 2 weeks later...

I had a chance to get in the construction set, and I managed to get some coding to get the creature to drag the npc along in the same cell - and it worked. I have to modify the z-angle code I have to get him to instantly look at the player other than that - it works great. I think if I could just get some coding to have the npc always stay in front of the head it should be just about done.

Link to comment
Share on other sites

  • 2 weeks later...

Okay, I got the coding to work so that the dog will face the PC (and vice-versa) before the NPC can be activated. I had to make a small countdown to prevent the npc from coming before the code could run. I just need to work in a way to make the npc appear in front of the dog, I probably won't be able to fix the issue if the PC is above the dog, but it should still aim for the head which should work fine.

Link to comment
Share on other sites

I got annoyed at how long it took to start the dialog and even restrained and with collision off I couldn't get the creature or the NPC to quit sliding around until the dialog started. Granted once the dialog started they'd stay in place and it would look right, but meanwhile the player might be looking anywhere until the NPC and creature got forced back into position.

I went back to the fake dialog menu. Linked to a spell (I'm using an ability for unlimited duration), I can get it to trigger right off and the creature doesn't get time to move. I figured out how to get the text to show in the scroll pane, right now I'm trying to get the focus box to work correctly, and then I'll have the scroll bar to mess with and I should be done with the menu part at least.

At this point I just have the player and creature face and look at each other, then force first person view. I may not have a zoom in on the face, but it still looks fairly good and is a lot less annoying to me than the delay in waiting for the npc to start the dialog.

I have an adult mod somehow allows you to pan the camera around while in 3rd person view, but the remarks are in Japanese and I haven't figured out how they do it or even which script the code is in. If I can figure out their technique and in the unlikely case that it works in first person, I might be able to simulate a zoom as well.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...