Jump to content
fer

F3 Mission Development Framework (F2 for ArmA 3)

Recommended Posts

I would like to create a squad that is larger than the default fire-team size. I would like an 11 man squad comprised of: SL, AR, AAR, AT (RPG), Medic (used the "_ASL_M" so the map marker appears), X5 rifleman, and a FTL

Adjusting the load-outs and description of each unit is done but I would like the the group markers to appear but I can't seem to be able to name each units properly to have the group markers appear. I assume that the group markers are tied to the unit name so, because I cannot duplicate the name of a unit, I cannot have the group markers appear. Is there any thing I can alter to allow the functionality of the group markers for my custom squad?

EDIT: It was only during the editor preview that the group markers didn't show up. On the dedicated server everything was good.

Are you refering to the Group Markers that indicate the group location (like "A1" etc.) or the markers for the fireteam units (the little triangles)? The latter should work by default but the coloring won't due to code restrictions. A fix/improvement that'll let you set the colors more easily is in the pipeline but probably only for the release after the next one. For now, open f\common\f_setTeamColours.sqf and remove the line where it checks if the fire team is bigger than 4. If you can't find I can dig up the exact line for you, just not at my PC atm.

Edit: Just saw your Edit. I'll leave this standing here in case as it might come up anyway.

Share this post


Link to post
Share on other sites

Hello there,

Sorry if this has been asked before, I am using the f_groupJoinAddOption script from the framework. It works great enabling players to jump from group to group when loaded in together. However, the problem is that when people JIP (join in progress) they do not get the option to join another's group. So if someone quits out after the mission had loaded and then joins in another slot, the script does not work for them. It only works for those who have been on the mission from the start, never for those who join in the mission late. Any idea how to combat this? Is it possible to make the script run on JIPs?

Share this post


Link to post
Share on other sites

Hi Phant - apologies for the delayed response. We're hard at work finalising v3-1-0 (lots of new and improved features, so lots to test!). I understand the issue you encountered will be addressed in this new version. We'll be posting to this thread as soon as it's ready - I hope within a few weeks or sooner.

Share this post


Link to post
Share on other sites

Yeah no worries, I was just wondering if it was something I could modify in the script/s itself. If that is possible please let me know how as I am technically capable of modifying a script.

Share this post


Link to post
Share on other sites

logo_f3_135x.png

F3 Mission Development Framework for ArmA 3

F3 v3-1-0 Released

The F3 team is pleased to announce the release of v3-1-0 of its mission development framework, our most significant release yet.

We've added and improved many features; highlights include:

  • Reworked folder structure: now F3 is more modular than ever.
  • Radio Systems Support: use ACRE or TFR via mission parameter.
  • F3 Simple Wounding System: ArmA 2-like medical system and dragging.
  • AI Caching: reduces server load by automatically caching distant enemies.
  • F3 Spectator Script: now with player tags, maps and a smoother camera.
  • Premount: fast and flexible way to premount troops in multiple vehicles.
  • MapClick Teleport: highly configurable, now supports HALO insertions.
  • Mission Conditions: Improved to take full advantage of improvements made in Arma 3.
  • AssignGear: Streamlined to ease modification of uniforms, backpacks and attachments.
  • Fixed issues with JIP and respawn, and implemented an improved JIP component.

To make it even easier to start using F3, we've updated our fully illustrated online tutorials for making adversarial and coop missions.

The core development team for v3-1-0 has been: Wolfenswan, Head, Cam, cptnnick. We would also like to thank the following communities in our wider review and testing team: Folk ARPS | Basterd ArmA | Black sh33p | Bourbon Warfare | Phantactical | Pointfire | Project Awesome | Team One Tactical | The Company

Download F3 from:

- http://www.ferstaberinde.com/f3/en/ (English version) (PLEASE DO NOT MIRROR)

Discuss F3 at:

- BI Forums

- Folk ARPS Forums

From the README.md file:

3-1-0 | 17 JUN 2014

Please change history for internal releases v3-1-0 RC1 through v3-1-0 RC6.

3-1-0 RC6 | 16 JUN 2014

Added Admin Briefing component:

- Lists endings and allows admin to invoke them by clicking a link.

Updated E&E Check component:

- Allows passing of side instead of array.

- Groups/units are now passed as an array of strings to prevent script-errors.

- Optional boolean (last parameter): toggle if to check playable units only (default: true).

Updated the F3 Simple Wounding System component:

- Made the release action created on yourself so its always around.

- Tweaked SetDowned.

- Added longer delay before system starts to allow for desync'd players..

Updated F3 Spectator Script component:

- Modified the freecam to use correct height in follow-mode.

Fixed typo in AI Skill Selector component.

Fixed error in Radio Systems Support component.

3-1-0 RC5 | 11 JUN 2014

Added Radio Systems Support component (replaces ACRE support component):

- Supports ACRE and TFR systems via single mission parameter.

- All radios cleared to avoid duplication of radio items.

- Optional: radio frequencies split based on unit's side.

- Spectator chat correctly handled for all players.

- Radios assigned based on assignGear calls (from unit init).

- ACRE only: vehicles filled with radios, depending on size.

- New component works separately from the F3 Folk ARPS Assign Gear Script component for locality purposes.

Updated Fireteam Member Markers component:

- Team colours are now assigned in arrays at top of script (easier to modify, same functionality).

Updated Join Group Action component: new notifications.

Updated ORBAT Notes component:

- ORBAT lists vehicles, crew and any loaded elements.

- ORBAT lists individual medics (under their element leader).

Fixed F3 Spectator Script component:

- Fixed issues for players joining into spectator mode during a no-respawn mission.

- Fixed various tags and camera issues.

Fixed several components for use with JIP/respawn:

- Fireteam Member Markers component.

- F3 Folk ARPS Group Markers component (specifically for specialist markers).

- Join Group Action component.

3-1-0 RC4 | 03 JUN 2014

Fixed AI Skill Selector component: removed references to precursor component.

Fixed F3 Folk ARPS Platoons component: incorrect group names for some FIA groups.

Fixed F3 Folk ARPS Assign Gear Clothing component: incorrect uniforms for FIA drivers.

Fixed F3 Simple Wounding System component: typo with variable name.

Fixed F3 Spectator Script component: tags and camera issues.

3-1-0 RC3 | 29 MAY 2014

Updated F3 Folk ARPS Platoons component:

- Added CO/DC driver (repair) slots (all factions).

- Added UAV Operator slots to FIA.

Updated MapClick Teleport component: added HALO option.

Updated Mission Conditions Selector component:

- Night option now features full moon.

- Other options adjusted (better dawn/dusk etc.).

Fixed ReadMe File Template component: removed ArmA 2 references.

Fixed F3 Folk ARPS Assign Gear Script component: incomplete lists of classes in headers.

Fixed F3 Spectator Script component: minor issues.

Fixed F3 Simple Wounding System component: minor issues.

3-1-0 RC2 | 28 MAY 2014

Updated F3 Folk ARPS Platoons component:

- Ground vehicle drivers and selected helicopter crew members are now able to repair vehicles.

- Ground vehicle commanders have rangefinders.

- Fixed AAF DC group assignment.

Updated Safe Start component:

- Changed frequency and duration of notifications.

- Changed name of parameter variable.

Fixed ACRE Support component: script path(s).

Fixed Debug Mode component: string paths (several were still referring to f\common)

Fixed F3 Folk ARPS Assign Gear Script component:

- Removed blank between assignGear and ; in unit INIT lines.

- Removed nul = for unit INIT assignGear call.

Fixed F3 Folk ARPS JIP Reinforcement Options component: paths (were still referring to f\common).

Fixed F3 Folk ARPS Group Markers component: markers work for JIP players.

Fixed Mission Conditions Selector component: issue with overcast implementation.

Fixed PreMount component:

- Fixed incorrect function calls in modules for CSAT.

- Made more robust.

Fixed E&E and Casualties Cap components: ensured code spawned happens globally.

Fixed SP Editor issues (various).

3-1-0 RC1 | 24 MAY 2014

Restructured folders and files:

- Nearly all components now rest within their own sub-folder.

Added AI Skill Selector component:

- Replaces the old AI Skill Selector (A&D and Coop) component.

- Allows the skill levels of all three combatant sides to be set individually via mission parameters.

Added F3 Folk ARPS Assign Gear Attachments component:

- Works with F3 Folk ARPS Assign Gear Script component.

Added F3 Folk ARPS Assign Gear Clothes component:

- Works with F3 Folk ARPS Assign Gear Script component.

Added F3 Simple Wounding System.

Added F3 Premount component:

- Mission makers can quickly and easily mount multiple groups in multiple vehicles.

- Mission makers can control use of crew seats and group cohesion across vehicles.

- Pre-placed modules support easy mounting of squads from pre-placed platoons.

Added Respawn Templates component:

- Replaces Respawn INIT component.

Added MapClick Teleport component:

- Replaces the Mission Maker Teleport component.

- Can also be used by players in-game.

- Mission makers can restrict usage by number of uses and/or time.

- Mission makers can restrict usage to group leaders.

Added support for OPFOR and Independent FIA platoons to following components:

- Briefing Template component.

- F3 Folk ARPS Assign Gear Script component.

- F3 Folk ARPS Group IDs component.

- F3 Folk ARPS Group Markers component.

Updated Authorised Crew Check component:

- Now incorporates Authorised Crew Type Check component.

- Mission maker can now control access to passenger seats as well.

Updated Buddy Team colours component:

- Fixed bug with teams that begin in vehicles.

Updated Casualties Cap component:

- Now incorporates Casualties Cap (Advanced) components.

Updated Dynamic View Distance component:

- Mission makers can now control view distances for vehicle passengers.

Updated F3 Folk ARPS Assign Gear Script component:

- Backpacks parameter renamed to Loadouts.

- Added UAV operator loadout to all factions.

- Changed default AT for AAF faction to RPG32.

- Replaced all binoculars with rangefinders.

- Fixed issues with respawn and JIP.

- F3 Folk ARPS Assign Gear component is now called using f_fnc_assignGear (omitting the folk).

- Uniform types (e.g. light, crew, diver etc.) for each unit type can now assigned in the faction's assignGear file.

- Added new uniform types: ghillie suits and special forces (AAF don't have a dedicated AAF loadout, FIA use CTRG).

- Backpack loadouts have been moved into their own file.

- Attachments are now assigned as local variables, can be assigned as a per-type basis.

- Added options for handgun attachments.

- Tweaks to improve perfomance when loading vehicles with assignGear.

Updated F3 Folk ARPS Group IDs component:

- Reworked to tidy up code and bring up to standard.

Updated F3 Folk ARPS JIP Reinforcement Options component:

- Fixed component for respawn and JIP.

- Uses RespawnTemplate instead of a EventHandler.

- Added optional removal of old player corpses.

- Added optional enforcement of old gear.

- Added JIP menu allows joining no group or staying in old group if it still has members.

Updated F3 Folk ARPS Platoons component:

- Added UAV operator to each CO/DC team for NATO, AAF and CSAT.

Updated F3 Spectator Script component:

- Full sized map.

- FOV Zoom.

- Tag names for players.

- Completely overhauled camera- now much smoother.

- Revamped tags.

Updated Mission Conditions Selector component:

- All relevant files moved to f/missionConditions.

- Split f_setMissionConditions.sqf into three files: fn_setFog, fn_setDate, fn_setWeather.

- Updated component to take advantage of BIS improvements in weather system and sychronisation.

- Updated component to allow usage of new setFog array.

- Updated component to allow smooth time transitions when changing the date.

Update Multiplayer Ending Controller component:

- Component is now called using ["ending"] call f_fnc_mpEnd and needs only to be called on the server.

- Updated to take advantage of Arma 3 improvements.

- Component now accepts optional second parameter: true (default) displays "mission completed" type of ending, false "mission failed".

Updated Safe Start component.

Edited by Fer

Share this post


Link to post
Share on other sites

Well, I am severely impressed to say the least. Thanks for all your dedication with continuing to produce this framework guys.

Share this post


Link to post
Share on other sites

I really like the framework, especially the briefing part, but I like to make missions with non-standard factions. Is it possible to do a side detection instead of a faction?

Share this post


Link to post
Share on other sites
I really like the framework, especially the briefing part, but I like to make missions with non-standard factions. Is it possible to do a side detection instead of a faction?

It's rather easy to do, at the top you'd just replace the "faction player" with "side player" and check for the side instead of the faction further down. But you can also add/replace custom factions easily. If you're ingame just slot as a unit of said faction and put "faction player" in one of the monitor fields of the debug console. You can then use this in briefing/assignGear scripts. Check the FIA lines for an example on how to give multiple factions the same briefing/gear.

If you want I can post proper code examples once I get home.

A general note on simple wounding system:

Please let us know if you're using the new wounding system and any issues you encounter, as well as general feedback. We've tested it as extensively as we're able to and don't know of any outstanding bugs. But as with all brand new features unforeseen things can happen, especially with the multitude of various configurations that exist for Arma. One thing we know of that might cause possible issues is heavy desync on client-side at mission start. To prevent this tripping up SWS you can increase the initial sleep in line 39 in f/simplewoundingsystem/init.sqf

Edited by Wolfenswan

Share this post


Link to post
Share on other sites

At the bottom of the "f_setGroupIDs.sqf" file it has the following code:

// SET GROUP IDS

// Execute setGroupID Function for all factions

{_x call f_fnc_setGroupID} forEach _groups;

I am assuming that is referring to "fn_setGroupID.sqf" file located in the "SetGroupID" folder. However, "f_fnc_setGroupID" is not defined anywhere in the init. Does this have to be defined in the init or does the script not require it now? This is in regards to using the Orbats, currently the files I am using are init.sqf, description.ext, f_OrbatNotes.sqf, f_setGroupIDs.sqf and fn_SetGroupID.sqf.

Do I not need fn_SetGroupID.sqf to use the Orbats? I don't think the wiki page is accurate with everything you need to get the Orbats working, at least I can't get it working based off that information alone. That said, I am only pulling certain scripts and code from the framework, not all of it. So I guess the real question is, what is everything I need to successfully use the Orbats in a mission, assuming I am starting from scratch?

Also in the description.ext it has the following:

class setGroupID

{

file = "scripts\f\setGroupID";

class setGroupID{};

};

What is this referencing, shouldn't it be calling a specific SQF not just the folder? (I modified the start of the directory slightly to coincide with my own mission framework).

Edited by Phant

Share this post


Link to post
Share on other sites

Hey phant,

f_fnc_setGroupID is defined in the part from description.ext you've quoted. You can read more about the function library here. In a nutshell it looks for a file in the given path "scripts/f/setGroupID", named as set in the class below (setGroupID{}) and prefixed with a fn_; in this case for fn_setGroupID.sqf. This is then compiled as f_fnc_setGroupID.

So if you've moved the file to let's say "framework/myGroupIDs/fn_setGroupID.sqf" then your description.ext part should look like

class setGroupID

{

file = "framework/myGroupIDs";

class setGroupID{};

};

If you keep the default folder structure then the group IDs work out-of-the-box with the pre-placed groups and how to add custom groups is explained in the wiki. But feel free to suggest an addendum or explain where it's lacking. Thanks for the feedback.

Edited by Wolfenswan

Share this post


Link to post
Share on other sites

First of all. Thank you for an amazing framework!

And a question: Are you able to assign a variable with weapon classnames in the default role in the assign gear script? I was thinking about letting rifleman players have random variants of the Mk18. Is that possible? Else I would really suggest that as I love the randomization of helmets and uniforms/vests. :D

Share this post


Link to post
Share on other sites

If you keep the default folder structure then the group IDs work out-of-the-box with the pre-placed groups and how to add custom groups is explained in the wiki. But feel free to suggest an addendum or explain where it's lacking. Thanks for the feedback.

So I guess the problem I have is that I am only pulling certain scripts from the F3 Framework and then modifying it to my own structure. The wiki doesn't list all dependencies of a script only what you need to enable. This is fine and I shouldn't expect anyone to write up documentation for those of us who want to make adjustments, as like you said, I can just use the default folder structure quite easily with my own structure.

Another question regarding the Common Local Variables script. I know it says not to pull this script out but I only use the Orbat and JoinGroupAction scripts from the framework. Do I need it to run those scripts? I don't want any unnecessary scripts running to reduce the chance of issues occurring.

Edited by Phant

Share this post


Link to post
Share on other sites

Use -showScriptErrors and try removing/commenting the common local variables script. If you don't get any complaints about variables missing you should be good.

And a question: Are you able to assign a variable with weapon classnames in the default role in the assign gear script? I was thinking about letting rifleman players have random variants of the Mk18. Is that possible? Else I would really suggest that as I love the randomization of helmets and uniforms/vests.

I'm not sure I understand what you mean. Do you want weapon selection to work like uniform selection? So _rifle would be an array?

Share this post


Link to post
Share on other sites

So I've got your orbat notes, Set group ID and JoinGroup scripts working. Only thing I'm missing is the map markers to show positions of orbats on the map. Is that supposed to be handled in the OrbatNotes.sqf or do I need to run the GroupMarker scripts as well? That script I can't wrap my head around. I'm trying to have it so only 1 orbat marker is shown per group, all coloured blue, with the marker denoted as infantry, air, armour etc. I don't need a marker indicating the medic or anything like that, just 1 per group. So if I have 6 groups of 8 infantry units, what scripts do I need to modify so only 1 marker for all 6 groups shows up? I apologise if I've done a poor job at explaining, any help with this is supremely appreicated. If there is an alternative method of contact I could use that would probably be a lot easier, at least for me ;)

Edited by Phant

Share this post


Link to post
Share on other sites

I'm not sure I understand what you mean. Do you want weapon selection to work like uniform selection? So _rifle would be an array?

Yes, exactly!

Edited by Nefiron

Share this post


Link to post
Share on other sites
So I've got your orbat notes, Set group ID and JoinGroup scripts working. Only thing I'm missing is the map markers to show positions of orbats on the map. Is that supposed to be handled in the OrbatNotes.sqf or do I need to run the GroupMarker scripts as well?

The latter.

I'm trying to have it so only 1 orbat marker is shown per group, all coloured blue, with the marker denoted as infantry, air, armour etc. I don't need a marker indicating the medic or anything like that, just 1 per group.

To remove the Medic markers, just remove the lines in the groupMarker script where it refers to a specific unit, such as

["UnitNATO_CO_M", 0, "COM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;

So if I have 6 groups of 8 infantry units, what scripts do I need to modify so only 1 marker for all 6 groups shows up?

This is somewhat tricky as the groupMarker component is made with only one group per marker in mind. You could only run it for the first group but then it would obviously stop working once that group is dead. Have you had a look at the in-game modules for displaying ORBATs? Maybe they are closer to what you want to achieve.

If there is an alternative method of contact I could use that would probably be a lot easier, at least for me

The forum's cool, I tend to check it every few days. I'm also active in the armadev sub-reddit if you use that.

@Nefiron:

An easy way to do this would be to add a new variable containg the rifle classes

_rifleRandom = ["rifle1","rifle2"];

and then at every instance where a unittype uses _rifle class replace

_unit addWeapon _rifle;

with

_unit addWeapon (_rifleRandom call BIS_fnc_selectRandom);

This assumes they all use the same magazines. If magazines differ it's doable too though.

Edited by Wolfenswan

Share this post


Link to post
Share on other sites

To remove the Medic markers, just remove the lines in the groupMarker script where it refers to a specific unit, such as

["UnitNATO_CO_M", 0, "COM", "ColorBlack"] spawn f_fnc_localSpecialistMarker;

This is somewhat tricky as the groupMarker component is made with only one group per marker in mind. You could only run it for the first group but then it would obviously stop working once that group is dead. Have you had a look at the in-game modules for displaying ORBATs? Maybe they are closer to what you want to achieve.

The ingame module for ORBATs breaks when players JIP on a mission, so it's not appropriate for me. What I've done at the moment is named the leader of a group (and only the leader) with a custom group name, specified this in SetGroupIDs and pointed the OrbatNotes toward this. Now I'm just trying to wrap my head around the markers. Theoretically, I should be able attach a marker only to that leader unit of the group. I don't allow respawns so it is expected to kill the marker should the unit die. So what I'm trying to figure out is how I can get 1 marker to appear for each single group. Assuming every group is infantry based, and the group names range from INFGRP1 to INFGRP4, what would I put so that a single marker (for a total of 4 on the map) appears for each group, with the infantry symbol?

And apologies for cluttering this thread up with my questions. Hopefully some of this is useful to others...

Share this post


Link to post
Share on other sites

Hey,

I just realized that the groupMarker page on the wiki is indeed lacking a "adding custom groups" entry. I'll fix that when I get around to it.

For now, adding a group just means adding another line like

["GrpNATO_ASL", 0, "ASL", "ColorRed"] spawn f_fnc_localGroupMarker;

In your example that would be

["INFGRP1", 1, "What the marker text will show", "ColorRed"] spawn f_fnc_localGroupMarker;

This has to be added in the correct faction scope ofc.

The number refers to the shape of the marker. You can see which refers to what on the wiki page.

Share this post


Link to post
Share on other sites

Excellent thanks for the help. All seems to be going smoothly.

Share this post


Link to post
Share on other sites

Xmedsys is an addon right? If you don't enable F3's wounding system then there shouldn't be any conflicts.

Share this post


Link to post
Share on other sites

This is a great framework. I've ran into a small problem though running Alive. I'm just utilizing the group markers component and I can get custom markers working just fine in a map without Alive. The problem occurs though when I use it on an Alive map I'm working on. I have all the player units not profiled, and when using group markers they get the "e0" marker instead of what I set a custom marker to be. I assume this is a conflict with Alive's entity marking feature. Any ideas?

Share this post


Link to post
Share on other sites

Not sure - but will flag your post to the Alive team member we're in touch with.

Share this post


Link to post
Share on other sites

New F3 Example Missions (ACRE/TFR Ready)

Some mission makers will prefer to learn about using F3 via our step-by-step illustrated tutorials, or by reading the documentation in the F3 wiki. However, we also know that others will prefer to open up complete missions made with F3 and take a look inside; for these folks we've just published 9 new missions made with F3 v3-1-0. Each downloadable archive contains the PBO and unPBO'd versions of the mission. None of the missions require any mods, but can also be played with ACRE or TFR.

Alternatively, if your community plays organised, non-respawn missions these might be useful to you.

Share this post


Link to post
Share on other sites

Fer,

I have found the issue and it doesn't appear to be related to Alive. It was because I was using the Massi (7-75 Rangers) units in the editor. When I replaced them with the vanilla Blufor units, the group markers now work correctly.

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

×