Jump to content
Sign in to follow this  
LeadCommando65

Group "position" & Talking

Recommended Posts

Hi,

I'm currently working on a mission and I need to determine the group number/position of one or more units of a group. This is necessary to add them later by the joinAs command (now you may know what I mean ;) ).

Second, I need to disable the AI's speaking. Since you can hear what other group leaders are calling out, this is, in my case, destroying the atmosphere I want to have in a particular scene.

I've search the BIKI up and down to find such commands, but I have to admit, I didn't find any. Could you help me out?

Thanks in advance.

Regards,

LeadCommando65

Share this post


Link to post
Share on other sites
Hi,

I'm currently working on a mission and I need to determine the group number/position of one or more units of a group. This is necessary to add them later by the joinAs command (now you may know what I mean ;) ).

Second, I need to disable the AI's speaking. Since you can hear what other group leaders are calling out, this is, in my case, destroying the atmosphere I want to have in a particular scene.

I've search the BIKI up and down to find such commands, but I have to admit, I didn't find any. Could you help me out?

Thanks in advance.

Regards,

LeadCommando65

I'd like to know this too. At the beginning of a mission I have made a group leader will call out this coordinate when the helicopter starts flying and it ruins the atmosphere like you said.

Is their a way to mute that until we are on the ground or something?

Share this post


Link to post
Share on other sites

I've searched the form up and down for the AI talking stuff and found very little. It doesn't seem possible to disable AI speech while they are giving orders. :( The only thing I've found is how to disable the standard conversation (action "Greeting") applied on every unit in the game when a missions starts:

{ _x setVariable ["BIS_noCoreConversations", true]; } forEach allUnits;

Anyone has a suggestion on the other problem? The point is, that the joinAs command seems to be rendered useless if there isn't any command or workaround to find out what the actual group position/number of a unit is. :confused:

Share this post


Link to post
Share on other sites

Tried to remove the radio from the equipment? -.-

Share this post


Link to post
Share on other sites
find out what the actual group position/number of a unit is.

I'm sorry, I don't understand what you mean. Could you try to elaborate a bit more?

Share this post


Link to post
Share on other sites

To shut AI up completely you can give them an ID set by description.ext setIdentity, and give them speaker = "NoVoice", ex:

class CfgIdentities {
class id_LI1 {
	name = "Robin Nordstrand";
	face = "Face85"; //Arma2 face, not sure if exist in OA
	glasses = "None";
	speaker = "NoVoice"; //Works in Arma2 at least, untested in OA.
	pitch = 1.00;
};
};

//In units initialization field:
this setIdentity id_LI1;

I think you can set name and face after setIdentity, so one should be enough unless you want to have full control in which you may need to create double identities for every AI. I really wish we had setGlasses, setSpeaker, and get variants of everything.

Nothing will work if you remove only AIs radio, all the logic seems to be hooked up to yours. In Arma2 the additional problem was that the spoken sentences were incomplete unless they came over radio channel. Over radio: "2, attack than machinegunner at 200m" (or thereabouts). Over voice only: "Attack .... at..." Wow... Sucks. :(

To get units number in squad, you have to create an array when you create the group and figure out his index from there. If its static and same from the beginning, hten it shouldn't be a problem. But if you start mixing and joining groups, I guess it could be messy. I'd love to be proven wrong on this one though.

Share this post


Link to post
Share on other sites

If it's a radio message. Remove their radio from the inventory. Or as said be4 said the speaker to none

Share this post


Link to post
Share on other sites

Ehm, actually I can't get setIdentity to work at all in OA. I've checked that my identities are similar to \ArmA 2\Expansion\Addons\missions_e\config.bin, setFace seems to work ingamem but no response at all from setIdentity. Can anyone else check and confirm or disprove?

Scratch that. I think my keyboard is on strike regarding "s - at least there were none there. Problem solved.

Edited by CarlGustaffa

Share this post


Link to post
Share on other sites
To shut AI up completely you can give them an ID set by description.ext setIdentity, and give them speaker = "NoVoice", ex:

class CfgIdentities {
class id_LI1 {
	name = "Robin Nordstrand";
	face = "Face85"; //Arma2 face, not sure if exist in OA
	glasses = "None";
	speaker = "NoVoice"; //Works in Arma2 at least, untested in OA.
	pitch = 1.00;
};
};

//In units initialization field:
this setIdentity id_LI1;

I think you can set name and face after setIdentity, so one should be enough unless you want to have full control in which you may need to create double identities for every AI. I really wish we had setGlasses, setSpeaker, and get variants of everything.

To get units number in squad, you have to create an array when you create the group and figure out his index from there. If its static and same from the beginning, hten it shouldn't be a problem. But if you start mixing and joining groups, I guess it could be messy. I'd love to be proven wrong on this one though.

Great thanks :). That's what I was searching for. I just wanted one unit to be silent at the beginning so it doesn't destroy the atmosphere.

Now I'm working on the unit number script and try it the way you said. I'll post it later, so others can use it (only if it works ;) )

//EDIT: here's what I've done so far:

//unitNum.sqf

private["_grp","_unitx","_unitId"];
_grp = units (_this select 0);
_unitx = _this select 1;

_unitId = 1 + (_grp find _unitx);

_unitId

and it can be called by using this:

[group,unit] call compile preprocessfile "unitNum.sqf";

Please correct me, if there's anything wrong, cause I'm not a hardcore coder/programmer whatsoever :)

Just one last point: This script doesn't return the exact unit position/number: e.g. if there's a group with units 1,2,3,8,9 and you want the unit number of 8 and 9 it will return 4 or 5 for those units, because the array doesn't have gaps for the missing units (4,5,6,7).

Edited by LeadCommando65

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  

×