Member
Last active 5 years ago
@JayS_NL Those are calls to a log function (FF7_fnc_debugLog) in our function library. Just comment out those lines (17, 28 and 69) and you should be good.
Had the same problem, 2 HCs connected on mission load, but only 1 used when AI got distributed. Took a look at the variable "headlessClients", and it only contained 1 HC.
Executed the following from the debug console to get both HCs in the array:
headlessClients = []; { if ((typeOf _x) == "HeadlessClient_F") then { headlessClients pushBack _x; }; } forEach allPlayers;
With both HCs in the array, it worked as expected, groups got distributed to both HCs, but could never figure out why only 1 HC got added to the array at start. Ended up modifing the ai distribution script and this was the result.
Works like a treat, you dont need to have HCs connected at start, and you can stop and start HCs mid mission. All credit to the ALiVE team for the base code, just modified it a bit to suite our needs.
The static data is loaded in when the ALiVE_Required module is initialized. So to actually get the custom blacklists in to the blacklist array, it has to be specified before the concatenation into the big blacklist arrays.
Do it all in the init of the ALiVE_Required to make sure the ALiVE_PLACEMENT_CUSTOM_UNITBLACKLIST, ALiVE_PLACEMENT_CUSTOM_VEHICLEBLACKLIST and ALiVE_PLACEMENT_CUSTOM_GROUPBLACKLIST is filled before they get used.
https://github.com/ALiVEOS/ALiVE.OS/blob/master/addons/main/static/Placement.hpp
See this for reference -> http://alivemod.com/forum/2374-blacklisting-unit-question
Silly question perhaps, but the server command line was cut off in the RPT, and i didnt see a -serverMod=@AliveServer in there.
@Whigital And adding the variable to the vehicle spawns a group of crewmen besides the vehicle.
Having the empty AA vehicles in the mission seems to have that effect, but spawning them in via a script later does not. Im guessing having the variable on the vehicle makes the CS module do some stuff during initialization.
Only tested on a small TestBench mission, but will try on our full ALiVE theatre.
Be sure to start your server without -autoInit to make sure the HC is connected before the mission is loaded. Otherwise, the server will load the mission on start, and initialize before the HC is connected and recognized by the ALiVE_require module (main).
It does not work setting ["ALiVE_CombatSupport", true] on the group, and looking at the if statement in fnc_AI_Distributor.sqf#L46, it checks if the vehicle of the group members are in has the variable set.
This workaround will work if you set the variable on the vehicle the unit is in. It will, from what i can see, not work on induvidual units not in a vehicle.
And adding the variable to the vehicle spawns a group of crewmen besides the vehicle.
Have you copied the keys from the respective mods to the keys folder of your arma server ?
And, you dont need to load CBA as -servermod
I saw that in the code, but thought it might have other consequences. But doing a search for it ("ALiVE_combatSupport") in the repo, looks like it shouldnt affect anything else. I'll give it a go and report back.
We use a lot of extra units and vehicles in our ALiVE missions, and have a wish to keep them local on the server (for script and thread locality reasons), and when using HC's, this gets a little challenging.
For example:
Hostage rescue, if the hostage group gets transferred to a HC, the unit isnt local to the server anymore and that needs to be taken into account when writing all the loops and spawn code for that unit.
Base defanse, AA units whit scripts that refill ammo on fire. If locality changes, setVehicleAmmo needs to be executed on the HC.
Little things like that. My question is, is this an issue for anyone else in the community, and if so, can we get a group variable check in the HC code so it skipps transferring those groups you want to keep local to the server ?
_grp setVariable ["ALiVE_AI_Distributor_serverLocal", true];
and then a check for it in fnc_AI_Distributor.sqf#L46
!(_x getVariable ["ALiVE_AI_Distributor_serverLocal", false])
If no one never had any issues with anything like this, its no point in adding this feature. Most of the examples above can be worked around with some blackmagic, just takes a little extra effort.