Jump to content
Zenophon

[COOP-8] Black Ops

Recommended Posts

Don't know if the last bis update (21/01/15) is the reason but changing your loadout in the Helo at the start is too buggy to use, there's continual flashing in & out, & NV turns its self off. Seems ok if you don't change load out. But could not get the downed pilot to join. hope there is an update.

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

To answer my own question;

Found an update fom the version I had that seems OK.

Just a quick question is there any way to exclude the Go-karts from the vehicle spawn?

Edited by jgaz-uk

Share this post


Link to post
Share on other sites
Don't know if the last bis update (21/01/15) is the reason but changing your loadout in the Helo at the start is too buggy to use, there's continual flashing in & out, & NV turns its self off. Seems ok if you don't change load out. But could not get the downed pilot to join. hope there is an update.

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

To answer my own question;

Found an update fom the version I had that seems OK.

Just a quick question is there any way to exclude the Go-karts from the vehicle spawn?

The latest version of the mission should fix the gear changing rapidly. I will test the pilot and add some fail-safe logic to that objective (once you eliminate all the Opfor, it's just waiting for the helicopter anyway). The NVGs turning off when getting a new loadout is normal; the NVGs default to off when they are given by the loadout (this in the engine, I can't force them on).

The go-carts can currently only be removed by editing one of the functions directly. However, this gives me an idea for improving some of my framework's functions. I will release a new version of the mission probably this Wednesday with these improvements.

Share this post


Link to post
Share on other sites

Overview

Greetings fellow Armaholics, I have updated this mission to use my latest framework; there are a few small tweaks to the mission code itself. There are also improvements resulting from changes in my framework. One of these changes results in DLC vehicles no longer spawning by default. All three map versions have been updated.

Changelog

1/28/15

  1. Fixed: Possible issue with code execution from an eventhandler
  2. Improved: Logic to not place insertion or objectives on any small island or at the edge of the map
  3. Improved: Various improvements and fixes included in my latest framework

Share this post


Link to post
Share on other sites

Hi, first of all, thanks for making this mission, it's really great fun!

For a small LAN meet we're having, I was asked to see if it's possible to put in a Virtual Arsenal, in the insertion helo. However after having a look at the mission, I'm unable to figure out how to do that.

My scripting skills are pretty close to none, so I was kind of hoping there was a helo on the map, so I could put this addAction ["<t color='#FFFF00'>Arsenal</t>", {["Open",true] spawn BIS_fnc_arsenal}]; in it's init field.

Do you perhaps have a couple of hints you can throw my way?

Share this post


Link to post
Share on other sites

Overview

Greetings fellow Armaholics, by user request, I've updated this mission to use my latest framework. All of the improvements are the result of changes in my framework. All three map versions have been updated.

Changelog

2/27/15

  1. Improved: Various improvements and fixes included in my latest framework

----

Hi, first of all, thanks for making this mission, it's really great fun!

For a small LAN meet we're having, I was asked to see if it's possible to put in a Virtual Arsenal, in the insertion helo. However after having a look at the mission, I'm unable to figure out how to do that.

My scripting skills are pretty close to none, so I was kind of hoping there was a helo on the map, so I could put this addAction ["<t color='#FFFF00'>Arsenal</t>", {["Open",true] spawn BIS_fnc_arsenal}]; in it's init field.

Do you perhaps have a couple of hints you can throw my way?

First, I suggest some text editor that shows line numbers (as always, I recommend Notepad++); otherwise, you can search for '_infilHeli'. The mission code starts at line 529 (previous code is function definitions). The briefing ends at line 566; the insertion helicopter is spawned on line 573.

You can put the action just below that on about line 576:

// ...
_infilHeli allowDamage false;
_infilHeli addAction ["<t color='#FFFF00'>Arsenal</t>", {["Open",true] spawn BIS_fnc_arsenal}];
// ...

This seems to be working. The only issue is with JIP clients, who, if they join during the insertion, won't get the action. This seems unlikely (JIP within the first 2 minutes), but if it's an issue, I can show you how to edit the JIP logic.

Share this post


Link to post
Share on other sites

That was fast, and an updated version on top even :thumbsup:

Aaand.. the VA almost works, using your code!

It's working nicely in both editor preview, and when hosting a local server, but unfortunately it fails on a dedicated server.

I get no menu item at all, so I'm at a bit of a loss again?

Share this post


Link to post
Share on other sites

Overview

Greetings fellow Armaholics, I have updated this mission to use my latest framework. All of the improvements are the result of changes in my framework. All three map versions have been updated.

Changelog

3/11/15

  1. Improved: Various improvements and fixes included in my latest framework

That was fast, and an updated version on top even :thumbsup:

Aaand.. the VA almost works, using your code!

It's working nicely in both editor preview, and when hosting a local server, but unfortunately it fails on a dedicated server.

I get no menu item at all, so I'm at a bit of a loss again?

I'm terribly sorry, I never saw your post. I must thought the new post notification was from the post after yours. I feel awful for the 2 week delay. Just PM me after a few days if I go blind and don't answer like that again. I did forget to synch it in MP, so here that is:

// after about line 580
_infilHeli allowDamage false;

// remove the old line
_args = ["addAction", [_infilHeli, ["<t color='#FFFF00'>Arsenal</t>", {["Open",true] spawn BIS_fnc_arsenal}]]];
ZEN_FMW_MP_REAll("Zen_ExecuteCommand", _args)
// ...

Share this post


Link to post
Share on other sites

Overview

Greetings fellow Armaholics, by user request I have updated this mission to use my latest framework. Most of the improvements are the result of changes in my framework. All three map versions have been updated.

Changelog

3/30/15

  1. Improved: Mission no longer forces a maximum view distance in SP
  2. Improved: Various improvements and fixes included in my latest framework

Share this post


Link to post
Share on other sites

Overview

Greetings fellow Armaholics, by user request I have updated this mission to use my latest framework. All of the improvements are the result of changes in my framework. All three map versions have been updated.

Changelog

4/25/15

  1. Improved: Various improvements and fixes included in my latest framework

Share this post


Link to post
Share on other sites

Overview

Greetings fellow Armaholics, by user request I have updated this mission to use my latest framework. All of the improvements are the result of changes in my framework. All three map versions have been updated.

Changelog

6/8/15

  1. Improved: Various improvements and fixes included in my latest framework

Share this post


Link to post
Share on other sites

Hello, thank you for putting work in this mission.

It sounds great on paper, but me and my clan have some problems which broke the mission right from the start.

1) the players aren't moved into the insertion chopper

i was able to work around it by simply replacing your zen_whatever function with another line of code which did the trick

2) helo just flies circles around its spawnpoint

i did not fix this. after digging through your framework to adapt the loadouts, finally getting people into the chopper the testing time with volunteers was over.

fyi: in preview in editor, problem 1) did not occur, only on dedicated server with human players.

not sure for 2) but it worked once in editor, never on dedicated.

If i had to make a guess, localisation is the issue, but i cannot work through your framework.

We've tried some other mission of yours, too (the small ones). None of them worked out of the box, especially AGM Medical seemed to behave strangely. We had not put much more testing in it.

Sadly this mission (BlackOps) could be right what we wanted. We're searching for a good randomized "filler" mission for small groups between other missions. We were playing Escape in Arma2, but the Arma3 Escape is unplayable for us, too.

edit: forgot to add: All testing was done around the 10th of May, so not your latest version.

Share this post


Link to post
Share on other sites
Hello, thank you for putting work in this mission.

It sounds great on paper, but me and my clan have some problems which broke the mission right from the start.

1) the players aren't moved into the insertion chopper

i was able to work around it by simply replacing your zen_whatever function with another line of code which did the trick

2) helo just flies circles around its spawnpoint

i did not fix this. after digging through your framework to adapt the loadouts, finally getting people into the chopper the testing time with volunteers was over.

fyi: in preview in editor, problem 1) did not occur, only on dedicated server with human players.

not sure for 2) but it worked once in editor, never on dedicated.

If i had to make a guess, localisation is the issue, but i cannot work through your framework.

We've tried some other mission of yours, too (the small ones). None of them worked out of the box, especially AGM Medical seemed to behave strangely. We had not put much more testing in it.

Sadly this mission (BlackOps) could be right what we wanted. We're searching for a good randomized "filler" mission for small groups between other missions. We were playing Escape in Arma2, but the Arma3 Escape is unplayable for us, too.

edit: forgot to add: All testing was done around the 10th of May, so not your latest version.

Do you mean locality (server/client) or localization (different language). Locality is not the issue; I can run a dedicated server, join as a client, and everything works. That situation is the same locality as you have. That's how I test these missions.

However, latency is the issue. My tests are done with client and server on the same computer; I have 0 ping and nearly infinite bandwidth. Things like downloading the mission, loading the map, having limited bandwidth, etc. cause timing issues. Did you wait for all players to be connected and ready? Did you restart the mission without any clients leaving and joining again. This has been reported to me before; that person fixed the problem by simply restarting the mission.

1. What code? It's possible my function is too complex for the ping of your clients.

2. This is an AI issue; I don't know what causes it. It's been reported to me before, but I cannot reproduce it (in fact, I've never seen it). The closest I've seen is the AI helicopter/vehicle not moving when it's supposed to, but that's an issue with it receiving orders (just repeating the move command will fix it).

Next, try without any mods. Everything is subject to failure as soon as you run any addon in a mission. I can't tell you if AGM Medical or any mod will work without reviewing the addon's source code. If you reduce it to a single mod that breaks the mission, I'll look into and figure out why.

Share this post


Link to post
Share on other sites

As an addendum to my previous post, another user has reported the same issue as waerna. The test I have used (dedicated server and client on the same machine) works for them as well, but the issue occurs when there are multiple players. Only one player is placed in the helicopter. Thus, I cannot debug this alone.

I am requesting the assistance of players to help me find this bug. If you host/admin a dedicated server and encountered this bug in this mission or any of my other missions, I would be grateful if you could answer these questions:

  1. What version of the mission did this first occur?
  2. What version of ArmA 3 where you running?
  3. How many players joined the server?
  4. Are there any errors in the server's or clients' logs (if so send them to me)?
  5. Is the bug exactly the same each time, i.e. does it every work?
  6. Did anything else not work in the mission (e.g. objectives)?

Thank you in advance for your bug report(s).

Share this post


Link to post
Share on other sites

1.The Last Armaholics version

2.Latest A3

3.Two or more, up to max

3.Not found any so far

4.Bug seems to happens every time there is 2 or more players

5.Tasks came up but shut the mission down as players where left behind.

Missions currently not on server. If you post a time/date & a dedicated server address

will be happy to help test.

ps Having the whole mission called for in description & inits seems to be rather unpredictable.

Having the Helicopter on the map with playable units scripted as cargo in their init at the start has always worked bug free in the past. ... Just a thought...

Edited by jgaz-uk

Share this post


Link to post
Share on other sites

Overview

Greetings fellow Armaholics, I have updated this mission to use my latest framework. Most of the improvements are the result of changes in my framework, and I've updated the JIP code accordingly. All three map versions have been updated. Also, those three versions are now packaged into a single 7-zip file, for ease of download (15 times smaller); that new link has been added to the main post (previous links are still valid and updated).

I'm not sure if the bug with putting players in the insertion helicopter is fixed; I still cannot reproduce that bug. I've done everything I can think of that might fix this, but I cannot guarantee it will work for everyone. If it was failing before, give it another try and tell me what happens.

Changelog

7/13/15

  1. Fixed: JIP players now get fire support correctly
  2. Improved: Various improvements and fixes included in my latest framework

Share this post


Link to post
Share on other sites

Update

Overview

Greetings fellow Armaholics, I have updated this mission to use my latest framework. I have also added three new objectives to the mission. All three map versions have been updated.

Changelog

9/14/15

  • Added: Opfor helicopter crash site objective
  • Added: Abandoned mortar position objective
  • Added: Rescue civilian objective
  • Improved: Various improvements and fixes included in my latest framework

Share this post


Link to post
Share on other sites

The supply drop itself is set up as functions near the top of the init. You just need to put the code that uses them in the right place. Find this code (line 650):

sleep 5;
_exfilTask = [_rangers, "When all objectives are completed, the extraction point will appear on your map.", "Move to Extraction"] call Zen_InvokeTask;

sleep 45;
{
deleteVehicle _x;
} forEach (crew _infilHeli + [_infilHeli]);

and replace it with:

sleep 5;
_exfilTask = [_rangers, "When all objectives are completed, the extraction point will appear on your map.", "Move to Extraction"] call Zen_InvokeTask;

_playerGroups = [_rangers] call Zen_ConvertToGroupArray;
{
_playerGroups set [_forEachIndex, leader _x];
} forEach _playerGroups;

if !(isDedicated) then {
0 = [_playerGroups, "Zen_SupplyDrop", "Ammo Drop", "[_pos, 'Ammo Drop'] call f_SupplyDrop"] call f_GiveSupport;
};

Zen_MP_Closure_Packet = ["f_GiveSupport", [_playerGroups, "Zen_SupplyDrop", "Ammo Drop", "[_pos, 'Ammo Drop'] call f_SupplyDrop"]];
publicVariable "Zen_MP_Closure_Packet";

sleep 45;
{
deleteVehicle _x;
} forEach (crew _infilHeli + [_infilHeli]);

This will assign the leader of each Blufor group a support drop request immediately after all the Opfor and objectives have spawned.

 

Could you help me on how to implement this again? I see the coding has changed some?

 

Also, could I just place

if ((_this select 1) == "Ammo Drop") then {
       _supplyClass = ["AmmoboxInit",[this,true]] spawn BIS_fnc_arsenal;       
       /* _supplyClass addItemCargoGlobal ["FirstAidKit", 10];
        _supplyClass addMagazineCargoGlobal ["30Rnd_65x39_caseless_mag", 25];
        _supplyClass addMagazineCargoGlobal ["100Rnd_65x39_caseless_mag", 10];
        _supplyClass addMagazineCargoGlobal ["HandGrenade", 10];
        _supplyClass addMagazineCargoGlobal ["SmokeShell", 5];
        _supplyClass addMagazineCargoGlobal ["1Rnd_HE_Grenade_shell", 15];
        _supplyClass addMagazineCargoGlobal ["Titan_AT", 2];*/
    };

Share this post


Link to post
Share on other sites

That code is now:

sleep 5;
_exfilTask = [_rangers, "When all objectives are completed, the extraction point will appear on your map.", "Move to Extraction"] call Zen_InvokeTask;

_infilHeli allowDamage true;
sleep 45;
ZEN_STD_OBJ_DeleteVehCrew(_infilHeli)

starting on line 780. Which you should still be able to replace with:

sleep 5;
_exfilTask = [_rangers, "When all objectives are completed, the extraction point will appear on your map.", "Move to Extraction"] call Zen_InvokeTask;

_playerGroups = [_rangers] call Zen_ConvertToGroupArray;
{
    _playerGroups set [_forEachIndex, leader _x];
} forEach _playerGroups;

_args = [_playerGroups, "Zen_SupplyDrop", "Ammo Drop", "[_pos, 'Ammo Drop'] call f_SupplyDrop"];
ZEN_FMW_MP_RENonDedicated("f_GiveSupport", _args, call)

_infilHeli allowDamage true;
sleep 45;
ZEN_STD_OBJ_DeleteVehCrew(_infilHeli)

I just modernized the code a little with ZEN_FMW_MP_RENonDedicated. '_supplyClass = ["AmmoboxInit",[this,true]] spawn BIS_fnc_arsenal; ' will work on the dropped ammo box exactly as it would for any placed/spawned ammobox. The name '_supplyClass' is misleading and can refer to either the ammo box object or the ATV classname (hence the 'Ammo Drop' check).

Share this post


Link to post
Share on other sites

thanks!

 

but the ammo box does not offer arsenal this way. ideas?

if ((_this select 1) == "Ammo Drop") then {

_supplyClass = ["AmmoboxInit",[this,true]] spawn BIS_fnc_arsenal;       

};

Share this post


Link to post
Share on other sites

Here's what I've used in one of my other missions to show virtual arsenal:

Box1 addAction ["<t color='#2D8CE0'>Virtual Arsenal</t>", {0 = ["Open",true] spawn BIS_fnc_arsenal;}, [], 1, false, true, "", "(_target distance _this) < 3"];

Just replace Box1 with any object; the hex color code can also be changed to anything. I don't know what the difference is between that and using BIS function to add the action.

Share this post


Link to post
Share on other sites

Here's what I've used in one of my other missions to show virtual arsenal:

Box1 addAction ["<t color='#2D8CE0'>Virtual Arsenal</t>", {0 = ["Open",true] spawn BIS_fnc_arsenal;}, [], 1, false, true, "", "(_target distance _this) < 3"];

Just replace Box1 with any object; the hex color code can also be changed to anything. I don't know what the difference is between that and using BIS function to add the action.

 

that worked. Thanks!

 

So would adding RHS russian units be a bear to do? I suppose just changing the unit types??? probably not that easy huh?

Share this post


Link to post
Share on other sites

You'd only need to change the calls to Zen_SpawnInfantry to search for RHS units, then remove any loadout changes that are applied to those units (that will give them their default RHS equipment). If you want to give them modified RHS equipment, you'll have to set up custom loadouts.

All of this is now in the realm of my framework's documentation; you can find an FAQ.txt answer about spawning addon units, and the function documentation for Zen_SpawnInfantry will explain what extra arguments do what. Here's an example of it:

_group = [_pos, west, "Infantry", 4, "rhs_vehclass_infantry_ocp", "rhs_faction_usarmy_d", ["rhsusf_army_ocp_crewman", "rhsusf_army_ocp_combatcrewman", "rhsusf_army_ocp_driver", "rhsusf_army_ocp_fso", "rhsusf_army_ocp_helicrew", "rhsusf_army_ocp_helipilot", "rhsusf_army_ocp_jfo", "rhsusf_army_ocp_sniper"]] call Zen_SpawnInfantry;

Then there's a demonstration for custom loadouts as well as a way of getting a unit's default loadout into the custom format. Here's a start for what needs to be changed:

Search "Zen_SpawnInfantry" (11 hits in 1 file)
    BlackOps.Altis\Init.sqf (11 hits)
        Line 249:     _reinforcements = [[0,0,0], ENEMY_SIDE, _AISkill, [4, 6]] call Zen_SpawnInfantry;
        Line 282:     _civilian = leader ([(_house buildingPos 0), civilian, 0, 1] call Zen_SpawnInfantry);
        Line 286:     _garrison = [_house, _side, _AISkill, 3] call Zen_SpawnInfantryGarrison;
        Line 287:     _patrol = [([_house, 20, random 360] call Zen_ExtendPosition), _side, _AISkill, 4] call Zen_SpawnInfantry;
        Line 310:     _infantry = [([_pos, 40, random 360] call Zen_ExtendPosition), _side, _AISkill, 4] call Zen_SpawnInfantry;
        Line 367:     _group = [_center, _side, _skill, 2] call Zen_SpawnInfantry;
        Line 453:     _guardGroup = [([_road, 10, random 360] call Zen_ExtendPosition), _side, _skill, [3,4]] call Zen_SpawnInfantry;
        Line 484:     _guardGroup = [([_center, 10, random 360] call Zen_ExtendPosition), _side, _skill, [3, 4]] call Zen_SpawnInfantry;
        Line 652:     _opforPatrolGroup = [([_inpos, [700, 900]] call Zen_FindGroundPosition), ENEMY_SIDE, _AISkill, _AISquadRange] call Zen_SpawnInfantry;
        Line 673:         _opforGuards = [_x, ENEMY_SIDE, _AISkill, 2] call Zen_SpawnInfantry;
        Line 765:         _opforPatrolGroup = [([_x, [100, 800]] call Zen_FindGroundPosition), ENEMY_SIDE, _AISkill, _AISquadRange] call Zen_SpawnInfantry;



I would suggest making the soldier type and faction preprocessor constants, like '#define ENEMY_SIDE east' is; then use those macros in the arguments to Zen_SpawnInfantry. That will allow you to change what soldiers spawn for the entire mission once all the arguments are changed.

Share this post


Link to post
Share on other sites

Hi, well it's LAN meet time again, and seeing how your mission was a great succes the last time, I want to prepare it again.

 

So far I got the Arsenal running upon mission start, by running this in init.sqf:

if (hasInterface) then {

waitUntil {time > 1 && player == player};

["Open",true] spawn BIS_fnc_arsenal;

};

Now, reading the above posts makes me want to put Arsenal in the Supplydrop too.

It seems this code did the trick, however I can't figure out exatcly where to put the code?

Box1 addAction ["<t color='#2D8CE0'>Virtual Arsenal</t>", {0 = ["Open",true] spawn BIS_fnc_arsenal;}, [], 1, false, true, "", "(_target distance _this) < 3"];

Share this post


Link to post
Share on other sites

The function f_SupplyDrop (line 152) handles all of the non-artillery supports. In the case of the ammo box, the box is spawned before being dropped so that its contents can be customized. You can add the VA action after the addMagazineCargoGlobal commands (lines 169-175); it must also be MP synch'd:

 

        // ...
        _supplyClass addMagazineCargoGlobal ["Titan_AT", 2];

        _args = ["addAction", [_supplyClass, ["<t color='#2D8CE0'>Virtual Arsenal</t>", {0 = ["Open",true] spawn BIS_fnc_arsenal;}, [], 1, false, true, "", "(_target distance _this) < 3"]]];
        ZEN_FMW_MP_REAll("Zen_ExecuteCommand", _args, call)
    };

    _index = ([Comm_Support_Array_Local, (_this select 1), 0] call Zen_ArrayGetNestedIndex) select 0;
    // ...
I didn't test that, but it should be mostly correct. This mission is long overdue for an update, which means at the minimum redoing the support options to use my framework's overhauled support action system (it will still be easy to add VA).

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×