OFPEC Forum
Editors Depot - Mission Editing and Scripting => OFP - Editing/Scripting General => Topic started by: Dubieman on 12 May 2005, 22:00:11
-
Hello there,
My problem is that my identities class won't transfer smoothly to the sounds class. I'm wondering if someone can spot the error as I'm getting a CTD when trying to load the mission. Something like ; encountered instead of =.
:P
The part to look at is the end of identities and the start of sound.
*************************************
onloadintro = "Briefing"
onloadmission = "The one who throws the first stone..."
debriefing = 1
showWatch = 1
showCompass = 1
showNotepad = 1
showGPS = 1
showMap = 1
onLoadIntroTime = true
minScore=-1500
avgScore=3000
maxScore=10000
class CfgIdentities
{
class peep
{
name = "Matt Sylvestre";
face = "Face26";
glasses = "none";
speaker = "Matt";
pitch = 0.94;
};
};
CfgSounds
{
// List of sounds (.ogg files without the .ogg extension)
sounds[] = {02_s1, 02_s2, 02_s3, 02_s4, 02_s5, 02_s6, 02_s7, 02_s8, 02_s9, 02_s10, 02_s11, 02_s12, 02_s13, 02_s14};
// Class definition needed for each sound
class 02_s1
{
// Name to display in mission editor
name = "02_s1";
// Sound path, volume, pitch
sound[] = {\sound\02_s1.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s2
{
// Name to display in mission editor
name = "02_s2";
// Sound path, volume, pitch
sound[] = {\sound\02_s2.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s3
{
// Name to display in mission editor
name = "02_s3";
// Sound path, volume, pitch
sound[] = {\sound\02_s3.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s4
{
// Name to display in mission editor
name = "02_s4";
// Sound path, volume, pitch
sound[] = {\sound\02_s4.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s5
{
// Name to display in mission editor
name = "02_s5";
// Sound path, volume, pitch
sound[] = {\sound\02_s5.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s6
{
// Name to display in mission editor
name = "02_s6";
// Sound path, volume, pitch
sound[] = {\sound\02_s6.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s7
{
// Name to display in mission editor
name = "02_s7";
// Sound path, volume, pitch
sound[] = {\sound\02_s7.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s8
{
// Name to display in mission editor
name = "02_s8";
// Sound path, volume, pitch
sound[] = {\sound\02_s8.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s9
{
// Name to display in mission editor
name = "02_s9";
// Sound path, volume, pitch
sound[] = {\sound\02_s9.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s10
{
// Name to display in mission editor
name = "02_s10";
// Sound path, volume, pitch
sound[] = {\sound\02_s10.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s11
{
// Name to display in mission editor
name = "02_s11";
// Sound path, volume, pitch
sound[] = {\sound\02_s11.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s12
{
// Name to display in mission editor
name = "02_s12";
// Sound path, volume, pitch
sound[] = {\sound\02_s12.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s13
{
// Name to display in mission editor
name = "02_s13";
// Sound path, volume, pitch
sound[] = {\sound\02_s13.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
class 02_s14
{
// Name to display in mission editor
name = "02_s14";
// Sound path, volume, pitch
sound[] = {\sound\02_s14.ogg, db + 0, 1.0};
// Sound title text (set to no text)
titles[] = {0, ""};
};
};
***************************************
Thanks
-
Possible solutions
1) Try to move the identies to the bottom of the description.ext.
2) remove or add a }; at the end
-
Had a quick look, but can't see anything obvious.
You could try changing the folder name to 'sounds' instead of 'sound'........just in case it is confusing OFP.
EDIT: And I'm not to sure you need the leading '\' on the path either.
Planck
-
Can't see it but that error message usually means roughly what it says. You have one character wrong somewhere.
Sometimes you just have to divvy up the description.ext and use trial and error to narrow down where in the file the problem lies.
-
Nothing to do with your question but - do you really need to be able to access all these sounds in the mission editor?
Just look at all the names you are using up! If I remember your earlier posts you are building a large mission. Believe me the number of names you use does become an issue.
Now to do with your quesiton. I cannot see it but I suspect a missing ; (despite the error message)
I suggest - delete all your sound definitions and then add one back, followed by copy and pasting the others.
I have many sounds in my latest mission but I have the line
sounds[] = {};
in my description.ext
Do you really need
sounds[] = {02_s1, 02_s2, 02_s3, 02_s4, 02_s5, 02_s6, 02_s7, 02_s8, 02_s9, 02_s10, 02_s11, 02_s12, 02_s13, 02_s14};
?
My approach to description.ext is like that of a medieval doctor to treating patients. Try it and if it works leave it.
-
Guiltyroachkillar, I did a test and this works for me... Just put all your oggs in a sound directory and use the description.ext below.
The description.ext was generated with Dialogg (http://www.ofpec.com/editors/resource_view.php?id=560), a simple third party tool I always use when I have trouble with those files.
onloadintro = "Briefing"
onloadmission = "The one who throws the first stone..."
debriefing = 1
showWatch = 1
showCompass = 1
showNotepad = 1
showGPS = 1
showMap = 1
onLoadIntroTime = true
minScore=-1500
avgScore=3000
maxScore=10000
class CfgIdentities
{
class peep
{
name = "Matt Sylvestre";
face = "Face26";
glasses = "none";
speaker = "Matt";
pitch = 0.94;
};
};
class cfgSounds
{
sounds[] = { 02_14, 02_s1, 02_s10, 02_s11, 02_s12, 02_s13, 02_s2, 02_s3, 02_s4, 02_s5, 02_s6, 02_s7, 02_s8, 02_s9};
class 02_14
{ name = "02_14";sound[] = {"02_14.ogg", db-5, 1.0}; titles[] = { };};
class 02_s1
{ name = "02_s1";sound[] = {"02_s1.ogg", db-5, 1.0}; titles[] = { };};
class 02_s10
{ name = "02_s10";sound[] = {"02_s10.ogg", db-5, 1.0}; titles[] = { };};
class 02_s11
{ name = "02_s11";sound[] = {"02_s11.ogg", db-5, 1.0}; titles[] = { };};
class 02_s12
{ name = "02_s12";sound[] = {"02_s12.ogg", db-5, 1.0}; titles[] = { };};
class 02_s13
{ name = "02_s13";sound[] = {"02_s13.ogg", db-5, 1.0}; titles[] = { };};
class 02_s2
{ name = "02_s2";sound[] = {"02_s2.ogg", db-5, 1.0}; titles[] = { };};
class 02_s3
{ name = "02_s3";sound[] = {"02_s3.ogg", db-5, 1.0}; titles[] = { };};
class 02_s4
{ name = "02_s4";sound[] = {"02_s4.ogg", db-5, 1.0}; titles[] = { };};
class 02_s5
{ name = "02_s5";sound[] = {"02_s5.ogg", db-5, 1.0}; titles[] = { };};
class 02_s6
{ name = "02_s6";sound[] = {"02_s6.ogg", db-5, 1.0}; titles[] = { };};
class 02_s7
{ name = "02_s7";sound[] = {"02_s7.ogg", db-5, 1.0}; titles[] = { };};
class 02_s8
{ name = "02_s8";sound[] = {"02_s8.ogg", db-5, 1.0}; titles[] = { };};
class 02_s9
{ name = "02_s9";sound[] = {"02_s9.ogg", db-5, 1.0}; titles[] = { };};
};
-
Yeah I think I see thr problem
class CfgIdentities
{
class peep
{
name = "Matt Sylvestre";
face = "Face26";
glasses = "none";
speaker = "Matt";
pitch = 0.94;
};
};
CfgSounds
{
CfgSounds you missed out
class cfgSounds as Blanco has put. I think that was the error anyway.
sim
-
class cfgSounds as Blanco has put
Oh dear, how could I miss that, I must be blind.
<cleans glasses> ::) ::)
Planck
-
Thobson, how come you have
sounds[]={}You need to give the sound a name to be able to play it, don't you ?
Or maybe you are not using the say "something" command?
Thanks, StG
-
I do the same as THobson and have no trouble with the say command. The command uses either the name or the class of the individual sound (don't know which). Whether it is listed at the start or not is irrelevant. I don't know what that list is used for, but it isn't simply making the sound appear in the mission. It's probably for some fancy stuff. Or maybe just good practice to provide an easy reference list at the top.
-
Yes, okay. So this means that i can leave
sounds[]={} regardless of how many name="something" i put in the list , or do the names have to be empty too if sounds is empty ?
Can you put name="" and play the sound anyways?
Because if i understand correctly the name="something" only serves to put the sound name in the effects list of a trigger, and so if you don't use a name it will not be in that list. But thats okay if you'd be calling with playsound="something" or say"something" using the class name , and you start early to cut down on names.
-
Hmmm I'm not sure, I think you can leave it blank, ive done it before and it works fine.
The description is a fussy but changable file :P
-
I have not tested this but I believe I read somewhere that a sound name makes it accessiblt to the mission builder in the EFFECTS option of a trigger. It is the class name that is the one that should be referred to in a script. For example:
class hit1
{
name = "";
sound[] = {"\sound\bullethitman1.ogg", db-10, 1.0};
titles[] = {};
};
use:
playSound "hit1"in the script.
In my current mission I originally had all the sounds with their own name. Anyone that has been following that thread will realise that I had a bit of a problem with the large savegame bug that is caused in part by the number of names in the mission. So I set all the sound names blank, the sounds still worked and the scale of the savegame bug diminished. Hence my comments at Reply #4
The only thing I did not check is whether I originally had access to those sounds as an EFFECT in a trigger. It would be easy to test - but I was not interested inthe answer, and I do have one or two ::) other things I need to do on that mission so random experimentation is not high on my list.
-
I have not tested this but I believe I read somewhere that a sound name makes it accessiblt to the mission builder in the EFFECTS option of a trigger. It is the class name that is the one that should be referred to in a script.
My experience agrees with this.
The section at the top listing all your sounds will put them (using the name = "sound" field) into the trigger. You can leave this blank if you're only calling sounds from scripts...
However, the flip side of this coin is dialogs. Controls in dialogs must be defined in that first section, otherwise they won't work ;)
I'm surmising that section 'registers' the class to use some more 'active' features (god knows what)... anyway, as always in OFP, experimentation is the key...
-
Wow, sorry to have been absent from my own thread. Its hard to take in all this info at once...
@problem: Should be fixed with added class cfg Sounds part.
@Thobson: The reason for messing about in the editor like I am is that this is my first time putting my own voices in a mission, and I was experimenting to see how it sounded. I'm not very good with the mic so far, lots of wishwashy noises and a slight lisp... Grrr....
@Blanco: I use CHOFPSE to make my .exts, and it usually does a good job, but here I was adding sound (easy in CHOFPSE) and then manually adding identities and other. So it cocked up this time. :P