marcomio 0 Posted November 14, 2011 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
sickboy 13 Posted November 14, 2011 (edited) 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 November 14, 2011 by Sickboy Share this post Link to post Share on other sites
welcome to hell 23 Posted November 26, 2011 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
sickboy 13 Posted November 26, 2011 (edited) 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 November 26, 2011 by Sickboy Share this post Link to post Share on other sites
welcome to hell 23 Posted November 26, 2011 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
sickboy 13 Posted November 26, 2011 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
sailindawg 0 Posted December 2, 2011 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 13 Posted December 2, 2011 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
sailindawg 0 Posted December 2, 2011 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
noubernou 77 Posted December 3, 2011 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
Hud Dorph 22 Posted December 29, 2011 (edited) 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 December 29, 2011 by [HUD]Dorph Share this post Link to post Share on other sites
sickboy 13 Posted December 30, 2011 Updated package available on CBA home: http://dev-heaven.net/projects/cca/files Sorry for the delay, release notes will follow. Share this post Link to post Share on other sites
kremator 1065 Posted December 30, 2011 Thanks Sickboy. Share this post Link to post Share on other sites
Hud Dorph 22 Posted December 30, 2011 Very nice thx :) Share this post Link to post Share on other sites
wiggum2 31 Posted December 30, 2011 I have a question about the CBA function CBA_fnc_setMarkerPersistent: http://forums.bistudio.com/showthread.php?t=129327 Maybe someone who knows more about how they work could take a look. :) Share this post Link to post Share on other sites
schulz 10 Posted December 30, 2011 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
sickboy 13 Posted December 30, 2011 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
schulz 10 Posted December 31, 2011 Thank you sickboy :) Share this post Link to post Share on other sites
sickboy 13 Posted January 6, 2012 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
das attorney 858 Posted January 9, 2012 (edited) 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 January 9, 2012 by Das Attorney Share this post Link to post Share on other sites
sickboy 13 Posted January 9, 2012 Hi, display/key handlers must return either true or false based on if you want other key handlers to process after this one (return false), or not (return true). See http://community.bistudio.com/wiki/displayAddEventHandler Share this post Link to post Share on other sites
das attorney 858 Posted January 9, 2012 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
xeno 234 Posted January 9, 2012 (edited) @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 January 9, 2012 by Xeno Share this post Link to post Share on other sites
das attorney 858 Posted January 10, 2012 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