PDA

View Full Version : CBA: Community Base Addons public release!



Pages : [1] 2

Sickboy
Jul 7 2009, 00:57
Current version: CBA v0.3.0: Feature Release

http://img54.imageshack.us/img54/7288/cbalegoblocks42250x250.png

Vision


What does the name Community Base Addons mean? It is a system that:

Aims to have community wide acceptance and to be used as much as possible by community addons to maintain compatibility.
Offers a range of features for addon-makers and mission designers.
The community is very much encouraged to request or submit functionality.

The most obvious example would be to submit functions to be included in the CBA function library. This would make them available to a large audience of developers and save on replicated development.

Key Features

Extended Eventhandlers: official port of XEH for Arma 2.
Function library: Integrated into the BIS Functions module.
Many other things you never thought you needed but won't be able to live without...
Full documentation is available at DevHeaven (http://dev-heaven.net/projects/cca/wiki/CBA).
The manual, functions reference and complete sources are included in the release.


Download

DevHeaven (http://dev-heaven.net/projects/list_files/cca)
Six Updater (Follows latest development) (http://updater.dev-heaven.net/main)
(Previous Discussion Thread) (http://forums.bistudio.com/showthread.php?p=1350771#post1350771)

Please take a look at our function documentation: generic wiki (http://dev-heaven.net/wiki/cca/Function_and_Macro_Libraries) and comprehensive html docs (http://dev-heaven.net/docs/cba/) for usage.

Please take a look at our Plans wiki (http://dev-heaven.net/wiki/cca/Plans)

Loki
Jul 7 2009, 01:05
yeah!

thanks guys.. this is a critical piece needed to bring addons into A2.

Manzilla
Jul 7 2009, 01:13
Nice
:)

mikebart
Jul 7 2009, 05:31
Nice one, thanks for the effort guys!

Kremator
Jul 7 2009, 05:58
TY guys ! I can start to feel the magic already !

MarkJ112
Jul 7 2009, 06:02
Thanks

ArmedAssault.info (http://www.armedassault.info) Mirror and News (http://www.armedassault.info/index.php?cat=news&id=2679):

.kju [PvPscene]
Jul 7 2009, 06:04
You forgot to add the online reference (http://dev-heaven.net/docs/cba/files/overview-txt.html) of the function and macro library to the news post!

MadDogX
Jul 7 2009, 06:38
Nice one guys! Excellent work.

I've already been looking at the documentation and discovered something:

Look here: http://dev-heaven.net/wiki/cca/Extended_Eventhandlers

Under section 1.8 (XEH init EH on player respawn) it says:


IMPORTANT: This feature will only work on the player's unit - AI units that respawn won't have their XEH init EH:s re-executed. (If someone can figure out a trick to identify playable units in a MP mission, this limitation could be removed)Shouldn't this be easy now in Arma2 with the playableUnits (http://community.bistudio.com/wiki/playableUnits) command? Maybe this has been fixed already (didn't find anything in the changelog), but wanted to point it out just in case. :)

Sickboy
Jul 7 2009, 09:57
Tnx a lot for replies and mirrors!

Nice one guys! Excellent work.

I've already been looking at the documentation and discovered something:

Look here: http://dev-heaven.net/wiki/cca/Extended_Eventhandlers

Under section 1.8 (XEH init EH on player respawn) it says:

Shouldn't this be easy now in Arma2 with the playableUnits (http://community.bistudio.com/wiki/playableUnits) command? Maybe this has been fixed already (didn't find anything in the changelog), but wanted to point it out just in case. :)
Good spotting MDX :) Cheers!
Ticket added here http://dev-heaven.net/issues/show/2647
Sounds like food for Rel2 :)

scubaman3D
Jul 7 2009, 13:27
while this stuff is way over my head...congrats on the release :)

DMarkwick
Jul 7 2009, 13:32
I'd like to be the first post on the second page to congratulate the team on it's first release :)

Sickboy
Jul 7 2009, 13:54
Wanted to put some extra publicity on our docs:
Please take a look at our function documentation: generic wiki (http://dev-heaven.net/wiki/cca/Function_and_Macro_Libraries) and comprehensive html docs (http://dev-heaven.net/docs/cba/) for usage.

@<hidden>:
Tnx mate! Will your Smoke effects make use of CBA?

DMarkwick
Jul 7 2009, 14:40
@<hidden>:
Tnx mate! Will your Smoke effects make use of CBA?

Well thanks to your new release, the DMHide works right out of the ArmA1 box :) I'm going to rejig it tonight, improve it & release it as a JTD release. So practical thanks from me :)

The smoke effects... I haven't started any yet, but I'm pretty sure it will happen :) there's stuff in the A1 release that throws up errors that will probably mean I'll just start over from scratch. Not that they're insurmountable, but you know, sometimes a rewrite is inevitable and practical. DMSmokeEffects represents, for me, my first ever mod so there's lots of stuff that's inefficient & unnecessary. I doubt anyone (except for me in controlled tests) ever noticed that the smoke dies off quicker in rain and becomes all steamy. That is all wasted code, happening for all particles on all particle sources :D

And oh yeah - your CBA will come in as invaluable :)

Squelch
Jul 7 2009, 14:52
Congratulations to all that have slaved away at making CBA come to life, and I hope that it forms the basis for many more contributions.


I doubt anyone (except for me in controlled tests) ever noticed that the smoke dies off quicker in rain and becomes all steamy. That is all wasted code, happening for all particles on all particle sources :D

Damn! It was overlooked by me, and maybe as it is such a natural thing, became subliminal. Certainly not wasted code, and I for one look forward to what you come up with for ArmA2.

DMarkwick
Jul 7 2009, 15:00
Congratulations to all that have slaved away at making CBA come to life, and I hope that it forms the basis for many more contributions.



Damn! It was overlooked by me, and maybe as it is such a natural thing, became subliminal. Certainly not wasted code, and I for one look forward to what you come up with for ArmA2.

Thanks for the support :) I had some amount of positive results in ArmA1 when I started playing about with propagating fire. So there is a good possibility of forest fires etc in ArmA2's release ;)

ViperMaul
Jul 7 2009, 15:41
Excellent work Devs!! I am sure the community will appreciate this work greatly.

Soul_Assassin
Jul 7 2009, 16:56
Woot! gone to checkt the isTurnedOut function :D

Alex72
Jul 7 2009, 18:08
Have no idea how these things work, but it seems to be a good thing. :D

Good work guys!

Foxhound
Jul 7 2009, 18:30
Thanks for informing us :cool:

Release frontpaged at the Armaholic homepage (http://www.armaholic.com/page.php?id=6228).

http://www.armaholic.com/datas/users/3-animation.png (http://www.armaholic.com/page.php?id=6231)
Community Base addons (http://www.armaholic.com/page.php?id=6231)

Robalo
Jul 7 2009, 22:33
Thanks for this.

Force Recon units do not XEH init properly. The fix below worked for me:


// XEH uses all existing event handlers
#define EXTENDED_EVENTHANDLERS init = "if(isnil'SLX_XEH_objects')then{call compile preprocessFile'extended_eventhandlers\InitXEH.sqf'};[_this select 0,'Extended_Init_EventHandlers']call SLX_XEH_init;"; \
fired = "_s=nearestObject[_this select 0,_this select 4]; [_this select 0,_this select 1,_this select 2,_this select 3,_this select 4,_s]call((_this select 0)getVariable'Extended_FiredEH')"; \
animChanged = "_this call((_this select 0)getVariable'Extended_AnimChangedEH')"; \
animDone = "_this call((_this select 0)getVariable'Extended_AnimDoneEH')"; \
dammaged = "_this call((_this select 0)getVariable'Extended_DammagedEH')"; \
engine = "_this call((_this select 0)getVariable'Extended_EngineEH')"; \
firedNear = "_this call((_this select 0)getVariable'Extended_FiredNearEH')"; \
fuel = "_this call((_this select 0)getVariable'Extended_FuelEH')"; \
gear = "_this call((_this select 0)getVariable'Extended_GearEH')"; \
getIn = "_this call((_this select 0)getVariable'Extended_GetInEH')"; \
getOut = "_this call((_this select 0)getVariable'Extended_GetOutEH')"; \
//handleDamage = "_this call((_this select 0)getVariable'Extended_HandleDamageEH')"; \
//handleHealing = "_this call((_this select 0)getVariable'Extended_HandleHealingEH')"; \
hit = "_this call((_this select 0)getVariable'Extended_HitEH')"; \
incomingMissile = "_this call((_this select 0)getVariable'Extended_IncomingMissileEH')"; \
killed = "_this call((_this select 0)getVariable'Extended_KilledEH')"; \
landedTouchDown = "_this call((_this select 0)getVariable'Extended_LandedTouchDownEH')"; \
landedStopped = "_this call((_this select 0)getVariable'Extended_LandedStoppedEH')";

class Extended_Init_EventHandlers {
class FR_Miles {Miles_init = "(_this select 0) setidentity ""Miles"";";};
class FR_Cooper {Cooper_init = "(_this select 0) setidentity ""Cooper"";";};
class FR_Sykes {Sykes_init = "(_this select 0) setidentity ""Sykes"";";};
class FR_Ohara {Ohara_init = "(_this select 0) setidentity ""Ohara"";";};
class FR_Rodriguez {Rodriguez_init = "(_this select 0) setidentity ""Rodriguez"";";};
};

class CfgVehicles {
class SoldierWB;
class FR_Base : SoldierWB {
class EventHandlers { EXTENDED_EVENTHANDLERS };
};

class FR_Miles : FR_Base {
class EventHandlers : EventHandlers {HandleIdentity = "true"; EXTENDED_EVENTHANDLERS };
};

class FR_GL : FR_Base {
class EventHandlers;
};

class FR_Cooper : FR_GL {
class EventHandlers : EventHandlers {HandleIdentity = "true"; EXTENDED_EVENTHANDLERS };
};

class FR_Marksman : FR_Base {
class EventHandlers;
};

class FR_Sykes : FR_Marksman {
class EventHandlers : EventHandlers {HandleIdentity = "true"; EXTENDED_EVENTHANDLERS };
};

class FR_Corpsman : FR_Base {
class EventHandlers;
};

class FR_OHara : FR_Corpsman {
class EventHandlers : EventHandlers {HandleIdentity = "true"; EXTENDED_EVENTHANDLERS };
};

class FR_AR : FR_Base {
class EventHandlers;
};

class FR_Rodriguez : FR_AR {
class EventHandlers : EventHandlers {HandleIdentity = "true"; EXTENDED_EVENTHANDLERS };
};

};

Scrub
Jul 7 2009, 22:57
Looks like an amazingly worthy effort! This may very well put scripting back into the realms of possibility for me again. Look forward to posting some of my unoptimized junk that others might find useful, lol. It'll be less junky with THIS.. Thanks CBA team!

Spooner
Jul 8 2009, 00:12
@<hidden>, I've ticketed (http://dev-heaven.net/issues/show/2665) this at DH and hope to get the fix out ASAP.

Sickboy
Jul 8 2009, 08:13
XEH slow all other script (http://dev-heaven.net/issues/show/2663) Resolved!
We will release a hotfix after solving BIS campaign Force Recon do not initiate (http://dev-heaven.net/issues/show/2665)
Thanks all for replies and reports!

DMarkwick
Jul 8 2009, 10:11
While adding the initial first release touches to JTD Tracker Dog, I find that game logics can no longer be assigned into vehicle positions. I don't know whether this is a bug or a new limitation to prevent problems somewhere else (As discussed at OFPEC (http://www.ofpec.com/forum/index.php?topic=33657.0)).

Is there the possibility that a modified game logic could be derived from the default one, with the old abilities reinstated as a CBA project?

As I say the default one might have been fixed to prevent problems somewhere else, but this might not apply to a derivative?

Sickboy
Jul 8 2009, 11:11
While adding the initial first release touches to JTD Tracker Dog, I find that game logics can no longer be assigned into vehicle positions. I don't know whether this is a bug or a new limitation to prevent problems somewhere else (As discussed at OFPEC (http://www.ofpec.com/forum/index.php?topic=33657.0)).

Is there the possibility that a modified game logic could be derived from the default one, with the old abilities reinstated as a CBA project?

As I say the default one might have been fixed to prevent problems somewhere else, but this might not apply to a derivative?
:)
Not sure if it is a property to be set, or possibly a result of changed logic usage.

"LOGIC" can now only be created by: createVehicleLocal, camCreate and createUnit.
Correct would be: http://dev-heaven.net/boards/37/topics/show/949#message-1098 (posted at DH for syntax highlighting and biki links)
Are you able to put _logic into vehicle cargo with above code?
If not, we could try to find the issue or create our own logic-alike object.

DMarkwick
Jul 8 2009, 12:56
Are you able to put _logic into vehicle cargo with above code?
If not, we could try to find the issue or create our own logic-alike object.

Cannot place a logic into cargo with createUnit or createVehicleLocal.

Sickboy
Jul 8 2009, 19:33
CBA v0.1.1: Hotfix

Key Changes

FIXED: Significant script slowdowns
FIXED: Default events for BIS classes disable extended events on those classes.
Full documentation is available at DevHeaven (http://dev-heaven.net/wiki/cca).

Download

The addons, manual, functions reference and complete sources are included in the release.

DevHeaven (http://dev-heaven.net/projects/list_files/cca)

DMarkwick
Jul 8 2009, 20:10
Excellent :)

Loki
Jul 8 2009, 20:35
ok.. did my best to break it.... but i couldn't.. the hotfix works great.

tested it on SP,MP,MP dedicated with low amount of ai/humans and a large scale test.

the lost key dialogs come up instantly as it used to.

cheers for all the hard work sickboy and cba crew.

: )

Foxhound
Jul 8 2009, 21:50
Hotfix release frontpaged at the Armaholic homepage (http://www.armaholic.com/page.php?id=6253).

http://www.armaholic.com/datas/users/3-animation.png (http://www.armaholic.com/page.php?id=6231)
Community Base addons v0.1.1 (http://www.armaholic.com/page.php?id=6231)

VictorFarbau
Jul 8 2009, 22:39
Very very nice indeed. All these additional functions, really sweet. And XEH, finally! You guys did an awesome job in adding substantial value to ARMA, chapeau! :)

VictorFarbau
PS: Time to port VFAI. Will take some time to test all aspects in Arma 2.

sholio
Jul 9 2009, 01:06
what is the empty "Key Management" section under features in the wiki?
anything to do with "custom keys" in A2 ingame settings?

Sickboy
Jul 9 2009, 07:02
Cheers Victor! Looking forward to your projects!


what is the empty "Key Management" section under features in the wiki?
anything to do with "custom keys" in A2 ingame settings?
Heya, altough we are evaluating the "custom keys", atm the key management is about custom keys set in an external config file. (We're working on YAML support)
There is some docu left to be made for that part, which I will do soon :)
(http://dev-heaven.net/docs/cba/files/events/fnc_addKeyHandlerFromConfig-sqf.html)

Created a ticket http://dev-heaven.net/issues/show/2718 for future tracking.

Rommel
Jul 9 2009, 14:44
Looking good guys, keep up the awesome work, at the moment I can't see a use for it, but that will change within weeks I'm sure (maybe even days).

I'll be definitely checking it out today when I get home.

KeyCat
Jul 9 2009, 15:52
Nice work and great concept lads!

/KC

sholio
Jul 10 2009, 12:59
CBA_fnc_addKeyHandler should accept an array as keys
my example;
[(actionKeys "nightVision"), [false, false, false], { _this call S_NVG_togglekey }] call CBA_fnc_addKeyHandler;
i can work around this easily by doing a foreach, but it's not really optimal

also, i get spammed with this in my RPT
0:01:12.288 [x\cba\addons\events\fnc_keyHandler.sqf:34] WARNING: Nil result from handler.

also, won't carry over savegames :)

is the next release still weeks off, or should i wait for it?

Sickboy
Jul 10 2009, 13:11
Savegames; mentioned in your thread, we will look into :)
Multikeys; we could hack this into the keyHandler, however, altough not fully implemented yet, we've created an actionHandler aswell. This one was intended to supply the functionality, while keyHandler would only handle single keys, with shift/ctrl/alt combinations.

I think Spooner had multi-key support back in SPON so I guess we can take a look at what we can puzzle together ;)

Release 0.2 is set for in a few weeks, but i'll see what I can do.

Spooner
Jul 10 2009, 13:50
Yes, key event handlers should always return true/false. The real problem with this report is it is a bit vague and doesn't refer to the handler that returned the bad value (as it couldn't). Personally, I dislike making it idiot-proof (where ANYTHING except "true" is counted as a false result) because that just hides the truth and still allows you to pass the wrong value by accident (that is, you have a variable that is 5, when you wanted it to be true. By complaining that the handler MUST return true/false, it catches this problem. Assuming 5 is "false" hides an error from the user and since I think a lot of the woes in SQF are caused by BIS ignoring errors rather than dealing with them in a rigorous way, I want to keep this as it is. The warning should be made a lot clearer though...

Regarding action-key support, I did have it in SPON, but not in the released version. CBA is getting a lot of the unfinished stuff that was in SPON Core but I lost enthusiasm A1 a lot in the last year. Some sort of merge might make sense, as this work is already partially done.

Kremator
Jul 11 2009, 06:41
Here's hoping the 'tingly feeling' is back now Spooner !

This is seriously good work on the CBA. It should be made COMPULSORY for all players to have it in their addons :)

mrcash2009
Jul 11 2009, 11:21
I think ive found some issues.

Since having this active to use night vision HDR mod, I noticed that in campaign all medic actions are messed up. IE: I would be calling for medic they arrive and then they simply are stuck trying to fix me in a loop and never exit from it. I tried this with some scenarios and it was the same. Also the same if I tried to be a medic for some AI .. just could not break away from the anim.

I also noticed in the campaign certain dialogue action delaying over time. IE talking to the priest about weapons cache would cause him to have the conversation in chunks of responses a large gap .. then chat again 3 mins later.

Also the heli for pick up had a massive delayed response to the point they went to pick me up after I got back to camp and entered the heli .. so it was picking up but I was already in ... then obviously It could not take me anyplace as I got out. Then It would be lost from the communication menu ... then come back. Then respond to my call 5 mins ago to pick up. Like the whole script aspect was chugging and delaying.

I removes the NVG addon and this addon, and then it all worked ok again. I know the campaign is bugged but it was clearly a moment of .. "hang on this is something realy odd now, what have I installed since?" moment. Once removed It all worked ok.

Just though Id report it.

PS only other things are simply NV goggle texture replacement, ground texture replacement, VOP2.1 .. nothing really script based running other than yours.


EDIT: just realised XEH was updated ... so is what im experiencing related to the same thing or something else? I saw the link to the reports but they seemed to refer to user missions.

Spooner
Jul 11 2009, 11:28
This was actually a known issue with CBA v0.1.0 (sorry!), but we believe we fixed it with CBA v0.1.1. I'm pretty sure that the NVG addon wouldn't cause any significant slowdowns on its own. If you can confirm that CBA v0.1.1 causes this problem (if you can, please check if CBA on its own causes this slowdown), we can take a look at it properly.

Thanks for your feedback!

mrcash2009
Jul 11 2009, 11:33
Spooner, sorry mate, yeh I was using the inital release not the hotfix ... I skipped a page and missed the hotfix. I just grabbed it and will have a play, Im guessing it would be resolved as it all seems the same ballpark.

Sorry to confuse, any issues I will deffo post back here.

Spooner
Jul 11 2009, 11:42
No problem. Easily resolved. Just glad people are actually bothered enough to make reports ;)

We probably need to edit the original post to make it clear there has been a hotfix anyway.

Sickboy
Jul 11 2009, 11:47
We probably need to edit the original post to make it clear there has been a hotfix anyway.Your wish est mon commande :)

Sickboy
Jul 12 2009, 10:43
Just a quick update about our Plans:
http://dev-heaven.net/wiki/cca/Plans

Also wanted to take this opportunity to thank everyone who has replied, created tickets, donated some code or otherwise supporting the project!
We hope to accomodate as many as possible after Release 2.

Mr_Centipede
Jul 12 2009, 10:57
Has anyone reported/experience that CBA breaks ALICE and SILVIE? I think CBA break on my machine... I have a mission featuring ALICE and SILVIE, working before, with CBA, the vehicles and civilians didnt spawn. remove CBA, it works again

Sickboy
Jul 12 2009, 11:00
Has anyone reported/experience that CBA breaks ALICE and SILVIE? I think CBA break on my machine... I have a mission featuring ALICE and SILVIE, working before, with CBA, the vehicles and civilians didnt spawn. remove CBA, it works again
Cheers for the report! Do you use Version 0.1.1 or the bugged 0.1.0?
The latter could very well be the cause of the issue :)

Mr_Centipede
Jul 12 2009, 11:02
The file name is 0.1.1 and the readme says it's 0.1.1, so I guess its 0.1.1

Sickboy
Jul 12 2009, 12:07
The file name is 0.1.1 and the readme says it's 0.1.1, so I guess its 0.1.1
Cheers. I will look into it right away!

---------- Post added at 13:47 ---------- Previous post was at 13:09 ----------


The file name is 0.1.1 and the readme says it's 0.1.1, so I guess its 0.1.1
Traced it and ticketed it http://dev-heaven.net/issues/show/2785
Will try to resolve asap.

---------- Post added at 14:07 ---------- Previous post was at 13:47 ----------

I am happy to report that the issue has been resolved.
The issue was related to how the BIS Functions Module logic was initialized.
I believe the fix warrants a hotfix release and as such planned for inclusion in v0.1.2: http://dev-heaven.net/projects/roadmap/cca

However, I will discuss the 0.1.2 release plan later when Spooner's around.
Thanks again for the report!

Mr_Centipede
Jul 12 2009, 12:09
Great news sickboy... Will wait for v0.1.2.

Sickboy
Jul 12 2009, 15:39
Great news sickboy... Will wait for v0.1.2.Copy. Aiming for a release tonight, though if you like the bleeding edge, please feel free to clone the development repository to stay up2date with latest changes:
http://dev-heaven.net/wiki/cca/Getting_a_copy_of_the_development_repository

Garren
Jul 13 2009, 07:23
Has anyone reported/experience that CBA breaks ALICE and SILVIE? I think CBA break on my machine... I have a mission featuring ALICE and SILVIE, working before, with CBA, the vehicles and civilians didnt spawn. remove CBA, it works again


Bingo! I thought i had screwed something up using the functions module. I hope the new version has this fixed. I miss those semi-retarded civilians crashing their cars into their fences and repeating the same dialog over and over and over again.... Well, I miss shooting them anyway! :D

Yeah, I've noticed that none of the ambient modules work while using the latest CBA. The weather module seems to still work though.

Mr_Centipede
Jul 13 2009, 07:37
Bingo! I thought i had screwed something up using the functions module. I hope the new version has this fixed. I miss those semi-retarded civilians crashing their cars into their fences and repeating the same dialog over and over and over again.... Well, I miss shooting them anyway! :D

Yeah, I've noticed that none of the ambient modules work while using the latest CBA. The weather module seems to still work though.

ACM still works though... but rest assured, sickboy has fixed it and it will be okay with next CBA release

Garren
Jul 13 2009, 07:43
ACM still works though... but rest assured, sickboy has fixed it and it will be okay with next CBA release

Good news! I'm just glad you figured it out! It was driving me crazy for the longest time wondering around the map looking for people that weren't there. Got a bit lonely. It's a lonely world without people. We need them back and the cars also. It takes like a gazillion hours to traverse the map by foot. I miss the Grand Theft Auto element of stealing some ambient person's car and driving off with it free of charge. It's good to be bad. LOL!

For real though, any idea when the next version will be out? I followed the trouble ticket and saw that it was already fixed like 19 hours ago. That's a long time to go without people and cars! :(

Mr_Centipede
Jul 13 2009, 07:48
Well, as most ppl would say, when it's ready. Other than that, you could play your mission without CBA for a while. Thats what I did. Unless ofcourse, you have an addon that's CBA dependent. You have to make compromise then. CBA without ALICE/SILVIE or ALICE/SILVIE without CBA

Garren
Jul 13 2009, 08:01
Well, as most ppl would say, when it's ready. Other than that, you could play your mission without CBA for a while. Thats what I did. Unless ofcourse, you have an addon that's CBA dependent. You have to make compromise then. CBA without ALICE/SILVIE or ALICE/SILVIE without CBA


I don't know. I need CBA to run some of my mods. I'd really hate to just play vanilla Arma2 even though I know that the people and cars will be back. I'm going to go smoke a cigarette and think about it some more. I hate stress and compromises! What to do what to do??? :confused:

Sickboy
Jul 13 2009, 08:05
Release of the update is not far away. Last night's MP testing was succesful.
If you rather not wait, please feel free to clone the development repository and get the latest source :)
Lets please return to topic.

Spooner
Jul 13 2009, 17:14
CBA v0.1.2

Key Changes

* FIXED: ALICE and SILVIE stop working when CBA is active
* FIXED: Support for the "AnimStateChanged" event needed.
* ADDED: JIP-persistent markers (CBA_fnc_setMarkerPersistent, CBA_fnc_getMarkerPersistent).
* ADDED: Persistent player actions (CBA_fnc_addPlayerAction, CBA_fnc_removePlayerAction).

Full documentation is available at DevHeaven (http://dev-heaven.net/wiki/cca).

Download

The addons, manual, functions reference and complete sources are included in the release.

* DevHeaven (http://dev-heaven.net/projects/list_files/cca)

Manzilla
Jul 13 2009, 18:05
:yay:

NoRailgunner
Jul 13 2009, 18:06
Thank you.
Just to know - does the modfolder/priority order change from ArmA to Arma2?

Manzilla
Jul 13 2009, 18:13
I don't think so. I keep @<hidden> at the very end, that way every other AddOn/Mod that requires XEH doesn't have to have an XEH .pbo in all other mod folders. In ArmA, I used to keep XEH in it's own mod folder and just put @<hidden> at the end of the target line. I'm assuming it still works the same.... :D

DMarkwick
Jul 13 2009, 18:32
I don't think so. I keep @<hidden> at the very end, that way every other AddOn/Mod that requires XEH doesn't have to have an XEH .pbo in all other mod folders. In ArmA, I used to keep XEH in it's own mod folder and just put @<hidden> at the end of the target line. I'm assuming it still works the same.... :D

For ArmA1, I decided XEH was so important I kept it in the BIS Addons folder itself. The only addon I ever did that with :)

Spooner
Jul 13 2009, 19:11
I wouldn't recommend putting any community addons, even ours, in your main addons directory.

Sickboy
Jul 14 2009, 06:04
So with 0.1.2 we hope to have concluded the 0.1 branch and resolved the quirks :)
We are moving on to 0.2 and hope to deliver it in a couple of weeks.
For more detailed plans please review our (updated) plans wiki (http://dev-heaven.net/wiki/cca/Plans)

Re the modfolder loading order. Personally I put @<hidden> as first in my Modline. It should not matter though, if you add it in the middle, behind or at front, it will always work, though the order of the Mod folders could influence which version of an addon will be active (incase you have multiple versions of the same addon).

With CBA we're trying to put again much attention on having Modfolders, and not using the standard Addons folder, aswell as promote the usage of the @<hidden> modfolder, as opposed to having copies of the CBA addons in every Modfolder that requires it.
With ArmA1 we've seen a lot of problems with users because they had various Mods that either came with XEH, or where they had added XEH, in the end having 6 different versions of XEH loaded at the same time, unclear which version is active :)
With a single @<hidden> modfolder we hope to treat this.

Sickboy
Jul 15 2009, 19:05
@<hidden>; did you possibly find anything in regard to the logic in cargo of vehicles? Maybe we can have a look at that sometime soon?


Savegames; mentioned in your thread, we will look into :)Dev Update;
I've added a script snippet from the latest code to detect the loading of save games;
http://dev-heaven.net/boards/48/topics/show/1550
It is atm the only thing I could find, other than using diag_tickTime, to detect the loading of a savegame.
Will investigate and test further, probably alternatives/optimizations are still possible.

We have created a "CBA_loadGame" event and the displayAddEventHandler is hooked into that event, thus tackled the issue of keys and actions not working after loading a savegame.
Plus the event can be used by anyone to do whatever they require at loadGame :)

If all goes well, you can expect it to be included in Release 2.

DMarkwick
Jul 15 2009, 21:30
@<hidden>; did you possibly find anything in regard to the logic in cargo of vehicles? Maybe we can have a look at that sometime soon?

I haven't done anything with the game logics, I implemented a fudge to get the dog in the vehicle in the end. I am currently wrestling with the new dog's config, trying to stop it generating errors every time it gets close to a vehicle.

What is it you require me to do?

Sickboy
Jul 16 2009, 06:23
I haven't done anything with the game logics, I implemented a fudge to get the dog in the vehicle in the end. I am currently wrestling with the new dog's config, trying to stop it generating errors every time it gets close to a vehicle.

What is it you require me to do?
Was just wondering if you had found anything new since our last chat :)
I will probably try today to setup a class that allows to be added into the cargo and is invisible. Did you try Invisible Heli platform by chance?

Upd: A soldier class with empty model (ca\misc\empty.p3d) seems to work aswell, I do get massive rpt messages atm though, not sure yet how and why :)
I've tried most objects and only Soldier type seems to be able to go in cargo. When I have some more time ill try some different config properties to try and trace it :)

DMarkwick
Jul 16 2009, 14:32
Rgr dat. Are civilian models under the soldier models class? It seems to me that since animals have come under the man class that there is a branch of man that has had the ability to board vehicles (and no doubt other abilities) removed, perhaps because of lack of AI/animation/appropriateness etc. Maybe Game Logic has been erroneously included in that branch?

noamles
Jul 20 2009, 14:35
found a small bug with the extended event handlers, but i don't have the option to open a new issue at DH so i will post it here:
when the extended event handlers pbo is used, the behavior of popup targets is changed, the start down and go up after 1 second, and don't go down when being hit.

Spooner
Jul 20 2009, 19:05
Thanks very much for this. I've ticketed this at DH (http://dev-heaven.net/issues/show/2935) and we will look into it ASAP.

Sorry, I thought anyone would be able to report tickets, but I've made you a reporter for the project so you'll be able to make future reports without any problems.

Sickboy
Jul 21 2009, 14:36
found a small bug with the extended event handlers, but i don't have the option to open a new issue at DH so i will post it here:
when the extended event handlers pbo is used, the behavior of popup targets is changed, the start down and go up after 1 second, and don't go down when being hit.Thanks. The issue has been resolved and will be included in an upcoming release.

Re tickets;
You can only create tickets when you are logged in (at DH).
Also, the button is a bit .. clumsy :P It's next to "Issues" (called "New issue (http://dev-heaven.net/projects/cca/issues/new)") and not inside the "Issues" page.

Alex72
Jul 21 2009, 14:46
Extended Eventhandlers... Right! Now the coin dropped. :) This will get baked in later on right?

Good work guys. This is really needed.

EDIT: Noted the BIS standard pop-up targets wont go down with CBA loaded. Maybe thats a known issue though. Just thaught i mention it.

Alex

ReiLar
Jul 23 2009, 10:10
I get this pop-up info when I try to start ArmA2:


Addon 'Extended_EventHandlers' requires addon 'CA_Editor'

I'm using steam's version of ArmA2.
I've installed the mod in ..\arma 2\@<hidden>
My start modifiers looks like this: -mod=@<hidden>

Am I supposed to install the CA_Editor addon by myself? In that case, where am I able to find it?

sholio
Jul 23 2009, 13:34
i was PM'd this bug about my nvg addon;

In the sp campaign I got a bug in dog of war. When I load a savegame your mod often doesn't come up.
And after a while I can't buy units anymore.
I've tried to redo the mission without the mod and I didn't have this bug.
i can't see how anything in my addon could cause this behaviour, other than using extended init eventhandlers?

Sickboy
Jul 23 2009, 17:06
@<hidden>; Tnx for report, though the issue was resolved and announced the post above ya :D


I get this pop-up info when I try to start ArmA2:

Addon 'Extended_EventHandlers' requires addon 'CA_Editor'
I'm using steam's version of ArmA2.
I've installed the mod in ..\arma 2\@<hidden>
My start modifiers looks like this: -mod=@<hidden>

Am I supposed to install the CA_Editor addon by myself? In that case, where am I able to find it?Thanks for the report!
It seems the Steam version does not have this original ArmA2 addon included :)
We have resolved the issue for an upcoming release.
Ticketed the issue at: http://dev-heaven.net/issues/show/2987
We will consider 'hotfix' / 'workaround' options...


i was PM'd this bug about my nvg addon;

i can't see how anything in my addon could cause this behaviour, other than using extended init eventhandlers?
Thanks for the report! Ticketed: http://dev-heaven.net/issues/show/2988
Will be looking into this one soon, possibly in the weekend.

Robalo
Jul 23 2009, 19:32
It seems the Steam version does not have this original ArmA2 addon included :)
We have resolved the issue for an upcoming release.


Hey, I have the Steam version and CA_Editor is where it should be (editor.pbo). Plus I know other people with Steam version also and they did not have any errors launching with CBA.

Alienfreak
Jul 24 2009, 12:50
Any key sign files available for mod checks?

Killswitch
Jul 24 2009, 12:55
Any key sign files available for mod checks?Yes. All CBA addons are signed and there is a server key in the CBA archive.

Alienfreak
Jul 25 2009, 08:35
Ah ok... because they arent included in the list which files are in it :D

Alex72
Jul 25 2009, 10:22
@<hidden>; Tnx for report, though the issue was resolved and announced the post above ya :D

Yeah... Sorry bout that. I'll lean against the old saying but with a twist to save my butt "better late than never" change by me for this special occasion to "better twice than never". :D

PS. Will actually read at least the post before me next time.

Alex

Aeleas
Aug 4 2009, 23:42
I'm experiencing a similar issue to ReiLar's.

I'm being told that I need 'ca_hc_sounds'

I tried removing it from the config file, but the repacked file wasn't recognized by Lost Key, though both were, as far as I could tell, identical except for the change I made.

on a side note I do have editor.pbo

Aeleas
Aug 5 2009, 23:27
I found the source of my problem. I had tried messing with the mission pbo to make it work in campaign, reverted to the original and the error went away.

Turns out Lost Key works fine in the campaign with CBA, it was just the hacked version of XEH that was breaking it.

Squelch
Aug 6 2009, 07:42
Glad you found the root of the problem.

The only official Arma II version of XEH is included in CBA. The use of other "hacked" versions will cause unpredictable results.

Addon makers - if you need to modify XEH for any reason, please contact the team at Dev Heaven via the issue tracker (http://dev-heaven.net/projects/show/cca) with your request, so we can either offer advice, or attempt to accommodate your modifications for everyone's benefit.

DiFool
Aug 6 2009, 21:36
Sorry I have to post a problem/bug. It came up with the 1.03 patch. Once or twice every minute of gameplay the game (I think it's not just the graphics and sound) freezes for aproximatly 1,5 seconds.
I checked it out and it seems to be one of the cba_xyz .pbo files. Using just the eventhandler files is ok. Dunno if it's just me and in relation with a certain addon. So if anyone else got it too: tell sickboy. Please check it out.

froggyluv
Aug 6 2009, 23:19
Sorry I have to post a problem/bug. It came up with the 1.03 patch. Once or twice every minute of gameplay the game (I think it's not just the graphics and sound) freezes for aproximatly 1,5 seconds.
I checked it out and it seems to be one of the cba_xyz .pbo files. Using just the eventhandler files is ok. Dunno if it's just me and in relation with a certain addon. So if anyone else got it too: tell sickboy. Please check it out.

Could you elaborate on this further, as in how did you figure out the error? There are maybe 5 threads running right now about these pauses/stutters and I just noticed I had CBA in my parameter list. Took it out and so far, the pause is gone.

mrcash2009
Aug 7 2009, 00:00
Sorry I have to post a problem/bug. It came up with the 1.03 patch. Once or twice every minute of gameplay the game (I think it's not just the graphics and sound) freezes for aproximatly 1,5 seconds.
I checked it out and it seems to be one of the cba_xyz .pbo files. Using just the eventhandler files is ok. Dunno if it's just me and in relation with a certain addon. So if anyone else got it too: tell sickboy. Please check it out.

I can confirm this, CBA with 1.03 is now having a cyclic pause/freeze as you describe. I simply removed from mod list and no freeze cycle, put it back, loaded and it returns, so I think this need to be tested now with 1.03.

A thread assuming it was 1.03 patch bug was started here:

http://forums.bistudio.com/showthread.php?t=82923

I cant say something else might be happening for other instances but all I know is as soon as I patched and loaded a mission it was happening off the bat. Running the same thing, same setting just without CBA I experienced no stutter/cyclic pause.

Rogue_Trooper
Aug 7 2009, 00:56
I can confirm this as well as can about 5 of my matees we all removed CBA and the stutter vanished.

DMarkwick
Aug 7 2009, 02:14
Aha, well I just saw the pauses for the first time tonight but I have not confirmed it as being CBA.

However, I will say that I did NOT see these pauses in Utes, only Chernarus, if people can confirm or deny this it might be helpful?

Auldskul
Aug 7 2009, 02:40
Removing CBA from Mod list seems to have fixed pauses for me also, at least so far.

Joseph Troska
Aug 7 2009, 02:42
I have never installed CBA. I am also experiencing the strange stutter since 1.03 every 2-3 seconds.

i7 920 @<hidden>
6gb DDR3
4870x2 with cat 9.7
vista x64 home

Sickboy
Aug 7 2009, 07:41
Tnx for the reports! I've been unable to really reproduce.

Does it only happen in Multiplayer?
Does it only happen when there are also other players around?
Does it only happen in certain situations / missions, or is there at least a situation (mission x or y?) that shows the problem best?
Does it happen with ONLY CBA addons loaded? (So _NO_ other addons loaded)
Could someone who has the problem please test the latest CBA files? (Another test is to temporary remove cba_network and cba_events and verify results).
They are unreleased atm, and available through my newest application: ArmA Git Updater:
ftp://dl2.6thsense.eu/arma/CBA-Mod_Ruby_Git_Updater_v0.4.8.7z




Usage:

Unpack the download (Please do NOT unpack into a modfolder or other arma folder)
If you already have @<hidden> installed, back it up / move it away.
From the unpacked download, Run the six-updater-uninstall_mods.bat and wait until done
Run the six-updater.exe and wait until done
Incase you have problems, use six-updater-reset. Incase the problems are persistent, try this list again.
Incase we update CBA, you can just run six-updater.exe to update to the latest
For more info about the software, please check; http://dev-heaven.net/wiki/six-arma-updater

Chill xl
Aug 7 2009, 08:16
The stuttering effect happens to me in Editor (empty world), SP missions and MP missions. With and without other players around and in every situation. It keeps coming back in regular intervals so it seems.

When i removed the mods, incl. CBA, the problem vanished.

Did not test yet with latest CBA...

Sickboy
Aug 7 2009, 09:27
Found the problem. setDate and skipTime are 'broken' since 1.03.
Our network addon synchs the date and time every 60 seconds unless overriden.
This was the cause for the fps drop to 0.

If you get CBA from the six-updater as described in my previous post, the problem should be resolved for you.
Date and time is still synched when a player connects, which means there can be a slowdown on player join. Working this out properly.
(Bug reported at A2 CIT: http://dev-heaven.net/issues/show/3437)

mrcash2009
Aug 7 2009, 09:54
Aha, well I just saw the pauses for the first time tonight but I have not confirmed it as being CBA.

However, I will say that I did NOT see these pauses in Utes, only Chernarus, if people can confirm or deny this it might be helpful?

Hmmm yes I think Chernarus seems to be the culprite with the combination.

@<hidden> you refer alot to MP Im referring to SP also, so is this a fix for both? (Ignore this I was looking at the previous page and once posted realised you had posted on page 10).

* Does it only happen in Multiplayer? = no sp too (I only run SP so far anyway)
* Does it only happen when there are also other players around? SP so mainly using missions with a few small team AI
* Does it only happen in certain situations / missions, or is there at least a situation (mission x or y?) that shows the problem best? Im simply in the editor playing any scnario and it happens like clockwork.
* Does it happen with ONLY CBA addons loaded? (So _NO_ other addons loaded) I can confirm this. yes.

DMarkwick
Aug 7 2009, 10:30
available through my newest application: ArmA Git Updater:
ftp://dl2.6thsense.eu/CBA-Mod_Ruby_Git_Updater_v0.4.7.7z

I'm getting a "no such file or directory" message on that Sickboy.

Sickboy
Aug 7 2009, 10:55
Tnx mr Cash!


I'm getting a "no such file or directory" message on that Sickboy.
Whoops Link updated, sry :)

Sickboy
Aug 7 2009, 15:51
CBA v0.1.3


Key Changes

FIXED: Periodic stutter, and stutter on other player join, introduced by official ArmA 2 v1.03 Patch
FIXED: Script errors, introduced by official ArmA 2 v1.03 Patch.
Internal fixes and optimizations
Full documentation is available at DevHeaven (http://dev-heaven.net/wiki/cca).


Download


The addons, manual, functions reference and complete sources are included in the release. Key file is also seperately available.

DevHeaven (http://dev-heaven.net/projects/list_files/cca)

Kremator
Aug 7 2009, 17:47
Thanks Sickboy and team !

=SF=Hyrax
Aug 7 2009, 20:31
works great! thanks m8

Binkowski
Aug 7 2009, 20:54
Thanks for the update Sickboy!

mrcash2009
Aug 8 2009, 08:47
All back to normal, loverly, thanks for such a quick turn around.

mordor159
Aug 9 2009, 11:46
helo

when i try to connect to a server i get a popup that says i need a server key for:
cba_arrays.pbo
common.pbo
diagnostic
events
.....

and i can only find 1 server key in the map keys "CBA_v0-1-3.bikey"

greets mordor

Loki
Aug 9 2009, 19:49
same here.. but others on our team have no issues?!

very confusing for me.

Killswitch
Aug 9 2009, 22:42
helo

when i try to connect to a server i get a popup that says i need a server key for:
cba_arrays.pbo
common.pbo
diagnostic
events
.....

and i can only find 1 server key in the map keys "CBA_v0-1-3.bikey"Just a thought - could it be that the server still has the old, 0.1.2 server key ("CBA_v0-1-2.bikey") in the Keys folder? To allow players using CBA v0.1.3, a server owner needs to copy the "CBA_v0-1-3.bikey" into the "Keys" folder on the server.

(In practice, it is quite possible to make a server allow both CBA 0.1.2 and 0.1.3 by having both .bikey files in the server's Keys folder, but that's probably not desirable.)

Loki
Aug 9 2009, 22:59
at least for me.. the keys and the files are all good on the server.

i don't think its cba.. because i can't get on the keyed server with anything except stock arma.. and everyone else is with no problems.

thought maybe it was my version of arma.. nextway.. but i found some to test it and they had no problem at all.

KeyCat
Aug 13 2009, 17:09
A bit slow here but just wanted to say thank you for the update!

/KC

Alpha9
Aug 14 2009, 09:13
once installed CAA1 not working

sorry my bad
it was space in flir

wizbomb
Aug 25 2009, 19:35
hi everyone i am trying to ad a add on called lost key but it says i need community based add ons so i downloaded it and put the main folder in my arma2 main directory(C:\Program Files\Bohemia Interactive\ArmA 2\CBA_v0-1-3) but it still says i need extended event handlers????? so i need to know where this file is located in CBA_V0 - 1 - 3 folder and where to put it:butbut:

[HUD]Dorph
Aug 25 2009, 19:44
D:\Games\ArmA2\@<hidden>\addons is where mine is

wizbomb
Aug 25 2009, 19:46
where do i put it though cuz it not recognizing it

Killswitch
Aug 25 2009, 20:48
First, follow the CBA installation (http://dev-heaven.net/wiki/cca/Installation) steps and simply copy the @<hidden> folder from the CBA archive into your ArmA II folder. You'll end up with
C:\Program Files\Bohemia Interactive\ArmA 2\@<hidden>Next, install the Lost Key mod folder in the same way, and you'll have a folder named "@<hidden>" in your ArmA II folder aswell:

C:\Program Files\Bohemia Interactive\ArmA 2\@<hidden>
Finally, add the two mod folders to your ArmA II shortcut launch parameters:

-mod=@<hidden>;@<hidden>

gunterlund21
Aug 26 2009, 14:23
HI guys
I know there was a problem with CBA early on that would cause alot of stalling in the game. I know that was mostly fixed but when I use this mod I think Im still losing Framerate. Any other known issues being looked at or should I look closer at my setup. thanks for the update.

Kr3v
Aug 26 2009, 15:48
Edit : Wrong topic.

Killswitch
Aug 27 2009, 18:52
HI guys
I know there was a problem with CBA early on that would cause alot of stalling in the game. I know that was mostly fixed but when I use this mod I think Im still losing Framerate. Any other known issues being looked at or should I look closer at my setup. thanks for the update.Hi gunterlund! There are no known performance issues with CBA v0.1.3 at this time. That doesn't mean there isn't a problem though - try to find a setup (minimal set of addons) that exhibits the problem you're experiencing and I/we can try reproducing it on our side. It could be a CBA problem or a problem with an addon that makes use of CBA. Either way, if it can be reproduced, we may be able to solve the problem.

nikita320106
Aug 28 2009, 11:28
wrong thread)

DMarkwick
Sep 9 2009, 19:17
I wonder if a question can be answered: if I use the PostInit eventhandler, does the associated code get executed on ALL machines?

Killswitch
Sep 9 2009, 22:01
I wonder if a question can be answered: if I use the PostInit eventhandler, does the associated code get executed on ALL machines?Yes, PostInit handlers, (just like PreInit handlers) are executed (once) on all machines. However, read on... :-)

Advanced uses

With XEH for ArmA II, you can actually limit Extended Init event handlers (be they PreInit, PostInit or normal Init EH:s) to either just the server or just the client by way of a new feature with these three XEH event classes. You can create an "inner class" within for example the Extended_PreInit_EventHandlers class and use one of the three entries init, serverInit and clientInit to make the Pre/Post/normal Init event handlers execute on either all machines, the server or just the clients. (Yes, code in a "init" entry within such an inner class will be equivalent to not having an inner class at all.

I think an example best describes this advanced use:


class Extended_PreInit_EventHandlers
{
// This one will be run once on ALL machines
KLS_MyAddon_PreInit="...code goes here..."

/* In order to have client- or server-only pre-init snippets,
* put them in a inner class like the one below. The class itself
* can be called anything, but try to think of a unique name so as
* to not conflict with other addon makers using the same feature.
*/
class KLS_MyAddon_PreInits
{
// Like the normal preinit above, this one runs on all machines
init = "...code here...";

// This code will be executed once and only on the server
// (dedicated server or "hosted" server)
serverInit = "...server-only code goes here...";

// This snippet runs once and only on client machines
clientInit = "...client-only code here...";
};
};

DMarkwick
Sep 10 2009, 10:26
Thanks for the info :)

InFireBaptize
Sep 16 2009, 16:00
i'm only suppose to move the .pbo files to the @<hidden>/addons? what about the .hpp files?
i have an error loading one mod that depends on CBA "event handler error"

Killswitch
Sep 16 2009, 17:34
i'm only suppose to move the .pbo files to the @<hidden>/addons? what about the .hpp files?You install CBA by copying the contents of @<hidden>/addons within the archive to a folder @<hidden>/addons in your ArmA II folder. You'll need both the .pbo files and the .bisign files.

The CBA archive (.zip or .7z, whicever you prefer) has a mod folder within it named "@<hidden>" that you can use as is. Any .hpp files in the CBA archive are part of the "source" folder, which is only for reference and those interested in how CBA works (the source folder contains the source code of CBA)

Here's the structure of the v 0.1.3 CBA archive:


CBA_v0-1-3/
@<hidden>/ <--- this whole folder (@<hidden> and addons) goes
addons/ into your ArmA II folder.

docs/ <-- documenation you can read.

keys/ <-- this folder contains the server key
that MP server admins can use.

source/ <-- source code of the CBA addons. Not used,
but may be of interest to coders.

CBA_v0-1-3_README.txt <-- The readme file




i have an error loading one mod that depends on CBA "event handler error"Make sure to edit your ArmA II shortcut to load both the mod itself and CBA aswell. Edit the -mod (http://community.bistudio.com/wiki/Modfolders) startup parameters (http://community.bistudio.com/wiki/Arma2:_Startup_Parameters) to look something like this:

-mod=@<hidden>;SomeModHere

InFireBaptize
Sep 16 2009, 19:29
fixed, I don't know which mod was causing it but disabled all and enabled one at a time, all working.

Moricky
Oct 5 2009, 22:03
CBA addon is not compatible with latest ARMA2 version (1.04)!
You're replacing Functions module init.sqf with your own init_functionsmodule.sqf! While original file was updated, the one in CBA stays old. To ensure forward compatibility and prevent unintended errors, please find cleaner solution than altering official files.
Same for another files you're altering, if there are any.

Sickboy
Oct 6 2009, 06:57
CBA addon is not compatible with latest ARMA2 version (1.04)!
You're replacing Functions module init.sqf with your own init_functionsmodule.sqf! While original file was updated, the one in CBA stays old. To ensure forward compatibility and prevent unintended errors, please find cleaner solution than altering official files.
Same for another files you're altering, if there are any.Thanks for the headsup.
I've updated the script to reflect the 1.04 changes.
Once time permits we will re-evaluate the method used.

Unable to cook up a proper release atm.
If anyone would like to use the fixed code right away,
please remove current @<hidden> installation, and fetch the latest version through my Rsync Updater (http://dev-heaven.net/projects/list_files/six-arma-updater). (Documentation (http://dev-heaven.net/wiki/six-arma-updater/Web))
(If you'd like a QuickStart, unpack the archive, put this file (ftp://dl2.6thsense.eu/six-updater.yml) in the Updater folder, run setup.exe and pick option 2, press ENTER)

vengeance1
Oct 6 2009, 14:06
Thanks for the Update Process but looks rather involved, do you have a Yoma URL that we could use instead and have it take care of all this?

Thanks

Sickboy
Oct 6 2009, 14:13
Thanks for the Update Process but looks rather involved, do you have a Yoma URL that we could use instead and have it take care of all this?

Thanks
Please, for the time being, use the quickstart method described in the previous post.

gunterlund21
Oct 13 2009, 15:22
Six I ran through the installer and the log said it did not update because it didnt see my CBA folder as a repository?

[DEBUG] six-updater 08:11:48: Path: c:/program files/steam/steamapps/common/arma 2/@<hidden>
[INFO] six-updater 08:11:48: WARNING: Folder already exists but does not seem to be a repository. Not installing

why is that

vengeance1
Oct 13 2009, 15:28
I couldn't get it to work either.

GLeek
Oct 18 2009, 16:01
we badly need this addons update :)

Sjonkovic
Oct 23 2009, 19:31
I also tried, but the last link is dead. :(
(It's the link to six-updater.yml)

Aelin
Oct 23 2009, 19:58
so I must wait for the fix... .... .... .. .

kklownboy
Oct 23 2009, 20:20
odd it works with 1.04 for me? i use the yoma, hasn't been a update since sept3rd? ,well after 1.04.:confused:

mrcash2009
Oct 30 2009, 10:01
So whats the deal with this now ... how much of XEH has issues if at all in 1.04?

Is there an update that isnt a quick jump through hoops way?

Manzilla
Oct 30 2009, 11:22
So whats the deal with this now ... how much of XEH has issues if at all in 1.04?

Is there an update that isnt a quick jump through hoops way?

Yeah I'm curious about this as well. I had no idea there was problems with v1.04 until I read it in another thread a few minutes ago. I haven't noticed anything and I use pretty much everything that needs XEH to date. Could be just my eyes though. ;)

gunterlund21
Oct 30 2009, 23:27
I hope that someone who has been able to actually install the latest version can zip it up and post it.

Cole
Oct 31 2009, 10:42
Here's a version I downloaded back when Sickboy posted about the temporary 1.04 update:
Deleted now since new CBA is out down on this same page.

edit: It's missing the .bikey though, which I deleted (didn't really need it back then), sorry about that.

Simon C
Oct 31 2009, 13:59
Never mind. :p

Killswitch
Nov 3 2009, 06:55
So whats the deal with this now ... how much of XEH has issues if at all in 1.04?

Is there an update that isnt a quick jump through hoops way?
There are no known issues with the Extended Eventhandlers (XEH) component of CBA 0.1.3, but one of the other CBA parts needs a bit of fixing to accommodate changes made in ArmA II 1.04.

We're working on a more official hotfix release Real Soon Now(tm). Stay tuned. :)

vengeance1
Nov 3 2009, 12:33
There are no known issues with the Extended Eventhandlers (XEH) component of CBA 0.1.3, but one of the other CBA parts needs a bit of fixing to accommodate changes made in ArmA II 1.04.

We're working on a more official hotfix release Real Soon Now(tm). Stay tuned. :)

Thanks Killswitch nice to see a response on this. Much appreciated!

Sickboy
Nov 10 2009, 11:44
CBA v0.2.0 Released!

Key Changes

ADDED: Vectors library, by Vigilante
ADDED: Mission and campaign configFile extended event handlers
FIXED: Incompatibilities with ArmA 2 v1.04 Patch
IMPROVED: Future compatibility with ArmA 2 patches
Full documentation is available at DevHeaven (http://dev-heaven.net/wiki/cca).

Download
The addons, manual, functions reference and complete sources are included in the release.

DevHeaven (http://dev-heaven.net/projects/list_files/cca)

.kju [PvPscene]
Nov 10 2009, 12:04
Thanks a lot!

GI-JOE
Nov 10 2009, 12:18
Yep thanks a lot :)

Lee_H._Oswald
Nov 10 2009, 18:07
Faaaaaantastic!

Thx for the good work!


MfG Lee :)

b00ce
Nov 14 2009, 06:42
FINALLY!!!

This is awesome, now a lot of mods will work again. :)

Thank you.

DarkTerritory3
Nov 19 2009, 14:28
The voice addons (Rug_dsai.pbo) doesn't seem to work anymore with CBA. :confused:

Any idea?

Killswitch
Nov 19 2009, 15:27
The voice addons (Rug_dsai.pbo) doesn't seem to work anymore with CBA. :confused:

Any idea?The reason it doesn't work is that that addon is not (yet) made to use the extended event handlers system. Therefore, CBA and RUG_DSAI are incompatible with eachother. The following config.cpp for the "RUG_DSAI.pbo" will make it CBA compatible, though: post (http://forums.bistudio.com/showpost.php?p=1493138&postcount=54)

DarkTerritory3
Nov 19 2009, 19:53
The reason it doesn't work is that that addon is not (yet) made to use the extended event handlers system. Therefore, CBA and RUG_DSAI are incompatible with eachother. The following config.cpp for the "RUG_DSAI.pbo" will make it CBA compatible, though: post (http://forums.bistudio.com/showpost.php?p=1493138&postcount=54)

Thanks

larsiano
Nov 25 2009, 00:24
nevermind

SNKMAN
Jan 5 2010, 00:23
Hey guy's,

just something i noticed.

In my Config.cpp i use:

class CfgVehicles
{
class HouseBase;

class House : HouseBase
{
class EventHandlers
{
hit = " _this call (GL4_EH_Hit_F select 0) ";
};
};

class Land_Fire : House
{
class EventHandlers
{
init = " _this execVM ""\GL4_Burning_FX\GL4_Camp_FX\GL4_Camp_FX.sqf"" ";
};
};

class Land_Fire_burning : Land_Fire
{
class EventHandlers
{
init = " (_this select 0) inflame True; _this execVM ""\GL4_Burning_FX\GL4_Camp_FX\GL4_Camp_FX.sqf"" ";
};
};

class Land_Campfire : Land_Fire
{
class EventHandlers
{
init = " (_this select 0) inflame True; _this execVM ""\GL4_Burning_FX\GL4_Camp_FX\GL4_Camp_FX.sqf"" ";
};
};
};

The default ArmA 2 Init EH of the classes: House and Land_Fire are working with C.B.A. but the default ArmA 2 Init EH of the class Land_Fire_burning is not working with C.B.A.
Is there any specific reason for this or is it a bug?
By removing C.B.A. the Init EH of the class Land_Fire_burning works.

Killswitch
Jan 5 2010, 00:46
The default ArmA 2 Init EH of the classes: House and Land_Fire are working with C.B.A. but the default ArmA 2 Init EH of the class Land_Fire_burning is not working with C.B.A.
Is there any specific reason for this or is it a bug?
By removing C.B.A. the Init EH of the class Land_Fire_burning works.In stock ArmA 2 (up to and including 1.05), there are no event handlers for the two classes House and Land_Fire. Furthermore, I've just tested with CBA v0.2.0 and the slightly newer one delivered in the ACE2 beta program and in both cases that which the default ArmA 2 init event handler does for Land_Fire_burning is being done - the fireplace is burning, showing that the default ArmA 2 init EH behaviour for Land_Fire_burning is intact.

Did you mean to say that your variant of the Land_Fire_burning init EH as per the config.cpp in above doesn't work when CBA is loaded? Yes, that won't work. You'll need something like

class Extended_Init_Eventhandlers
{
class Land_fire_burning
{
XYZ_GL4_init="_this execVM ""\GL4_Burning_FX\GL4_Camp_FX\GL4_Camp_FX.sqf""";
};
};Change "XYZ" to your registered OFPEC tag.

(The extended event handlers system has made the default BIS init EH for that object CBA-compatible so that you can add more event handlers to the fire object if you need to)

Don't worry about the default ArmA II event handlers - CBA retains them.
Add your own init EH:s in a Extended_Init_EventHandlers class like example above.
Once all the GL4 init EH:s are "ported" to extended event handlers, you won't need the CfgVehicles section at all.
Good luck!

Cross
Jan 5 2010, 09:28
Is CBA that is being distributed thru sixupdater the latest one and should be used by mods? Asking because latest version of CBA is not listed in the files section of CBA project space @<hidden> dev-heaven.

Sickboy
Jan 5 2010, 09:31
Is CBA that is being distributed thru sixupdater the latest one and should be used by mods? Asking because latest version of CBA is not listed in the files section of CBA project space @<hidden> dev-heaven.
Yes, Six Updater version is the latest.

We are doing final testing with the current version and if all lights remain green, we hope to release a new version officially, hopefully by the end of this week.

Cross
Jan 5 2010, 10:39
Ah OK ..cheers :)

NouberNou
Jan 7 2010, 09:26
Sorry for the noob question, but are init event handlers supposed to be used differently for multiplayer initialization.

This is what I have in my config.cpp


class Extended_Init_Eventhandlers
{
class Man
{
xeh_init = "[] execVM '\MapTools\script\add_ruler.sqf'";
};
};

This runs fine in single player but as soon as I try and run it on a server (running locally) it fails to initialize.

Using the latest CBA build as of today from SIX.

Sickboy
Jan 7 2010, 09:36
There's many things that need to be handled differently in Multiplayer, which is nothing specific to using XEH/CBA eh's.
I suggest to add some logging to add_ruler.sqf, with e.g diag_log text "my message";
which ends up in your arma.rpt.

Please also don't use xeh_init as your init name. It is supposed to be your tag + addonname :)

NouberNou
Jan 7 2010, 09:52
Thanks Sickboy,

It shouldn't be an issue with my script, that is to say as well its probably not an issue in CBA either. I have had previous iterations before trying to tie it into CBA working in multiplayer, both being loaded from the units initialization field from the editor and later through dialog (the map screen) initializing when first opened.

As for diagnostic messages I had it sleep for a few second and then try and put some output to sideChat and I wasn't getting anything. I even added a waitUntil {player == player}; to see if that would help. No dice. :(

Didn't know about the xeh_init stuff. Is there any documentation beyond what is on DH? I am somewhat confused by a number of the naming conventions that XEH uses. :(

Sorry for the trouble. I will try changing the xeh_init line tomorrow and see if that helps.


*edit*

Sort of related (at least as an oddity). I am using CBA for something else, and I noticed that when I am in the editor testing if I go to the escape menu and restart I still have the keyboard event handlers that were added the first time around using the CBA keyboard handler functionality. Only if I go back into the editor and preview again do they clear out. :confused:

Sickboy
Jan 7 2010, 10:01
Hard to say what is the problem. I know for certain that pre and post inits work 100%.
If I find a minute i'll have a quick look on Manbased init handlers.
We always attach them to CAManBase instead of Man though.

If you would like some examples I could recommend having a look at ACE Mod; ace_sys_*** addon configs, almost all implement XEH handlers :)

Please report bugs on the issue tracker with the required details instead :)

Killswitch
Jan 7 2010, 10:05
Thanks Sickboy,

It shouldn't be an issue with my script, that is to say as well its probably not an issue in CBA either. I have had previous iterations before trying to tie it into CBA working in multiplayer, both being loaded from the units initialization field from the editor and later through dialog (the map screen) initializing when first opened.

As for diagnostic messages I had it sleep for a few second and then try and put some output to sideChat and I wasn't getting anything. I even added a waitUntil {player == player}; to see if that would help. No dice. :(Hmm... try having this:

class Extended_Init_Eventhandlers
{
class Man
{
NOU_MapInit="diag_log text 'Maptools init';[] execVM '\MapTools\script\add_ruler.sqf'";
};
};Here, I've used a made-up OFPEC tag (http://www.ofpec.com/tags/) in order to make your XEH init entry (hopefully) unique. This should log something to your ArmA2.RPT file when a mission is started. (Please head to the OFPEC tag registry and register a tag for yourself, then use that)


Didn't know about the xeh_init stuff. Is there any documentation beyond what is on DH? I am somewhat confused by a number of the naming conventions that XEH uses. :(Yes, the XEH documentation isn't very clear on this. The general rule/convention is: make up a name for your extended event handler entry that's unique. One way to do that is to to name it eg <TAG>_<somethingunique>. There isn't any other documentation than that which is in the CBA wiki (http://dev-heaven.net/wiki/cca/Extended_Eventhandlers), but have a look at other addons out there that make use of the extended event handlers system, such as the ACE addons (like Sickboy mentions). That's a good way of learning a few tricks. :)

*edit*

Sort of related (at least as an oddity). I am using CBA for something else, and I noticed that when I am in the editor testing if I go to the escape menu and restart I still have the keyboard event handlers that were added the first time around using the CBA keyboard handler functionality. Only if I go back into the editor and preview again do they clear out. :confused:Hmm...interesting... that may need some poking at to see if we can solve it. :)

NouberNou
Jan 7 2010, 10:22
Awesome, thanks Sick and Kill! :D I'll be sure to try that as soon as I get up tomorrow.

Also I will try and use the bug tracker... It just reminds me of my previous employment too much (any bug tracker). :p They are a good asset though!

andersson
Jan 7 2010, 12:20
Dont forget to first go to ofpec and register your TAG ;)

NouberNou
Jan 7 2010, 18:16
Dont forget to first go to ofpec and register your TAG ;)

Yea, def will. I been tagging most of my stuff (public vars, setVariables, etc) already to avoid namespace conflicts. Thats a habit learned from years of PHP class writing... :P I find myself doing it even in languages that have nice namespace support... :rolleyes:

NouberNou
Jan 7 2010, 21:24
Changed the name of the property to one with my tag and changed the class to CAManBase and it works now. Thanks! :)

Grizzle
Jan 11 2010, 18:58
Can the up-to-the-minute version be had through YOMA? If so, can someone provide the URL?

Cross
Jan 11 2010, 19:44
You can get the latest CBA from the below Community YAS Repository along with certain addons/islands;
http://www.kellys-heroes.eu/Updater/ArmA2Community-Repository/ArmA2Community-Repo.7z

nikita320106
Jan 12 2010, 06:00
You can get the latest CBA from the below Community YAS Repository along with certain addons/islands;
http://www.kellys-heroes.eu/Updater/ArmA2Community-Repository/ArmA2Community-Repo.7z

thanx for support

NouberNou
Jan 13 2010, 07:50
I was wondering which event would be the best to add an action to every unit?

I have tried init and initpost but I can't seem to get any sort of variable to refer to the object that its being called on. Neither _this or this work. Wondering if there is something else that works there or if I am doing it wrong, or if there is a bug (which I will file a report for if its the case).


NOU_MapPlus_CopyMapPosInit = "diag_log text ""copy post init""; this addAction [""Copy Map"", ""script\NOU_MapPlus_fnc_CopyMap.sqf"", this, 0, true, true, ""Action"", ""true""];";

I was getting some "generic error in expressions" when using _this and with "this" I get an undefined variable.

The above example is just the current iteration (used single quotes in double quotes, vica versa, and now the double double quotes), and the script location for addaction is in a mission for testing.

---------- Post added at 11:19 PM ---------- Previous post was at 11:08 PM ----------

Nevermind, found it. The variable is "_unit".

:)

---------- Post added at 12:50 AM ---------- Previous post was Yesterday at 11:19 PM ----------

OK, legit question this time. Is the respawn init handlers meant to handle when a player is killed and respawns in the game or just when a player spawns into a unit, or multiple times...

Now that I type that out it sort of sounds like this is broken. Just wanting to clarify before I right up a bug report. I'll test out some other things too, like writing to the rpt.

Sickboy
Jan 13 2010, 07:54
Please take a look at how ArmA 2 Eventhandlers work: http://community.bistudio.com/wiki/ArmA_2:_Event_Handlers
_this select 0, contains the unit.

NouberNou
Jan 13 2010, 08:26
Please take a look at how ArmA 2 Eventhandlers work: http://community.bistudio.com/wiki/ArmA_2:_Event_Handlers
_this select 0, contains the unit.

Sorry Sickboy, I was going off the example on the DH page that included using "_this" in the actual event handler decleration.

From DH:

class Extended_Init_Eventhandlers
{
class Man
{
class SLX_XEH_RespawnInitMan
{
onRespawn = true; // Run this even after respawn
init = "_this call My_Respawn_InitEH";
};
};
};

Mine:

class Extended_Init_Eventhandlers
{
class CAManBase
{
class NOU_MapPlus_CopyPostInit {
onRespawn = 1;
init = "_unit addAction [""Copy Map"", ""script\NOU_MapPlus_fnc_CopyMap.sqf"", _unit, 0, true, true, ""Action"", ""(_target != player && ('MapTools' in weapons _target))""]";
};
};
};

I do not know if that is an error or intended that _this doesn't work and _unit does.

Sickboy
Jan 13 2010, 08:42
_unit = _this select 0;

Both work. _this is an array, not an object.

NouberNou
Jan 13 2010, 08:46
_unit = _this select 0;

Both work. _this is an array, not an object.

Ahhh, gotcha! That was the generic error... :p Dang eval'd code not being helpful! :(

Now I will hopefully find something equally dumb on my part with the code not running again when I get killed or kill another player.

warden308
Jan 16 2010, 13:44
I'm getting an error whenever I try and start up ArmA2 with CBA, ACE and HiFi.


Include file x\cba\addons\main\script_macros_common.hpp not found.

Can anybody help?

usarmy19dsniper
Jan 21 2010, 17:30
I need some help here with a script


[-2, {rrlane1 globalChat format["Rifle Lane 1 Targets :%1 Hit :%2", _inc, _score]}, ""] call CBA_fnc_globalExecute;

Instead of getting any values, it says "ANY"

any suggestions?

this is the entire script


//////////////////////////////////////////////////////////////////
// Function file for Armed Assault
// Created by: TODO: Author Name
//////////////////////////////////////////////////////////////////

// How to use.
// 1. Place a popup target and name it to pt1
// 2. copy it 8 times and it will auto name the targets
// 3. place this line in a trigger or init nul=[max,set,time] execVM "popup.sqf"
// max is the total number of targets that will popup
// set is the max number of targets that can popup per set upto a max of 3
// time is the amount of time to hit the targets before they go down

if (!isServer) exitWith{};

_maxtarg = _this select 0;
_numtargs = _this select 1;
_skill = _this select 2;

_targets = [pt1,pt1_1, pt1_2, pt1_3, pt1_4, pt1_5];// target names
_many = count _targets; // count the number of possible targets

_inc = 0;// keeps track of the number of popup targets triggered
_score = 0;// keep count of the targets hit


{_x animate["terc",1]} forEach _targets;//puts the targets down before the start

_rnumber1=0;
_rnumber2=0;
_rnumber3=0;

_flag1=0;
_flag2=0;

nopop=true; // sets them to stay down until triggered to popup

hint "Range is Hot";
sleep 2;
hint "Scan your Lane";
sleep 2;


while {_inc<_maxtarg} do
{
_rnumber1 = random _many;
_int = _rnumber1%1;
_rnumber1 = _rnumber1-_int;


// 1. Check for duplicate targets
while {(_rnumber1 == _rnumber2) or (_rnumber1 == _rnumber3) or (_rnumber2 == _rnumber3)} do
{
_rnumber2 = random _many;
_int = _rnumber2%1;
_rnumber2 = _rnumber2-_int;

_rnumber3 = random _many;
_int = _rnumber3%1;
_rnumber3 = _rnumber3-_int;
};
// 1. END

// 2. Set the targets that will popup
_rtarget1 = _targets select _rnumber1;
_rtarget2 = _targets select _rnumber2;
_rtarget3 = _targets select _rnumber3;
// 2. END

// 3. Popup target one always active
_rtarget1 animate["terc", 0];
_inc=_inc+1;
// 3. END

// 3a. Check to see if more than one target is required and opopup at random
// 3b. second target
If (_numtargs > 1 ) then
{
if ((random 2 > 1) and (_inc < _maxtarg)) then
{
_rtarget2 animate["terc", 0];
_inc=_inc+1;
_flag1=1;
};
};
//3b. END

//3c. Third target
If (_numtargs > 2 ) then
{
if ((random 2 < 1) and (_inc < _maxtarg)) then
{
_rtarget3 animate["terc", 0];
_inc=_inc+1;
_flag2=1;
};
};
// 3c. END
// 3a. END

// 4. Time allowed for shooting.
sleep _skill;
// 4. END

// 5. Check to see if targets have been hit and count the score
if (_rtarget1 animationPhase "terc" > 0.1) then
{
_score = _score+1;
};
if ((_rtarget2 animationPhase "terc" > 0.1) and (_flag1 == 1)) then

{
_score = _score+1;
};
if ((_rtarget3 animationPhase "terc" > 0.1) and (_flag2 == 1)) then
{
_score = _score+1;
};
// 4. END

// 5. Display Score
// original rrlane1 globalChat format["Rifle Lane 1 Targets :%1 Hit :%2", _inc, _score];
[-2, {rrlane1 globalChat format["Rifle Lane 1 Targets :%1 Hit :%2", _inc, _score]}, ""] call CBA_fnc_globalExecute;
// 5. END

// 6. Reset targets down and restet flags
_rtarget1 animate["terc", 1];
_rtarget2 animate["terc", 1];
_rtarget3 animate["terc", 1];
_flag1=0;
_flag2=0;
// 6. END

sleep 2;
};
sleep 8;
hint "Session Complete";

Sickboy
Jan 21 2010, 17:59
I need some help here with a script


[-2, {rrlane1 globalChat format["Rifle Lane 1 Targets :%1 Hit :%2", _inc, _score]}, ""] call CBA_fnc_globalExecute;

Instead of getting any values, it says "ANY"

any suggestions?

Hi, this should work:

[-2, {rrlane1 globalChat _this}, format["Rifle Lane 1 Targets :%1 Hit :%2", _inc, _score]] call CBA_fnc_globalExecute;


However, you might want to consider something like:
Add this to init.sqf:


["my_radioMsg", {(_this select 0) globalChat (_this select 1)}] call CBA_fnc_addEventHandler;


And in your script use:

["my_radioMsg", [rrlane1, format["Rifle Lane 1 Targets :%1 Hit :%2", _inc, _score]]] call CBA_fnc_globalEvent;

http://dev-heaven.net/docs/cba/files/events/fnc_addEventHandler-sqf.html
http://dev-heaven.net/docs/cba/files/events/fnc_globalEvent-sqf.html


Or like this, will save on network bandwidth:
Add this to init.sqf:


["my_radioMsg", {(_this select 0) globalChat format["Rifle Lane 1 Targets :%1 Hit :%2",_this select 1, _this select 2]}] call CBA_fnc_addEventHandler;


And in your script use:

["my_radioMsg", [rrlane1, _inc, _score]] call CBA_fnc_globalEvent;


You could also save the strings in a stringtable, and refer the stringtable entries, to make things more dynamic and usable for other messages.

NouberNou
Jan 21 2010, 18:24
*edit*

I fail. Don't read posts backwards when you have just woken up.

usarmy19dsniper
Jan 21 2010, 20:03
thanks so much sickboy

SNKMAN
Jan 22 2010, 07:42
Hey C.B.A. guy's!

Just wanna to say thank you very much for developing and updating C.B.A.

Sickboy
Jan 22 2010, 08:18
thanks so much sickboy
NP, enjoy!


Hey C.B.A. guy's!

Just wanna to say thank you very much for developing and updating C.B.A.

Thanks mate! Thank you for using and supporting it!

If all goes well, we make a new official release today :)
http://dev-heaven.net/versions/show/445

SNKMAN
Jan 22 2010, 10:57
Oh well... Nice to hear. :)
Just one thing which really bugging me is:
Every time i switch from the editor to the main menu also in MP there is this screen for a few sec. showing C.B.A. initialize started...

I switch between editor MP and main menu more then 100 times a day and this screen blocks everything while displayed.

Is there any way i can remove this manually?

I'm talking about the default C.B.A. not the A.C.E. 2.
The A.C.E. 2 C.B.A. initialize started screen really looks totally awesome b.t.w. :D

Sickboy
Jan 22 2010, 17:22
CBA v0.3.0: Feature Release

Key Changes

ADDED: Generic versioning system, with custom events
ADDED: Loadingscreen to halt simulation/time and process postinit delayless
ADDED: Displayhandler low-level API
FIXED: Displayhandlers lost after reloading a save game after restarting the game
FIXED: Handling of XEH init event handlers that are set to run on respawn
IMPROVED: Logging

Full documentation is available at DevHeaven (http://dev-heaven.net/wiki/cca).
Issue Changelog is available at DevHeaven (http://dev-heaven.net/versions/show/445).

Download

The addons, manual, functions reference and complete sources are included in the release.

DevHeaven (http://dev-heaven.net/projects/list_files/cca)
Six Updater (Follows latest development) (http://updater.dev-heaven.net/main)



@<hidden>: Tnx! I've ticketed your suggestion: http://dev-heaven.net/issues/show/8393

SNKMAN
Jan 22 2010, 21:43
Thanks for the update. :thumbsup:

Inkompetent
Jan 22 2010, 23:11
Nice update!

TRexian
Feb 1 2010, 18:24
Hey-

Are the CBA functions libraries down? I seem to get a 404 error at my bookmark (which may be outdated). :)

Sickboy
Feb 1 2010, 18:30
Hey-

Are the CBA functions libraries down? I seem to get a 404 error at my bookmark (which may be outdated). :)

Cheers for the headsup, sorry my bad! :)
Back up: http://dev-heaven.net/docs/cba/files/overview-txt.html
Was caused by Redmine upgrade to 0.9.1 (http://dev-heaven.net/news/303) :yay:

TRexian
Feb 1 2010, 18:33
Whew! No problem. :D

Glad it was easy! Upgrades are a good thing.

Well, usually.

Well, sometimes.

Well, in this case, at least. :D

Edit:
Hey SB- is there a resource for figuring out how to set up a fired XEH? I'm looking in the wiki for it, and there are examples for all the new features, like limiting inheritance and stuff, but I just want a bones simple fired eh for the claymore thing. :)

Sickboy
Feb 3 2010, 10:53
Hope this helps ;)

class Extended_Fired_EventHandlers
{
class CAManBase
{
class MyAddon
{
fired = "_this call myFunc"; // Attached on all Machines
clientFired = ""; // Only attached on clients, dedicated client or server-client.
serverFired = ""; // Only attached on servers, dedicated server or server-client.
};
};
};

TRexian
Feb 3 2010, 12:54
Indeed it does - thanks!

SCALPEL10
Feb 6 2010, 06:34
What's up guys,

First off, I love the Mod of Arma2 that has been released to us. Thanks to whoever needs to get it. I have recently been been tasked by the group to contact y'all on a problem with the server we have to run the Advanced Combat Environment mod. So here it goes.
1. Our server starts with the name of the server(numbers and stuff) instead of what we input, like the clan name.
2. Is there a command line supposed to be in the CFG file to start ACE2?
3. Or, is it only by command line that Ace is started?

I am really sorry, but we really want to be playing the mod instead of regular Arma, when you can do so much it's gutwrenching not to be able to utilize all of the items. So, for you Obi wan Kenobe's out there, you are my only hope.

NouberNou
Feb 6 2010, 06:40
This sounds more like a question geared towards the general running of a dedicated arma 2 server...

Try this biki entry: http://community.bistudio.com/wiki/ArmA:_Dedicated_Server

SCALPEL10
Feb 6 2010, 22:07
Here is our command line;
This is our command line.

-port=2312 -config=server.cfg-config=ACE_serverconfig.hpp -mod=@<hidden>;@<hidden>;@<hidden>;@<hidden>;@<hidden> -profiles=C:\UserFiles\xxxxx\GameServers\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\ -maxplayers=64


this is our server.cfg


//Armed Assault 2 Server Configuration File





// comments are written with "//" in front of them.

// server.cfg



// password to protect admin access

passwordAdmin = "xxxxx";



// password required to connect to server

password = "";



// Server display name

hostname=" ACE";



// Number of slots

maxPlayers =64;



// Welcome message, two lines "," means 'new line'

motd[]=

{

"Welcome to server, blah blah blah, I need a drink",

};



// if motd has multiple lines, how fast to show these in succession (default is 5 seconds).

motdInterval=30;



// when one third agrees, this is enough to confirm a vote

voteThreshold=0.33;

We would appreciate a response, instead of being ushered toward other websites and wiki pages. Thank you.

NouberNou
Feb 6 2010, 22:31
We would appreciate a response, instead of being ushered toward other websites and wiki pages. Thank you.


We'd appreciate you ask in the right thread. This isn't the place for this question. It has nothing to do with CBA.

Bombcarboy
Feb 7 2010, 01:23
why dont you guys help us instead of sending us to some other forum that wont help us at all, that i dont understand.

NouberNou
Feb 7 2010, 05:07
why dont you guys help us instead of sending us to some other forum that wont help us at all, that i dont understand.

Because you posted a totally off topic question in this thread. I gave you a link to the wiki, if you need more help ask in a more appropriate forum.

ADuke
Feb 7 2010, 12:32
While using CBA version 0.3.0...

When I preview a mission in the editor I get the CBA initialization screen, and my game freezes on that screen indefinitely causing me to ALT+F4 and restart ArmA2, can anyone shed some light on what I can do to fix this, all I am using is ArmA2 version 1.05, CBA version 0.3.0, and ACE (last publicly released Beta2).

Thanks,

-AD

Sickboy
Mar 10 2010, 09:02
Sry for the late announce.

CBA v0.3.1: Patch Release

Key Changes

FIXED: issue with certain sides not being friendly / enemy to other sides
Internal optimizations and improvements


Full documentation is available at DevHeaven (http://dev-heaven.net/wiki/cca).
Issue Changelog is available at DevHeaven (http://dev-heaven.net/versions/show/534).

Download

The addons, manual, functions reference and complete sources are included in the release.

DevHeaven (http://dev-heaven.net/projects/list_files/cca)
Six Updater (Follows latest development) (http://updater.dev-heaven.net/main)

Horus
Mar 10 2010, 16:33
Is this a newer version than the one on the [KH] server :confused:

Cross
Mar 10 2010, 17:24
We will update CBA only with the ACE cycle...ie every Moday & Friday per the latest changes. You can play ACE just as good with the previous version so no showstoppers there.

Same for all the other ACE components such as ACE,ACEX,ACEPLA,ACESM, unless critical.

SNKMAN
Mar 17 2010, 09:27
I'm using C.B.A. version 88 and it seems i have some seriouse problems with it.

Look's like the C.B.A. do not work correctly in MP anymore.

If i use in my server shortcut:
-mod=@<hidden>; @<hidden>; then nothing works i can not get into the mission.

If i use in my server shortcut:
-mod=@<hidden>; @<hidden>; then i can get into the mission but everything which should be initialized by the server will not be initialized.

Someone else has problems similar to this?

Q1184
Mar 17 2010, 09:49
I'm using C.B.A. version 88 and it seems i have some seriouse problems with it.

Look's like the C.B.A. do not work correctly in MP anymore.

If i use in my server shortcut:
-mod=@<hidden>; @<hidden>; then nothing works i can not get into the mission.

If i use in my server shortcut:
-mod=@<hidden>; @<hidden>; then i can get into the mission but everything which should be initialized by the server will not be initialized.

Someone else has problems similar to this?

Try this:

-mod=@<hidden>;@<hidden>
(Space between folder names is a bad idea.)

SNKMAN
Mar 17 2010, 10:05
Haa... Strange.

Okay look's like there is a bug in version 88.

I have downloaded the latest public version 0.3.1 and now everything works fine again.

@<hidden>
Thanks for your answere.
Well i always used the space in my server mod line without any problems.
But i will change this.

Thanks.

gregb143
Mar 23 2010, 03:54
I'm very new at this so be nice.

I'm getting the error:

x\cba\addons\main\script_macros_common.hpp

whenever i try and start the game. please help.

Killswitch
Mar 23 2010, 12:32
I'm very new at this so be nice.

I'm getting the error:

x\cba\addons\main\script_macros_common.hpp

whenever i try and start the game. please help.It looks as if you're trying to start the game and are loading a mod or addon that requires CBA, but the CBA mod folder is missing from your mod folder startup list.

Show us how your ArmA II shortcut parameter list looks. As an example, this is how it should look when you load the ACE mod. Notice how the CBA mod folder ("@<hidden>") is present in the -mod parameter list:

"C:\Games\ArmA 2\arma.exe" -nosplash -mod=@<hidden>;@<hidden>;@<hidden>;@<hidden>;@<hidden>

gregb143
Mar 23 2010, 13:06
I'm using Kegetys ArmA2 Launcher, have @<hidden> as one of the entries and it's checked. It also resides in the ArmA2 directory. Funny thing is if I disable
it (uncheck it) in the launcher, I get the same message. So basically I can't play the game at the moment. Thanks for your reply though......very much
appreciated.

Sickboy
Mar 23 2010, 13:41
Reinstall CBA.

Tankbuster
Mar 23 2010, 13:51
Sickboy,
This updates fixes the problems I detailed in the Domination thread. Both the CTF side missions and the flags on enemy bases work again.
Many thanks!

Sickboy
Mar 23 2010, 13:56
Sickboy,
This updates fixes the problems I detailed in the Domination thread. Both the CTF side missions and the flags on enemy bases work again.
Many thanks!

NP! Glad to have resolved the issue!

gregb143
Mar 23 2010, 13:59
yeah, tried that. tried everything i could think of. guess i'm going to
re-install arma2 *sigh*

damn, even if you're real careful about the mods you install, you still
get stuff like this that's just "unfixable". i guess back up, back up
and back up is the mantra.

michielr
Mar 28 2010, 15:02
Hi,

I'm having a few issues with CBA and a mission I'm working on. Basically the mission init.sqf runs a loop and calls createUnit about 500 times (battalion sized force). Vanilla ARMA2, no problems (near-instant generation). ARMA2 + CBA 0.3.1, loop stops roughly halfway, and after about 10-15 seconds I see the rest of the units appear one by one.

Right now I'm thinking it might be the event handlers kicking in at some point and slowing things down, but I really don't know. Any thoughts would be really appreciated!

Killswitch
Mar 28 2010, 16:29
Hi,

I'm having a few issues with CBA and a mission I'm working on. Basically the mission init.sqf runs a loop and calls createUnit about 500 times (battalion sized force). Vanilla ARMA2, no problems (near-instant generation). ARMA2 + CBA 0.3.1, loop stops roughly halfway, and after about 10-15 seconds I see the rest of the units appear one by one.

Right now I'm thinking it might be the event handlers kicking in at some point and slowing things down, but I really don't know. Any thoughts would be really appreciated!Maybe you're affected by the same issue as this bug report details: Bug #9590 (http://dev-heaven.net/issues/9590)?

In that bug report, Sickboy has attached a variant of the addon "extended_eventhandlers.pbo". Replace the current one you're using and try the one in that bug report and see if it helps.

If it doesn't help, we'd like a copy of the troublesome mission that exhibits the problem you're seeing. If you register at DevHeaven (http://dev-heaven.net), you can create a new bug report in the CBA project (http://dev-heaven.net/projects/cca) page and attach a mission that shows the problem.

michielr
Apr 16 2010, 17:55
Sorry for the late reply, but it seems CBA just exposed a flaw in my original mission :) Thanks for the help though!!

panda123
Apr 28 2010, 17:54
Hi,

How implement cba/csm sounds in a mission without creating problems like :

- 6 tasks shown in the briefing instead of 3
- AI are blocked during the mission

Does someone got the same problem like me before ?

(note : cba was updated yesterday)

[APS]Gnat
May 1 2010, 09:56
XEH doesnt seem to be triggering (INIT EH) for my addon
- I've checked the launch short cut.
- No errors on entering ArmAII
- checked the script works manually, it does.

Ideas?

Config


class CfgPatches
{
class Coaler
{
units[] = {RKTCoalerS,RKTCoalerI,RKTCoalerD,RKTCoalerR};
requiredVersion = 1.01;
requiredAddons[]={"Extended_Eventhandlers"};
};
};
...
...
..

class CfgVehicles
{
class Plane;
class RKTCoalerS : Plane
{
....
....
class EventHandlers
{};
};

class Extended_Init_EventHandlers {
class RKTCoalerS {
RKTCoalerS_init = "[_this select 0] exec ""\rktcoaler\scr\common_init.sqs"";_scr = _this execVM ""\ca\Data\ParticleEffects\SCRIPTS\init.sqf"";";
};
class RKTCoalerI {
RKTCoalerI_init = "[_this select 0] exec ""\rktcoaler\scr\common_init.sqs"";_scr = _this execVM ""\ca\Data\ParticleEffects\SCRIPTS\init.sqf"";";
};
class RKTCoalerD {
RKTCoalerD_init = "[_this select 0] exec ""\rktcoaler\scr\common_init.sqs"";_scr = _this execVM ""\ca\Data\ParticleEffects\SCRIPTS\init.sqf"";";
};
class RKTCoalerR {
RKTCoalerR_init = "[_this select 0] exec ""\rktcoaler\scr\common_init.sqs"";_scr = _this execVM ""\ca\Data\ParticleEffects\SCRIPTS\init.sqf"";";
};
};
....
.... other XEH ...

Killswitch
May 1 2010, 16:28
Gnat;1619324']XEH doesnt seem to be triggering (INIT EH) for my addon
- I've checked the launch short cut.
- No errors on entering ArmAII
- checked the script works manually, it does.

Ideas?
Yep - inside your CfgVehicles::RktCoalerS class, you define an empty class EventHandlers. Don't do that. :)

(What happens then is that XEH can't do it's magic on RktCoalerS and descendants thereof, since you override (remove) the 'global' class EventHandlers that XEH applies to vehicles)

[APS]Gnat
May 1 2010, 16:51
Yep - inside your CfgVehicles::RktCoalerS class, you define an empty class EventHandlers. Don't do that. :)

(What happens then is that XEH can't do it's magic on RktCoalerS and descendants thereof, since you override (remove) the 'global' class EventHandlers that XEH applies to vehicles)

lol ... typical, after a bunch of hours pulling my hair out, I find the answer at the same time you posted the answer.
Thanks Killswitch.

SNKMAN
May 3 2010, 08:50
Hey guy's,

sorry, but i'm currently a bit confused about all the nice additional classes we can use with C.B.A.
I was looking for a X.E.H. class which will be initialized at the very first beginning.

First i have used:

class Extended_Init_Eventhandlers
{
class CAManBase
{
class GL4_System
{
init = GL4_EH_System
};
};
};

Now i have changed it to:

class Extended_PreInit_EventHandlers
{
class GL4_System
{
init = GL4_EH_System
};
};

I thought the "Extended_PreInit_EventHandlers" will be executed way earlier like the "Extended_Init_Eventhandlers" but to me it looks like the "Extended_Init_Eventhandlers" are executed way earlier.

Is this correct?

So which X.E.H. class is the best to get a fast initialize of my stuff?

Sickboy
May 3 2010, 08:57
Order of initialization:

PreInit (Init-Once)
Init (Init-per vehicle)
PostInit (Init-Once)
InitPost (Init-per vehicle)

In each initialization stage, components are initialized in the order they are available in the in-memory-config.
This order is decided by requiredAddons[]= setup in various CfgPatches.
Each init has 3 variations: just init, serverInit and clientInit (they are initialized in this order).

Example file: http://dev-heaven.net/projects/cca/repository/revisions/develop/entry/addons/common/CfgEventHandlers.hpp
Unpacking the addons and then looking at the configs will give you example without the macros :D
Tip: Don't use spawn or execVM (incl sleep) if you want to time your initializations, call is the only way to go here.

SNKMAN
May 3 2010, 09:11
Yeah exactly this way the way i was thinking it get's initialized.
Strange thing sometimes the "PreInit" will be executed 3 seconds after the mission was started? Guess this should be executed way earlier bevore the mission starts.
The "Init" always is executed very earlie like i need it so things are already initialized when the mission beginns.

Anyway thanks for the info Sickboy and i will do some more tests with it. ;)

Sickboy
May 3 2010, 09:18
It should be impossible for PreInit to run after Init. Maybe you use execVM somewhere and therefore the timing is way later?
When called from within eventhandlers (or other such 'fields') sleeps should be completely impossible, not sure about waitUntil.
While loops end after 10.000 iterations (and should completely halt the processing until finished). So im not sure :)

However, the CBA diagnostic logging is set to run asynchronous, so if you are comparing direct diag_log usage in an "Init", while comparing with an asynchronous logged message by CBA, you really have to compare the diag_ticktime or other timestamps, not the order they are written into the log :)

[APS]Gnat
May 3 2010, 09:34
I've found any Extended_Init_EventHandlers that trigger SQS scripts to be extremely flaky.
Sometimes they work/trigger, sometimes not. Change the number of units in a mission or editor, and it changes again.
I even rolled back to an older CBA install, no difference.
Finally I only got it working by converting everything to SQF with tight code.

Is this normal ?
I'd have thought not.

Sickboy
May 3 2010, 09:49
No idea, years on SQF here.
There should at least be no difference between BIS EH behaviour, or XEH EH behaviour.

Ya might wanna check out kju's SQS/SQF converters btw. Iirc it takes a second to process a script library :D

[APS]Gnat
May 3 2010, 14:25
There should at least be no difference between BIS EH behaviour, or XEH EH behaviour.

Yeh, I would have thought, but it worked in BIS EH, but not XEH EH.

Sickboy
May 3 2010, 14:30
Gnat;1620934']Yeh, I would have thought, but it worked in BIS EH, but not XEH EH.

What version of ArmA are you running btw? There seem to be several reports about the last few beta's being problematic for scripts, im guessing sqs being more expensive, might suffer more under this?
Does the problem occur in conjunction with other mods like ACE or just simple XEH/CBA aswell?

[APS]Gnat
May 3 2010, 15:18
Last patch, not running betas.
Problem with NO mods except CBA, addon was stand-alone ( @<hidden> mod folder) on a vanilla ArmAII

To be honest, it looked like a timing problem. When you FIRST run an editor mission they usually triggered, but when you re-ran (previewed) the same mission in the editor (no changes), it failed.
I actually saw it as; The island (and addons) loading (lag) delay actually allowed the scripts to trigger, but once the island was loaded in the background, there was no significant load lag, and the XEH would fail.

Sickboy
May 4 2010, 07:09
Quite odd! Thanks for the details.
I will try to make some time this week and look at it. Not that SQS is high prio, but rather the different behaviour is :)

[GLT] Legislator
May 23 2010, 16:39
Just updated to 0.4.0.96

How can I disable the CBA loading screens? It's messing with some other UI addons.

And how can I disable the CBA entry within the briefing and the status messages in the ArmAII.rpt?

Thanks in advance :)

Sickboy
May 23 2010, 16:54
The loading screen has a purpose (described here: http://dev-heaven.net/issues/7808#note-4), the image shown is a default existing one. And: http://dev-heaven.net/projects/cca/wiki/Author_and_Credits_system
Some related notes on loading screens: http://forums.bistudio.com/showthread.php?p=1634002#post1634002
We could add means to configure which image(class) to show. (There wasn't any interest shown when proposed before).

What means exactly 'messing with other ui mods'? :)
The CBA entry cannot be disabled by configuration either atm, though you could override the init eventhandlers.

[GLT] Legislator
May 23 2010, 20:25
BW Mod and Ike's Hud Mod both use custom loading screens. CBA is hammering between them so the images change very, very fast. It's a real pain for the eyes. I wish BW Mod would make their UI optional as well. :(

Uh well, but how can I disable the credits and author system in my mission? My briefings are loaded enough so I don't want any further unnecessary information.

AnimalMother92
May 23 2010, 20:55
I gotta agree, the post init loading screen is quite annoying. It's not so much that I mind the extra loading time, it's that you can see the actual game for a brief second -- and then you get whacked with a loading image again. It's just odd looking going to the main menu or starting a mission with a cutscene.

Sickboy
May 23 2010, 22:33
Well the loading screen as described in the links above is crucial to a fast initialization of all scheduled scripts. This is a small price to be paid due to how the things work since arma 2. (This counts for all scripted systems, though we could possibly improve by moving some PostInits to PreInit.)
If not applied, it will mean it could take 10's of seconds into the mission before certain systems are initialized etc. (So it seems it is a delay, but in fact you save a lot :) and on top of that, we've given it another function; the random display of author credits (usable by anyone))
The loading screen during beginning of mission should only occur in SP. As in MP it is before or during briefing.
Maybe we can find out which loading screen is the one displayed by default, so it won't 'switch'.
Maybe disabling it for the main menu, as there the delayed initializations might mean less, still rather not :)

cleggy
May 24 2010, 20:51
Can someone enlighten me here?

I have a simple addon that uses the default BIS eventhandlers 'init' and 'fired'.
Running CBA/ACE everything works as expected.

Why do I need to config it to be 'extended event handler' compatible?

Don't get me wrong I'm quite happy to give it a go if it makes my addon more user friendly - I like nothing better than tweaking a config!

I just don't see what it would bring to the party - so to speak.:confused:

Sorry if it's a dumb question but the stuff you guys are doing is light years ahead of where I'm at.

Sickboy
May 24 2010, 21:11
Heya. When using BIS default eventhandlers, only 1 eventhandler of each type can be active at once.
This means for instance, only your eventhandlers, or only someone else's.
This means systems cannot be used together, because only one can be active at a time.
The Extended Eventhandlers, originally created by Solus back in arma1, make it possible for any number of eventhandlers to be attached, complimenting eachother as opposed to overruling eachother.
Using XEH in your addon will make it more compatible with others.

While also providing additional functionality on top of the standard eventhandlers, like pre/post init (for init-once scripts e.g function compilation, global variable initialization, etc), and the ability to attach handlers on just clients, or servers, or both (default).
(Post init happens after all objects are initialized, at the briefing in MP, ensuring the player object readyness on clients)

Please see http://dev-heaven.net/projects/cca/wiki/Extended_Eventhandlers for more info.
ace_sys_eject example: http://www.pastie.org/975198

cleggy
May 25 2010, 19:49
Thanks for the reply SB - I even understood the first part:)

Applied XEH to my config. 'init' works but 'killed' does not.

Here is the relevant bit:

class Extended_Init_EventHandlers {
class BLX_FV432_base {
BLX_FV432_base_init = "_scr = _this execVM ""\ca\Data\ParticleEffects\SCRIPTS\init.sqf""; _scr1 = _this execVM ""\BLX_FV432_base\init.sqf""; ";
};

};


class Extended_Killed_EventHandlers
{
class BLX_FV432_base
{
BLX_FV432_base_Killed = "_scr = _this execVM ""\BLX_FV432_base\killed.sqf"";";
};
};

Could someone tell me what i'm missing from the 'killed' eventhandler?

Sickboy
May 25 2010, 20:26
Thanks for the reply SB - I even understood the first part:)

Applied XEH to my config. 'init' works but 'killed' does not.

...

Could someone tell me what i'm missing from the 'killed' eventhandler?
NP. :)
Please try:


class Extended_Killed_EventHandlers
{
class BLX_FV432_base
{
class BLX_FV432
{
killed = "_scr = _this execVM ""\BLX_FV432_base\killed.sqf"";";
};
};
};

Also make sure to add "Extended_Eventhandlers" to your CfgPatches, requiredAddons[].
It's also possible you have another addon in use that possibly overrides XEH eventhandlers (killed) on the same class, or higher up in of the inherited classes.

Konrad1
Jun 4 2010, 10:46
i HAVE AN question to the userconfig so.
i have to acc. in ARMA 2 and so play with both is there any way i can do that i play with acc.1 it sould use the userconfig 1 and if i play with he 2nd it should use usercf. 2 ??

beacuse i always have to overwrite the userconfig .

PLS HELP

Killswitch
Jun 6 2010, 10:51
i HAVE AN question to the userconfig so.
i have to acc. in ARMA 2 and so play with both is there any way i can do that i play with acc.1 it sould use the userconfig 1 and if i play with he 2nd it should use usercf. 2 ??

beacuse i always have to overwrite the userconfig .

PLS HELPCBA doesn't have a "userconfig". You'll have to take this problem up with the authors of the specific mod/addon you're using.

(Phrased otherwise: this is not a CBA problem)

Having said that, there's no easy way of doing what you want to do, since the "userconfig" folder will be shared between those two Windows accounts, since the "userconfig" folder exists in the ArmA II installation folder.

Big Dawg KS
Jun 7 2010, 15:10
Do you guys know if I could force an XEH fired EH to be called before any other fired eventhandlers are called (specifically BIS's)? I have an addon that is currently just adding eventhandlers with addEventHandler from a script called on the object's init. This seems to ensure they are called before any other fired eventhandlers, but it would be nice to make use of XEH fired eventhandlers if possible.

Also, I couldn't seem to get preInit stuff to work. I have an init script that must be called to compile stuff being called by the fired EH's, and the example I followed didn't seem to work.

Sickboy
Jun 7 2010, 15:24
The execution order is based on the config load order, which is largely based on the requiredAddons[] (part of CfgPatches) chain. This works in reverse to what you want though: You can make sure your addon loads after other addons, by requiring them in your requiredAddons.
I suppose if you'd create a seperate addon name starting with A, A_some_addon, without any requiredAddons it'd load first.
In any case, the BI EH's are added to XEH, in XEH itself, so not requiring XEH could put you first in line aswell.
Please show the example, hard to tell what you do wrong without it ;)

Big Dawg KS
Jun 7 2010, 15:42
I'll have to wait til I get back to my home PC to post code, but thanks for the response. So you're telling me there's no way to guarantee call order for the eventhandlers using XEH, or at least guaranteeing being called before others. I guess I'll stick with my method of using addEventHandler since that seems to work.

I'll get back to you on the preInit thing when I get home.

I have another question though, does XEH have a way of ensuring that an EH gets called on all clients in MP if only the server has the addon installed? MP and locality isn't really one of my areas of expertise and I haven't really examined the documentation for XEH all to carefully.

Sickboy
Jun 7 2010, 16:01
NP.
Yes, there's no method coming to mind how to get it to load earlier consequently, however since it is more related to the config load order, maybe there is a way, I just don't know it :)
I suppose it could be a new feature? Maybe something to consider for OA.

11aTony
Jun 7 2010, 16:26
I just installed CBA 0.4 and I see now there is extra CBA in notes in every mission. There is credits and some more details. There wasnt this in 0.3 so Im wondering, is this really necessary? Im sure everyone will still know who made CBA and appreciate it if you leave that in readme like before.

Big Dawg KS
Jun 7 2010, 17:53
NP.
Yes, there's no method coming to mind how to get it to load earlier consequently, however since it is more related to the config load order, maybe there is a way, I just don't know it :)
I suppose it could be a new feature? Maybe something to consider for OA.

Well I do have a method that works so it's not really an issue. It just would have been nice.

Do you have an answer to my question about MP?

---------- Post added at 01:53 PM ---------- Previous post was at 01:51 PM ----------


I just installed CBA 0.4 and I see now there is extra CBA in notes in every mission. There is credits and some more details. There wasnt this in 0.3 so Im wondering, is this really necessary? Im sure everyone will still know who made CBA and appreciate it if you leave that in readme like before.

Indeed this has also been sorta bothering me. Having nothing to do with the mission, it's just extra clutter that really doesn't need to be there.

Inkompetent
Jun 7 2010, 18:24
I just installed CBA 0.4 and I see now there is extra CBA in notes in every mission. There is credits and some more details. There wasnt this in 0.3 so Im wondering, is this really necessary? Im sure everyone will still know who made CBA and appreciate it if you leave that in readme like before.

The loading screen isn't there to look fancy and give credits. It is used for credits as a side effect, and any mission maker can make it display what they want it to display as far as I've understood. The loading screen is there because it freezes everything else in the game, so that CBA can initialize fully before stuff depending on CBA starts getting run.

Big Dawg KS
Jun 7 2010, 18:27
The loading screen isn't there to look fancy and give credits. It is used for credits as a side effect, and any mission maker can make it display what they want it to display as far as I've understood. The loading screen is there because it freezes everything else in the game, so that CBA can initialize fully before stuff depending on CBA starts getting run.

He's talking about the CBA entry in the breifing notes. If you open up the map ingame, you will see it along with mission breifing & notes. I don't see what purpose it serves, if any, and I'm wondering if it really has to be there.

Sickboy
Jun 7 2010, 18:30
The Diary entry added with CBA is pretty functional, it contains a Keys overview, any addon making use of the userconfig keys system will be displayed there, ACE is an example.
The Credits page dynamically contains any addon with author information, this includes CBA, ACE, and there's many more that add the info to their CfgPatches entry.
Then there's also links to important documentation.

ATM the only way to override it is by overriding the XEH PostInit of CBA_help, I suppose I could add additional means if some are really bothered by it, however I believe it is a good endevour especially if more addons make use of it :)
Related docu:
http://dev-heaven.net/projects/cca/wiki/Author_and_Credits_system
http://dev-heaven.net/projects/cca/wiki/Help_System
http://dev-heaven.net/projects/cca/wiki/Versioning_System

@<hidden>: Eventhandlers are attached on the machine where the code is executed, so clients and server will need XEH + the addons or mission that adds the eventhandlers. This behaviour is equal to config and script eventhandlers.

Inkompetent
Jun 7 2010, 18:31
He's talking about the CBA entry in the breifing notes. If you open up the map ingame, you will see it along with mission breifing & notes. I don't see what purpose it serves, if any, and I'm wondering if it really has to be there.

Oh, right. Total misread by me. Yeah, I wonder about the usefulness of that too. Although I can't say I find it in the way. It's just... there. At least some kind of direction for the casuals not frequenting the forums I guess.

Big Dawg KS
Jun 7 2010, 18:59
The Diary entry added with CBA is pretty functional, it contains a Keys overview, any addon making use of the userconfig keys system will be displayed there, ACE is an example.
The Credits page dynamically contains any addon with author information, this includes CBA, ACE, and there's many more that add the info to their CfgPatches entry.
Then there's also links to important documentation.

But does it have to be in the journal? Right now it just sort of... stands out to much. IMO it should be hidden in game unless you need it for some reason. It kind of kills imersion seeing addon related jibberish in your ingame journal.



@<hidden>: Eventhandlers are attached on the machine where the code is executed, so clients and server will need XEH + the addons or mission that adds the eventhandlers. This behaviour is equal to config and script eventhandlers.

Well, the effects of my scripts are global (at least they should be). They need run only on the server I guess. I guess problems arise when the vehicle's the EH's are attached to are local to the clients. Guess I'll have to run a serverside script to find and attach EH's to each vehicle.

Sickboy
Jun 7 2010, 19:02
Depends which eventhandlers you're using. Fired is global for instance, so attaching it on the server is fine if you only need it there, it will trigger regardless of the vehicle's locality.
It's documented on the BIKI EH overviews.

The Journal was convenient, maybe activation by key combination or otherwise in the pause UI, maybe alternatives? Any suggestions?

Big Dawg KS
Jun 7 2010, 19:27
Hmm... So here's what I might try.

In the script that is called by the fired EH, it should run only on the client local to the vehicle IF that client has the addon installed. If not, it will run on the server. The problem is, how does the server tell whether the client to whom the vehicle is local has the addon?

---------- Post added at 03:27 PM ---------- Previous post was at 03:26 PM ----------


The Journal was convenient, maybe activation by key combination or otherwise in the pause UI, maybe alternatives? Any suggestions?

Key combination is fine, or in pause UI. As long as it's hidden from regular gameplay interfaces.

Killswitch
Jun 9 2010, 10:14
Hmm... So here's what I might try.

In the script that is called by the fired EH, it should run only on the client local to the vehicle IF that client has the addon installed. If not, it will run on the server. The problem is, how does the server tell whether the client to whom the vehicle is local has the addon?Yeah, that's not easy to do. While CBA/XEH can help you with the fired EH itself, the functionality you require would need loads of "handshaking" between the server and clients.

What exactly is it that you want to achieve by having the server conditionally run an event handler only if a client doesn't have the addon?

Big Dawg KS
Jun 9 2010, 14:36
Yeah, that's not easy to do. While CBA/XEH can help you with the fired EH itself, the functionality you require would need loads of "handshaking" between the server and clients.

What exactly is it that you want to achieve by having the server conditionally run an event handler only if a client doesn't have the addon?

The eventhandler calls a function that adjusts the position of the projectile immediately after it's fired. Execution order is important, since the new position has to be used when the BIS particle FX kick in. If the code is executed exclusively on the server, then there's no guarantee that there won't be a (significant) delay between the server updating the position and the FX spawning on the client. Therefore, if at any time I can, I'd like to have the setPos function be executed on the client, and then not have the server interfere by setPosing it again (which might be noticable). I guess there's no perfect way to do this without modifying the BIS code though, since with multiple clients, only the one running it would see the effects immediately.

---------- Post added at 10:36 AM ---------- Previous post was at 09:00 AM ----------

Here's my proposed solution:

When the code initializes on the server, set a publicVariable that indicates the server has the addon running to true. In addition, initialize an empty public array.

When the eventhandler called code executes on the client, check this variable. If it's true, check the locality of the vehicle. If its local, insert the vehicle (if it's not already in) into the array and rebroadcasts it, and then calls the rest of the code.

When the server runs the EH called code, it checks if the vehicle is in the public array. If it isn't, run the code, otherwise do nothing (as it would have already been run on the client).

All of the mentioned code (except for the initialization) is being called, and not running in parallel with the engine, so any delay (desynchronization) will be due to the network.

Does this sound like a feasible solution? I guess it depends on how quickly and efficiently publicVariable works. It doesn't have to be updated every time the fire EH executes since once a vehicle is put into the array it does not need to be updated until a different vehicle is put in. This is assuming that vehicles can't change locality... (can they?).

Xeno
Jun 9 2010, 15:15
This is assuming that vehicles can't change locality... (can they?).
They can.

Xeno

Big Dawg KS
Jun 9 2010, 15:33
Then I suppose I'll also need to find a way to update the array when the vehicle is no longer local to a client with the addon...

This is starting to get pretty complicated. :icon_neutral: