Jump to content
Sign in to follow this  
CarlGustaffa

Bug in cfgRadio system or by design?

Recommended Posts

Having a little problem deciding where to go in an SP mission of mine. So far I've been using the old cfgRadio system for quick communications that have voice. But when played with this system, I'm not getting radio clicks (I use playSound to get that though) or narrowband filtering on what comes out of the radio. I'm hearing voice as if he was standing right next to me. What gives? Is this a bug, or are we supposed to make it sound "radio'ish" by editing the sound files?

If I play vanilla sounds through the kbTell system, radio clicks and narrowband filtering is added automatically. I didn't try custom sounds yet (without defining them in some radioprotocol addon which I want to avoid), but since I have to (re-)define everything that is already setup in description.ext, the workload is a bit too high (15 samples for 5 characters, vanilla sounds, but so far this is only for concept testing).

What I'm trying to achieve is radio silence until a certain point in the mission, by using stealth samples in a spoken fashion. It's only an experiment, I don't think it will ever be released (too many other problems I don't want to be associated with, like formations reversing directions and whatnot :D).

How would you approach the problem? Double set of sounds, one with "radio quality" to work with cfgRadio, or one set of sounds, having to use kbTell for all radio comms (if it even works without addon, still a lot of "classes" to be defined since it can't use sounds dynamically)?

Share this post


Link to post
Share on other sites

Just my own experience, I use the kbTell method exclusively in missions, but in cut scenes I use Description.ext. I guess, not sure if it answers your first question, but when I wanted radio in a cut scene, I edited the sound file and added the radio noise in. I guess it's a matter of control, because I want scenes to come out a certain way. :) Be interesting to see what others have to say.

Edited by AZCoder

Share this post


Link to post
Share on other sites

Best I can tell old-style sounds are played as-is. So you would need to preprocess them to fit your needs. In one mission I needed an alert message for a PA system, the raw recording sounded TOO good - so put it through a pass filter and added some echo for a more outdoor ambience nature.

Still trying out the kb system without any luck, no messages, no sounds, no errors. Hopefully will get the correct clue sometime on how to get that working, it'd be perfect for the dialog I wish to have. Would not mind any ideas on what to do, CG.

Share this post


Link to post
Share on other sites

Well I have never used kbTell for conversations I actually take part in by selecting what to say, only for dialogs between others or some automated dialog where I am involved, i.e. in a call for fire. I can only point you to the bikb thread, Domination, and my Domino edit of it (pluss other missions). Domino uses bikb a lot more than current Domination, but I'm hoping D4 will have more. What makes our missions a bit "hard to read" is due to using logics as speakers, and some trickery to get server logic speak to a receiver that he can reach (locality). So when a server is speaking to you, he is actually speaking to another logic which you just happen to listen in to since you have the topic and radio use is forced. The MP "error" to look out for (only in rpt, won't show up on screen) is something like "Conversation must be initiated on local" or something like that.

Not sure what other tips to give.

{_x kbAddTopic ["All","bikb\NightSting.bikb"]} forEach allUnits;

makes everybody have the topic "All" as defined in NightSting.bikb, and all sound classes defined in it can be used. In "automated conversation" there is no need to mess with fsm or eventhandler (I've never used either yet). It's pretty simple in it's most basic form (play a sound and show some text), but once you start with parameters to drive things, it quickly turns ugly. Note that "simple" is what I call it when I get started. It tends to change name after an hour :D And again, that's before I have even attempted user control over what gets said :)

Did we always have to preprocess cfgRadio sounds to make them sound like an actual radio, or is this new? Guess I haven't played with it as much as I should have, always resorted to pure chat.

Share this post


Link to post
Share on other sites

Thank you CG. The ideas do help some. Already was reading the bikb thread. I had been trying eventhandler and fsm, perhaps too much for starters. Will try some simpler techniques. May I take a look at your Domino mission for ideas?

Share this post


Link to post
Share on other sites

I'm posting a part of one of my missions' kb methods of conversation. It is a linear conversation, so no FSM is involved. Maybe it will be of some use?

Here is the bikb file, shortened from the original because it's repetitive:

class Sentences
{
class maksim_interrogate_I1
{
	text = "$STR_IAN1";
	speech[] = {"\dialog\Ian1.ogg"};
	class Arguments {};
};
class maksim_interrogate_M1
{
	text = "$STR_MAKSIM1";
	speech[] = {"\dialog\maksim1.ogg"};
	class Arguments {};
};
class maksim_interrogate_I3
{
	text = "$STR_IAN3";
	speech[] = {"\dialog\Ian3.ogg"};
	class Arguments {};
};
class maksim_interrogate_M3
{
	text = "$STR_MAKSIM3";
	speech[] = {"\dialog\maksim3.ogg"};
	class Arguments {};
};
class Interrupted
{
	text = "";
	speech[] = {""};
	class Arguments {};
};
};
class Arguments{};
class Special{};
startWithVocal[] = {hour};
startWithConsonant[] = {europe, university};

It pulls the text out of a stringtable.xml file, although straight text could be used of course. The speech lines are custom made sound files.

The conversation is controlled by an sqf file, again truncated for brevity:

Ian kbAddTopic ["interrogation", "kb\interrogation.bikb", ""];
Maksim kbAddTopic ["interrogation", "kb\interrogation.bikb", ""];

Maksim kbTell [ian, "interrogation", "maksim_interrogate_M1"];
waitUntil {Maksim kbWasSaid [ian, "interrogation", "maksim_interrogate_M1", 4]};

Ian kbTell [Maksim, "interrogation", "maksim_interrogate_I1"];
waitUntil {Ian kbWasSaid [Maksim, "interrogation", "maksim_interrogate_I1", 3]};

Maksim kbTell [ian, "interrogation", "maksim_interrogate_M3"];
waitUntil {Maksim kbWasSaid [ian, "interrogation", "maksim_interrogate_M3", 5]};

Ian kbTell [Maksim, "interrogation", "maksim_interrogate_I3"];
waitUntil {Ian kbWasSaid [Maksim, "interrogation", "maksim_interrogate_I3", 3]};

The kbTell lines reference the topic name from the kbAddTopic lines, and the class name to be used from the bikb file. kbWasSaid is just used to get the listener to hold on until the line is spoken. I downloaded a sample mission from somewhere that uses the FSM so that the player has conversation choices, such as what question to ask the AI.

Share this post


Link to post
Share on other sites

@Evil_Echo: Sure, no problem. Domino is hosted at BiB server (the bib.moo.no one), feel free to grab to your mission cache, but there are reasons it's not released yet (bugs, serious ones). A stress test report would be nice even :) It's not up & running "right now", but I'll fire it up in a few hours. BIS own mission and campaign are also a very good source.

Share this post


Link to post
Share on other sites

I have the kb system working now. With eventhandlers and fsms!

My problem was due to trying to converse with a vehicle, switching to an individual soldier did the trick.

Back to CG's quality question. Think you are correct that you need to preprocess any sounds that will be used for Cfg* in order to degrade them to radio-quality. It's not hard work with Audacity, but can see the annoyance factor if you have to process a lot of files.

Share this post


Link to post
Share on other sites

I ended up converting the cfgRadio part to kbTell sentences. Thank God for UltraEdits quick macros :) Although only 400 lines, which is nothing compared to BIS own configs, I still consider it a bit too much to manually type in. :D Yeah no problem doing it using Audition either, it was only the annoyance of having to have two sets of sounds (since I'm also using them without radio, using say instead).

Converse with a vehicle, eh? I hope nobody saw you :D

Share this post


Link to post
Share on other sites

Converse with a vehicle, eh? I hope nobody saw you :D

No surviving witnesses.

:smiley-evil:

With the number of sound files you're playing with, it seems like time for some form of automation - batch file, something.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×