Comrades in Arms Discussion Board

Full Version: Arma 3 - PMC Versus: Cronos (co10)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10
Just finished Episode 4, great great mission. Looking forward to Episode 5
Episode 4: Great mission, very immersive!
Another great mission Fuiba, thanks very much! Might worth mentioning that the CDP objective is to destroy the coastal defence tank. We were a bit confused there.
Episode 4 - one of my favorites for sure.
So far I've completed:


3: Great mission as a team leader. Went well to synchronise both teams and then get away. Very challenging but with good team work we pulled it off. Rushing in and out was great fun before the enemy vehicles came.


4:  Another amazing mission to pull off the objectives simultaneously. Great fun and good weapon balance for players.


Thanks for missions and keep up good work. Looking forward to next ones.  8)
Mission 4: As a member of the team that had to run for AA - it was fun and intense! First time I think we were just lucky to get to the island with so many patrol boats around.
To Outlawz7:
Thanks for the feedback! That problem seems to be the same as with the 3rd mission. Strange, they work when I play them in MP/SP alone with AI. They also work when all of the AI players are alive and if only some are alive. The ending trigger is the same with many of the missions in the pack.

Could this have something to do with a dedicated server? It's rather frustrating that I cannot rely on my own testing Smile The problem with the A2 Versus mission pack was also ending the mission properly, but then the main cause was the AI flying a helicopter - the helicopter would many times fail to appear or crash itself, as some of you may remember.

The Alcyon-mission should (and again this word means nothing Big Grin) end when the enemy helos reach the AAF airport.

To Alwarren, Misha, Yakir and Etzu:
Thank you!

To Variable:
Thanks! Now that I read the briefing again, you're right, it should be more clear on what you should destroy. I'll update it in the next version.

Concluding remarks:
I'll focus next on making the endings trigger correctly. If it's not fixed, the problem will persist in many of the next missions. For those of you who are wise in the ways of science: I appreciate all the help in can get in the matter!

Oh, also: after reading the debriefing thread I noticed a couple of things. It's a great thing that you discovered other ways to complete the mission. Destroying the CDP is optional because that's not really why Versus forces are present - they are there to take out the helicopters. I believe that you could also destroy the patrol boats if you concentrated the firepower of both teams on them. One way is "to make a run for it" as you did, and one is of course detach a small team to infiltrate the island with the AA site while others provide cover and overwatch.

I tried to follow this philosophy in other missions as well: you have one or two main objectives, the execution is up to you. Completing the optional objectives may help you if things go as planned or completing them may even make completing the mission harder. Think of them as Corona's recommendations: they are speculative and based on intel gathered by him/them, but you (Perditus and Derelictus) have eyes on and more focused situational awareness.
(10-20-2014, 11:26 AM)Fuiba link Wrote: [ -> ]Could this have something to do with a dedicated server? It's rather frustrating that I cannot rely on my own testing Smile


http://www.armaholic.com/page.php?id=11655


Use this tool to set up your own dedi game on your machine, it's very easy and simple to use and then connect to it to test in a dedicated environment.
(10-20-2014, 11:26 AM)Fuiba link Wrote: [ -> ]I'll focus next on making the endings trigger correctly. If it's not fixed, the problem will persist in many of the next missions. For those of you who are wise in the ways of science: I appreciate all the help in can get in the matter!

I took the liberty of unpacking the last mission and having a look. I didn't find an ad-hoc reason why the mission failed to end, but I do have a theory.

The problem

The problem with Arma multiplayer scripting has always been that of locality. With triggers, for example, even though they are present everywhere they only run on a machine where the condition is true. That means, as an extension, they do NOT run on machines were the condition is not true.

What does that mean? Take for example a "DETECTED BY OPFOR" trigger (I picked that because I had that issue in the past). If unit A is detected by OPFOR, the trigger will run on their machine. And only on theirs. It will not run on any other machine. Assuming now that the trigger statements are

stayUndetected = false; ["taskStealth", "failed"] call FHQ_fnc_ttSetTaskState;

The task tracker will make sure everybody has the "task failed". Still, the problem is that the stayUndetected will only be false on the machine that triggered the event.

Solutions

1. publicVariable

Well the simplest of solutions is to add a publicVariable to such statements:

stayUndetected = false; publicVariable "stayUndetected"; ["taskStealth", "failed"] call FHQ_fnc_ttSetTaskState;

What does publicVariable do? It makes sure that the variable's current value is distributed among clients. In essence that means that the variable stayUndetected will be false on ALL machines. Note though that if the variable changes again, another publicVariable statement is required. This process is not automatic. The variable does not "stay" puiblic.

2. Using a mission flow controller

Usually, I have at least one mission flow controller in my missions, which can either be a simple SQF script, or an FSM. It can even be a game logic with waypoints.

As an example, you can spawn a simple routine that waits until a task is finished to do something, like:

if (isServer) then {
    [] spawn {
        waitUntil {sleep 5; ["task1", "task2"] call FHQ_fnc_ttAreTasksSuccessful]};
        HQ kbTell [leader FHQ_playerTeam), "radioMsg", "goodjob1"];
        sleep 15;
        ["end1", "BIS_fnc_endMission", true, false] call BIS_fnc_MP;
    };
};

This will run on the server only and will wait until the tasks task1 and task2 are completed successfully, then plays a radio message, waits a few seconds, and ends the mission.

It's also possible to use an FSM. I would do that if the mission is more complex and has alternate targets, or alternative paths to take. Normally, a script is more than sufficient.

The last line of that script BTW ends the mission in the recommended way. BIS_fnc_endMission will play the video glitch anim, turn the screen black and white, and display the "end mission" text with music. The crux of this, though, is that it must run on all connected machines. The BIS_fnc_MP call takes care of it.

I hope this helps. Quite a wall of text I admit  :-[
Thank you gentlemen! I will try the public variable method, it seems easiest, and test with the dedicated server. No worries about the "wall of text", it was very informative! I understand that public variables are meant to be used only when private variables don't work but since one needs a lot of public variables, shouldn't the expression "n = 1" be interpreted by the game so that "n" is a public variable instead of private?

On other note, if one player has all the mission objectives completed (private attributes), shouldn't he/she see the ending? The final ending trigger is of type "END #1" and I would think that this kind of trigger would be designed (by BIS) so that if one player's ending is triggered, all players' endings are triggered.
(10-20-2014, 12:52 PM)Fuiba link Wrote: [ -> ]I understand that public variables are meant to be used only when private variables don't work but since one needs a lot of public variables, shouldn't the expression "n = 1" be interpreted by the game so that "n" is a public variable instead of private?

Well, the way it works now puts responsibilities on the mission maker but makes the network protocol more streamlined. In fact, a lot of "publicVariable" calls will cause lag, especially when the variables contain code.

Quote:On other note, if one player has all the mission objectives completed (private attributes), shouldn't he/she see the ending? The final ending trigger is of type "END #1" and I would think that this kind of trigger would be designed (by BIS) so that if one player's ending is triggered, all players' endings are triggered.

Unfortunately it isn't. A mission can end for one player and continue for the other. In the case of the last mission, it might also be that no player has all mission objective variables set to 1, so that might be a reason why the end triggers on no ones' machine.
(10-20-2014, 01:51 PM)Alwarren link Wrote: [ -> ]In the case of the last mission, it might also be that no player has all mission objective variables set to 1, so that might be a reason why the end triggers on no ones' machine.

Yeah, that makes sense, thanks! Although I think I still won't be adding SQM skills to my resume Smile
Added two new missions to the pack, link is in the op. Also fixed (tried to fix?) the ending triggers. I tested them on a dedicated server (thanks Outlawz7) and they worked fine. No guarantees, though Smile

Caesiae Maria = Oceans of grey
Canes Currunt = Dogs on the run
(10-20-2014, 03:38 PM)Fuiba link Wrote: [ -> ]Added two new missions to the pack, link is in the op. Also fixed (tried to fix?) the ending triggers. I tested them on a dedicated server (thanks Outlawz7) and they worked fine. No guarantees, though Smile

Caesiae Maria = Oceans of grey
Canes Currunt = Dogs on the run


Hey, can you please have a look at Mission 4, the marksman spot and see if there is a scope/weapon incompatibility as the other night i was shooting dead on like normal but the bullets always went to the right by a random amount. Really hard to get shots on target.

I'm not sure if it was just my shit aim or bug, but I'd be grateful if you tested it.

edit: mission 4 i meant, not 5. Sorry
(10-20-2014, 08:21 PM)Den link Wrote: [ -> ]Hey, can you please have a look at Mission 4, the marksman spot and see if there is a scope/weapon incompatibility as the other night i was shooting dead on like normal but the bullets always went to the right by a random amount. Really hard to get shots on target.

Hiya, I did not know such incompatibility-thingy even existed Big Grin Could it have been the wind? Arma does not really give much indication whether or not it's windy and I don't really remember the settings in that mission. I think the only way to check is to pop a smoke grenade and see how fast the smoke moves and in which direction. I'll check it out!
Pages: 1 2 3 4 5 6 7 8 9 10