how to have merasmus do setup count down

Three Million

L4: Comfortable Member
Jul 2, 2015
197
75
I dont think its possible, you mean Merasmus count down before a match like the Announcer?
 

ics

http://ics-base.net
aa
Jun 17, 2010
841
541
In theory you can do it, just needs to find the sound files, add them in as ambient_generic, know the setup time (lets think of it being a 30 seconds), set those play after delay of 25, 26, 27 etc.. and done?
 

ibex

aa
Sep 1, 2013
308
528
If you can find the voice line files in the vpk you might be able to use soundscripts trickery. The basic idea is this _level_sounds.txt file tells the game to use a certain sound files (merasmus) rather than another (the original announcer lines).
I could never get it to work correctly because packing, but here's Freyja's explanation and the vdc page for more info. The vdc page has a ton of examples to learn from.
 

Benoist3012

L3: Member
Dec 25, 2015
148
207
As ibex stated, using a sound script is the only way.
Using gcf scape and opening tf_misc_dir and go to scripts and open games_sound_vo.txt

I copy pasted the sound you have to copy inside your map sound script:
Code:
"Announcer.RoundBegins1Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/announcer_begins_1sec.mp3"
}

"Announcer.RoundBegins20Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/announcer_begins_20sec.mp3"
}

"Announcer.RoundBegins2Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/announcer_begins_2sec.mp3"
}

"Announcer.RoundBegins30Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/announcer_begins_30sec.mp3"
}

"Announcer.RoundBegins3Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/announcer_begins_3sec.mp3"
}

"Announcer.RoundBegins4Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/announcer_begins_4sec.mp3"
}

"Announcer.RoundBegins5Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/announcer_begins_5sec.mp3"
}

"Announcer.RoundBegins60Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/announcer_begins_60sec.mp3"
}
Replace the paths sounds with merasmus one, and use vo/null.mp3 if you have no equivalent.
 

Powerlord

L3: Member
May 8, 2010
127
60
If you can find the voice line files in the vpk you might be able to use soundscripts trickery. The basic idea is this _level_sounds.txt file tells the game to use a certain sound files (merasmus) rather than another (the original announcer lines).
I could never get it to work correctly because packing, but here's Freyja's explanation and the vdc page for more info. The vdc page has a ton of examples to learn from.

It's probably be easier to find the appropriate soundscripts for it in game_sounds_vo.txt and copy it to the _level_sounds.txt

i.e. copy the entries for "Merasmus.RoundBegins1Seconds" etc and rename them to "Announcer.RoundBegins1Seconds" etc

While it's not being updated any more, I do have an old copy of game_sounds_vo.txt.

Note: There are only 1-5 second ones for Merasmus... I think he usually uses "sf14.Merasmus.Start.FirstRound" / "sf14.Merasmus.Start.FirstRoundRare" / "sf14.Merasmus.Start.SecondRound" / "sf14.Merasmus.Start.ThirdRoundAndBeyond" instead of the 60 seconds one, not sure about 30, 20, and 10.
 

Benoist3012

L3: Member
Dec 25, 2015
148
207
Code:
"Announcer.RoundBegins1Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/halloween_merasmus/sf14_merasmus_begins_01sec.mp3"
}

"Announcer.RoundBegins2Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/halloween_merasmus/sf14_merasmus_begins_02sec.mp3"
}

"Announcer.RoundBegins3Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/halloween_merasmus/sf14_merasmus_begins_03sec.mp3"
}

"Announcer.RoundBegins4Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/halloween_merasmus/sf14_merasmus_begins_04sec.mp3"
}

"Announcer.RoundBegins5Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/halloween_merasmus/sf14_merasmus_begins_05sec.mp3"
}

"Announcer.RoundBegins20Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/null.mp3"
}

"Announcer.RoundBegins30Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/null.mp3"
}

"Announcer.RoundBegins60Seconds"
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"

    "wave"            "vo/null.mp3"
}

"Ambient.Siren"//Always played when a round start
{
    "channel"        "CHAN_VOICE2"
    "volume"        "VOL_NORM"
    "pitch"            "PITCH_NORM"

    "soundlevel"    "SNDLVL_NONE"
    "rndwave"
    {
        "wave"    "vo/halloween_merasmus/sf14_merasmus_round_start_01.mp3"
        "wave"    "vo/halloween_merasmus/sf14_merasmus_round_start_02.mp3"
        "wave"    "vo/halloween_merasmus/sf14_merasmus_round_start_03.mp3"
        "wave"    "vo/halloween_merasmus/sf14_merasmus_round_start_04.mp3"
        "wave"    "vo/halloween_merasmus/sf14_merasmus_round_start_05.mp3"
        "wave"    "vo/halloween_merasmus/sf14_merasmus_round_start_06.mp3"
        "wave"    "vo/halloween_merasmus/sf14_merasmus_round_start_rare_01.mp3"
        "wave"    "vo/halloween_merasmus/sf14_merasmus_round_start_rare_02.mp3"
        "wave"    "vo/halloween_merasmus/sf14_merasmus_round_start_rare_03.mp3"
        "wave"    "vo/halloween_merasmus/sf14_merasmus_round_start_rare_01.mp3"
    }
}
https://www.dropbox.com/s/j5i2omzai1hlbaj/yourmapnamehere_level_sounds.txt?dl=0

Download that file, and replace yourmapnamehere with your map name file.
 

Yrr

An Actual Deer
aa
Sep 20, 2015
1,308
2,743
for reference, and because i saw suggestions to use ambient_generics;

custom announcer lines should always, always be soundscripts and fired with PlayVO, that lets them use the announcer sound channel and not have them overlap with actual announcer lines
 

Benoist3012

L3: Member
Dec 25, 2015
148
207
for reference, and because i saw suggestions to use ambient_generics;

custom announcer lines should always, always be soundscripts and fired with PlayVO, that lets them use the announcer sound channel and not have them overlap with actual announcer lines

Can confirm that, ambient_generic are made to play a sound but with entity index linked to it and on the SNDCHAN_AUTO (0) channel.
Announcer voiceline plays on SNDCHAN_VOICE (2) channel with 0 entity linked to it, meaning that if any other sounds with SNDCHAN_VOICE as canal will stop the previous sound on that channel from playing.
As far I know in hammer and as Yrr stated only the PlayVO input can achieve that.
 

Powerlord

L3: Member
May 8, 2010
127
60
Announcer voiceline plays on SNDCHAN_VOICE (2) channel with 0 entity linked to it, meaning that if any other sounds with SNDCHAN_VOICE as canal will stop the previous sound on that channel from playing.
As far I know in hammer and as Yrr stated only the PlayVO input can achieve that.
No, announcer lines are played on SNDCHAN_VOICE2 (7).

This is so they don't interrupt player character voices.
 
Last edited:

Benoist3012

L3: Member
Dec 25, 2015
148
207
No, announcer lines are played on SNDCHAN_VOICE2 (7).

This is so they don't interrupt player character voices.
Odd, I'm pretty sure I stopped one a day with battle cry voiceline.

Edit: Just realized it was a halloween boss intro sound that I stopped.