Author: tryteyker
Author Website:

Requirements: No addons required

Version: 1.1

Short description: This script offers basic functionality that you'd expect from a support system, aswell as a Graphical User Interface that provides necessary information to the user when they need it.

Date: 2014-01-04 18:25

Comments: (0)


Advanced Artillery Support System (AASS)


Essentially, the AASS is somewhat of a hybrid between the groundwork for a much more complex artillery system and an already functional artillery system that can be used by mission makers on the go. It offers basic functionality that you'd expect from a support system, aswell as a Graphical User Interface that provides necessary information to the user when they need it. It is also, however, a base script that can be expanded upon. The main function of this support system can be edited by any mission maker and tweaked, allowing them to adjust the A-A-S-S to suit their missions needs. To guide mission makers through tweaking the function, there are plenty of comments on what every single line of code does.

A basicfile structure has already been set up for the mission maker. This file structure should be left untouched, as it is crucial to have the A-A-S-S function properly. The only file that the mission maker needs to worry about is the init.sqf. In there is a single line implemented which executes the A-A-S-S (it is an addAction). Commented lines have also been added to allow seperation from the rest of your init.sqf. In the init.sqf, you only need to add the unit, or units, that is/are supposed to receive the action to access the A-A-S-S. Nothing else needs to be done and you will be able to use it afterwards.

Before you adjust the A-A-S-S for your needs, take a quick look at the Rights section below. It will explain what you are allowed to modify and use in your (publicly) released missions and what you aren't. Once you've done so, here's how to modify the function: Navigate to YourMissionFolder\TRT_AASS\functions\fn_fireMissio n.sqf. This function is the core of the A-A-S-S. Practically all lines of code are commented and explained to allow even those who are fairly new to scripting to understand what is happening. For those who wish to extensively modify this file, I've included a few notes below.

Notes about the modification of fn_fireMission.sqf:
This file currently does not include the following things:
- Advanced trajectory calculation
- Extensive support for artillery units that come with an addon.

This file currently does include:
- Support for all of the artillery units currently in the game (exception: MLRS, read Issues section for further info)
- Ability to directly call this function (it is not dependant on any GUI elements, read notes inside the function for further info)
- Basic trajectory calculation (It is calculated by the engine, basic velocity effects etc)

Keep the above things in mind when modifying this file. You may want to, at first, look at trajectory calculation as it is not custom-made but instead relies on engine calculations.

The purpose of this appendix is to inform the mission maker of variables used in mission namespace as to not conflict with any missions that also use these variables (although highly unlikely). All of these are only defined when the main function is used with provided GUI elements. You'll find it within the spoiler.

ArtilleryUsed - Defines which Artillery is selected by end-user.
RoundsUsed - Defines amount of rounds which are selected by end-user.
SetDelay - Delay selected by end-user. (THIS DELAY IS ADDED ONTOP OF A 10 SECOND DELAY!!)
ShellUsed - The type of ammunition selected by end-user.
MarkerPositionUsed - The position of the marker set by end-user.
MarkerSetByClick - Variable defined by function.
MarkerUsed - Marker name is stored in this variable, used by function.
UnitsWithArtComp - Variable which stores all units that have access to Artillery Computer. Defined by function (defined by mission maker through init.sqf)

Known issues:
- The MLRS Artillery Unit is not currently supported as it does not react to Fired Eventhandlers properly.
- If the user closes the map too quickly after placing a marker, the function will not fire.
- There is no ingame documentation for end-users.
- No explanation on pre-set markers for end-users. (Preset marker requirements are: Type DESTROY, Color RED, text FIRE MISSION)
- Preset markers may not be deleted after fire mission is done.
- Only the basic ammunition types (Sh_xmm_AMOS,R_230mm_HE) are supported. Edit x\selection\typsel.sqf to add more ammunition types.

You may not modify any Graphical User Interface (GUI) elements provided to you with this script/function. You are not allowed to re-use these GUI elements to their full extent and outside their intended purpose (ie with this function/script).
You are allowed to modify the main function/script (fn_fireMission.sqf) to suit your missions needs. You are also allowed to re-use this script directly and without GUI elements.

v1.1 (Hotfix)
- Tweaked: Increased time it takes for artillery to aim and fire at target. (fn_fireMission.sqf)
- Fixed: MAP button now properly opening map (dialogs.hpp, file structure not setup properly)

- Initial Release

Forum topic:
- BI forums

Enable javascript to be able to download from Armaholic please!

Tags: Artillery,   Gui,   Support