This is a mission generator script built to quickly and reliable build sandbox and training missions for the 7th Cavalry Gaming.
Windows:
Linux:
$ sudo apt-get install python3
$ sudo add-apt-repository ppa:koffeinflummi/armake
$ sudo apt-get update
$ sudo apt-get install armake
usage: build [-h] -p PACKAGE [-pv PACKAGEVERSION] [-o OUTPUT] -v VERSIONTAG [-y] [--color]
[-m MISSION] [-s SETTING] [--version]
{sandbox,training}
This script generates sandbox or training missions.
positional arguments:
{sandbox,training} This defines what kind of generation the script should commit.
options:
-h, --help show this help message and exit
-p PACKAGE, --package PACKAGE
This defines what script package to install.
-pv PACKAGEVERSION, --packageVersion PACKAGEVERSION
This define a version number of a given script installation package
to be used in the script. (Suggestively the release version name)
-o OUTPUT, --output OUTPUT
This allow you to define a output suffix.
-v VERSIONTAG, --versionTag VERSIONTAG
This define what version name you want the file to have.
-y, --fastbuild Will instantly run until done.
--color Enable color in the script.
-m MISSION, --mission MISSION
Define a specific mission from path
-s SETTING, --setting SETTING
Define a custom setup.json file
--version show program's version number and exit
This build script generates sandboxes or training maps bases on provided templates.
The tool should be cross platform and requires armake to function.
- Modify the
setup.json
if needed. - Modify the Templates if needed. (See below for requirements.)
- Run the script
Windows:> py build.py sandbox -v 1.0 -p cScripts.zip
or> py build.py training -v 1.0 -p cScripts.zip
Linux:$ ./build.py sandbox -v 1.0 -p cScripts.zip
or$ ./build.py training -v 1.0 -p cScripts.zip
- Mission file most be unbinirized.
- Script will primarily use the Generic template.
A custom template can be used to create one the folowing name is required:
Template_Altis.Altis
orTemplate_MyIsland.MyIsland
The island need to be placed in the./Template/sandbox/
directory. - To allow the script to set the Respawn use the following coordinates:
position[]={20.200001,25.200001,20.200001};
- Unit placement is recommended to be set in the lower left corner on short grid
00 00
.
- Mission file most be unbinirized.
- Set the
briefingName
name toTraining Template Mission
- Training missions need to placed in
./template/training/
. - Additional training mission scripts images or other material need to be placed in the mission root folder.
- Adjust or add a
setup.json
NOTE! Do not add your owninit.sqf
ofdescription.ext
they will be overwritten. Instead add changes or adjustmetns settings by defining them in the json file. You can find a exsample here.
The custom mission build is preformed when you use the training
parameter and define a -mission [mission]
parameter.
The mission need to be placed in; ./template/custom/
. The build follows the training mission build system. But instead of building all missions it only build for one. Run exsample:
$ ./build.py training -v 1.0 -p cScripts.zip -m My_Mission_Name.Island
String hooks refere to names that the script look for in order to replace a Line. If it can't fine the string it will skip the change.
- DEVBUILD:
DEVBUILD
will be replaced withversionTag
(Exsample:v1.2
)
- authot
$author
(string) - briefingName:
$briefingName
,Zeus Sandbox Template Mission
,Training Template Mission
(string) - overviewText
$overviewText
,OverviewText Template Text
(string) - Spawn point move pos:
position[]={20.200001,25.200001,20.200001};
(auto)
- author/dev
$author
,1SG Tully.B
(string) - onLoadName
$onLoadName
,MyMissionName
(string) - onLoadMission
$onLoadMission
7th Cavalry - S3 1BN Battle Staff Operation
(string) - onLoadIntro
$onLoadIntro
,S3 1BN Battle Staff Operation
(string) - loadScreen
Data\MissionLogo.paa
(string) - overviewPicture
Data\MissionLogo.paa
(string) - cba_settings_hasSettingsFile
cba_settings_hasSettingsFile = 1;
(number) - disabledAI
disabledAI = true;
(bool) - forceRotorLibSimulation
forceRotorLibSimulation = 1;
- spawn
respawn = BASE;
(string) - respawnDelay
respawnDelay = 4;
(number) - respawnOnStart
respawnOnStart = -1;
(number) - CfgFunctions (list)
$0
: Print version number provided by--versionTag
parameter.$1
: Print name of the installed package selected by--packageVersion
parameter.
> python build.py sandbox -p "cScripts-4.5.21-RC2.zip" -pv "4.5.21-RC2" -v "2.7.19" -y