A Couple Questions on PC Behavior

Hello again, fellas. Just a couple questions on PC behavior:

  1. Is it possible to make your PC scream (audibly, not just a string of text going ‘eeeeee’ :wink: ) at any point (of your specification) in a conversation, and if so how? (I’m sure it should be possible; the dwarf in the weapons shop in Daggerford in the module ‘Darkness Over Daggerford’ makes all sorts of sounds (from his own voice set) during a conversation.)

  2. As you know, when a PC first comes to a new area in a module, s/he is always standing (well, I’ve yet to come across one in which s/he isn’t). My question here is: is it possible to let a PC appear in a new area sitting on the ground at first, then climbing up? (Or just sitting on the ground until you get him/her to start moving?) Maybe you need a waypoint for the PC to jump to in order to do this? (I’m trying to simulate an area at the bottom of some hole, which the PC could only enter at first by dropping into it – and landing on his/her butt.)

Help, please, anyone? Thanks!

Can’t say anything about your first question.
As for your second question… here is a quick example how you can achieve this (untested).

//Transition to the hole

void JumpToTheHole(location lLocation);

void main()
	object   oPC = GetFirstPC();
	object   oWaypoint = GetWaypointByTag("Destination");
	location lLocation = GetLocation(oWaypoint);

	AssignCommand(oPC, JumpToTheHole(lLocation));

void JumpToTheHole(location lLocation)
	ActionDoCommand(FadeToBlack(OBJECT_SELF, FADE_SPEED_MEDIUM));
	ActionDoCommand(FadeFromBlack(OBJECT_SELF, FADE_SPEED_MEDIUM));
1 Like

Will try this out. Thanks!

Here’s some code to make the PC scream:

                if (GetGender(oPC) == GENDER_FEMALE) 
                  AssignCommand(oPC, PlaySound("as_pl_screamf1"));
                  AssignCommand(oPC, PlaySound("as_pl_screamm1"));

This just does the audio. The animation you need will depend on the context - spasm, talk forcefully, custom falling animation or whatever.

I use exactly that code, and @Aqvilinus’s visual method, when the player falls down a well in EI3. I subsequently use as_na_splash2 for landing in water - I’m sure there are hard landing sounds, too.

If you don’t like that audio, it’s not that difficult to make custom sounds from samples on free audio websites, using Audacity or whatever.


Will try this out, thanks! Yes, I’m happy with just the audio.

I don’t suppose it’s possible to have a script that will reference the scream sound from the sound set that happens to be assigned to your PC? (It would seem odd always to have the same voice screaming regardless of the PC’s sound set.) :slight_smile:

AFAIK the sound sets only contain the following:

Hence the generic scream.

Almost every single creature incl. PCs and NPCs have a VOICE_CHAT_DEATH sound which plays when it dies. For some soundsets, it is a scream while for others it is a whimper. (Maybe all PCs have a death scream but some creatures don’t?) What you could do is to test out the various PC soundsets and identify the ‘death screams’. I don’t know if it’s possible in a script to query a PC’s soundset or not, but if you could, then play that sound otherwise you’ll have to stick with the generic screams.

Untested, but would this do the trick?

PlayVoiceChat (VOICE_CHAT_DEATH, oPC);

Also, to hear all the Death SFX, you can use the in-game character creator. Just keep clicking on the same voiceset and it will cycle through the sounds in that set. I would assume all of the sounds in that set.

If you wanted to use the death SFX of a different voice than the PC, you could probably create an invisible creature with that voiceset, change oPC to the invisible creature in the PlayVoiceChat command, then destroy the invisible creature. For that matter, if you destroy the invisible creature by doing fatal damage to it, it should play the proper SFX without even needing to call the PlayVoiceChat function manually. :slight_smile: