Jump to content
killswitch

CBA: Community Base Addons for A2, OA and CO

Recommended Posts

I also downloaded the latest version. After installing it, I got the errors "Include file extended_eventhandlers\script_macros_common.hpp not found" and the game dont start at all. Now I installed a older version of CBA v0.7.6 (160, including the two files "cba_diagnostic_enable_logging" and "cba_diagnostic_enable_perf_loop") and game starts without nagging. Maybe, those two files made the difference? Anyway, now it is running fine again with CBA 0.7.6. I downloaded my cba 0.7.6. version from http://dev-heaven.net/projects/cca/files

Share this post


Link to post
Share on other sites
I also downloaded the latest version. After installing it, I got the errors "Include file extended_eventhandlers\script_macros_common.hpp not found" and the game dont start at all. Now I installed a older version of CBA v0.7.6 (160, including the two files "cba_diagnostic_enable_logging" and "cba_diagnostic_enable_perf_loop") and game starts without nagging. Maybe, those two files made the difference? Anyway, now it is running fine again with CBA 0.7.6. I downloaded my cba 0.7.6. version from http://dev-heaven.net/projects/cca/files

The problem you experienced is caused by a rogue old Extended_EventHandlers.pbo in one of your modfolders

- one of the main reasons why we disapprove including individual CBA addons with mods, instead of the @CBA modfolder.

Another possibility could be the Windows Vista/7 VirtualStore - remove any ARMA related files and folders from it (C:\users\yourname\appdata\local\VirtualStore).

Please remove those two files you mentioned (they have specific debugging purposes), and restore the 'latest' version of CBA again from Six Updater.

Then search your addons folders for Extended_EventHandlers.pbo or CBA_Extended_EventHandlers.pbo and delete it at all locations except the official @CBA modfolder.

It is highly recommended to always run the latest version of CBA (Releases should always be backwards compatible, and newer versions include important fixes/improvements).

Edited by Sickboy

Share this post


Link to post
Share on other sites

Is there any place where I can download ALL of the CBA versions?

Because Dev Heaven does not offer all versions for download

CBA is very multilayer unfriendly, six updater keeps updating my CBA but servers that I play on do not. Now it is impossible for me to play on the servers I love because of the sig check not accepting updated versions. And Server owners update once in a couple of months if not less often.

Each version of CBA is not backwards compatible when it comes to multiplayer/server management (AKA where it really matters)!

Very annoying!

Share this post


Link to post
Share on other sites

If a server isn't running the latest CBA build, you can probably find the build here; http://dev-heaven.net/projects/cca/files

Otherwise the server (admin/clan/community) should provide the correct build, either through tools like Six Updater or otherwise.

Also on the server admins own peril, they can accept multiple cba keys on the servers, and the version check/warning can be loosened or even completely disabled, while.

But we recommend always running the latest version, a new Stable build will come out soon.

Edited by Sickboy

Share this post


Link to post
Share on other sites

Otherwise the server (admin/clan/community) should provide the correct build, either through tools like Six Updater or otherwise.

Also on the server admins own peril, they can accept multiple cba keys on the servers, and the version check/warning can be loosened or even completely disabled, while.

I think my point is being missed. There are servers that use CBA .030 series through the latest .076 and it is impossible to connect to any of them unless having the exact version of CBA. I have 7 versions of CBA installed to play on different servers, compatibility is very poor.

What I am asking here is flexibility and backwards compatibility instead of this rigid and casual player unfriendly setup.

If a server is running old CBA versions we should be able to connect and play with newer versions! This is kind of essential

Share this post


Link to post
Share on other sites

As pointed out, things are flexible and backward compatible, it depends on the server admin's choices / configuration.

Share this post


Link to post
Share on other sites

Sickboy,

Reading over the forums, I noticed a post by you regarding target line mod commands. One of the mods listed in your example, was @cba_disable_caching.

Does this mod help ARMA2/OA to run smoother? I have been searching for this mod / cba addon with no luck. I've searched DevHeaven / Armaholic to no avail. I would like to give it a try to see if it smooths OA out more.

Thanks.

Share this post


Link to post
Share on other sites
Sickboy,

Reading over the forums, I noticed a post by you regarding target line mod commands. One of the mods listed in your example, was @cba_disable_caching.

Does this mod help ARMA2/OA to run smoother? I have been searching for this mod / cba addon with no luck. I've searched DevHeaven / Armaholic to no avail. I would like to give it a try to see if it smooths OA out more.

Thanks.

Hi,

No, it makes it slower instead by disabling CBA's function and script compilation cache, and xeh cache, it is used during development so that edits will take effect without having to restart the game :)

The addon is included with the official CBA distribution, not loaded by default.

Share this post


Link to post
Share on other sites

Sickboy, thanks for the explanation!! Not a performance enhancer at all, just a develop tool. Thanks again!

Share this post


Link to post
Share on other sites

You can also disable cache on a per mission basis using a config entry in description.ext

:)

Share this post


Link to post
Share on other sites

Now what is the latest version of cba ?

I have collected ver 0.7.6.160 from devheaven and put it on my server(co).

Then i see a guy getting kicked from server for a cba mismatch saying he uses 0.8.3.175 ?

Acording to devheaven 0.7.6 is latest, are later versions than that betas ?

Edit:

I see now that on Armaholic a ver 0.8.3.175 are avail, why is this not on cba-devheaven ?

Edited by [HUD]Dorph

Share this post


Link to post
Share on other sites

and I still have an error :(

could not find ...script_macros_common.hpp

could anyone tell me what to do or what my problem is.

help appreciated :)

thx

Share this post


Link to post
Share on other sites

Delete Extended_EventHandlers.pbo and CBA_ExtendedEventHandlers.pbo from all modfolders except the official @CBA modfolder.

Share this post


Link to post
Share on other sites

CBA hotfix available on Six Updater (Run Verify and Repair on the @CBA modfolder) and at: http://www.multiupload.com/54RT4EU5HP (Both released with ACE hotfix an hour ago).

Fixes stuttering issues when many units / objects are in the mission.

The effect was overly apparant in CBA TOH version, but also present in the OA/A2 version.

A new official release will probably follow coming weeks.

Share this post


Link to post
Share on other sites

I've got a problem when trying to use CBA_fnc_addKeyHandlerFromConfig to enable hotkeys for a mod I'm working on.

Everytime I press the key defined in the userconfig, I get the following error in the rpt:

=====================================================================
== C:\Program files\Bohemia Interactive\ArmA 2\arma2oa.exe
== "C:\Program files\Bohemia Interactive\ArmA 2\arma2oa.exe" -nosplash -noPause -noFilePatching -ShowScriptErrors "-mod=C:\Program files\Bohemia Interactive\ArmA 2\@CBA;C:\Program files\Bohemia Interactive\ArmA 2\@ARD" -malloc=tbb4malloc_bi
=====================================================================
Exe timestamp: 2011/12/22 20:03:02
Current time:  2012/01/09 01:17:37

Version 1.60.87580
[77,15.93,0,"XEH: PreInit Started. v3.3.3. MISSINIT: missionName=intro, worldName=Desert_E, isMultiplayer=false, isServer=true, isDedicated=false"]
[77,16.565,0,"XEH: PreInit Finished. CACHE DISABLED? (Disable caching with cba_disable_cache.pbo): SLX_XEH_RECOMPILE=false, CBA_COMPILE_RECOMPILE=false, CBA_FUNC_RECOMPILE=false"]
[152,21.491,0.039,"XEH: PostInit Started"]
[152,21.54,0.039,"CBA_VERSIONING: cba=0.8.3.175, "]
[152,21.552,0.039,"XEH: PostInit Finished. State: _isClient=true, _isJip=false, _isDedClient=false, _isServer=true, _isDedServer=false, _playerCheckDone=true, _sp=true, _startInitDone=true, _postInitDone=true, _mpRespawn=false, _machineType=1, _sessionId=1, BIS_functions=L 1-1-A:1, group=L 1-1-A, player=<NULL-object>, _playerType="", _playerGroup=<NULL-group>"]
[6101,39.552,0,"XEH: PreInit Started. v3.3.3. MISSINIT: missionName=ARD_PBO_OPFOR_TEST, worldName=Takistan, isMultiplayer=false, isServer=true, isDedicated=false"]
[6101,39.604,0,"XEH: PreInit Finished. CACHE DISABLED? (Disable caching with cba_disable_cache.pbo): SLX_XEH_RECOMPILE=false, CBA_COMPILE_RECOMPILE=false, CBA_FUNC_RECOMPILE=false"]
[6658,43.032,0,"XEH: PostInit Started"]
[6658,43.047,0,"CBA_VERSIONING: cba=0.8.3.175, "]
[6658,43.056,0,"XEH: PostInit Finished. State: _isClient=true, _isJip=false, _isDedClient=false, _isServer=true, _isDedServer=false, _playerCheckDone=true, _sp=true, _startInitDone=true, _postInitDone=true, _mpRespawn=false, _machineType=1, _sessionId=2, BIS_functions=L 1-1-A:1, group=L 1-1-A, player=O 1-1-A:1 (Horde), _playerType="TK_INS_Soldier_TL_EP1", _playerGroup=O 1-1-A"]
[6796,45.335,2.319,"x\cba\addons\events\fnc_keyHandler.sqf:57","WARNING: Nil result from handler."]
[7210,52.208,9.261,"x\cba\addons\events\fnc_keyHandler.sqf:57","WARNING: Nil result from handler."]
[7680,60.049,17.182,"x\cba\addons\events\fnc_keyHandler.sqf:57","WARNING: Nil result from handler."]

I've set up the config.cpp as follows:

class CfgPatches
{
class ARD
{
	units[] = {};
	weapons[] = {};
	requiredVersion = 1.01;
	requiredAddons[] = {"Extended_EventHandlers","CBA_main"};
	version = "3.2";
	versionStr = "3.2";
	versionAr[] = {3,2};
	author[] = {"Das Attorney", "Evil Echo", "Demonized"};
	authorUrl = "http://forums.bistudio.com/showthread.php?t=111092";
};
};

class Extended_Init_EventHandlers
{
class All
{
	ARD_Init = "if (isNil {ARD_Init_Var}) then {ARD_Init_Var = [] execVM ""\ARD\init.sqf"";};";
};
};

#include "\ARD\ARD\dialog.hpp"

class CfgSettings
{
class CBA
{
	class events
	{
		#include "\userconfig\ARD\ARD.hpp"
	};
};
};

Init.sqf as follows (omitted irrelevant code):

ARD_onKeyPress = compile preprocessFile "ARD\ARD\onKeyPress.sqf";

waitUntil {!isNull(findDisplay 46)};

["ard_sys_core", "ARD_open_menu", {_this call ARD_onKeyPress}] call CBA_fnc_addKeyHandlerFromConfig;

onKeyPress.sqf as follows:

private ["_vehicle"];

_vehicle = vehicle player;

if ((player == leader player) && ((velocity _vehicle select 0) < 1) && ((velocity _vehicle select 0) > -1) && ((velocity _vehicle select 1) < 1) && ((velocity _vehicle select 1) > -1) && ((velocity _vehicle select 2) < 1) && ((velocity _vehicle select 2) > -1)) then
{
if !(dialog) then
{
	createDialog "ARDcontrol";
	ctrlSetText [1234, str ARD_radius];
}
else
{
	closeDialog 0;
};
};

and finally the userconfig:

class ard_sys_core
{
class ARD_open_menu  // This changes the key used to open the All Round Defence Menu
{
	key = 57;  // << SPACE
	shift = 1;
	ctrl = 1;
	alt = 0;
};

class ARD_quick  // This changes the key to order All Round Defence quickly (without opening the menu)
{
	key = 2;  // << 1
	shift = 0;
	ctrl = 0;
	alt = 0;
};
};

The ARD_quick key works fine, I only get the errors when I open up the dialog menu (ARD_open_menu). The dialog opens fine, but still posts the error into the rpt.

Really sorry to post all this in here, but I can't work out whether it's something I've done or a problem with cba. I've been working on other things in the mod, so I'm not really sure when it started playing up. I based the config and scripts on a few other mods that need hotkeys and they seem fine.

I had a look in the fnc_keyhandler and it seemed to suggest that when this is run:

_result = _keyData call _code;

then my _result is Nil, (hence the warning in rpt) but I couldn't figure out the preceding code to work out what's going awry.

Any advice you could give is much appreciated.

EDIT:

I'm using up to date CBA through SU. No other mods are loaded. My shortcut is:

"C:\Program files\Bohemia Interactive\ArmA 2\arma2oa.exe" -noSplash -noFilePatching -showScriptErrors -noPause "-mod=@CBA;@ARD;"

Lastly, I've been using BinPbo to pack the addon (it isn't binarised either because of userconfig)

Edited by Das Attorney

Share this post


Link to post
Share on other sites

You Sir, are a gent and a scholar :)

For the benefit of others who might get stuck with this in the future, please see below for the change in code (to onKeyPress.sqf):

private ["_vehicle", "_handled"];

_vehicle = vehicle player;

_handled = false;

if ((player == leader player) && ((velocity _vehicle select 0) < 1) && ((velocity _vehicle select 0) > -1) && ((velocity _vehicle select 1) < 1) && ((velocity _vehicle select 1) > -1) && ((velocity _vehicle select 2) < 1) && ((velocity _vehicle select 2) > -1)) then
{
if !(dialog) then
{
	createDialog "ARDcontrol";
	ctrlSetText [1234, str ARD_radius];
	_handled = true;
}
else
{
	closeDialog 0;
	_handled = true;
};
_handled;
};

Share this post


Link to post
Share on other sites

@Das Attorney

Another tip...

Remove the Extended_Init_Eventhandler and replace it with a XEH Post Init (or PreInit):

class Extended_PostInit_EventHandlers {
class ARD{
	clientInit = "call compile preprocessFileLineNumbers '\ARD\init.sqf';
};
};

PostInit and PreInit get only called ONCE at mission start.

Init, and specially for class All, will call the init EH everytime an object is spawned/created.

The clientInit will make sure it will only execute on a client (you need class xxx then, in your case class ARD for example).

Ofc, because of the call compile you need to remove the "waitUntil {!isNull(findDisplay 46)};" from the init.sqf file,

CBA_fnc_addKeyHandlerFromConfig takes care of it.

The difference between Post- and PreInit is that PreInit is executed before any other inits. So you can precompile functions already

and make use of them for example in the init lines of objects/vehicles/units in the editor.

XEH can also be used in the description.ext file of a mission, for those who didn't know yet.

So you can use Extended Eventhandlers also in a mission like you would do in an addon.

Xeno

Edited by Xeno

Share this post


Link to post
Share on other sites

This is really helpful stuff, thank you.

There's a lot more to CBA than I thought possible.

:)

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

×