Jump to content
fer

F3 Mission Development Framework (F2 for ArmA 3)

Recommended Posts

Is there any plan for integration with ACE3?

Given that the AGM team has merged with the ACE3 team I'd say it's safe to assume that we'll aim to support ACE3 eventually. But that all depends on the first release and how desirable it'll be to switch to ACE3 in it's early state.

Share this post


Link to post
Share on other sites

I'm looking forward to the latest release of F3, I've been using this framework for a long time now and it is simply amazing. Great work guys!

Question: will F3 be focussing on radio mod integration (ACRE2, TFAR) for spectator mode in the future? Especially in no-respawn coop missions our community members who died would love to be able to hear the remaining players communication while being in spectator mode. Something along the lines of how F2 worked with ACRE in Arma 2.

Share this post


Link to post
Share on other sites
Question: will F3 be focussing on radio mod integration (ACRE2, TFAR) for spectator mode in the future? Especially in no-respawn coop missions our community members who died would love to be able to hear the remaining players communication while being in spectator mode. Something along the lines of how F2 worked with ACRE in Arma 2.

We plan to keep supporting TFAR and ACRE2 - the forthcoming v3-3-0 release includes improvements and new features in this area. If you have specific requests, please feel free to post in detail here.

Share this post


Link to post
Share on other sites

I have a question.

Is there any way, while in spectator camera, to access the admin tab (like pressing M to open the map and then browse for the admin tab) and select a mission ending?

Like, i want to do a mission with a possible ending like "player's faction has too many losses, mission failed", but i don't want that to be controlled by the computer or have a count, i want to have control over it as an admin.

Is this possible?

Share this post


Link to post
Share on other sites
We plan to keep supporting TFAR and ACRE2 - the forthcoming v3-3-0 release includes improvements and new features in this area. If you have specific requests, please feel free to post in detail here.

My bad, I think the way I phrased it wasn't very good.

The specific feature I would like to see in future releases is spectators being able to hear direct speech of players if they zoom close to said character (similar how F2 worked in Arma 2 with ACRE). Currently our spectators are disconnecting rather quickly in PvP and Coop without respawns because they get can't hear the players still alive. Just to be clear: I agree that most alive players should remain muted in spectator, they should only become audible if the spectator zooms in on an alive player. Our members are missing the intense reaction of their mates such as "Shit, they just killed Joe! Let's get those bastards!" while "Joe" is grinning in spectator watching the scene after his death.

We use TFAR at the moment, but most likely we'll switch to ACRE2 soon now that it has become a lot more stable and refined.

I hope this post illuminates my feature request / suggestion more clearly.

Share this post


Link to post
Share on other sites
My bad, I think the way I phrased it wasn't very good.

The specific feature I would like to see in future releases is spectators being able to hear direct speech of players if they zoom close to said character (similar how F2 worked in Arma 2 with ACRE). Currently our spectators are disconnecting rather quickly in PvP and Coop without respawns because they get can't hear the players still alive. Just to be clear: I agree that most alive players should remain muted in spectator, they should only become audible if the spectator zooms in on an alive player. Our members are missing the intense reaction of their mates such as "Shit, they just killed Joe! Let's get those bastards!" while "Joe" is grinning in spectator watching the scene after his death.

We use TFAR at the moment, but most likely we'll switch to ACRE2 soon now that it has become a lot more stable and refined.

I hope this post illuminates my feature request / suggestion more clearly.

I think this is an issue with TFAR and how it handles spectators. I know that what you described works fine in ACRE2.

I have a question.

Is there any way, while in spectator camera, to access the admin tab (like pressing M to open the map and then browse for the admin tab) and select a mission ending?

Like, i want to do a mission with a possible ending like "player's faction has too many losses, mission failed", but i don't want that to be controlled by the computer or have a count, i want to have control over it as an admin.

Is this possible?

It should be possible by force open the dialog/display. Unfortunately displays are a bit of a pain so we'll delay this one. But what does work (awkward though) iirc. is as ZEUS remote controlling a unit and opening the briefing there.

Share this post


Link to post
Share on other sites

logo_f3_135x.png

F3 Mission Development Framework for Arma 3

F3 v3-3-0 Released (ACRE2/ACRE/TFR/AGM/Zeus Ready)

The F3 team is pleased to announce the release of v3-3-0 of its mission development framework, with optional support for Zeus and popular mods ACRE2, ACRE, TFR and AGM.

To make it even easier to start using F3, our fully illustrated online tutorials for making adversarial and coop missions can help you build your first F3 mission in 1-2 hours.

The development team for v3-3-0 has been: Wolfenswan, Head, Snippers and cptnnick. Special thanks to the producer of this release, Wolfenswan. We would also like to thank the following communities in our wider review and testing team: Folk ARPS | Bourbon Warfare | Phantactical | Project Awesome | Team One Tactical | The Company

If your community uses F3 (or uses it as part of your own mission framework), we'd really love to hear from you.

Download F3 from:

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

Discuss F3 at:

- BI Forums (http://forums.bistudio.com/showthread.php?149231-F3-Mission-Development-Framework-(F2-for-ArmA-3))

- Folk ARPS Forums (http://www.folkarps.com/forum/viewforum.php?f=44)

From the README.md file:

3-3-0 | 25 APR 2015

Updated Admin Briefing component:

- New: Allows control of safe start component.

- Restructured Zeus options (less clutter).

Updated Assign AI Gear component:

- New variable: _defaultclass (applied to unit if no corresponding class was found).

- Added designated marksman type.

Updated AI Caching component:

- Fixed: Uncaching would sometimes place group members too high.

Updated AI Skill Selector component:

- Now exclusively server-side.

- Re-adjusted skill levels: "high" is slightly easier, "low" more difficult.

- Changed comments deactivating F3 SetAISkill parameter in description.ext to comment-blocks for convenience.

- No longer sets skill for "endurance" as it's not supported in A3.

- Reduced random range to +/- 0.08.

- Increased initial sleep to 2 seconds, removed unnecessary sleeps elsewhere.

Updated Briefing Template component:

- Removed scripted task examples (in-editor module feature preferable).

- Added briefing for dedicated Zeus.

Updated F3 Folk ARPS Assign Gear component:

- Changed primary weapon for CSAT "ar" to Zafir.

- New gear type: "dm" (designated marksman) for all factions with corresponding kit.

- Added bipods to all factons (given to "ar", "mmgg" and "sn" by default).

- "hatg" now uses mobile Titan launcher.

- Equipped all "mmgg" with the new DLC MMGs. Old MMGs classnames are commented out in the assign gear file.

- Changed CSAT vests: new medium is TacVest Khaki

Updated F3 Folk ARPS Platoons component:

- Changed placement of platoons to better support smaller maps.

- Updated ranks of AAF CO, DC and SLs to match other factions.

Updated F3 Spectator Script component:

- Identified and fixed possible sFPS issue.

- Improved Freecam handling.

- Added mute key (P) for spectator.

Updated Join Group Action component:

- Action appears/disappears with less "lag".

- No more action spam in certain situations (e.g. entering a vehicle).

Updated Name Tags component:

- Shows tag for unit under cursorTarget in 28m (modifiable), always shows tags for units within 10m (modifiable). Latter can be toggled off in briefing menu.

- Moved all related global variables from init.sqf into f_nametags.sqf

- Tweaked visuals (smaller default font, colors etc.).

- Name tags are now automatically activated if component is enabled.

- Improved tags for units in vehicles: recognizes non-specialist crew and pilots, only shows effective commander on distance to avoid clutter.

Updated ORBAT Notes component:

- Better distinction between crew roles.

Updated Radio Systems Support component (ACRE2):

- Updated to the latest API (removing un-neccesary code).

- Adds support for the newer radios.

- Checks if players have enough free inventory space for radios and provides an action if not.

- Hotfix for acre_api_fnc_isInitialized ignoring itemRadio.

Updated Safe Start component:

- New: Player vehicles can't be damaged until safe start is done.

- f_safety.sqf is now a function (f_fnc_safety).

Updated Zeus Support component:

- Zeus assigned using f_fnc_zeusInit automatically applies AI Skill Selector values to created units if latter component is enabled.

- Streamlined Zeus Support in Admin Briefing component.

About F3

The F3 Mission Development Framework (F3) is the successor to the popular F2 and BAS f mission development frameworks for ArmA 2 and ArmA. The new framework contains many of the features you know from F2, updated to work with Arma 3 and with new components that take advantage of the new game's special features.

For downloads and to find out more please see our online manual:

Edited by Fer

Share this post


Link to post
Share on other sites

Hello, can this help for making some defend scenarios? I cannot seem to post topics, but this may help.

Share this post


Link to post
Share on other sites

Thanks for the update!

I have a question. How can I enable only the caching script without anything else? I don't even want the "Parameters" setting menu to be available and editable for my mission, just caching script active by default with pre-made settings in the config/script. Is that possible?

I tryed to enable the catching by editing my init.sqf. Added this lines:

// F3 - F3 Common Local Variables

// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)

// WARNING: DO NOT DISABLE THIS COMPONENT. Please keep the setLocalVars script, as it is used by other components within f.

if(isServer) then {

f_script_setLocalVars = [] execVM "f\common\f_setLocalVars.sqf";

};

// F3 - AI Unit Caching

// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)

[40] spawn f_fnc_cInit;

// Note: Caching aggressiveness is set using the f_var_cachingAggressiveness variable; possible values:

// 1 - cache only non-leaders and non-drivers

// 2 - cache all non-moving units, always exclude vehicle drivers

// 3 - cache all units, incl. group leaders and vehicle drivers

f_var_cachingAggressiveness = 2;

and my Description.ext

// F3 - Start of Params code blocks.

// WARNING: DO NOT DELETE OR COMMENT OUT THIS CODE BLOCK

class Params

{

// ============================================================================================

// F3 - Debug Mode

// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)

// WARNING: DO NOT DISABLE THIS COMPONENT

class f_param_debugMode

{

title = "$STR_f_param_debugMode";

values[] = {0,1};

texts[] = {"Off","On"};

default = 0;

code = "f_var_debugMode = %1";

};

// ============================================================================================

// F3 - Caching

// Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/)

class f_param_caching

{

title = "Cache AI outside distance (m)";

values[] = {0,600,800,1000,1500,2000};

default = 1500;

code = "f_param_caching = %1";

};

// ============================================================================================

// F3 - End of Params code blocks.

// WARNING: DO NOT DELETE OR COMMENT OUT THIS CODE BLOCK

};

// ============================================================================================

// F3 - Menu components

// DO NOT REMOVE OR DISABLE THIS BLOCK OF CODE

// Menu components for the JIP Menu

#include "f\JIP\f_JIP_kitpicker.h"

#include "f\JIP\f_JIP_grppicker.h"

// Menu components for the Spectator Script

#include "f\spect\config.hpp"

// ============================================================================================

// F3 - Functions

// DO NOT REMOVE OR DISABLE THIS BLOCK OF CODE

class CfgFunctions

{

#include "ws_fnc\config.hpp"

class F // Defines the "owner"

{

class common // category

{

file = "f\common";

// Defines the function to preInit (the paramArray dosent seem to be constructed at preInit stage).

class processParamsArray

{

preInit = 1;

postInit = 1;

};

class nearPlayer{};

};

class mpEnd

{

file = "f\mpEnd";

class mpEnd{};

class mpEndReceiver{};

};

class assignGear

{

// Defines the functions to preInit the compling of the assignGear function used by units.

file = "f\assignGear";

class assignGear{};

};

class setGroupID

{

file = "f\setGroupID";

class setGroupID{};

};

class missionConditions

{

file = "f\missionConditions";

class SetTime{};

class SetFog{};

class SetWeather{};

};

class cache

{

file = "f\cache";

class cInit {};

class cTracker {};

class gCache {};

class gUncache {};

};

class groupMarkers {

file = "f\groupMarkers";

class localGroupMarker{};

class localSpecialistMarker{};

};

class authorisedCrew

{

file = "f\authorisedCrew";

class authorisedCrewCheck {};

};

class FTMemberMarkers

{

file = "f\FTMemberMarkers";

class SetLocalFTMemberMarkers{};

class GetMarkerColor{};

class LocalFTMarkerSync{};

};

class bodyRemoval

{

file = "f\removeBody";

class removeBody{};

};

class setAISkill

{

file = "f\setAISKill";

class setAISKill{};

};

class mapClickTeleport

{

file = "f\mapClickTeleport";

class mapClickTeleportUnit{};

class mapClickTeleportGroup{};

};

class nametag

{

file = "f\nametag";

class drawNameTag{};

};

class preMount

{

file = "f\preMount";

class mountGroups{};

};

class zeus

{

file = "f\zeus";

class zeusInit{};

class zeusAddAddons{};

class zeusAddObjects{};

};

class acre

{

file = "f\radios\acre";

class acre_removeRadios{};

class acre_addRadios{};

class acre_setRadioFrequencies{};

class acre_configureSpectatorChat{};

};

class tfr

{

file = "f\radios\tfr";

class tfr_removeRadios{};

class tfr_addRadios{};

class tfr_setRadioFrequencies{};

class tfr_configureSpectatorChat{};

};

#include "f\simplewoundingsystem\config.hpp"

#include "f\spect\functions.hpp"

};

};

It doesn't seems to work, though...

I'm curious if there's a simpler way of adding this to my mission and do I really need all of these "class" and "#include" lines in my configs for that single component to run it? I'm not sure if I need all of them, since I see components between them like radios, zeus etc. that I don't want, but I left them there because it says "DO NOT REMOVE OR DISABLE THIS BLOCK OF CODE". I'm just trying to keep my files clean.

Edited by helldesign

Share this post


Link to post
Share on other sites

Do i have to add anything more than the required things to the spectator script to be able to hear the ACRE comms? THX

Share this post


Link to post
Share on other sites
Hello, can this help for making some defend scenarios? I cannot seem to post topics, but this may help.

Depends on what you need. F3 provides the Framework for MP adversarials and coops but doesn't include any scripts to spawn AI.

Thanks for the update!

I have a question. How can I enable only the caching script without anything else? I don't even want the "Parameters" setting menu to be available and editable for my mission, just caching script active by default with pre-made settings in the config/script. Is that possible?

In init.sqf just add

f_param_caching = 800; (for example)

before

[40] spawn f_fnc_cInit;

Do i have to add anything more than the required things to the spectator script to be able to hear the ACRE comms? THX

Can you clarify what you mean? ACRE1 or ACRE2?

Share this post


Link to post
Share on other sites

Sure sry. I mean ACRE 2 in ArmA 3. I have the spectator working fine, i can hear other dead players but we cant here anyone who is still alive or their radio comms. Is there a way to enable it?

Share this post


Link to post
Share on other sites

Thank you Wolfenswan! I will try it as soon as I can.

Edit:

Do I still need the other stuff in my init:

if(isServer) then {

f_script_setLocalVars = [] execVM "f\common\f_setLocalVars.sqf";

};

and all class names etc in the description?

Or I can leave only:

f_param_caching = 800;

[40] spawn f_fnc_cInit;

and delete everything else?

And what about:

f_var_cachingAggressiveness = 2;

should I leave it there or not? (init.sqf)

Edited by helldesign

Share this post


Link to post
Share on other sites
I think this is an issue with TFAR and how it handles spectators. I know that what you described works fine in ACRE2.

Thanks for the info, seems like the reasons for us to switch from TFAR to ACRE2 are beginning to pile up. ;)

Kudos on the latest release of F3 Framework, can't wait to update our mission templates and play around with the fixes / new features.

Share this post


Link to post
Share on other sites

Is there a way, that I could add spectator to area in base or object. In my missions there are respawns, but there are rules that player who died can only stay as support role (logi, arty etc.), so I would like to add spectator in base, so they could watch what is going on with rest player who are still in fight.

Share this post


Link to post
Share on other sites
Sure sry. I mean ACRE 2 in ArmA 3. I have the spectator working fine, i can hear other dead players but we cant here anyone who is still alive or their radio comms. Is there a way to enable it?

This is quite odd as it has worked for me. As spectator you wont hear the radio comms, but you can hear the players if the camera is close them. It works by using the camera distance to the player so you need to be close. Are you also running the latest build of F3 and have you turned on ACRE2 in the mission parameters?

Share this post


Link to post
Share on other sites

Do you plan to add paratroopers? Also since AGM is no longer supported, will you change it to ACE 3 support?

Share this post


Link to post
Share on other sites
Is there a way, that I could add spectator to area in base or object. In my missions there are respawns, but there are rules that player who died can only stay as support role (logi, arty etc.), so I would like to add spectator in base, so they could watch what is going on with rest player who are still in fight.

This should be possible though a little complex to setup and not exactly what it was designed for. To give an idea as to how you can do it: once you have modified description.ext to have respawn at base, you'll need to setup an object with an addAction and then call something like the following to open the spectator-> [player,player,true,true,true] call f_fnc_camInit;

Do you plan to add paratroopers? Also since AGM is no longer supported, will you change it to ACE 3 support?

@ACE3: Yes, Significant progress has already been made to support ACE3 in F3.

Share this post


Link to post
Share on other sites
Is there a way, that I could add spectator to area in base or object. In my missions there are respawns, but there are rules that player who died can only stay as support role (logi, arty etc.), so I would like to add spectator in base, so they could watch what is going on with rest player who are still in fight.

This would be amazing! :bounce3: We play coop with only one reinsertion per hour, so if one gets killed 50min before the next pickup arrives that person could access spectator from base instead of being tempted to disconnect and leave.

If the F3 team can make this happen I'll send you the most epic imaginary fruit basket ever!

Share this post


Link to post
Share on other sites
This would be amazing! We play coop with only one reinsertion per hour, so if one gets killed 50min before the next pickup arrives that person could access spectator from base instead of being tempted to disconnect and leave.

If the F3 team can make this happen I'll send you the most epic imaginary fruit basket ever!

You can call the function to initiate spectator directly:

[player,player,true,true,true] call f_fnc_camInit;

That would force-activate the spectator camera even if the player is still alive. Attach it to e.g. a flagpost as an action and players should be able to activate spectator script on their own whim.

Do you plan to add paratroopers?

What do you mean by paratroopers? Paradrops for players can be enabled by using the mapClickTeleport component and setting the height variable to a value of over 0.

We're currently thinking of whether we should start to pre-implement some AI functionalities but that's not decided yet. If we do, we might also consider AI paratroopers.

Share this post


Link to post
Share on other sites

Problem is wave 2 or 4 enemy is they all activate soon as any gunfire goes to the area. Can the waves be made hidden until called within the editor? Thnx, hope to soon pooost topic needed.

Share this post


Link to post
Share on other sites
You can call the function to initiate spectator directly:

[player,player,true,true,true] call f_fnc_camInit;

That would force-activate the spectator camera even if the player is still alive. Attach it to e.g. a flagpost as an action and players should be able to activate spectator script on their own whim.

Sounds awesome! Would they be also able to manually exit said spectator mode again to continue the mission once reinsertion is organised?

Share this post


Link to post
Share on other sites

Possible 1.44 bug

Hi all, 1.44 seems to have changed something about the way parameters are initialized. This is def. breaking backpack assignment and might affect other things as well.

We don't know if this is a deliberate change by BI or a bug. Until either them or we provide a fix you can enforce a backpack loadout, as described here.

Edit:

You can also execute this code from a small server-side addon's config.cpp to force f_param_backpacks to 1 and get backpacks to appear properly:

class Extended_PreInit_EventHandlers {
class FA_preInit {
	serverinit = "f_param_backpacks = 1; publicVariable 'f_param_backpacks';"
};
};

The addon only needs to be run on the server and requires CBA.

Edited by Wolfenswan

Share this post


Link to post
Share on other sites

Another way of solving the backpack issue is to assign gear per class loadout manually. This is a method I've been using for quite some time because I prefer having all the information per class loadout displayed in one file. Otherwise I often had to either remember what values I've added to the backpack file or have it open separately at all times. In order for this to work smoothly one should disable all backpack related code in the description.ext and the "SETUP BACKPACKS" section in the assignGear.sqf

Example:

// LOADOUT: FIRE TEAM LEADER
case "ftl":
{
	_unit addVest "rhs_6b23_ML_6sh92_vog_headset";

	_unit addmagazines [_glriflemag,1];
	_unit addmagazines [_glmag,1];
	_unit addweapon _glrifle;				// AKM GL, loaded

	_unit addmagazines [_pistolmag,1];
	_unit addweapon _pistol;				// MP443, loaded

	_unit addWeapon "Binocular";			// Special equipment
	_unit addItem "ItemGPS";
	_unit assignItem "ItemGPS";
	_unit addItem _mediumrangeradio;
	_unit assignItem _mediumrangeradio;

	_unit addItemToUniform _bandages;		// Uniform gear
	_unit addItemToUniform _bandages;
	_unit addItemToUniform _bandages;
	_unit addItemToUniform _bandages;
	_unit addItemToUniform _bandages;
	_unit addItemToUniform _bandages;
	_unit addItemToUniform _bandages;
	_unit addItemToUniform _bandages;
	_unit addItemToUniform _bandages;
	_unit addItemToUniform _bandages;
	_unit addItemToUniform _morphine;
	_unit addItemToUniform _morphine;
	_unit addItemToUniform _morphine;
	_unit addItemToUniform _morphine;
	_unit addItemToUniform _pistolmag;
	_unit addItemToUniform _pistolmag;

	_unit addItemToVest _glriflemag;		// Vest gear
	_unit addItemToVest _glriflemag;
	_unit addItemToVest _glriflemag;
	_unit addItemToVest _glriflemag;
	_unit addItemToVest _glriflemag;
	_unit addItemToVest _glriflemag;
	_unit addItemToVest _glriflemag;
	_unit addItemToVest _maptools;
	_unit addItemToVest _cableties;
	_unit addItemToVest _cableties;

	_unit addBackpack _bagmedium;			// Backpack gear
	clearMagazineCargoGlobal (unitBackpack _unit);
	(unitBackpack _unit) additemCargoGlobal [_glriflemag_tr, 4];
	(unitBackpack _unit) additemCargoGlobal [_glriflemag, 3];
	(unitBackpack _unit) additemCargoGlobal [_glmag, 7];
	(unitBackpack _unit) additemCargoGlobal [_glsmokewhite, 7];
	(unitBackpack _unit) additemCargoGlobal [_glsmokeyellow, 4];
	(unitBackpack _unit) additemCargoGlobal [_smokegrenade, 7];
	(unitBackpack _unit) additemCargoGlobal [_smokegrenadepurple, 4];
	(unitBackpack _unit) additemCargoGlobal [_smokegrenadeblue, 2];
	(unitBackpack _unit) additemCargoGlobal [_grenade, 2];

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

×