Jump to content
Undeceived

How to use stringtable text in campaign description.ext?

Recommended Posts

Hi guys, thanks for reading this. :)

Do you know how to use the text from a stringtable.csv (e.g. STR_textline) in a campaign description.ext? Specifically I mean the overviewText in the description. I'm making a campaign in German and also in English and I want to have the overview text (which you see, when you're in the campaign menu) localized, depending the language the game runs.

I hoped that it would work by throwing an stringtable into the campaign main folder and putting overviewText = "$STR_textline" in the campaign description.ext, but well... it didn't work. No text appears.

It works quite well in a normal mission description.ext (e.g. onLoadMission = "$STR_textline" ), but no success in the campaign descr.

Do you have an idea how to get it to work? Do I need to "include" the stringtable file in the description somehow?

Ideas are welcomed and thanks a lot for your help, as always! :)

Edited by Undeceived

Share this post


Link to post
Share on other sites

As I googled for this today and found this thread, I'm gonna bump this after 2 years.

 

Can anyone help? Thx!

Share this post


Link to post
Share on other sites

I'm honored to see an answer from you, kk, thanks a lot.

 

Meanwhile I found a solution for it in another forum, thanks to @SHJ-Studio . Just wanted to note it here too in case someone needs it. That said I didn't test your approach, but thanks again, mate.

 

So here's what I found out:

 

In the overviewText of a campaign description you must not use "".

 

overviewText = $STR_textline;

 

This works.

 

The stringtable file has to be in the folder ABOVE the campaign description.ext.

 

This did the trick for me.

 

Oh, I didn't dig too deep but it seemed that stringtable.xml didn't work for me. I used a stringtable.csv then, as SHJ-Studio did. Then it worked.

Share this post


Link to post
Share on other sites
12 hours ago, Undeceived said:

I'm honored to see an answer from you, kk, thanks a lot.

 

Meanwhile I found a solution for it in another forum, thanks to @SHJ-Studio . Just wanted to note it here too in case someone needs it. That said I didn't test your approach, but thanks again, mate.

 

So here's what I found out:

 

In the overviewText of a campaign description you must not use "".

 

overviewText = $STR_textline;

 

This works.

 

The stringtable file has to be in the folder ABOVE the campaign description.ext.

 

This did the trick for me.

 

Oh, I didn't dig too deep but it seemed that stringtable.xml didn't work for me. I used a stringtable.csv then, as SHJ-Studio did. Then it worked.

Hi,

Thanks for your feedback.

 

Config: Also works with (stringtable.xml)

Spoiler

#define _ARMA_

//Class missions_2035 : config.bin{
class CfgPatches
{
 class A3_Missions
 {
  units[] = {};
  weapons[] = {};
  requiredVersion = 0.7;
  requiredAddons[] = {"A3_Data_F","A3_UI_F"};
 };
};
class CfgMissions
{
  class missions
  {
  class Arma_2035
  {
  dev = SHJ-Studio;
  author = SHJ-Studio;
  briefingName = "$STR_VerBriefName2035_m";
  overviewPicture = "missions_2035\data\img\overview_arma2035.paa";
  overview = "";
  overviewText = "$STR_overtexta2s";
  class OFP
  {
  dev = $STR_A3_Bohemia_Interactive;
  author = $STR_A3_Bohemia_Interactive;
  briefingName = "$STR_BriefNameOFP";
  overviewPicture = "missions_2035\data\img\overview_OFP.paa";
  overview = "";
  overviewText = "$STR_overOFP";
  class 01TakeTheCar
  {
   briefingName = "$STR_Name_01TakeTheCar";
   directory = "missions_2035\scenarios\01TakeTheCar.abel";
  };
  class 06Ninjas
  {
   briefingName = "$STR_text_01Ninjas";
   directory = "missions_2035\scenarios\06Ninjas.eden";
  };
  class 02Vulcan
  {
   briefingName = "$STR_MissionText_02Vulcan";
   directory = "missions_2035\scenarios\02Vulcan.abel";
  };
  class 05HeavyMetal
  {
   briefingName = "Heavy Metal";
   directory = "missions_2035\scenarios\05HeavyMetal.eden";
  };
  class R02_Laser
  {
   briefingName = "$STR_R02_Name_Laser";
   directory = "missions_2035\scenarios\R02_Laser.noe";
  };
};
 class Arma
  {
  dev = $STR_A3_Bohemia_Interactive;
  author = $STR_A3_Bohemia_Interactive;
  briefingName = "$STR_BriefName1s";
  overviewPicture = "missions_2035\data\img\overview_arma.paa";
  overview = "";
  overviewText = "$STR_overArma";
  class M01_MinerConvoy
  {
   briefingName = "$STR_M01_Name_MinerConvoy";
   directory = "missions_2035\scenarios\M01_MinerConvoy.sara_dbe1";
  };
  class M02_Battlefields
  {
   briefingName = "$STR_M08_Name_Battlefields";
   directory = "missions_2035\scenarios\M02_Battlefields.sara_dbe1";
  };
  class M03_DriverTransport
  {
   briefingName = "$STR_SM03_NameDriverTransport";
   directory = "missions_2035\scenarios\M03_DriverTransport.Sara_dbe1";
  };
  class M04_Saboteur
  {
   briefingName = "$STR_M04_Name_Saboteur";
   directory = "missions_2035\scenarios\M04_Saboteur.Sara_dbe1";
  };
  class M05_Sanitary_Operation
  {
   briefingName = "$STR_M05_Name_Sanitary_Operation";
   directory = "missions_2035\scenarios\M05_Sanitary_Operation.Sara_dbe1";
  };
  class M06_Commander
  {
   briefingName = "$STR_M06_Name_Commander";
   directory = "missions_2035\scenarios\M06_Commander.Sara_dbe1";
  };
 };
  class Arma2
  {
  dev = $STR_A3_Bohemia_Interactive;
  author = $STR_A3_Bohemia_Interactive;
  briefingName = "$STR_BriefName2s";
  overviewPicture = "missions_2035\data\img\overview_arma2.paa";
  overview = "";
  overviewText = "$STR_overArma2";
  class SP_TrialByFire
  {
   briefingName = "$STR_mission.sqmmission_intel_0_0_18_s";
   directory = "missions_2035\scenarios\SP_TrialByFire.utes";
  };
  class SP_SquadCommander
  {
   briefingName = "$STR_mission.sqm_mission_intel_0_17_s";
   directory = "missions_2035\scenarios\SP_SquadCommander.Chernarus";
  };
  class SP_EyeForEye
  {
   briefingName = "$STR_mission.sqm_mission_intel_a_0_s";
   directory = "missions_2035\scenarios\SP_EyeForEye.Chernarus";
  };
  class SP_Counterattack
  {
   briefingName = "$STR_mission.sqm_mission_intel_0_s";
   directory = "missions_2035\scenarios\SP_Counterattack.Chernarus";
  };
 };
  class Arma2oa
  {
  dev = $STR_A3_Bohemia_Interactive;
  author = $STR_A3_Bohemia_Interactive;
  briefingName = "$STR_BriefNameoas";
  overviewPicture = "missions_2035\data\img\overview_arma2oa.paa";
  overview = "";
  overviewText = "$STR_overArma2oa";
  class SP_HikeInTheHills
  {
   briefingName = "$STR_EP1_mission.sqmMission_Intel0_10_s";
   directory = "missions_2035\scenarios\SPE1_HikeInTheHills.takistan";
  };
  class SPE1_DumSpiroSpero
  {
   briefingName = "$STR_ep1_mission.sqmmission_intel0_9_s";
   directory = "missions_2035\scenarios\SPE1_DumSpiroSpero.takistan";
  };
  class SPE1_LaserShow
  {
   briefingName = "$STR_ep1_mission.sqmmission_intel0_46_s";
   directory = "missions_2035\scenarios\SPE1_LaserShow.Takistan";
  };
  class SPE1_SteelPanthers
  {
   briefingName = "$STR_ep1_mission.sqmmission_intel0_12_SteelPanthers";
   directory = "missions_2035\scenarios\SPE1_SteelPanthers.Takistan";
  };
  class SPE1_Jackal
  {
   briefingName = "$STR_EP1_mission.sqmMission_Intel0_11_Jackal";
   directory = "missions_2035\scenarios\SPE1_Jackal.Takistan";
  };
  class SPE1_OneShotOneKill
  {
   briefingName = "$STR_ep1_mission.sqmmission_intel0_18_OneShotOneKill";
   directory = "missions_2035\scenarios\SPE1_OneShotOneKill.takistan";
  };
 };
};
};
};
//};

Config: Also works with (stringtable.csv)

Spoiler

#define _ARMA_

//Class campaign_rh_a3: config.bin{
class CfgPatches
{
 class campaign_rh_a3
 {
  units[] = {};
  weapons[] = {};
  requiredVersion = 0.7;
  requiredAddons[] = {};
 };
};
class CfgMissions
{
  class campaigns
 {
  class RedHammer_a3
  {
  directory = "campaign_rh_a3\campaign_rh";
  class Campaign
  {
  dev = $STR_A3_Bohemia_Interactive;
  author = $STR_A3_Bohemia_Interactive;
  briefingName = "$STR_BriefNameRedHammer_a3";
  overviewPicture = "campaign_rh_a3\data\img\overview_redHammer.paa";
  overview = "";
  overviewText = "$STR_overRedHammer_a3";
  };
  };
 };
};
class CfgSounds
{
    sounds[] = {};

    class hind
    {
        name = "";
        sound[] = {"campaign_rh_a3\sounds\hind.ogg", db, 1.0};
        titles[] = {};
    };
    class Radio_rausch
    {
        name = "Funk Rausch";
        sound[] = {"campaign_rh_a3\sounds\Radio_rausch.ogg", db, 1.0};
        titles[] = {};
    };
    class PhoneRingingSound
    { 
        name = ""; 
        sound[] = {"campaign_rh_a3\sounds\PhoneRingingSound.ogg", db+0, 1};
        titles[] = {};  
    };
    class pcSound
    { 
        name = ""; 
        sound[] = {"campaign_rh_a3\sounds\pcSound.ogg", db+0, 1};
        titles[] = {};  
    };  
};
class CfgRadio
{
    sounds[] = {};

    class L01
    {
        name = "";
        sound[] = {"campaign_rh_a3\sounds\L01.ogg", db, 1.0};
        title = $STRC_L01;
    };
    class Fool1
    {
        name = "";
        sound[] = {"campaign_rh_a3\sounds\Gr03.ogg", db, 1.0};
        title = $STRM_fool1;
    };
    class Fool2
    {
        name = "";
        sound[] = {"campaign_rh_a3\sounds\Gr04.ogg", db, 1.0};
        title = $STRM_fool2;
    };

};
class CfgMusic
{
    tracks[] = {};

    class ofptrack01MainTheme
    {
        name = "(OFP) 01 Main Theme";
        sound[] = {"campaign_rh_a3\Music\ofptrack01.ogg", db+1, 1};
    };
    class ofptrack02Walk
    {
        name = "(OFP) 02 Walk";
        sound[] = {"campaign_rh_a3\Music\ofptrack02.ogg", db+0, 1};
    };
    class ofptrack03SlowBlades
    {
        name = "(OFP) 03 Slow Blades";
        sound[] = {"campaign_rh_a3\Music\ofptrack03.ogg", db+0, 1};
    };
    class ofptrack04TheFallen
    {
        name = "(OFP) 04 The Fallen";
        sound[] = {"campaign_rh_a3\Music\ofptrack04.ogg", db+0, 1};
    };
    class ofptrack05Secret
    {
        name = "(OFP) 05 Secret";
        sound[] = {"campaign_rh_a3\Music\ofptrack05.ogg", db+0, 1};
    };
    class ofptrack06DarkSide
    {
        name = "(OFP) 06 Dark Side";
        sound[] = {"campaign_rh_a3\Music\ofptrack06.ogg", db+0, 1};
    };
    class ofptrack07Heroes
    {
        name = "(OFP) 07 Heroes";
        sound[] = {"campaign_rh_a3\Music\ofptrack07.ogg", db+0, 1};
    };
    class ofptrack08Ocean
    {
        name = "(OFP) 08 Ocean";
        sound[] = {"campaign_rh_a3\Music\ofptrack08.ogg", db+0, 1};
    };
    class ofptrack09Decisious
    {
        name = "(OFP) 09 Decisious";
        sound[] = {"campaign_rh_a3\Music\ofptrack09.ogg", db+0, 1};
    };
    class ofptrack10MarchHell
    {
        name = "(OFP) 10 March Hell";
        sound[] = {"campaign_rh_a3\Music\ofptrack10.ogg", db+0, 1};
    };
    class ofptrack11Hunt
    {
        name = "(OFP) 11 Hunt";
        sound[] = {"campaign_rh_a3\Music\ofptrack11.ogg", db+0, 1};
    };
    class ofptrack12CasaultiesOfWar
    {
        name = "(OFP) 12 Casaulties Of War";
        sound[] = {"campaign_rh_a3\Music\ofptrack12.ogg", db+0, 1};
    };
    class ofptrack13Suppression
    {
        name = "(OFP) 13 Suppression";
        sound[] = {"campaign_rh_a3\Music\ofptrack13.ogg", db+0, 1};
    };
    class ofptrack14SoviertTheme
    {
        name = "(OFP) 14 Soviert Theme";
        sound[] = {"campaign_rh_a3\Music\ofptrack14.ogg", db+0, 1};
    };
    class ofptrack15Armor
    {
        name = "(OFP) 15 Armor";
        sound[] = {"campaign_rh_a3\Music\ofptrack15.ogg", db+0, 1};
    };
    class ofptrack16Amen
    {
        name = "(OFP) 16 Amen";
        sound[] = {"campaign_rh_a3\Music\ofptrack16.ogg", db+0, 1};
    };
    class ofptrack17ofpremix
    {
        name = "(OFP) 17 Remix";
        sound[] = {"campaign_rh_a3\Music\ofptrack17.ogg", db+0, 1};
    };
    class outromusik
    { 
        name = "Outro Music"; 
        sound[] = {"campaign_rh_a3\music\outromusik.ogg", db+0, 1}; 
    };
    class overmusik
    { 
        name = "Over Music"; 
        sound[] = {"campaign_rh_a3\music\over.ogg", db+0, 1}; 
    };
    class hymne
    { 
        name = "Hymne"; 
        sound[] = {"campaign_rh_a3\music\hymne.ogg", db+0, 1}; 
    };
    class ofptrackHymne
    { 
        name = ""; 
        sound[] = {"campaign_rh_a3\music\ofptrackHymne.ogg", db+0, 1}; 
    };
    class frost
    { 
        name = "(OFP) Frost"; 
        sound[] = {"campaign_rh_a3\music\frost.ogg", db+0, 1};  
    }; 
    class Mixdown
    { 
        name = "(OFP) Mixdown"; 
        sound[] = {"campaign_rh_a3\music\Mixdown.ogg", db+0, 1};  
    };
    class Seventh_decide
    { 
        name = "(OFP) Seventh Decide"; 
        sound[] = {"campaign_rh_a3\music\Seventh_decide.ogg", db+0, 1};  
    };
    class Seventh_iamgonnafly
    { 
        name = "(OFP) Seventh Iamgonnafly"; 
        sound[] = {"campaign_rh_a3\music\Seventh_iamgonnafly.ogg", db+0, 1};  
    }; 
    class Seventh_lifeless
    { 
        name = "(OFP) Seventh Lifeless"; 
        sound[] = {"campaign_rh_a3\music\Seventh_lifeless.ogg", db+0, 1};  
    }; 
    class Seventh_overdose
    { 
        name = "(OFP) Seventh Overdose"; 
        sound[] = {"campaign_rh_a3\music\Seventh_overdose.ogg", db+0, 1};  
    }; 
    class tomr
    { 
        name = "Tomr"; 
        sound[] = {"campaign_rh_a3\music\tomr.wss", db+0, 1};  
    };
    class RadioMusicBerlin
    { 
        name = "RadioMusicBerlin"; 
        sound[] = {"campaign_rh_a3\music\Mec_RadioMusic_01.ogg", db+0, 1};  
    };
    class FunkRauchen
    { 
        name = ""; 
        sound[] = {"campaign_rh_a3\music\FunkRauchen.ogg", db+0, 1};  
    };
    class PhoneRingingSound
    { 
        name = ""; 
        sound[] = {"campaign_rh_a3\music\PhoneRingingSound.ogg", db+0, 1}; 
    };       
     };
//};

 

Share this post


Link to post
Share on other sites

@Undeceived If you have a copy of the Shadow Fall campaign and de-pbo it, I had used a stringtable.xml and the exact thing you were talking about with overviewText in the campaign description, in case you want to switch over to xml.

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

×