Jump to content
killswitch

CBA: Community Base Addons for A2, OA and CO

Recommended Posts

hi SB

we're having a few problems getting a couple ofdutch dudes to join our server - they downloaded A2 and OA from steam last week, patched to 1.60.

Our method is outlined here, got everything working (mods and combined ops) EXCEPT CBA

http://forums.bistudio.com/showpost.php?p=2090686&postcount=777

We have helped them set up and install all our mods - in the steam folder

C:\Program Files (x86)\Steam\steamapps\common\arma 2 operation arrowhead\

Arma 2 is put by steam into

C:\Program Files (x86)\Steam\steamapps\common\arma 2\

they get a CBA NOT RUNNING error when joining the server, although all the other mods work. we gave them the CO version @CBA only and they put it in either and then both A2 and OA folders above but it won't load in steam combined ops

question is... which version of CBA do they use, and wheredo they install it?

wondering if they need the @CBA;@CBA_OA in their arrowhead folder or @CBA in there or what?

any help most appreciated - it's a horrible situation to try to diagnose... the guys are arma noobs so don't have a clue how to experiement with this stuff

cheers

egg

Share this post


Link to post
Share on other sites

All modfolders should be installed to OA. Review the CBA readme.txt on which modfolders they need active (Incase of CO, only @CBA).

Recommendation; forget about all the manual hassle and use tools designed to make life easier instead: http://www.six-updater.net/p/about.html

If you setup a custom repository with configuration for your server, your users even only need to click a simple link and everything is done automatically for them: http://six.dev-heaven.net/wagn/Six_Updater+CustomRepos_Setup

Have a look at http://www.six-updater.net/p/communities.html to get a feel on how that works.

(For Steam users, make sure the game's registry entries are in order by running the Steam launcher as Administrator, and then running both games separately through the launcher at least once (repeat after each patch install / repair of steam files)).

If you need SU assistance, come join us at http://six.dev-heaven.net/wagn/Six_Updater+GroupChat

Edited by Sickboy

Share this post


Link to post
Share on other sites

thanks man - with @CBA (for CO) in the OA folder they get the message saying CBA not running when they join our server !

I'll look again at SU as not looked at it for a long time

Share this post


Link to post
Share on other sites

Sorry to wake this thread from its peaceful slumber!

I am working on a mod that requires me to run code on the server from a client and I have a question regarding timing. The statement I am using currently looks like ;

[0, {JED_ACCs = _this skill 'AimingAccuracy'; _broadcasted = ["JED_ACCg", JED_ACCs] call CBA_fnc_publicVariable;}, _unitObj] call CBA_fnc_globalExecute;

_unitSkillAcc = JED_ACCg;

Basically I am setting a public variable on the server and then immediately trying to read it on the client (second line of the above code). I am having timing issues in that the public variable hasn't always had a chance to finish broadcasting before I am trying to read it. Now, I could put a sleep in;

[0, {JED_ACCs = _this skill 'AimingAccuracy'; _broadcasted = ["JED_ACCg", JED_ACCs] call CBA_fnc_publicVariable;}, _unitObj] call CBA_fnc_globalExecute;

sleep .1;

_unitSkillAcc = JED_ACCg;

But, would this guarantee that the variable has made it to the client? I suspect not. So, is there a foolproof or more elegant way of ensuring that the var has been published?

I was thinking of this;

JED_ACCg = '999' // a value it can never be

[0, {JED_ACCs = _this skill 'AimingAccuracy'; _broadcasted = ["JED_ACCg", JED_ACCs] call CBA_fnc_publicVariable;}, _unitObj] call CBA_fnc_globalExecute;

waituntil {!(JED_ACCg == '999')};

_unitSkillAcc = JED_ACCg;

It's a bit nasty though?

EDIT ----->

In the end I did it like this;

   JED_ACCg = 999; // a value it can never be - needed so we know when the server sets the public variable
//    Go ang get the skill value for the unit from the server
   [0, {JED_ACCg = 999;JED_ACCs = _this skill 'AimingAccuracy'; _broadcasted = ["JED_ACCg", JED_ACCs] call CBA_fnc_publicVariable;}, _unitObj] call CBA_fnc_globalExecute;
   waituntil {!(JED_ACCg == 999)};  // Wait until the server has broadcast the value
   _unitSkillAcc = JED_ACCg;

Elegant? No, but it works and at this stage of the game I am happy with that.

Loving these CBA functions though guys - I take my hat off to you - and in this weather that's dangerous!

Edited by Jedra
my solution

Share this post


Link to post
Share on other sites

A question regarding XEHs in a mission's description.ext.

I have the following code in my desc:

class Extended_Killed_EventHandlers
{
class cwr2_SoldierW
{
	DIH_COOP_killed_w = "(_this select 0) removeWeapon 'ItemRadio';";
};
};

I expected that it would also work on soldiers created while the mission was running, but the code is executed for editor-placed units only. Bug or design? (That's why I didn't post this in your tracker)

I'm pretty sure this used to work, but I no longer have old CBA files (possibly pre OA 1.60) to test it.

Cheers,

D.

Share this post


Link to post
Share on other sites

Hi, I cannot reproduce it with vanilla OA + CBA;

class Extended_Init_EventHandlers {
   class CAManBase {
       DIH_COOP_init_w = "diag_log [diag_frameNo, diag_tickTime, time, 'init', _this]";
   };
};

class Extended_Killed_EventHandlers {
   class CAManBase {
       DIH_COOP_killed_w = "diag_log [diag_frameNo, diag_tickTime, time, 'killed', _this]";
   };
};

Tested with latest OA beta.

The diag_logs both appear, for editor units as well as newly spawned units ((typeOf player) createUnit [position player, group player]). Could you test with vanilla OA+CBA and this code as well, and then with CWR2 and this code again, see if the diaglogs turn up.

I will download CWR2 in the meantime, could you please provide a basic test mission with the cwr unit in question?

Thanks!

Edited by Sickboy

Share this post


Link to post
Share on other sites

Hi,

I have been using CBA functions, but I haven't been using CBA to it's full potential, so I am trying to learn how best to use it. I have learned a lot in the last couple of days, but I can't quite get my head around Global Variables. I have seen...


GVAR(variable)
QGVAR(variable)
QUOTE(GVAR(variable))

Presumably these are all dependant on PREFIX being set somewhere (in my case I would use JED_something) - I am fairly confident about that, however I am not sure of the difference between the three uses above.

Would anyone be able to go through a couple of examples of where and why you would use each one?

I have read the docs online, but unfortunately my brain is less agile than it once was and I am still unsure!

Share this post


Link to post
Share on other sites

GVAR(variable) == PREFIX_COMPONENT_variable

QGVAR(variable) == "PREFIX_COMPONENT_variable"

QUOTE(GVAR(variable)) == "PREFIX_COMPONENT_variable"

aka QGVAR( is shorthand for QUOTE(GVAR(

Edited by Sickboy

Share this post


Link to post
Share on other sites
GVAR(variable) == PREFIX_COMPONENT_variable

QGVAR(variable) == "PREFIX_COMPONENT_variable"

QUOTE(GVAR((variable)) == "PREFIX_COMPONENT_variable"

aka QGVAR( is shorthand for QUOTE(GVAR(

Christ, that was quick!

I understand now - GVAR is a reference to the value, QGVAR is a reference to it's name. Thanks!

Share this post


Link to post
Share on other sites

NP. Yep, you'd use the QGVAR e.g for isNil checks, or for namespaced set/getVariable etc.

Share this post


Link to post
Share on other sites

Where can I get CBA v 8.3.178, as I only ahve 175, and armaholic, and dev heaven only have the 175 version, can you update Armaholic, and dev heaven links?

Share this post


Link to post
Share on other sites

Hi mate

It's available via Six-updater (presumably to be replaced by the new version next week - ?).

BR

Orcinus

Edited by Orcinus

Share this post


Link to post
Share on other sites

The latest 1.0.0pre build is now also up on Six Updater and signed! Updated the ticket with casual download incl signatures as well.

You can now use SU to use the latest CBA, on any of the supported game families and editions!

Please take note of the new, somewhat inversed, requirements:

  • Always load @CBA
  • Also load @CBA_A2 if you have A2 Original content
  • Also load @CBA_OA if you have Operation Arrowhead content
  • Also load @CBA_TOH if you have Take on Helicopters content

So for CO users: @CBA;@CBA_A2;@CBA_OA

For TOH Rearmed CO users: @CBA;@CBA_A2;@CBA_OA;@CBA_TOH

Be sure to update SU to v2.9.5pre30 or newer due to bug (https://dev-heaven.net/issues/30369), and make sure to Sync with SU portal after installing the update.

Full official release probably at the end of this week, after more testing.

Edited by Sickboy

Share this post


Link to post
Share on other sites

Hi

I have SU 2.9.5pre, and it does not update CBA r178 to r179. It says "No updates found (Current version: 179)" although the mod remains yellow. When I launch the game, it also says "ace_main requires addon CBA_OA_XEH". It also says "x\cba\addons\ui_helper\scriptDik_codes.hpp not found".

I did not have this problem last night. How could I solve it?

Thanks

I did not know that the previous post was actually the answer to my question. Deleting the @CBA folder manually seems to have done the trick.

Edited by b1944

Share this post


Link to post
Share on other sites
I did not have this problem last night. How could I solve it?

Thanks

Update to 2.9.5pre30 and sync with SU portal.

Also make sure you are installing CBA/ACE updates from the official network, as custom networks are of course supported by their respective admins, not me :)

If still issues, please create a ticket with log files; http://www.six-updater.net/p/support.html

Share this post


Link to post
Share on other sites

So for CO users: @CBA;@CBA_A2;@CBA_OA

So, i have to load all those CBA Mods to Run a Combined Ops Server and Client...?

Or is it for CO @CBA;@CBA_OA

and for A2 Vanilla @CBA;@CBA_A2 Before people are going to spam questions....because this is confusing

:j:

Share this post


Link to post
Share on other sites
So for CO users: @CBA;@CBA_A2;@CBA_OA

So, i have to load all those CBA Mods to Run a Combined Ops Server and Client...?

Or is it for CO @CBA;@CBA_OA

and for A2 Vanilla @CBA;@CBA_A2 Before people are going to spam questions....because this is confusing

:j:

For A2: @CBA;@CBA_A2

For OA: @CBA;@CBA_OA

For CO: @CBA;@CBA_A2;@CBA_OA

Please take note of the new, somewhat inversed, requirements:Always load @CBA

Also load @CBA_A2 if you have A2 Original content

Also load @CBA_OA if you have Operation Arrowhead content

Also load @CBA_TOH if you have Take on Helicopters content

So for CO users: @CBA;@CBA_A2;@CBA_OA

For TOH Rearmed CO users: @CBA;@CBA_A2;@CBA_OA;@CBA_TOH

Six Updater handles all comfortability and automatically.

Edited by Sickboy

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

×