Jump to content
Sign in to follow this  
noubernou

ACRE2 Public Beta Release

Recommended Posts

You can view the names via getPresetData. You'll see the field names at the first array in the preset data.

We have not documented these fields yet, as we plan on adding another level of indirection on top of these API's later. These we added just to meet requests for API's.

Ah okay, that seems a sensible way of getting access to the information.

Looking forward to more features to the API, with what you have added already is making some interesting (for me anyway) things possible.

Share this post


Link to post
Share on other sites
Is there a way to turn off the beeps when someone start and stops talking?

There are no beeps in ACRE2 for about 2 months now - your running either an older release, or ACRE1. Please upgrade :)

Share this post


Link to post
Share on other sites

And again I have to thank you both for the effort.

Two little questions:

1) We've one guy in our community who needs to push both the send button for the radio and the PTT-button so that we hear them over the radios. It seems that the radio-key doesn't trigger the PTT function. Any ideas?

2) Is it possible in some way that when the Zeus hijacks an ai that he can speak from the hijacked units position to other players and also can use the units radios?

Share this post


Link to post
Share on other sites
And again I have to thank you both for the effort.

Two little questions:

1) We've one guy in our community who needs to push both the send button for the radio and the PTT-button so that we hear them over the radios. It seems that the radio-key doesn't trigger the PTT function. Any ideas?

2) Is it possible in some way that when the Zeus hijacks an ai that he can speak from the hijacked units position to other players and also can use the units radios?

1) This is usually caused by permissions issues. He'll need to double check that he is either running both TS+A3 as admin, or both not as admin. One or both setups will work, but he needs to confirm he is doing them *both as the same permissions*

2) This should already work; give it whirl :)

Share this post


Link to post
Share on other sites

We tried using ACRE2 but some of my friends found that their radio's stopped working after they had died and been revived/respawned and they would have to restart Arma to get it to work again.

The direct voice channels worked and the radios would make the necessary sounds to imply they were transmitting but none of them could transmit over the radio. I'm not sure if it is the mission or the mod, but any info or tips on how to stop this would be really great.

We are on a hosted server, not a dedicated. No mod restrictions. Running a domination mission currently, ACRE parameters in mission setup make no difference.

Edited by Ginga121

Share this post


Link to post
Share on other sites
We tried using ACRE2 but some of my friends found that their radio's stopped working after they had died and been revived/respawned and they would have to restart Arma to get it to work again.

The direct voice channels worked and the radios would make the necessary sounds to imply they were transmitting but none of them could transmit over the radio. I'm not sure if it is the mission or the mod, but any info or tips on how to stop this would be really great.

We are on a hosted server, not a dedicated. No mod restrictions. Running a domination mission currently, ACRE parameters in mission setup make no difference.

This would be gear script related, it is somehow initializing the radios incorrectly for sync. Best to just give them back the same radio, or give them a completely new radio. We recommend re-gearing units on respawn be done with fresh radios the majority of the time (the base ACRE_PRCXXX) instead of an ID'ed radio (ACRE_PRC343_ID_XX)

Share this post


Link to post
Share on other sites

I'm trying to get this running on my server.

I've uploaded @cba and @acre2 to the server and added the params.

When we are in game the radio location in the inventory is showing nothing.

I look at the database and see that the players have "ItemRadio" in their inventory but they cannot see it or transmit.

Clients have CBA and Acre2 installed and running.

TS plugin is enabled.

Any ideas?

Share this post


Link to post
Share on other sites
I'm trying to get this running on my server.

I've uploaded @cba and @acre2 to the server and added the params.

When we are in game the radio location in the inventory is showing nothing.

I look at the database and see that the players have "ItemRadio" in their inventory but they cannot see it or transmit.

Clients have CBA and Acre2 installed and running.

TS plugin is enabled.

Any ideas?

ACRE2 removes the radio slot and does not use ItemRadio. The radios are replaced with an ACRE_PRC343 which should be in your inventory. If this was not automatically placed in your inventory, and the players only have ItemRadio, that means @acre2 is not running on the server. At a minimum, ACRE will replace ItemRadio with ItemRadioAcreFlagged, and also give you an ACRE_PRC343.

So - check your server RPT's, and confirm @acre2 and @cba_a3 are loading. The new mod reports in the RPT should help a lot with this. Remember, it has to be @cba_a3.

Share this post


Link to post
Share on other sites
ACRE2 removes the radio slot and does not use ItemRadio. The radios are replaced with an ACRE_PRC343 which should be in your inventory. If this was not automatically placed in your inventory, and the players only have ItemRadio, that means @acre2 is not running on the server. At a minimum, ACRE will replace ItemRadio with ItemRadioAcreFlagged, and also give you an ACRE_PRC343.

So - check your server RPT's, and confirm @acre2 and @cba_a3 are loading. The new mod reports in the RPT should help a lot with this. Remember, it has to be @cba_a3.

Running this on A3Wasteland 1.0c

Checked the report. Shows CBA and ACRE2 loading their pbos.

I have this in my report

12:58:17 ACRE2 Library Loaded

I do see this though.

12:58:39 "ANTI-HACK - Blocked remote execution: params=["cba_versioning_state",true,true,false] args='if(isServer)exitWith{};if (isNil "CBA_display_ingame_warnings") then { CBA_display_ingame_warnings = true; };;0 = objNull spawn { sleep 1; sleep 1; _func={cba_versioning_mismatch=[format["%2 (%1)",name player, player],_this];publicVariable "cba_versioning_mismatch";_this spawn{_t=format["You are missing the following mod: %1",_this];diag_log text _t;sleep 2;if (CBA_display_ingame_warnings) then {player globalChat _t}}};if !(isClass(configFile >> "CfgPatches" >> "cba_main"))exitWith{"cba_main" call _func};};'"

12:58:39 "ANTI-HACK - Blocked remote execution: params=["cba_network_sendPlayerID",true,true,false] args=[]"

Share this post


Link to post
Share on other sites
Running this on A3Wasteland 1.0c

Checked the report. Shows CBA and ACRE2 loading their pbos.

I have this in my report

12:58:17 ACRE2 Library Loaded

I do see this though.

12:58:39 "ANTI-HACK - Blocked remote execution: params=["cba_versioning_state",true,true,false] args='if(isServer)exitWith{};if (isNil "CBA_display_ingame_warnings") then { CBA_display_ingame_warnings = true; };;0 = objNull spawn { sleep 1; sleep 1; _func={cba_versioning_mismatch=[format["%2 (%1)",name player, player],_this];publicVariable "cba_versioning_mismatch";_this spawn{_t=format["You are missing the following mod: %1",_this];diag_log text _t;sleep 2;if (CBA_display_ingame_warnings) then {player globalChat _t}}};if !(isClass(configFile >> "CfgPatches" >> "cba_main"))exitWith{"cba_main" call _func};};'"

12:58:39 "ANTI-HACK - Blocked remote execution: params=["cba_network_sendPlayerID",true,true,false] args=[]"

I have no idea what kind of "anti-cheat" stuff wasteland has, but that would definitely cause the issue. seems its blocking CBA (not even ACRE2) from checking server vs. client version.

EDIT: From some googling, it looks like you need to add ACRE2 and CBA to some sort of whitelist. Apparently you have to do this with any mod you use with the anti-hack stuff.

Edited by jaynus

Share this post


Link to post
Share on other sites

Hi,

we use the Farooq Revive Script and we're trying to make working the muting behaviour when unit is unconsciuos.

At the moment the script is working with ACRE1.

The code part that seems is handle the muting of the radio is this:

FAR_Mute_ACRE =
{
waitUntil { time > 0 };

waitUntil 
{
	if (alive player) then 
	{
		// player getVariable ["ace_sys_wounds_uncon", true/false];
		if ((player getVariable["ace_sys_wounds_uncon", false])) then 
		{
			private["_saveVolume"];

			_saveVolume = acre_sys_core_globalVolume;

			player setVariable ["acre_sys_core_isDisabled", true, true];

			waitUntil 
			{
				acre_sys_core_globalVolume = 0;

				if (!(player getVariable["acre_sys_core_isDisabled", false])) then 
				{
					player setVariable ["acre_sys_core_isDisabled", true, true];
					[true] call acre_api_fnc_setSpectator;
				};

				!(player getVariable["ace_sys_wounds_uncon", false]);
			};

			if ((player getVariable["acre_sys_core_isDisabled", false])) then 
			{
				player setVariable ["acre_sys_core_isDisabled", false, true];
				[false] call acre_api_fnc_setSpectator;
			};

			acre_sys_core_globalVolume = _saveVolume;
		};
	} 
	else 
	{
		waitUntil { alive player };
	};

	sleep 0.25;

	false
};
};

From what I've understood, there is an API call "acre_sys_core_globalVolume" that change the volume according to the "conscious" state of the player.

Checking in the ACRE2 API I didn't find that call but I didn't find also a substitute.

Could you help me with a suggestion to solve this?

Thanks in advance.

Share this post


Link to post
Share on other sites
Hi,

we use the Farooq Revive Script and we're trying to make working the muting behaviour when unit is unconsciuos.

At the moment the script is working with ACRE1.

The code part that seems is handle the muting of the radio is this:

FAR_Mute_ACRE =
{
waitUntil { time > 0 };

waitUntil 
{
	if (alive player) then 
	{
		// player getVariable ["ace_sys_wounds_uncon", true/false];
		if ((player getVariable["ace_sys_wounds_uncon", false])) then 
		{
			private["_saveVolume"];

			_saveVolume = acre_sys_core_globalVolume;

			player setVariable ["acre_sys_core_isDisabled", true, true];

			waitUntil 
			{
				acre_sys_core_globalVolume = 0;

				if (!(player getVariable["acre_sys_core_isDisabled", false])) then 
				{
					player setVariable ["acre_sys_core_isDisabled", true, true];
					[true] call acre_api_fnc_setSpectator;
				};

				!(player getVariable["ace_sys_wounds_uncon", false]);
			};

			if ((player getVariable["acre_sys_core_isDisabled", false])) then 
			{
				player setVariable ["acre_sys_core_isDisabled", false, true];
				[false] call acre_api_fnc_setSpectator;
			};

			acre_sys_core_globalVolume = _saveVolume;
		};
	} 
	else 
	{
		waitUntil { alive player };
	};

	sleep 0.25;

	false
};
};

From what I've understood, there is an API call "acre_sys_core_globalVolume" that change the volume according to the "conscious" state of the player.

Checking in the ACRE2 API I didn't find that call but I didn't find also a substitute.

Could you help me with a suggestion to solve this?

Thanks in advance.

ACRE2 does in fact have a setGlobalVolume function and has for a while. Documentation error on our part! It has been updated.

http://acre.idi-systems.com/api/api_general.html#acre_api_fnc_setGlobalVolume

Share this post


Link to post
Share on other sites
ACRE2 does in fact have a setGlobalVolume function and has for a while. Documentation error on our part! It has been updated.

http://acre.idi-systems.com/api/api_general.html#acre_api_fnc_setGlobalVolume

Jaynus, hate to add to all of the white noise on your topic but is there a place I can read all of the daily changes you guys make to ACRE2 omnibus? I noticed you released 3 versions today.

Share this post


Link to post
Share on other sites
I have no idea what kind of "anti-cheat" stuff wasteland has, but that would definitely cause the issue. seems its blocking CBA (not even ACRE2) from checking server vs. client version.

EDIT: From some googling, it looks like you need to add ACRE2 and CBA to some sort of whitelist. Apparently you have to do this with any mod you use with the anti-hack stuff.

Strange thing is that we didn't have any problem with running TFAR. However TFAR didn't suit our needs so we are looking to ACRE2.

---------- Post added at 23:34 ---------- Previous post was at 23:25 ----------

This is the filterExecAttempt.sqf.

Not sure what I would add or where.

// ******************************************************************************************

// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *

// ******************************************************************************************

// @file Version: 1.0

// @file Name: filterExecAttempt.sqf

// @file Author: AgentRev

// @file Created: 14/07/2013 13:10

private "_packetName";

_packetName = [_this, 0, "", [""]] call BIS_fnc_param;

if (_packetName == "BIS_fnc_MP_packet") then

{

private ["_values", "_args", "_function", "_whitelisted", "_filePath", "_argsType", "_argsStr", "_buffer"];

_values = [_this, 1, [], [[]]] call BIS_fnc_param;

if (count _values < 3) exitWith {};

_args = [_values, 1, []] call BIS_fnc_param;

_function = [_values, 2, "", [""]] call BIS_fnc_param;

_whitelisted = false;

if (_function == "BIS_fnc_execVM") then

{

_filePath = if (typeName _args == "STRING") then { _args } else { [_args, 1, "", [""]] call BIS_fnc_param };

{

if (_filePath == _x) exitWith

{

_whitelisted = true;

};

}

forEach

[

"client\functions\defineServerRules.sqf",

"territory\client\updateTerritoryMarkers.sqf",

"initPlayerServer.sqf"

];

}

else

{

{

if (_function == _x) exitWith

{

_whitelisted = true;

};

}

forEach

[

"BIS_fnc_effectKilledAirDestruction",

"cba_versioning_state",

"cba_network_sendPlayerID",

"CBA_display_ingame_warnings",

"BIS_fnc_effectKilledAirDestructionStage2",

"BIS_fnc_effectKilledSecondaries"/*,

"JTS_FNC_SENT"*/ // PM Compact by JTS

];

if (!_whitelisted) then

{

{

if (_function select [0, count _x] == _x) exitWith

{

_whitelisted = true;

};

}

forEach

[

"A3W_fnc_",

"mf_remote_"

];

};

};

if (_whitelisted) then

{

_this call BIS_fnc_MPexec;

}

else

{

if (isServer) then

{

BIS_fnc_MP_packet = [];

publicVariable "BIS_fnc_MP_packet";

_argsType = toUpper typeName _args;

_argsStr = if (_argsType == "STRING") then { "'" + _args + "'" } else { if (_argsType in ["BOOL","SCALAR","ARRAY","SIDE"]) then { str _args } else { "(" + str _args + ")" } };

_buffer = toArray ("ANTI-HACK - Blocked remote execution: params=" + str (_values select [2, count _values - 2]) + " args=" + _argsStr);

while {count _buffer > 0} do

{

diag_log toString (_buffer select [0, 1021]);

_buffer deleteRange [0, 1021];

};

};

};

};

FOUND THE FIX! See the add.

Edited by Shreeden
Added Spoiler/Found the Fix.

Share this post


Link to post
Share on other sites
Strange thing is that we didn't have any problem with running TFAR. However TFAR didn't suit our needs so we are looking to ACRE2.

---------- Post added at 23:34 ---------- Previous post was at 23:25 ----------

This is the filterExecAttempt.sqf.

Not sure what I would add or where.

You could try adding

if (!_whitelisted) then {

{

if (_function select [0, count _x] == _x) exitWith {

_whitelisted = true;

};

} forEach [

"cba_",

"CBA_",

"acre_"

];

};

To that function I suppose? That would allow acre and cba

---------- Post added at 03:48 PM ---------- Previous post was at 03:47 PM ----------

Jaynus, hate to add to all of the white noise on your topic but is there a place I can read all of the daily changes you guys make to ACRE2 omnibus? I noticed you released 3 versions today.

Our build script automatically uploads to our archive folder on every new build we have. I was actually finalizing some new features for UO to play with over the weekend :)

Omnibus is on my radar for investigating over the weekend to determine what 1.38 introduced to mess up our launching method.

As far as the daily changes, I generally just don't update it. Since I know now that is being watched though, sure, I'll include logs in the packages and the start-up popup ;)

Share this post


Link to post
Share on other sites
You could try adding

if (!_whitelisted) then {

{

if (_function select [0, count _x] == _x) exitWith {

_whitelisted = true;

};

} forEach [

"cba_",

"CBA_",

"acre_"

];

};

To that function I suppose? That would allow acre and cba

/QUOTE]

Ok so I'm not getting any errors anymore but my guys still aren't getting the radio.

Any Ideas?

Share this post


Link to post
Share on other sites
You could try adding

if (!_whitelisted) then {

{

if (_function select [0, count _x] == _x) exitWith {

_whitelisted = true;

};

} forEach [

"cba_",

"CBA_",

"acre_"

];

};

To that function I suppose? That would allow acre and cba

---------- Post added at 03:48 PM ---------- Previous post was at 03:47 PM ----------

Our build script automatically uploads to our archive folder on every new build we have. I was actually finalizing some new features for UO to play with over the weekend :)

Omnibus is on my radar for investigating over the weekend to determine what 1.38 introduced to mess up our launching method.

As far as the daily changes, I generally just don't update it. Since I know now that is being watched though, sure, I'll include logs in the packages and the start-up popup ;)

Ok I'll be watching and waiting for that JVON fix :D!

Share this post


Link to post
Share on other sites
You could try adding

if (!_whitelisted) then {

{

if (_function select [0, count _x] == _x) exitWith {

_whitelisted = true;

};

} forEach [

"cba_",

"CBA_",

"acre_"

];

};

To that function I suppose? That would allow acre and cba

/QUOTE]

Ok so I'm not getting any errors anymore but my guys still aren't getting the radio.

Any Ideas?

hit me up on skype username walterpearce and we'll figure it out.

Share this post


Link to post
Share on other sites

are radio presets assigned to players or radios themselves? if i pick up a radio from a crate, will my settings apply to it, or will it remain at it's default config? likewise if i pick up another player's radio(say from the other team running a different preset with different frequencies), will the radio retain its original config?

also just to check, are there any function that have to be run from the server? or are all configs run client-side?

Share this post


Link to post
Share on other sites
are radio presets assigned to players or radios themselves? if i pick up a radio from a crate, will my settings apply to it, or will it remain at it's default config? likewise if i pick up another player's radio(say from the other team running a different preset with different frequencies), will the radio retain its original config?

also just to check, are there any function that have to be run from the server? or are all configs run client-side?

1. Radio preset is per-player. So that means if a radio is *initialized* on any given player (system), it will use the presets assigned on that system (this includes the server).

2. *Radio data* persists with a radio after it has been initialized, and it is never re-initialized by default. It is initialized once at its creation (when hte server changes it from ACRE_PRC152 to ACRE_PRC152_ID_XXX). This will persist for the remainder of the mission - meaning if someone else picks it up (other team?) they will see the settings which were on that radio; all the way up to if you died mid-programming, they'll see the step you were at.

3. There are no configuration functions for presets that need to be run on the server; it is all initialized on the client-side when that person receives a "fresh radio".

Share this post


Link to post
Share on other sites
1. Radio preset is per-player. So that means if a radio is *initialized* on any given player (system), it will use the presets assigned on that system (this includes the server).

2. *Radio data* persists with a radio after it has been initialized, and it is never re-initialized by default. It is initialized once at its creation (when hte server changes it from ACRE_PRC152 to ACRE_PRC152_ID_XXX). This will persist for the remainder of the mission - meaning if someone else picks it up (other team?) they will see the settings which were on that radio; all the way up to if you died mid-programming, they'll see the step you were at.

3. There are no configuration functions for presets that need to be run on the server; it is all initialized on the client-side when that person receives a "fresh radio".

interesting. so how would you, for example, configure 2 different sets of radios added to crates on a server, so that 1 set in 1 crate has 1 preset, and the other set has a different one. looking through the documentation i didn't see any functions allowing for direct configuration of individual radios

i also noticed a bug in binding direct modifier keys(such as alt or ctrl) to a radio-talk key. it causes the key to "stick" and hotmic during broadcasts in teamspeak

Share this post


Link to post
Share on other sites

The way the system works is only based on players having specific presets assigned to them automatically.

Share this post


Link to post
Share on other sites
interesting. so how would you, for example, configure 2 different sets of radios added to crates on a server, so that 1 set in 1 crate has 1 preset, and the other set has a different one. looking through the documentation i didn't see any functions allowing for direct configuration of individual radios

i also noticed a bug in binding direct modifier keys(such as alt or ctrl) to a radio-talk key. it causes the key to "stick" and hotmic during broadcasts in teamspeak

Like jaynus said: If you pick-up a Radio (e.g. a 152) for the first time (having it assigned by a loadout script is equal to pick-up here), it will be initialized, meaning it will receive an unique ID (e.g. ACRE_PRC152_ID_1) and it will load the exact presets which are defined for your side/group/unit whats-o-ever.

So it won't matter if playerA receive the radio via loadout-script or if he picks up the radio from crateA, crateB or the ground.

The only thing that will be different: Picking up and already initialized radio from another person. You killed playerB in a decent fight? Well, pick up his radio and the radio will have the exact settings it had when he lost his virtual life.

Once again:

  1. Radio not assigned (e.g. classname: ACRE_PRC152)
  2. Pick-up from playerA (ACRE_PRC152 -> initialize -> ACRE_PRC152_ID_1)
  3. Radio will receive the presetData depending on the units assigned preset

Share this post


Link to post
Share on other sites
ACRE2 does in fact have a setGlobalVolume function and has for a while. Documentation error on our part! It has been updated.

http://acre.idi-systems.com/api/api_general.html#acre_api_fnc_setGlobalVolume

Thank you jaynus, one of our clan mate that is trying to modify the script tried to use your "setGlobalVolume" function but in this way we had muted only the direct speech.

For the radio are there any other different function to call?

Thanks a lot

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×