Facebook Twitter YouTube Frictional Games | Forum | Privacy Policy | Dev Blog | Dev Wiki | Support | Gametee


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Tape Recorder PlaySoundAtEntity - Solved
MsHannerBananer Offline
Member

Posts: 218
Threads: 34
Joined: Sep 2013
Reputation: 10
#1
Tape Recorder PlaySoundAtEntity - Solved

Okay. So. I don't know how I'd go about doing this scripting at all.

The idea is to have a tape recorder play back a recording with several lines of dialogue (with interchanging subtitles as well).

I have a vague idea on how this kind of script could be set up, but I'm just not sure.

Obviously the tape recorder would have an interact callback, and then the function inside the callback would be where the lines of dialogue and the subtitles are put.

I don't like asking for people to write up the complete script for me, as I usually have it started and just need a few lines of help, but it would help me a lot if someone could.

Thanks guys! Big Grin

(This post was last modified: 02-15-2014, 04:52 AM by MsHannerBananer.)
02-14-2014, 03:53 AM
Find
Mudbill Offline
Muderator

Posts: 3,881
Threads: 59
Joined: Apr 2013
Reputation: 179
#2
RE: Tape Recorder PlaySoundAtEntity

It's quite simple. Firstly, you'll need to separate your dialogue files into each chunk you want the subtitles to appear at individually (for example each sentence). After that, you'll just add the
AddEffectVoice(string& asVoiceFile, string& asEffectFile, string& asTextCat, string& asTextEntry,
bool abUsePosition, string& asPosEntity, float afMinDistance, float afMaxDistance);
script. Add one for each chunk you have.

For example like this:

void InteractCallback(string &in asEntity)
{
    AddEffectVoice("con01_01", "", "Dialogue", "Entry01_01",
true, asEntity, 5, 15);
    AddEffectVoice("con01_02", "", "Dialogue", "Entry01_02",
true, asEntity, 5, 15);
    AddEffectVoice("con01_03", "", "Dialogue", "Entry01_03",
true, asEntity, 5, 15);
}

The first parameter is the sound file, the fourth is the subtitle .lang entry. Otherwise it's up to you to change anything. Personally I'd use a for-loop to do this, but it would result in the exact same as what's above.

I do have a lengthy video which could explain things more if you're interested.
Spoiler below!




(This post was last modified: 02-14-2014, 09:27 AM by Mudbill.)
02-14-2014, 09:20 AM
Find
MsHannerBananer Offline
Member

Posts: 218
Threads: 34
Joined: Sep 2013
Reputation: 10
#3
RE: Tape Recorder PlaySoundAtEntity

(02-14-2014, 09:20 AM)Mudbill Wrote: It's quite simple. Firstly, you'll need to separate your dialogue files into each chunk you want the subtitles to appear at individually (for example each sentence). After that, you'll just add the
AddEffectVoice(string& asVoiceFile, string& asEffectFile, string& asTextCat, string& asTextEntry,
bool abUsePosition, string& asPosEntity, float afMinDistance, float afMaxDistance);
script. Add one for each chunk you have.

For example like this:

void InteractCallback(string &in asEntity)
{
    AddEffectVoice("con01_01", "", "Dialogue", "Entry01_01",
true, asEntity, 5, 15);
    AddEffectVoice("con01_02", "", "Dialogue", "Entry01_02",
true, asEntity, 5, 15);
    AddEffectVoice("con01_03", "", "Dialogue", "Entry01_03",
true, asEntity, 5, 15);
}

The first parameter is the sound file, the fourth is the subtitle .lang entry. Otherwise it's up to you to change anything. Personally I'd use a for-loop to do this, but it would result in the exact same as what's above.

I do have a lengthy video which could explain things more if you're interested.
Spoiler below!




Thanks so much Mudbill!! I watch your videos on youtube and you actually helped me do a lot of my stuff with Amnesia scripting! I hope you never stop making them!! Big Grin

02-15-2014, 04:51 AM
Find




Users browsing this thread: 1 Guest(s)