Jump to content
Sign in to follow this  
alex.xp

VME PLA MOD for ARMA II

Recommended Posts

OpenPLA sounds great !

Hi Wiggum,

If you were given some voice.ogg files, would you know what to do with them?

I have some Cantonese voices if you can test out if you want.

I had a Hong Kong friend who recorded some basics shouts, commands and even numbers up to a thousand.

You know how to put a Stringtable together?

Share this post


Link to post
Share on other sites

I would do semething like this with them:

Make a folder called "sound" inside you mission folder.

Put the .ogg files there, then make a description.ext:

class CfgSounds
{
class PLA_shout
{
	name="PLA_shout";
	sound[]={\sound\PLA_voice1.ogg, 1.0, 1.0};
	titles[]={};
};

class PLA_stop
{
	name="PLA_stop";
	sound[]={\sound\PLA_voice2.ogg, 1.0, 1.0};
	titles[]={};
};
};

Then use this command voice script:

/*
[_group] execVM "scripts\Ger_Orders.sqf"
Build by Inv44 Team
Modify by Joffre257 mission maker from Inv44 team
Ported to .sqf and modified by Macolik from Inv44 team
Modify again by Wiggum
*/


_group = _this select 0;

_leaderSounds = [[color="Red"][b]"PLA_shout","PLA_stop",[/b][/color]"gergogo","gergogo2","gergogogo","gerhalt","gerholdpos","germoveout","gerstaytogether",
"gerwaitformyorder","gerachtung1","gerachtung2","gerbringupmg","gerbringuppanzerfaust","gerenbazooka","gerenemyahead",
"gerenemyattacking","gerenemyinfantry","gerenemyinrange","gerenemymg","gerenemysniper","gerfireatwill","gergetdown","gersaveammo",
"gersupressingfire","gertakecover","gerwatchout","gerweneedmg","gerassault","gerattack3","gerattack4","gercoverflanks","gercoveringfire",
"gerfaster","gerFire","gernocover","gerthrowingren","gerBackupAir","gerbackuptanks","gerineedbackup","gerMedic","gerweneedbackup",
"gerweneedarty"];

_UnitsSounds = ["gerachtung1","gerachtung2","gerbringupmg","gerbringuppanzerfaust","gerenbazooka","gerenemyahead",
"gerenemyattacking","gerenemyinfantry","gerenemyinrange","gerenemymg","gerenemysniper","gerfireatwill","gergetdown","gersaveammo",
"gersupressingfire","gertakecover","gerwatchout","gerweneedmg","gersearchen1","gersearchen2","gerwhereen","gerwhereen2",
"gercoveryou","gerunderstood","geryessir","geryessir2","gerImcoming","gerassault","gerattack3","gerattack4","gercoverflanks",
"gercoveringfire","gerfaster","gerFire","gernocover","gerthrowingren","gerineedbackup","gerMedic","gerweneedbackup"];

_leaderSounds2 = ["gerhalt","gerholdpos","germoveout","gerstaytogether","gerwaitformyorder"];

_UnitsSounds2 = ["gerhalt","gerholdpos","germoveout","gerstaytogether","gerwaitformyorder"];

_leaderSounds3 = ["geradvance","gergetinposition","gerhalt","gerholdpos","germoveout","gerstaytogether",
"gerwaitformyorder","gergogo","gergogo2","gergogogo","gerachtung1","gerachtung2"];

_UnitsSounds3 = ["geradvance","gergetinposition","gerhalt","gerholdpos","germoveout","gerstaytogether",
"gerwaitformyorder","gergogo","gergogo2","gergogogo","gerachtung1","gerachtung2"];

while {true} do
{

  //scopename "loop1";
  if (behaviour (leader _group) == "COMBAT") then
  {

        sleep 5 + random (5);
        _rand = random (count _leaderSounds);
        (leader _group) say (_leaderSounds select _rand);
        _y = 0 + random (3);

        if (_y > 2) then
        {
        sleep 5 + random (5);
        _groupunits = units _group;
        _rand2 = random (count _UnitsSounds);
        };

        if (count _groupUnits > 1) then
        {
        (_groupUnits select 1) say (_unitsSounds select _rand2);
        sleep 1;
        };
        _groupunits = units _group;
        if  (count _groupUnits == 0) then {

        };

  };

  //scopename "loop2";
  if (behaviour (leader _group) == "SAFE") then
  {

        sleep 15 + random (5);
        _rand = random (count _leaderSounds2);
        (leader _group) say (_leaderSounds2 select _rand);
        _y = 0 + random (3);

        if (_y > 2) then
        {
        sleep 30 + random (5);
        _groupunits = units _group;
        _rand2 = random (count _UnitsSounds2);
        };

        if (count _groupUnits > 1) then
        {
        (_groupUnits select 1) say (_unitsSounds2 select _rand2);
        sleep 1;
        };
        _groupunits = units _group;
        if  (count _groupUnits == 0) then {

        };

  };

  //scopename "loop3";
  if (behaviour (leader _group) == "AWARE") then
  {

        sleep 10 + random (5);
        _rand = random (count _leaderSounds3);
        (leader _group) say (_leaderSounds3 select _rand);
        _y = 0 + random (3);

        if (_y > 2) then
        {
        sleep 20 + random (5);
        _groupunits = units _group;
        _rand2 = random (count _UnitsSounds3);
        };

        if (count _groupUnits > 1) then
        {
        (_groupUnits select 1) say (_unitsSounds3 select _rand2);
        sleep 1;
        };
        _groupunits = units _group;
        if  (count _groupUnits == 0) then {

        };

  };

};

Now fill up all the "ger..." stuff with your PLA voice files.

Edited by Wiggum

Share this post


Link to post
Share on other sites

I think the first step should be to kill the error messages befor adding new features Oo

Share this post


Link to post
Share on other sites
I would do semething like this with them:

Make a folder called "sound" inside you mission folder.

Put the .ogg files there, then make a description.ext:

class CfgSounds
{
class PLA_shout
{
	name="PLA_shout";
	sound[]={\sound\PLA_voice1.ogg, 1.0, 1.0};
	titles[]={};
};

class PLA_stop
{
	name="PLA_stop";
	sound[]={\sound\PLA_voice2.ogg, 1.0, 1.0};
	titles[]={};
};
};

Then use this command voice script:

/*
[_group] execVM "scripts\Ger_Orders.sqf"
Build by Inv44 Team
Modify by Joffre257 mission maker from Inv44 team
Ported to .sqf and modified by Macolik from Inv44 team
Modify again by Wiggum
*/


_group = _this select 0;

_leaderSounds = [[color="Red"][b]"PLA_shout","PLA_stop",[/b][/color]"gergogo","gergogo2","gergogogo","gerhalt","gerholdpos","germoveout","gerstaytogether",
"gerwaitformyorder","gerachtung1","gerachtung2","gerbringupmg","gerbringuppanzerfaust","gerenbazooka","gerenemyahead",
"gerenemyattacking","gerenemyinfantry","gerenemyinrange","gerenemymg","gerenemysniper","gerfireatwill","gergetdown","gersaveammo",
"gersupressingfire","gertakecover","gerwatchout","gerweneedmg","gerassault","gerattack3","gerattack4","gercoverflanks","gercoveringfire",
"gerfaster","gerFire","gernocover","gerthrowingren","gerBackupAir","gerbackuptanks","gerineedbackup","gerMedic","gerweneedbackup",
"gerweneedarty"];

_UnitsSounds = ["gerachtung1","gerachtung2","gerbringupmg","gerbringuppanzerfaust","gerenbazooka","gerenemyahead",
"gerenemyattacking","gerenemyinfantry","gerenemyinrange","gerenemymg","gerenemysniper","gerfireatwill","gergetdown","gersaveammo",
"gersupressingfire","gertakecover","gerwatchout","gerweneedmg","gersearchen1","gersearchen2","gerwhereen","gerwhereen2",
"gercoveryou","gerunderstood","geryessir","geryessir2","gerImcoming","gerassault","gerattack3","gerattack4","gercoverflanks",
"gercoveringfire","gerfaster","gerFire","gernocover","gerthrowingren","gerineedbackup","gerMedic","gerweneedbackup"];

_leaderSounds2 = ["gerhalt","gerholdpos","germoveout","gerstaytogether","gerwaitformyorder"];

_UnitsSounds2 = ["gerhalt","gerholdpos","germoveout","gerstaytogether","gerwaitformyorder"];

_leaderSounds3 = ["geradvance","gergetinposition","gerhalt","gerholdpos","germoveout","gerstaytogether",
"gerwaitformyorder","gergogo","gergogo2","gergogogo","gerachtung1","gerachtung2"];

_UnitsSounds3 = ["geradvance","gergetinposition","gerhalt","gerholdpos","germoveout","gerstaytogether",
"gerwaitformyorder","gergogo","gergogo2","gergogogo","gerachtung1","gerachtung2"];

while {true} do
{

  //scopename "loop1";
  if (behaviour (leader _group) == "COMBAT") then
  {

        sleep 5 + random (5);
        _rand = random (count _leaderSounds);
        (leader _group) say (_leaderSounds select _rand);
        _y = 0 + random (3);

        if (_y > 2) then
        {
        sleep 5 + random (5);
        _groupunits = units _group;
        _rand2 = random (count _UnitsSounds);
        };

        if (count _groupUnits > 1) then
        {
        (_groupUnits select 1) say (_unitsSounds select _rand2);
        sleep 1;
        };
        _groupunits = units _group;
        if  (count _groupUnits == 0) then {

        };

  };

  //scopename "loop2";
  if (behaviour (leader _group) == "SAFE") then
  {

        sleep 15 + random (5);
        _rand = random (count _leaderSounds2);
        (leader _group) say (_leaderSounds2 select _rand);
        _y = 0 + random (3);

        if (_y > 2) then
        {
        sleep 30 + random (5);
        _groupunits = units _group;
        _rand2 = random (count _UnitsSounds2);
        };

        if (count _groupUnits > 1) then
        {
        (_groupUnits select 1) say (_unitsSounds2 select _rand2);
        sleep 1;
        };
        _groupunits = units _group;
        if  (count _groupUnits == 0) then {

        };

  };

  //scopename "loop3";
  if (behaviour (leader _group) == "AWARE") then
  {

        sleep 10 + random (5);
        _rand = random (count _leaderSounds3);
        (leader _group) say (_leaderSounds3 select _rand);
        _y = 0 + random (3);

        if (_y > 2) then
        {
        sleep 20 + random (5);
        _groupunits = units _group;
        _rand2 = random (count _UnitsSounds3);
        };

        if (count _groupUnits > 1) then
        {
        (_groupUnits select 1) say (_unitsSounds3 select _rand2);
        sleep 1;
        };
        _groupunits = units _group;
        if  (count _groupUnits == 0) then {

        };

  };

};

Now fill up all the "ger..." stuff with your PLA voice files.

I wouldn't use a script to get the new voices in. Looks at how FDF Mod did it. They put in a new language and made the squad use it when commands were issued. That'd be the route to go.

Share this post


Link to post
Share on other sites
I wouldn't use a script to get the new voices in. Looks at how FDF Mod did it. They put in a new language and made the squad use it when commands were issued. That'd be the route to go.

Sure, but thats up to the guys who made this mod if you ask me.

If someone wants just some chinese voices in his missions (for immersion) then the script i posted works great.

Share this post


Link to post
Share on other sites

Not sure, but that looks like a lot of work to do.

How about this one ?:

////For random Chinese voices like "Bingo" and "Target Down!"

;ArmA2 Kill Sound Script
;Only Works In ArmA2 With A Function Module:
waitUntil {!(isNil "bis_fnc_init")};  _sound = ["Voice1","Voice2","Voice3","Voice4","Voice5"] call bis_fnc_selectRandom;  playSound _sound;

Share this post


Link to post
Share on other sites
Sure, but thats up to the guys who made this mod if you ask me.

If someone wants just some chinese voices in his missions (for immersion) then the script i posted works great.

Well the project that was being dicussed is called OpenPLA isn't it? So if it's an open source project, I feel like my comment still stands.

Share this post


Link to post
Share on other sites

I cannot wait for the MLODs to become available.

The mod just needs a little polishing like barrel recoils and such. The models and textures are simply wonderful. It shows you put alot of hard work into it.

Out of curiosity, are there any partially finished files or stuff that has not made it back into the mod yet? If so i hoe its included in the open releas eportion. I would love to see the full faction.

At the end of one of your preview videos there was an H-6. Will that be available for us to help you complete?

If anybody wants i can easily get the SP howitzer working with the BIS artillery computer.

then again...... all my stuff is substandard so im sure none of you want it anyways.

Share this post


Link to post
Share on other sites
then again...... all my stuff is substandard so im sure none of you want it anyways.

I wouldn't call your stuff "substandard", Eddie.

You've put a lot of love and effort in RACS and that's pretty obvious. At east for me. It's one of most loved factions.

I'm eager to see PLA ingame too :)

Share this post


Link to post
Share on other sites

so how do us mortals download the source to help?

Share this post


Link to post
Share on other sites

I guess when/once it becomes available. Patience is a virtue they say.

Share this post


Link to post
Share on other sites
I guess when/once it becomes available. Patience is a virtue they say.

Hahaha....telling a mod maker that patience is a virtue. Classic.

Abs

Share this post


Link to post
Share on other sites
I guess when/once it becomes available. Patience is a virtue they say.

It’s so simple to be wise. Just think of something stupid to say and then don’t say it

Share this post


Link to post
Share on other sites
so how do us mortals download the source to help?

I'd recommend contacting Alex directly. You can find him here at his VME web site:

http://www.chinavme.com/forum.php

Or, contact him here in this thread. He is quite good at replying and his English is understandable.

Once someone shows some interest in his project, he will do all he can to support you on a timely basis.

It was actually me asking him to upload this MOD of his/theirs to the international community to keep it going and open, yet I know next to nothing about scripting and mod making.

I use Google Chrome which has Auto-translate to get through his site and post as a member.

Hope this helps

Share this post


Link to post
Share on other sites

As I was chatting with him that other day, he mentioned that he will post everything on devheaven and one needs the GIT/SVN protocols worked out to mod the source files.

But I guess this was to be expected anyway.

Share this post


Link to post
Share on other sites

@Abs

In case you did bother to check, you can easily who did support Alex a lot,

rather to do some cheap talk. In fact guess who helped him set up the whole openPLA project?

There are good reasons the files are not yet available. If you don't care, you better move on.

Edited by .kju [PvPscene]

Share this post


Link to post
Share on other sites
@Abs

In fact guess who helped him set up the whole openPLA project?

OK, you helped him, I begged him.;)

Share this post


Link to post
Share on other sites
As I was chatting with him that other day, he mentioned that he will post everything on devheaven and one needs the GIT/SVN protocols worked out to mod the source files.

But I guess this was to be expected anyway.

Bummer.

I am sure us mortals will not have access to that svn.

Too bad. i was getting really excited to help out with this mod. IF anyone comes up with an alternate way for others to participate i would be interested in helping.

Edited by wld427

Share this post


Link to post
Share on other sites
Bummer.

I am sure us mortals will not have access to that svn.

Too bad. i was getting really excited to help out with this mod. IF anyone comes up with an alternate way for others to participate i would be interested in helping.

I'm sorry to hear that. The MOD needs talented people such as yourself.

BTW, what is this SVN and GIT? I have no idea what it means. Hell, I just learned how to get a helo to Insert just less than a month ago.

Share this post


Link to post
Share on other sites
Bummer.

I am sure us mortals will not have access to that svn.

Too bad. i was getting really excited to help out with this mod. IF anyone comes up with an alternate way for others to participate i would be interested in helping.

If you know how to use Git or SVN, I will create a account to you.

If the developer can not use Git or SVN, I think we can make and provide regularly source zip files to people.

Share this post


Link to post
Share on other sites

Hear,

everything is alright. These formalities are the smallest hurdle. What we need are willing and motivated modders.

If there's a will, there's always a way, or so they say...

So, dont let yourself be scared by these complicated sounding things. :)

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  

×