Difference between revisions of "Category:CMF3: Getting Started"
(18 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Cluster Community Framework (CMF3)]] | [[Category:Cluster Community Framework (CMF3)]] | ||
<p align="center"> | |||
[[File:CMF3 Logo Transparent.png|frameless|500px|center]] | |||
</p> | |||
This page assumes you've already installed CMF3 on your mission. If not see [[CMF3: Installation]]. It does not assume you have any experience in scripting so this guide should be easy to follow for any mission maker. | This page assumes you've already installed CMF3 on your mission. If not see [[CMF3: Installation]]. It does not assume you have any experience in scripting so this guide should be easy to follow for any mission maker. | ||
Line 7: | Line 12: | ||
== Setting up our test environment == | == Setting up our test environment == | ||
Before we get into it let's make sure you have a test environment ready, CMF3 is not designed for singleplayer and thus if you playtest the mission in a singleplayer environment you might get unexpected results. Therefore we need to launch the mission in a multiplayer environment, to do this simply open the mission in 3DEN and press "Play" in the toolbar and "Play in multiplayer". It will ask you if you want to host on LAN and which port to use, you can just ignore these settings and click " | Before we get into it let's make sure you have a test environment ready, CMF3 is not designed for singleplayer and thus if you playtest the mission in a singleplayer environment you might get unexpected results. Therefore we need to launch the mission in a multiplayer environment, to do this simply open the mission in 3DEN and press "Play" in the toolbar and "Play in multiplayer". It will ask you if you want to host on LAN and which port to use, you can just ignore these settings and click "OK". Once you're in the multiplayer lobby simply quit out again. | ||
Doing the above will also ensure that the CMF3 3DEN tools are loaded as well. | Doing the above will also ensure that the CMF3 3DEN tools are loaded as well. | ||
== Creating playerunits == | == Creating playerunits == | ||
The most important part of any mission is having playerunits so your players can actually join in. Within Cluster Community we have a relatively strict ORBAT that we ask that you follow (If you are a Mission Maker in Cluster Community, if you aren't you are free to do whatever you want). To make this easier we have created a tool in the 3den toolbar called "Unit Spawner", you can find it under the "CMF3" tab. Inside Unit Spawner you will have a selection of ORBATs you can choose from | The most important part of any mission is having playerunits so your players can actually join in. Within Cluster Community we have a relatively strict ORBAT that we ask that you follow (If you are a Mission Maker in Cluster Community, if you aren't you are free to do whatever you want). To make this easier we have created a tool in the 3den toolbar called "Unit Spawner", you can find it under the "CMF3" tab. Inside Unit Spawner you will have a selection of ORBATs you can choose from, however for most Cluster Community Missions it is recommended to select a "Platoon Infantry Element" and delete the Platoon HQ (as we are not a big enough community to field an entire Platoon). Then spawn a zeus unit as well for yourself. | ||
If you don't wish to use the tools provided you can also spawn in units yourself and assign their role using [[ | If you don't wish to use the tools provided you can also spawn in units yourself and assign their role using [[cmf_common_fnc_setRole]] inside the unit's init and [[cmf_common_fnc_setCallsign]] in the group init. | ||
== Creating a kosherArsenal Loadout == | == Creating a kosherArsenal Loadout == | ||
Line 20: | Line 25: | ||
{{code|lang=scilab|<nowiki>[["LOADOUTNAME HERE"], true, true] call cmf_kosherArsenal_fnc_init;</nowiki>}} | {{code|lang=scilab|<nowiki>[["LOADOUTNAME HERE"], true, true] call cmf_kosherArsenal_fnc_init;</nowiki>}} | ||
once you've located it replace '''"LOADOUTNAME HERE"''' with the name of your loadoutfile (without.sqf). | once you've located it replace '''"LOADOUTNAME HERE"''' with the name of your loadoutfile (without.sqf). | ||
Once you have set up kosherArsenal it's recommended to also create a kosher arsenal ammobox. This will allow players to rearm and change up their ammunition loadout to suit existing SOPs. To create one, simply place down a suitable object, for example a Vehicle Ammo Crate. Select it and then open up the CMF menu, Navigate to Entity Tools and then to kosherArsenal and select create kosherArsenal ammobox. Once you have done this you are done. | |||
== Adding rallypoints == | == Adding rallypoints == | ||
Line 30: | Line 37: | ||
{{code|lang=scilab|<nowiki>[4] call cmf_respawn_fnc_limit;</nowiki>}} | {{code|lang=scilab|<nowiki>[4] call cmf_respawn_fnc_limit;</nowiki>}} | ||
To change the respawn limit change the 4 into any number you want, optionally if you just want to disable the system you can just delete the entire line. | To change the respawn limit change the 4 into any number you want, optionally if you just want to disable the system you can just delete the entire line. | ||
== Mission Data (v2.1.1.34 < ) == | |||
As of CMF v2.1.1.34 (dev build) you are required to also fill out the mission meta data. The mission meta data consists of two sections; General Data and Equipment Data. The General Data contains the mission gamemode and the mission name, while Equipment Data contains a [https://en.wikipedia.org/wiki/Table_of_organization_and_equipment Table of Equipment] and who has access to that equipment. To edit the mission data you can open up the CMF Menu and select Mission Data. This will open up a dialog where you can input all the data mentioned above. If you are unsure of what the fields are, you can hover over the fields to get an example and a description of the field. | |||
== Warning Order (v2.1.1.34 < ) == | |||
As of CMF v2.1.1.34 (dev build) you are not required, but highly encouraged to write a [https://en.wikipedia.org/wiki/Operations_order warning order]. Since we have a very strict timetable for our missions, anyone who joins late will miss out on briefing, to combat this issue we recommend all mission makers to have a warning order within their missions so latecomers can still understand the objectives, situation and intent. For CMF versions v2.1.1.34 - v2.1.1.45 there is no functioning ingame tool to write out your warning order. The UI for one exists but the backend has not been completed as of v2.1.1.45. So until that tool has been completed, there exists a script file inside "rsc\scripts" called warno.sqf. Open this up and edit the details within the quotes. Read the variable name, or the example text to understand what the content is supposed to be. Since sqf files can be quite confusing if you are not proficient with it, you are encouraged to ping the Cluster Modteam if you need any help understanding how to edit the file, or if you have general questions about the warning order. | |||
== Finishing up == | == Finishing up == | ||
Lastly it is of course important that our players have somewhere to spawn. In CMF3 BASE respawn is the default selected respawn type, this means that players are free to choose their own respawn location and that they will choose their respawn location when they first join the mission. This means that if you don't have at least one respawn position set up no one will be able to spawn. Respawn positions are a part of vanilla Arma 3 and therefor is accessible as a module in the "Systems" menu under "Multiplayer". You can find the "Systems" menu by pressing F5 on your keyboard when you are in the 3DEN editor. The module you are looking for is called "Respawn Position". Place this module down where you want your players to respawn and open it up. Give it a name e.g. "Main Spawn" and change the "Side" Parameter to the player side. If the players occupy multiple sides simply place down a module for each side. | Lastly it is of course important that our players have somewhere to spawn. In CMF3 [https://community.bistudio.com/wiki/Arma_3:_Respawn#Respawn_Types BASE respawn] is the default selected respawn type with the [https://community.bistudio.com/wiki/Arma_3:_Respawn#Official_Templates menuPosition Template], this means that players are free to choose their own respawn location and that they will choose their respawn location when they first join the mission. This means that if you don't have at least one respawn position set up no one will be able to spawn. Respawn positions are a part of vanilla Arma 3 and therefor is accessible as a module in the "Systems" menu under "Multiplayer". You can find the "Systems" menu by pressing F5 on your keyboard when you are in the 3DEN editor. The module you are looking for is called "Respawn Position". Place this module down where you want your players to respawn and open it up. Give it a name e.g. "Main Spawn" and change the "Side" Parameter to the player side. If the players occupy multiple sides simply place down a module for each side. | ||
== Where to go from here == | == Where to go from here == | ||
After you've completed all the points above you have successfully created a minimally integrated CMF3 mission. There is a lot more going on behind the scenes as well as a lot more options to you as a mission maker. If you are interested in utilizing CMF3 to it's fullest I recommend you start by taking a look at the [[Category:CMF3: Config|CMF3 Config]], all the [[:Category:CMF3: All Components|function components]] (and the functions within each one), all the [[Category:CMF3: Config Files|Config Files]], all the [[Category:CMF3: Event Files|Event Files]] and if you feel extra hacky the [[Category:CMF3: Engine Functionality|CMF3 internal framework engine]] | After you've completed all the points above you have successfully created a minimally integrated CMF3 mission. There is a lot more going on behind the scenes as well as a lot more options to you as a mission maker. If you are interested in utilizing CMF3 to it's fullest I recommend you start by taking a look at the [[:Category:CMF3: Config|CMF3 Config]], all the [[:Category:CMF3: All Components|function components]] (and the functions within each one), all the [[:Category:CMF3: Config Files|Config Files]], all the [[:Category:CMF3: Event Files|Event Files]] and if you feel extra hacky the [[:Category:CMF3: Engine Functionality|CMF3 internal framework engine]] | ||
== Tips and Tricks == | |||
We highly recommend to get a proper text editor like <s>[https://github.blog/2022-06-08-sunsetting-atom/ Atom]</s>(Atom was sunsetted on 8. June 2022) or [https://code.visualstudio.com/ Microsoft VSCode] and installing a SQF linter (The easiest one is [https://code.visualstudio.com/ Microsoft VSCode] with [https://marketplace.visualstudio.com/items?itemName=skacekachna.sqflint SQFLint] and [https://marketplace.visualstudio.com/items?itemName=Armitxes.sqf SQF language]). An SQF Linter will highlight errors in scripts you might be working on and allow you to spot mistakes immediately. | |||
We also recommend to get the [https://steamcommunity.com/sharedfiles/filedetails/?id=2369477168 Advanced Developer Tools] Addon to make script and mission testing 100 times easier. | |||
Finally we recommend you also get the [https://steamcommunity.com/workshop/filedetails/?id=623475643 3den Enhanced] Addon and the [https://steamcommunity.com/workshop/filedetails/?id=1751569185 Pythia] Addon. | |||
These addons adds a lot of extra functionality to the 3DEN editor and lot's of really useful tools that don't create a dependency on the mission (except for 3DEN Enhanced Pythia tools, but these have a warning on them) | |||
Aditionally if you plan to do custom particle effects i can recommend installing [https://steamcommunity.com/sharedfiles/filedetails/?id=1613905318 Emitter 3ditor] to edit particles live in the 3den editor. It is quite buggy, but it is being activly developed and is stable enough for most applications. |
Latest revision as of 08:25, 14 March 2023
This page assumes you've already installed CMF3 on your mission. If not see CMF3: Installation. It does not assume you have any experience in scripting so this guide should be easy to follow for any mission maker.
So you've just installed CMF3 and now you want to get started learning how to make Cluster Community oriented missions, well then this guide is for you. It will cover the most basic functions in CMF3 and how to configure them as well as how to use the tools provided to you by CMF3.
(In the near future there will be videos here for each point)
Setting up our test environment
Before we get into it let's make sure you have a test environment ready, CMF3 is not designed for singleplayer and thus if you playtest the mission in a singleplayer environment you might get unexpected results. Therefore we need to launch the mission in a multiplayer environment, to do this simply open the mission in 3DEN and press "Play" in the toolbar and "Play in multiplayer". It will ask you if you want to host on LAN and which port to use, you can just ignore these settings and click "OK". Once you're in the multiplayer lobby simply quit out again.
Doing the above will also ensure that the CMF3 3DEN tools are loaded as well.
Creating playerunits
The most important part of any mission is having playerunits so your players can actually join in. Within Cluster Community we have a relatively strict ORBAT that we ask that you follow (If you are a Mission Maker in Cluster Community, if you aren't you are free to do whatever you want). To make this easier we have created a tool in the 3den toolbar called "Unit Spawner", you can find it under the "CMF3" tab. Inside Unit Spawner you will have a selection of ORBATs you can choose from, however for most Cluster Community Missions it is recommended to select a "Platoon Infantry Element" and delete the Platoon HQ (as we are not a big enough community to field an entire Platoon). Then spawn a zeus unit as well for yourself.
If you don't wish to use the tools provided you can also spawn in units yourself and assign their role using cmf_common_fnc_setRole inside the unit's init and cmf_common_fnc_setCallsign in the group init.
Creating a kosherArsenal Loadout
KosherArsenal is the star of CMF3, it allows mission makers to create a arsenal whitelist that takes into account the unit's role and any condition you can think of. These whitelists are canonically called loadouts or loadoutfiles. To create a loadoutfile follow the instructions given on the kosherArsenal Loadout page. Once you've created you loadout open up initPlayerLocal.sqf. In here look for the following line:
[["LOADOUTNAME HERE"], true, true] call cmf_kosherArsenal_fnc_init;
once you've located it replace "LOADOUTNAME HERE" with the name of your loadoutfile (without.sqf).
Once you have set up kosherArsenal it's recommended to also create a kosher arsenal ammobox. This will allow players to rearm and change up their ammunition loadout to suit existing SOPs. To create one, simply place down a suitable object, for example a Vehicle Ammo Crate. Select it and then open up the CMF menu, Navigate to Entity Tools and then to kosherArsenal and select create kosherArsenal ammobox. Once you have done this you are done.
Adding rallypoints
Rallypoints is the silver star of CMF3, it creates a respawn system very similar to Offworld Industries's Squad. In short it allows for a player to create a temporary respawn point for other players to respawn on. This is already setup by default in CMF3 but if you want to disable it you can again open up initPlayerLocal.sqf and find the following line:
[["FTL", "SL", "PL", "CO"]] call cmf_respawn_fnc_rallypoint;
To now disable it just delete the entire line, or optionally if you want to add rallypoints for more/other units you can replace ["FTL", "SL", "PL", "CO"] with your configuration e.g. ["MED"] or [player1].
Limiting respawns
As cluster community is a small unit having 1-life operations can be quite boring as if something goes wrong the operation can end very quickly. But if we enable infinite respawns then that makes players undervalue their life and enables them to do stupid things. To prevent this we have created a system in which a players amount of respawns can be limited giving us a nice balance between not too short missions and players valuing their lives. Limited respawns is enabled by default as well with a limit of 4. if you wish to change this open up initPlayerLocal.sqf again and locate the following line:
[4] call cmf_respawn_fnc_limit;
To change the respawn limit change the 4 into any number you want, optionally if you just want to disable the system you can just delete the entire line.
Mission Data (v2.1.1.34 < )
As of CMF v2.1.1.34 (dev build) you are required to also fill out the mission meta data. The mission meta data consists of two sections; General Data and Equipment Data. The General Data contains the mission gamemode and the mission name, while Equipment Data contains a Table of Equipment and who has access to that equipment. To edit the mission data you can open up the CMF Menu and select Mission Data. This will open up a dialog where you can input all the data mentioned above. If you are unsure of what the fields are, you can hover over the fields to get an example and a description of the field.
Warning Order (v2.1.1.34 < )
As of CMF v2.1.1.34 (dev build) you are not required, but highly encouraged to write a warning order. Since we have a very strict timetable for our missions, anyone who joins late will miss out on briefing, to combat this issue we recommend all mission makers to have a warning order within their missions so latecomers can still understand the objectives, situation and intent. For CMF versions v2.1.1.34 - v2.1.1.45 there is no functioning ingame tool to write out your warning order. The UI for one exists but the backend has not been completed as of v2.1.1.45. So until that tool has been completed, there exists a script file inside "rsc\scripts" called warno.sqf. Open this up and edit the details within the quotes. Read the variable name, or the example text to understand what the content is supposed to be. Since sqf files can be quite confusing if you are not proficient with it, you are encouraged to ping the Cluster Modteam if you need any help understanding how to edit the file, or if you have general questions about the warning order.
Finishing up
Lastly it is of course important that our players have somewhere to spawn. In CMF3 BASE respawn is the default selected respawn type with the menuPosition Template, this means that players are free to choose their own respawn location and that they will choose their respawn location when they first join the mission. This means that if you don't have at least one respawn position set up no one will be able to spawn. Respawn positions are a part of vanilla Arma 3 and therefor is accessible as a module in the "Systems" menu under "Multiplayer". You can find the "Systems" menu by pressing F5 on your keyboard when you are in the 3DEN editor. The module you are looking for is called "Respawn Position". Place this module down where you want your players to respawn and open it up. Give it a name e.g. "Main Spawn" and change the "Side" Parameter to the player side. If the players occupy multiple sides simply place down a module for each side.
Where to go from here
After you've completed all the points above you have successfully created a minimally integrated CMF3 mission. There is a lot more going on behind the scenes as well as a lot more options to you as a mission maker. If you are interested in utilizing CMF3 to it's fullest I recommend you start by taking a look at the CMF3 Config, all the function components (and the functions within each one), all the Config Files, all the Event Files and if you feel extra hacky the CMF3 internal framework engine
Tips and Tricks
We highly recommend to get a proper text editor like Atom(Atom was sunsetted on 8. June 2022) or Microsoft VSCode and installing a SQF linter (The easiest one is Microsoft VSCode with SQFLint and SQF language). An SQF Linter will highlight errors in scripts you might be working on and allow you to spot mistakes immediately.
We also recommend to get the Advanced Developer Tools Addon to make script and mission testing 100 times easier.
Finally we recommend you also get the 3den Enhanced Addon and the Pythia Addon. These addons adds a lot of extra functionality to the 3DEN editor and lot's of really useful tools that don't create a dependency on the mission (except for 3DEN Enhanced Pythia tools, but these have a warning on them)
Aditionally if you plan to do custom particle effects i can recommend installing Emitter 3ditor to edit particles live in the 3den editor. It is quite buggy, but it is being activly developed and is stable enough for most applications.
Pages in category "CMF3: Getting Started"
The following 2 pages are in this category, out of 2 total.