Jump to content
vipermaul

CBA - Community Base Addons - ARMA 3

Recommended Posts

Version: 1.0.8.140725 RC3 Hotfix

This is a Hotfix for two rare issues discovered below that we believe should be fixed now rather than later.

Normally a hotfix only releases a couple of files. But for the sake of Play withSix, I have been informed it is better to release a full set of these files. All new signatures were created to help admins keep the clients and servers properly synced.

Change Log

RC3 Hotfix

  • FIXED: Wrongly formatted Keybind arrary can permanently corrupt the variable array that holds all CBA Keybinds changes - Taosenai
  • FIXED: Changing the keybind breaks KeyUp handling in a rare case. (74912) - Taosenai

Hosted at the following:

Signatures are included.

Submit Bugs at https://dev-heaven.net/projects/cba-a3/issues/new

Edited by ViperMaul
Mega Link updated

Share this post


Link to post
Share on other sites
CBA implements a cache for all compile preProcessFile'd scripts (incl CfgFunctions, BIS functions module etc), and for all XEH events

on CfgVehicle classes. This cache is stored in the uiNamespace and is therefore available throughout the whole lifetime of the running

game (game start, till terminate game). Each class is only cached once, while mission and campaignConfigfile events are obviously

evaluated every mission, but also only once per CfgVehicle class.

The performance gains are seen in feature heavy mods like ACE or AGM which release on scripting to make their features possible.

Some of these functions need a long time to initialize the game, switching missions, islands, going from editor back to the game,

and so forth. 2nd-nth mission (re)starts go faster, but it is still nowhere near as fast as playing the Vanilla game.

cba_cache_disable.pbo is an addon that disables this if you need it. However it makes mods slower by disabling CBA's function and

script compilation cache, and xeh cache. It is useful during development so that edits will take effect without having to restart

the game.

References:

* http://wiki.ace-mod.net/Performance_Revolution

* http://forums.bistudio.com/showthread.php?103871-CBA-Community-Base-Addons-for-A2-OA-and-CO&p=2065505&viewfull=1#post2065505

So basicly that means that i dont need to use something for the optional folder when i only play Singleplayer? I play only 1 mission on Arma3 which has a bunch of scripts, whats your advice then when playing only these mision with lot of scripts?

Sorry for my English, hope you understand it ^^

Share this post


Link to post
Share on other sites
LSD_Timewarp82, correct. It is not recommended to use for you. You do not need to use the optional cba_cache_disable.pbo Edited by ViperMaul

Share this post


Link to post
Share on other sites

CBA continues to be one of my 'always run' mods ! Thanks for the continued work guys.

Share this post


Link to post
Share on other sites
LSD_Timewarp82, correct. It is not recommended to use for you. You do not need to use the optional cba_cache_disable.pbo

Thanks for the answer. I use a bunch of mods and like i said i play only 1 mission (WholeLottaAltis) and sometimes it happens that during playing some mods goes inactive and the performance goes into basement^^ I use moduload to reinitialize my mods with the mission, i asked cause i was hoping that there might be something useful in the "optional" folder.

Share this post


Link to post
Share on other sites

New version frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites

Can someone tell me the current state of fleximenu?

Is this the latest documentation it has?

And is it still operational in arma 3?

Its a shame mod devs have to go about reinventing the wheel due to little available knowledge about the subject.

Edited by Bumgie

Share this post


Link to post
Share on other sites

I'm getting this error when using CBA_fnc_registerKeybindToFleximenu:

Error in expression <
_ehID = cba_keybinding_ehCounter;

if (_dikCode != -1 && !isNil {_code}) then {>
 Error position: <_dikCode != -1 && !isNil {_code}) then {>
 Error Undefined variable in expression: _dikcode
File x\cba\addons\keybinding\fnc_registerKeybind.sqf, line 138

My script:

#include "\x\cba\addons\ui_helper\script_dikCodes.hpp"

A3L_Interaction =
{
   [
       ["main", "A3L Interaction", "popup"],
       [
         [
           "Repair Vehicle", // text on button
           {cursortarget setDamage 0}, // code to run
           "", // icon
           "", // tooltip
           [], // submenu
           DIK_R, // shortcut key
           true, // enabled?
           true // visible if true
         ]
       ]
   ];
};

["ArmA 3 Life", "Open Interaction Menu", ["player", [], -100, "_this call A3L_Interaction"], [DIK_P,false,false,false]] call CBA_fnc_registerKeybindToFleximenu;

This works fine though:

#include "\x\cba\addons\ui_helper\script_dikCodes.hpp"

A3L_Interaction =
{
   [
       ["main", "A3L Interaction", "popup"],
       [
         [
           "Repair Vehicle", // text on button
           {cursortarget setDamage 0}, // code to run
           "", // icon
           "", // tooltip
           [], // submenu
           DIK_R, // shortcut key
           true, // enabled?
           true // visible if true
         ]
       ]
   ];
};

["player", [DIK_P], -100, "_this call A3L_Interaction"] call CBA_fnc_fleximenu_add;

But I'd like to use the new registerKeyBindToFleximenu (which is not working at the moment?)

Share this post


Link to post
Share on other sites

Caiden,

I've just copied your first script into an SQF file and it ran perfectly for me with no changes. Can you test it in an empty mission file and try to duplicate again?

Share this post


Link to post
Share on other sites
Caiden,

I've just copied your first script into an SQF file and it ran perfectly for me with no changes. Can you test it in an empty mission file and try to duplicate again?

Yeh same, I must've broken something during the making of that script. It's working fine now lol.

Share this post


Link to post
Share on other sites

After last update RC3 hotfix, key file is making problem - it is not allowing to join server, you just stay at ArmA 3 logo screen and you not get any messages from server. After rollback to RC2 and deleting RC3 hotfix key file from keys folder everything went back to normal. Need help now becouse I cannot update it to RC3 hotfix with that keyfile problem. Any clues?

EDIT: Nevermind, we had keys from older CBA version that were causing this problem. Everything works now.

Edited by gienkov

Share this post


Link to post
Share on other sites

Hello CBA-Community,

my community running a Altis Life Server and we're trying to run CBA for JSRS, Blastcore etc.

but we getting kicked all the time for using CBA.

Serverlog Kick Message:

2014/07/28, 3:48:36 "SPYGLASS-FLAG:Heinz-Harald Frentzen:76561197960291894:Modified_MPInterrupt"

So its SPY-GLASS, a own created Anti-Cheat from Tonic. I already talked to him and he said following:

CBA is modifying the Pause Menu / ESC Menu.

http://www.altisliferpg.com/topic/1241-spyglass-development/page-4#entry29802

but hes not willing to help. So if im opening the file, which "script" kicking us. I find this:

//Check for copy-pasters of Dev-Con styled execution.
private["_children","_allowedChildren"];
_children = [configFile >> "RscDisplayMPInterrupt" >> "controls",0] call BIS_fnc_returnChildren;
_allowedChildren = [
"Title","MissionTitle","DifficultyTitle","PlayersName","ButtonCancel","ButtonSAVE","ButtonSkip","ButtonRespawn","ButtonOptions",
"ButtonVideo","ButtonAudio","ButtonControls","ButtonGame","ButtonTutorialHints","ButtonAbort","DebugConsole","Feedback","MessageBox"
];

{
if(!((configName _x) in _allowedChildren)) exitWith {
	[[profileName,getPlayerUID player,"Modified_MPInterrupt"],"SPY_fnc_cookieJar",false,false] spawn life_fnc_MP;
	[[profileName,"Devcon like executor detected"],"SPY_fnc_notifyAdmins",true,false] spawn life_fnc_MP;
	sleep 0.5;
	["SpyGlass",false,false] call BIS_fnc_endMission;
};
} foreach _children;

But I do not know, which "Childrens" from CBA i need to white-list. So i hope maybe you can help me/us. So please help us^^

Waiting for your responses guys and it would be very helpful for the whole life rpg community! and best regards

snajdan

Share this post


Link to post
Share on other sites

Problem: All sites direct me to a zip file that doesn't have an @folder as described in installation instructions. Are we supposed to create that folder or is that just the select files required for a hotfix?

Share this post


Link to post
Share on other sites
Problem: All sites direct me to a zip file that doesn't have an @folder as described in installation instructions. Are we supposed to create that folder or is that just the select files required for a hotfix?
Unfortunately, the RC3 hotfix archive was missing the @CBA_A3 base folder.

To answer your question - the files in the archive is the complete, hotfixed CBA_A3 RC3. (They are not "just the select files required for a hotfix")

I have updated the hotfix archive on Dev-Heaven to include the @CBA_A3 folder just like the normal CBA releases have: CBA_A3_RC3_Hotfix.7z

EDIT: The Armaholic and Mega mirrors are now updated as well.

Edited by Killswitch

Share this post


Link to post
Share on other sites

How exactly do you use CBA_fnc_registerKeybindToFleximenu?

I've looked on the documentation but I can't make sense of it.

What I've tried is:

test_flex =
{
   [
               ["Testing", "test", "popup"],
	[
	  [
		"Test",
		{hint "Hello World"; true},
		"",
		"",
		[],
		0x12,
		true,
		true
	  ]
	]
   ];
};

According to this page (http://dev.withsix.com/projects/cca/wiki/FlexiMenu) it seems to be the correct way.

// Does not work

["Test Mod", "Open Menu", ["player", [], -100, "_this call test_flex"], [0x30,false,false,false]] call CBA_fnc_registerKeybindToFleximenu; //O

and I'm also reciving this error message:

[160110,6114.86,142.492,"x\cba\addons\events\fnc_keyHandler.sqf:54","WARNING: Nil result from handler."]

This however works:

["player", [0x12], -100, "_this call test_flex"] call CBA_fnc_fleximenu_add;

Edited by Infection

Share this post


Link to post
Share on other sites
Hello CBA-Community,

my community running a Altis Life Server and we're trying to run CBA for JSRS, Blastcore etc.

but we getting kicked all the time for using CBA.

...

...

But I do not know, which "Childrens" from CBA i need to white-list. So i hope maybe you can help me/us. So please help us^^

Waiting for your responses guys and it would be very helpful for the whole life rpg community! and best regards

snajdan

CBA adds these two children:

CBA_CREDITS_CONT_C
CBA_CREDITS_M_P

which you could add to the whitelist.

Share this post


Link to post
Share on other sites
CBA adds these two children:

CBA_CREDITS_CONT_C
CBA_CREDITS_M_P

which you could add to the whitelist.

I've made a note about that last night in the Git for Altis Life, hopefully you guys don't get as much messages about it.

Share this post


Link to post
Share on other sites
How exactly do you use CBA_fnc_registerKeybindToFleximenu?

I've looked on the documentation but I can't make sense of it.

What I've tried is...

I've just pasted the following into my Debug Console, which is what you had:

test_flex = { [ ["Testing", "test", "popup"], [ [ "Test", {hint "Hello World"; true}, "", "", [], 0x12, true, true ] ] ]; }; ["Test Mod", "Open Menu", ["player", [], -100, "_this call test_flex"], [0x30,false,false,false]] call CBA_fnc_registerKeybindToFleximenu;

When I execute this and press 'B', the menu appears and works. Can you give me more details? You might also try clearing your keybind registry with the following debug console command (perhaps a misformed call messed it up somehow):

profileNamespace setVariable ["cba_keybinding_registry", []]; saveProfileNamespace;

then restart the mission and try again.

Edited by Taosenai

Share this post


Link to post
Share on other sites
I've just pasted the following into my Debug Console, which is what you had:

test_flex = { [ ["Testing", "test", "popup"], [ [ "Test", {hint "Hello World"; true}, "", "", [], 0x12, true, true ] ] ]; }; ["Test Mod", "Open Menu", ["player", [], -100, "_this call test_flex"], [0x30,false,false,false]] call CBA_fnc_registerKeybindToFleximenu;

When I execute this and press 'B', the menu appears and works. Can you give me more details? You might also try clearing your keybind registry with the following debug console command (perhaps a misformed call messed it up somehow):

profileNamespace setVariable ["cba_keybinding_registry", []]; saveProfileNamespace;

then restart the mission and try again.

I just tried clearing the keybind registry and then executed the exact same code you pasted, still didn't work. Nothing appears and I'm still receiving "WARNING: Nil result from handler.", I'm on latest CBA and just to make sure I'm running no other addons.

Share this post


Link to post
Share on other sites

Having some issues with the CBA Addon on one of my missions - basically, when fading in from black, nothing happens. Players are stuck with a blank screen. Also, having issues with game loads. Player is ending up at sea! Apparently, when the CBA Addon is disabled, these problems go away. Any ideas? :)

Share this post


Link to post
Share on other sites
Anybody else getting this warning

arning Message: Addon 'cba_xeh_a3' requires addon 'CAData'

yes, i confirm it and have other on dev branch. it's due to dev branch, hope its sorted soon.

Share this post


Link to post
Share on other sites

CBA_A3 is causing my server to crash.

I'm running the latest version and have tested with no other mods running. If I run CBA on the server with the clients running nothing, the server crashes a few minutes into the mission. If the clients run CBA without it running on the server, the server crashes in the same way. If both the clients and the server are running CBA, the server will crash in the same fashion.

I can run AllinArma Terrain Pack without CBA and the server will not crash.

I have three people I am testing this with and we have tested with different people playing the mission, with other mods, without, all kinds of combinations of people running the mod and others not, the server still crashes with CBA running in any way, shape, or form. I have no idea what to do. I am at the end of my rope.

Here is some log files from an earlier crash. There are other mods running, but it doesn't seem to matter so I figure I don't need to go get a more recent RPT:

https://mega.co.nz/#!XxE0VBQZ!_iDu_62g2iq5UNibbDsomUI-wZckdUiiIG8KbXEJa_U

Please, please, please help. This has completely halted all operations with my group.

EDIT: I have also tried verifying integrity of game cache within steam on the server as well as on clients; does not help.

EDIT 2: I have reinstalled Arma 3 and redownloaded all of the mods to the server. It is still crashing.

EDIT 3: I think running it through TADST is causing this crash. I'm wondering if anyone knows why TADST and CBA_A3 might be causing the server to crash like this. I tried running the server without TADST, but with CBA on the client and it was fine.

Edited by GDent

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

×