Blocking a faction from using SIDE comms

Post Reply
User avatar
Jim
Posts: 90
Joined: Wed Jul 13, 2016 10:54 am
Contact:

Blocking a faction from using SIDE comms

Post by Jim »

I'm making a search and rescue mission. I'm using 2600k's framework.

BLU are trying to search & rescue, INDE are trying to capture and CIV are trying to escape and evade.

BLU and INDE are to have normal comms.

CIV I want to only be able to communicate in the DIRECT and VEHICLE VON channels. I know from past experience how to block them out of the frameworks extra radio SIGNALS channels, but how do i go about blocking their SIDE and COMMAND channels. (group is irrelevant as their in separate groups and global I guess is worth keeping on in case of a fire or something irl)

I've looked at: https://community.bistudio.com/wiki/enableChannel but this seems to effect all on the server

Code: Select all

0 enableChannel [true, false]; // Enable user ability to send text but disable voice on global channel
0 = Global 
1 = Side 
2 = Command 
3 = Group 
4 = Vehicle 
5 = Direct 
6-15 = Custom Radio (Is not supported by enableChannel)
Also near the bottom of the page here: https://forums.bohemia.net/forums/topic ... t-working/ but this looks to effect all.

I can see a work around of disable 1, 2 channels then create new channels side and command channels from 6-15 for those who require it.

what i'm looking for is something along the lines of

Code: Select all

if side = CIV then [1,2] enableChannel [false, false];
Any help welcome

Thank you J
Eagle-Eye
Posts: 154
Joined: Sat Sep 17, 2016 12:22 pm
Location: Belgium
Contact:

Re: Blocking a faction from using SIDE comms

Post by Eagle-Eye »

I remember doing this myself for a mission, but I can't seem to find it right away. :? Will get back to you once I find it, if by then nobody else has given the answer.
User avatar
Jim
Posts: 90
Joined: Wed Jul 13, 2016 10:54 am
Contact:

Re: Blocking a faction from using SIDE comms

Post by Jim »

Thanks Eagle-Eye,

For now I have the bodge of removing for all, then introducing a replacement for some...

EDIT: News just in from the test server:
It seems that Jipping in gives you access to to the previously forbidden side and command channels...
User avatar
Folau
Posts: 96
Joined: Thu Aug 10, 2017 8:01 pm
Location: UK
Contact:

Re: Blocking a faction from using SIDE comms

Post by Folau »

I have code for this from a radio jammer that Lawman and I made. It was designed for S1, so with a bit of adjustment we could get it running for your case, which is slightly different. I'll find it when I get home.
User avatar
Jim
Posts: 90
Joined: Wed Jul 13, 2016 10:54 am
Contact:

Re: Blocking a faction from using SIDE comms

Post by Jim »

I have made some progress i think,

To get the CIVs to share a vic with their captors:

Code: Select all

// Captives
// Arma 3 Flix https://www.youtube.com/watch?v=woAQ_4mi8K8&feature=youtu.be

SUV_1 allowFleeing 0; this addaction ["<t color='#ff0000'>Take Captive","[E1] join player;"]; this addaction ["<t color='#ff0000'>Disarm","removeAllWeapons E1;"];
0 = allowFleeing 0; this addaction ["<t color='#ff0000'>Take Captive","[E1] join player;"]; this addaction ["<t color='#ff0000'>Disarm","removeAllWeapons E1;"];
this allowFleeing 0; this addaction ["<t color='#ff0000'>Take Captive","[E1] join player;"]; this addaction ["<t color='#ff0000'>Remove All Weapons","removeAllWeapons E1;"];
And to make the replacement radio channels:

Code: Select all

// Radio Stuff
// https://community.bistudio.com/wiki/radioChannelCreate

if (isServer) then
{
	private _channelName = "Q-dance Radio";
	private _channelID = radioChannelCreate [[0.96, 0.34, 0.13, 0.8], _channelName, "%UNIT_NAME", []];
	if (_channelID == 0) exitWith {diag_log format ["Custom channel '%1' creation failed!", _channelName]};
	[_channelID, {_this radioChannelAdd [player]}] remoteExec ["call", [0, -2] select isDedicated, _channelName]; // I think the [player] here needs to be an array of all the unit names on the AAF side or can it simply be [independent]?  | Not sure what the [0, -2] is about...
};


// then below is what i think i need in init.sqf is that right?
if (isServer) then
{
	{
	private _channelName = "AAF COMMAND NET";
	private _channelID = radioChannelCreate [[0.3, 0.9, 1, 1], _channelName, "%UNIT_NAME", []];
	if (_channelID == 0) exitWith {diag_log format ["Custom channel '%1' creation failed!", _channelName]};
	[_channelID, {_this radioChannelAdd ["IND_CO","IND_CO_M","IND_ASL","IND_BSL","IND_CSL","IND_DSL","IND_IFV1_SL","IND_IFV2_SL",}] remoteExec ["call", [0, -2] select isDedicated, _channelName]; // replaced [player] with an array of unit names in the AAF Command structure...
	};
	{
	private _channelName = "AAF SIDE CH";
	private _channelID = radioChannelCreate [[0, 1, 1, 1], _channelName, "%UNIT_NAME", []];
	if (_channelID == 0) exitWith {diag_log format ["Custom channel '%1' creation failed!", _channelName]};
	[_channelID, {_this radioChannelAdd [Independent]}] remoteExec ["call", [0, -2] select isDedicated, _channelName]; // replaced [player] here with AAF side...
	};
	{
	private _channelName = "NATO COMMAND NET";
	private _channelID = radioChannelCreate [[0.3, 0.9, 1, 1], _channelName, "%UNIT_NAME", []];
	if (_channelID == 0) exitWith {diag_log format ["Custom channel '%1' creation failed!", _channelName]};
	[_channelID, {_this radioChannelAdd ["BLU_CO","BLU_ASL","BLU_BSL","BLU_V1_SL","BLU_V2_SL",]}] remoteExec ["call", [0, -2] select isDedicated, _channelName]; 
	};
	{
	private _channelName = "NATO SIDE CH";
	private _channelID = radioChannelCreate [[0, 1, 1, 1], _channelName, "%UNIT_NAME", []];
	if (_channelID == 0) exitWith {diag_log format ["Custom channel '%1' creation failed!", _channelName]};
	[_channelID, {_this radioChannelAdd [blufor]}] remoteExec ["call", [0, -2] select isDedicated, _channelName]; 
	};
};
Will test and will be back asking for help soon!
User avatar
Jim
Posts: 90
Joined: Wed Jul 13, 2016 10:54 am
Contact:

Re: Blocking a faction from using SIDE comms

Post by Jim »

I'm sure for many this is old hat - but as a depository for knowledge for future users and my own poor memory I leave this as a gift!

More progress:
Allow fleeing can be stripped out as its not applicable to PvP, the 6 long there refers to the action radius (50m by default)

Code: Select all

0; this addaction ["<t color='#ff0000'>Take Captive","[SUV_1] join player;", [], 5.9, true, false, "", "", 6, false, "",""];
And into the mission file init.sqf goes: (if using the framework omit if (isServer) as this already exists!

Code: Select all

if (isServer) then
{
	{
	private _channelName = "AAF COMMAND NET";
	private _channelID = radioChannelCreate [[0.3, 0.9, 1, 1], _channelName, "%UNIT_NAME", []];
	if (_channelID == 0) exitWith {diag_log format ["Custom channel '%1' creation failed!", _channelName]};
	[_channelID, {_this radioChannelAdd ["IND_CO","IND_CO_M","IND_ASL","IND_BSL","IND_CSL","IND_DSL","IND_IFV1_SL","IND_IFV2_SL",}] remoteExec ["call", [0, -2] select isDedicated, _channelName]; // replaced [player] with an array of unit names in the AAF Command structure...
	};
	{
	private _channelName = "AAF SIDE CH";
	private _channelID = radioChannelCreate [[0, 1, 1, 1], _channelName, "%UNIT_NAME", []];
	if (_channelID == 0) exitWith {diag_log format ["Custom channel '%1' creation failed!", _channelName]};
	[_channelID, {_this radioChannelAdd [Independent]}] remoteExec ["call", [0, -2] select isDedicated, _channelName]; // replaced [player] here with AAF side...
	};
	{
	private _channelName = "NATO COMMAND NET";
	private _channelID = radioChannelCreate [[0.3, 0.9, 1, 1], _channelzName, "%UNIT_NAME", []];
	if (_channelID == 0) exitWith {diag_log format ["Custom channel '%1' creation failed!", _channelName]};
	[_channelID, {_this radioChannelAdd ["BLU_CO","BLU_ASL","BLU_BSL","BLU_V1_SL","BLU_V2_SL",]}] remoteExec ["call", [0, -2] select isDedicated, _channelName]; 
	};
	{
	private _channelName = "NATO SIDE CH";
	private _channelID = radioChannelCreate [[0, 1, 1, 1], _channelName, "%UNIT_NAME", []];
	if (_channelID == 0) exitWith {diag_log format ["Custom channel '%1' creation failed!", _channelName]};
	[_channelID, {_this radioChannelAdd [blufor]}] remoteExec ["call", [0, -2] select isDedicated, _channelName]; 
	};
};
Interestingly in all this somewhere along the line I have managed to make the AI Civilian faction hostile to players... Maybe they really miss Side Chat?
User avatar
Jim
Posts: 90
Joined: Wed Jul 13, 2016 10:54 am
Contact:

Re: Blocking a faction from using SIDE comms

Post by Jim »

Interestingly in all this somewhere along the line I have managed to make the AI Civilian faction hostile to players... Maybe they really miss Side Chat?
All of this had nothing to do with that...

Interestingly/bizarrely when trying to figure out who would be shooting who I originally had OPFOR to the north, BLUFOR CSAR and INDE running. One thing lead to another and I removed OPFOR, changed them to INDE and added CIV to be runners. Rather than rebuild from scratch, I plopped down various civvy players next to their old INDE conterparts and deleted them in sequence, renaming the new civs with the same name to keep various triggers and scripts happy.

This is where Arma does as Arma does - It some how remembered that 'SUV_1' used to be INDEPENDENT. INDEPENDENT are now fighting BLUFOR. Make this CIV hostile to BLUFOR... Bonkers.
Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests