WORK IN PROGRESS
K-Assistant
Dynamic Capture Zone
Powered by MOOSE Framework
Foreword
K-Assistant: Dynamic Capture Zone is a script for DCS, written in LUA language, which uses the MOOSE Framework in order to provide players with a dynamic system for the creation of zones to be captured.With K-Assistant: Dynamic Capture Zone, through the use of markers on the F10 map, players will be able to create zones to be captured, giving rise to clashes between the blue faction and the red faction.
Automatic messages and graphic indications on the F10 map will inform players about the status and position of the area.
Zone States
The states that can be attributed to zones according to the detected conditions are listed below.- Captured: The Zone has been captured by a new coalition.
- Attacked: The presence of multiple coalitions in the area is detected.
- Guarded: The Zone is permanently manned by the coalition it belongs to and there are no other coalitions in the Zone. (occurs after capture)
- Empty: The Zone is empty - there are no valid units in the zone.
Available functions
Air Battle - Creating a Capture Zone
- Add a Mark in F10 map
- Modify it by inserting the text string #CAZ_AA in marker’s text box
- once you have finished inserting the text in the marker, click outside the text field to confirm the entered text.
The units considered valid for the purpose of capturing the area will be exclusively air units, ie helicopters and airplanes, therefore land and naval units will NOT be considered for the purpose of the conquest.
Terrestrial Battle - Creating a Capture Zone
- Add a Mark on F10 map
- Modify it by inserting the text string #CAZ_AG in the marker’s text box
- once you have finished inserting the text in the marker, click outside the text field to confirm the entered text .
The units considered valid for the purpose of capturing the area will be exclusively land units, therefore air and naval units will NOT be considered for the purpose of the conquest.
Set the Radius of the Capture Zone
To specify the radius of the zone to be created, enter the radius value (in meters) enclosed in brackets inside marker’s text box.Example : “#CAZ_AG (50000)“ - will create a Capure Zone with a radius of 50.000 meters.
If not specified, the default value set in the Settings tab of the script will be applied which by default is equal to 20.000 meters.
Note: in the configurations inside the lua file it is possible to set the maximum radius and the minimum selectable radius. If a zone with a radius greater than the maximum limit or less than the minimum limit is created, the radius set is equal to the exceeded limit.
Delete a Capture Zone
To delete a created Capture Zone, simply remove the associated marker, in fact, after the creation of the zone, the marker used by the user to create it will be replaced by a new marker created by the script, deleting it will also delete the zone .
Zones Status Updates
To avoid sending the update messages about the status of the zones to all the players on a server, the script defines secondary zones also called "Message Zone" that allow us to send update messages only to the players actively involved in the defense or in the conquest of a Capture Zone as they are actually present within the Message Zone.The other players, despite being outside the Message Zone, will still be able to be informed about the status of the Capture Zone thanks to the Text Box visible to everyone on the F10 map.
The size of the Message Zones can be defined in the Script Settings, by default it is equal to 2 times the size of the Capture Zone.
In the following image we see the Capture Zone in Yellow while a Message Zone equal to 1.5 times the size of the Capture Zone is visible in a light and almost totally transparent color.
At the center of the Zone we can see the Text Box that informs us about the State of the Zone.
At the top right, the messages directed to the player informing him of the creation of the zone and its current status.
Server Cleaner
When a server is hosted 24 hours a day it is necessary to keep it "clean", to do this this script provides the Server Cleaner function which, at defined time intervals, scans the server to verify the presence of Clients and, if not there are clients connected, it cleans up.What Does It Clean?
- Delete all capture zones created by users and not subsequently deleted.
The operation is very trivial, simply through the DCS API net.get_player_list () you get the list of connected clients:
- If the list contains 0 clients then you are in Single Player and the function is forcibly disabled.
- If the list contains more than 1 client, the cleanup is not performed.
- If the list contains only 1 client (which would be the host server) the cleanup is performed.
Script settings
By opening the script .lua file, in the first lines it is possible to set the basic settings.Example of the available configurations:
- WelcomeMessage - if true it shows a welcome message for 3 seconds at the start of the mission.
- RefreshTime - in seconds - how often the status of the zones is checked
- GuardTime - in seconds - time required to enter the status guarded after the capture
- DrawZones - if true the Capture Zones created will be drawn on the map F10
- DefaultZoneRadius - Default radius of the zones
- MessageZoneRadiusMultip - defines the radius from the center of the zone to be captured within which players will receive the zone status update messages. It is a multiplier based on the size of the area to be captured, for example, if set to 1 the players will receive messages only when they are inside the area, if set to 2 instead, they will receive them within a radius equal to double the radius of the area (radius x 2)
- ServerCleaner - enables the cleaning function of the capture zones created by users when there are no clients on the server
- ServerCleanerScanTimer - in minutes - every time a client is checked for the presence of the server, if not present, the cleaning is performed.
DOWNLOADS :
Manual ENDemo Mission
MOOSE Framework v2.7.14
Premessa
K-Assistant: Dynamic Capture Zone è uno script per DCS, scritto in linguaggio LUA, che utilizza il MOOSE Framework al fine di fornire ai giocatori un sistema dinamico per la creazione di zone da catturare.Con K-Assistant: Dynamic Capture Zone, tramite l’utilizzo dei marker in mappa F10 i giocatori potranno creare zone da catturare dando origine a scontri fra la fazione blue e la fazione red.
Dei messaggi automatici e delle indicazioni grafiche in mappa F10 informeranno i giocatori circa lo stato e la posizione della zona.
Stati Delle Zone
A seguire vengono elencati gli stati che possono essere attribuiti alle zone in base alle condizioni rilevate.- Captured: La Zona è stata catturata da una nuova coalizione.
- Attacked: Viene rilevata la presenza di più coalizioni nella zona.
- Guarded: La Zona è stabilmente presidiata dalla coalizione a cui appartiene e non vi sono altre coalizioni in Zona. (avviene dopo la cattura)
- Empty: La Zona è vuota - non vi sono unità valide in zona.
Funzioni disponibili
Battaglia Aerea - Creazione di una Capture Zone
- Aggiungere un Mark in mappa F10
- Modificarlo inserendo nel testo al suo interno il la stringa di testo #CAZ_AA
- Una volta terminato l’inserimento del testo nel marker, cliccare fuori dal campo di testo per confermare il testo inserito.
Le unità considerate valide al fine della cattura della zona saranno esclusivamente unità aeree, vale a dire elicotteri ed aerei, ai fini della conquista NON verranno quindi considerate le unità terrestri e navali.
Battaglia Terrestre - Creazione di una Capture Zone
- Aggiungere un Mark in mappa F10
- Modificarlo inserendo nel testo al suo interno il la stringa di testo #CAZ_AG
- Una volta terminato l’inserimento del testo nel marker, cliccare fuori dal campo di testo per confermare il testo inserito.
Le unità considerate valide al fine della cattura della zona saranno esclusivamente unità terrestri, ai fini della conquista NON verranno quindi considerate le unità aeree e navali.
Settare Raggio delle Capture Zone
Per specificare il raggio della zona da creare, nel testo del marker creato in mappa F10, inserire il valore del raggio in metri racchiuso fra parentesi.Esempio : “ #CAZ_AG (50000) “ - creerà una Capure Zone con raggio di 50.000 metri.
Se non specificato verrà applicato il valore di default impostato nella rabella Settings dello script che di default è pari a 20.000 metri.
Nota : nelle configurazioni all’interno del file lua è possibile settare il raggio massimo ed il raggio minimo selezionabile. Se viene creata una zona con raggio maggiore al limite massimo o minore del limite minimo il raggio impostato è pari al limite superato.
Eliminare una Capture Zone
Per eliminare una Capture Zone creata è sufficiente rimuovere il marker ad esso associata, infatti, dopo la creazione della zona, il marker usato dall’utente per crearla verrà rimpiazzato da un nuovo marker creato dallo script, eliminando quest’ultimo si eliminerà anche la zona.
Aggiornamenti sullo Stato delle Zone
Per evitare di inviare i messaggi di aggiornamento circa lo stato delle zone a tutti i giocatori presenti in un server lo script definisce delle zone secondarie anche dette “Message Zone” che consentono di inviare i messaggi di aggiornamento solo ai giocatori attivamente coinvolti nella difesa o nella conquista di una Capture Zone in quanto effettivamente presenti all’interno della Message Zone.Gli altri giocatori, pur essendo all’esterno delle Message Zone, potranno comunque essere informati circa lo stato della Capture Zone grazie al Riquadro di Testo visibile a tutti in mappa F10.
La dimensione delle Message Zones può essere definita nelle Impostazioni dello Script, di default è pari a 2 volte la grandezza della Capture Zone.
Nell’immagine a seguire vediamo la Capture Zone in Giallo mentre una Message Zone pari 1,5 volte la grandezza della Capture Zone è visibile in un colore chiaro e quasi totalmente trasparente.
Al centro della Zona possiamo vedere il Riquadro di Testo che ci informa sullo Stato della Zona.
In alto a destra i messaggi diretti al giocatore che lo informano dell’avvenuta creazione della zone e del suo stato attuale.
Server Cleaner
Quando si hosta una server 24 ore su 24 è necessario mantenerlo “pulito”, per farlo questo script mette a disposizione la funzione Server Cleaner che, ad intervalli di tempo definiti, scansiona il server per verificare la presenza di Client e, se non vi sono client connessi, procede alla pulizia.Cosa Pulisce?
- Elimina tutte le capture zone create dagli utenti e non successivamente eliminate.
Come Funziona?
Il funzionamento è molto banale, semplicemente tramite l’API di DCS net.get_player_list() si ottiene la lista dei client connessi:
- Se la lista contiene 0 client allora si è in Single Player e la funzione viene disabilitata forzatamente.
- Se la lista contiene più di 1 client la pulizia non viene eseguita.
- Se la lista contiene solo 1 client (che sarebbe il server host) la pulizia viene eseguita.
Come detto precedentemente, la funzione è adatta a server hostati 24 su 24 in cui si presume che l’host non sia un client partecipante e quindi la sua sola presenza all’interno del server viene interpretata come “Server Vuoto - Eseguire Pulizia”
Impostazioni dello Script
Aprendo il file .lua dello script, nelle prime righe è possibile settare le impostazioni di base.Esempio delle configurazioni disponibili:
- WelcomeMessage -- se true mostra messaggio di benvenuto per 3 secondi ad inizio missione.
- RefreshTime – in secondi - ogni quanto viene verificato lo stato delle zone
- GuardTime - in secondi - tempo necessario ad entrare nello status guarded dopo la cattura
- DrawZones – se true le Capture Zones create verranno disegnate in mappa F10
- DefaultZoneRadius – Raggio predefinito delle zone
- MessageZoneRadiusMultip - definisce il raggio dal centro della zona da catturare entro cui i giocatori riceveranno i messaggi di aggiornamento sullo stato della zona. E’ un moltiplicatore basato sulla dimensione della zona da catturare, per esempio, se impostato a 1 i giocatori riceveranno messaggi solo quando sono all’interno della zona, se impostato a 2 invece, li riceveranno entro un raggio pari al doppio del raggio della zona ( raggio x 2)
- ServerCleaner – abilita la funzione di pulizia delle capture zone create dagli utenti quando non vi sono client nel server
- ServerCleanerScanTimer – in minuti - ogni quanto viene verificata la presenza di client nel server, se non presenti viene eseguita la pulizia.
DOWNLOADS :
Manuale ITAManuale EN
Demo Mission
MOOSE Framework v2.7.14