My beggar won't speak!

Hopefully a simple answer to this. In a module I have this beggar (standard human toolset one) to whom I’ve applied a sit script. He is sitting on the ground and when My PC walks up to him and I click on him I just want him to stand up and say his normal greeting which is something about can I spare a coin. I’d even settle for him not getting up and saying his line from his voiceset.

However, he is refusing to communicate with me. I click on him, he stands up , . . .and says nothing. Is the sit script interfering with his normal greeting or can he just not be bothered speaking to me ? :thinking: I was also hoping to get his pleading animation going but that’s not looking likely.

That post may have the script you are looking for to keep the NPC seated while in conversation.

I’m assuming the ‘begger’ NPC has the conversation field populated in its properties? And that conversation has at the very least the NPC’s initial greeting?

If so you may want to review your on conversation script for that NPC and see what you have populated there.

I’m not expert - just trying to help.

Thanks for this. I use the sit scripts erf so no problem with getting them to sit or stand.

The problem isn’t with the NPC’s actual conversation file. I don’t want to talk to him or have dialogue displayed on screen. It’s with the one line audio file greeting that most NPCs have. When clicked they give a short audio response. It can be something like “Yes?” Or “Welcome”. His is “Can you spare a coin?”

However, he’s not saying it. I’m wondering if it’s because he also automatically stands up whenever clicked and that action interferes with the audio line.

Is this working without the sitting script? In fact, is this working with any NPC - meaning, is the Hello line played when clicking on them with them not having a conversation file attached?

I think this might only work for certain animal and monster soundsets, suggesting that those have an audio file included human NPC ones don’t.

You could edit the OnConversation script for your Beggar and replace all instances of BeginConversation() with PlayVoiceChat(VOICE_CHAT_HELLO). This will make the NPC speak the hello line of their soundset. However, the line will also appear as text on screen. Not sure if you can live with that.

Remember to save the edited script under a modified name or you’ll end up changing OnConversation behavoir of all NPCs in your module.

I’ll give it a shot:

Something like this goes to the On_Spawn:

include "x0_i0_anims"

void main()
{
  SetListeningPatterns();
//  WalkWayPoints();
  ActionPlayAnimation (ANIMATION_LOOPING_SIT_CROSS,1.0,9999999.0);
}

And this goes into the On_Conv:

#include "nw_i0_generic"

void main()
{
  if (GetHasEffect(EFFECT_TYPE_PETRIFY, OBJECT_SELF) == TRUE) return;
  if (GetIsDead(OBJECT_SELF) == TRUE) return;

  ClearAllActions();
  SpeakString ("Spare a coin, Pal?");
  ActionPlayAnimation (ANIMATION_LOOPING_SIT_CROSS,1.0,9999999.0);

  object oPC = GetLastSpeaker();
  AssignCommand (oPC, PlaySound ("as_pl_wailingm1"));

//  BeginConversation();
//  ExecuteScript ("nw_c2_default4", OBJECT_SELF);
}

It works for me, but is it the thing you’re looking for?

Thanks, both. The situation is

  1. It is a crowded scene at a fayre. None of the crowd (NPCs) have been given a conversation.
  2. On the properties basic tab none have a conversation attached.
  3. About half of them have an audible one liner when they are clicked on. The others don’t say anything.
  4. In the lexicon the standard beggar is meant to say the “spare a coin” line.
  5. I’ve removed the sitting script and put back the default script for OnSpawn.

No improvement. @Mmat, @boodah, i’ll try your suggested scripts tomorrow. It’s late now. I’ll let you know. If all else fails, I’ll voice it myself . . . :grinning:

What is a “fayre”? My dictionary fails here. A “fair”?

I noticed every now and then that there are problems to get a sound played. It doesn’t definitivly work, if you assign the sound to the beggar. If you don’t want to do it by the player, try an invisible placeable at the position of the beggar.

You probably need to record the proper line for the audio for yourself. I just use a placeholder here.

It’s an allegedly archaic spelling for both “fair” (as intended here) or “fare” in the sense of “prepared food”. In the UK, it has somewhat fallen into disrepute, owing to the number of 1930s mock-Tudor pubs offering dubious “Ye Olde Fayre” (which usually means it’s past its sell-by date).

2 Likes

Does this help at all -

sound file
as_pl_beggarm1    beggar: 'Spare a coin...'         Single Shot  -
as_pl_beggarm2    beggar: 'Have you any scraps...'  Single Shot  -
as_pl_beggarm3    beggar: 'Spare anything...'       Single Shot  -
as_pl_beggarm4    beggar: 'Come on, lend me...'     Single Shot  -

TR

That is really odd, afaik every npc that has sounset should be playing that audio line when clicked on. Even if she has no actual conversation.

Make sure that those npcs does have soundset, there is an issue in toolset that can make that field deleted.

If that is the case then the only remaining thing I would check myself is if it works in vanilla 1.69 and thus is a new regression or not. (Not that it changes much, but at least you know who to blame!)

EDIT: I tested it on my PW and it seems that if npc doesn’t show off conversation his “greetings” voice line is not played. I don’t think this is normal though, so most likely a EE regression (or so called improvement) or my memory being off completely…

Nope. About half, maybe slightly less, and all human, said nothing when clicked. Tbh, I’ve found that quite regularly but haven’t checked any specific instance other than the beggar.

Will check the others but the beggar certainly does.

From the Lexicon:

Basic tab - no conversation

Advanced tab - soundest attached

Sorry, not clear about this. What exactly do you mean?

Thanks for the suggestions all. Will try them out now. To be honest, and not making any political statement :grinning: , I’d be better zapping him I think.

Well, to be fair/fare/fayre, I am rather elderly myself . . . so it’s maybe a genuinely archaic spelling. :grinning:

Anyway, probably the easiest solution for me was @Tarot_Redhand’s one. Created a one line conversation and on the Action taken tab placed a very short script getting it to play that sound file. Again, thanks everyone. Small problem but it was bugging me.

1 Like

That I have the same issue - the voice is not played unless a conversation with some text appears.

And I believe this is EE regression, so the only solution is to play the sound manually in the OnConversation event.

Ah, okay. Thanks.