-
Posts
55 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Everything posted by CakeSorbus
-
Enhanced Gamemaster Script: Zeus, but for DCS
CakeSorbus replied to CakeSorbus's topic in Mission Editor
@Hunter_5E You're right! Though DCS currently only has this type of naming scheme in the Open Beta. Won't be too long though (I hope) before this hits stable so I decided to address the issue right now. I added an option in the config section at the top of the "Gamemaster_Functions" script file. You can now change the symbol the script uses to recognize commands & parameters to any symbol or string you want. -
Enhanced Gamemaster Script: Zeus, but for DCS
CakeSorbus replied to CakeSorbus's topic in Mission Editor
Hi lahsoldier, and thanks for the feedback! My script looks for hyphens in the marker text to separate the commands and different parameters from each other. Thats probably why the -act and -s commands didn't work for your group of T-90 which you named "T-90". The script thinks that the "T" and the "90" are different parameters because they have a hyphen between them. Try changing the group name to "T90" or "T_90" and see if it works then. You can also enable the option DebugMode in the config section of the script. This will give you status messages ingame that return to you how the script interpreted your command input (The messages are in german though, I didn't translate them). Note that these messages are shown to every player in the mission. When developing the script I chose the hyphen as the separator for commands and parameters because it can be entered without using the shift key (i'm not capable of 10 finger typing, so i wanted to have a little more convenience). Maybe I will add an option to choose your own separator symbol in the config section of the script in a later release. -
Hi folks, I want to share with you a script that I wrote for my virtual squadron. It enhances the way that players in the gamemaster role, that has been introduced with Combined Arms, can influence a mission while it runs. My inspiration was the Zeus system that exists in ARMA III and I have managed to carry some of its functions over into DCS. By use of map markers as an input method players can perform the following actions while the mission is already up and running: Spawn any group included in your mission whereever you want, as often as you want Spawn copies of existing static units wherever you want Delete units Assign waypoints/orbits/escort tasks to the AI Turn the AI of units on and off Have planes land on specific airbases (sadly they currently cant be ordered to take off again) Have helos land at a map marker and take off again Load groups into cargo carriers (planes/helos/vehicles) and unload them again Toggle immortality/invisibility of groups Interact with players by shooting flares, placing smoke, sending messages, playing sounds and triggering explosions Set flag values Return coordinates of map markers in a format that can be copied and pasted Call external Lua functions and pass up to five arguments Create and delete markings (textfields, lines, arrows, circles, rectangles and polygons) on the F10 map Toggle TACAN beacons for capable units Create homing beacons (ADF/VHF/FM) and trigger radio transmissions Further features include: Access to commands can be restricted to certain coalitions or by a password system Configurable template file that contains (almost) every unit available in DCS and many pre-made groups for different scenarios Modular script structure that easily allows the addition of your own code There are some additional functions and features that are missing from this list. For complete documentation and a guide on how to use the script in missons, check out the attached manual. I have uploaded the script to the user files, you can download it here! The script creates it's own global table for all functions and variables. It should work fine in combination with other scripts such as CTLD and CSAR. Note that MOOSE is required as a prerequisite (included in the download). I want to take a moment here and thank everyone over at MOOSE for putting together the awesome framework, upon which more than half of the functions I wrote into my script rely. I have no programming background at all (I'm a forester, actually) so some bugs have to be expected. If you find something that doesn't work at all, or not as described in the documentation, I'd be thankful if you could post it as a reply to this thread. **Changelog** 2020/09/11 - Gamemaster_Functions v. 2.0.1 Added an option in the config section of the script, you can now change what symbol or string the script looks for when extracting commands and parameters from the marker text. 2020/10/18 - Gamemaster_Functions v. 2.1 New Commands: -ctldgr -> allows you to spawn CTLD infantry groups at the location of the map marker (contribution by fargo007) -ctldcr -> allows you to spawn CTLD crates at the location of the map marker (contribution by fargo007) -sta -> spawn a new static at the location of the map marker (needs a static of the same type to be placed somewhere on the map) -? -> returns unit name and group name of the object closest to the map marker Changes to existing commands: -s -> ground units spawned with the -cargo parameter will now be recognized by the CTLD script and can be loaded into cargo carriers through the radio menu options that CTLD provides. The option to load them with the -board command remains unaffected by this change -exp -> a delay before the explosion can now be set. -smoke -> a duration for the smoke to remain active can now be set General changes: Switched to v. 2.5.1 of MOOSE - moose.lua in the download archive has been updated 2020/10/18 - Gamemaster_Templates v. 1.0.1 Group template for sa11 medium strength was missing its 2nd launcher - fixed 2021/03/19 - Gamemaster_Templates v. 2.0 Complete refactoring, script now works with global variables Added config section at the top of the script file Rearranged templates into smaller sub-tables that can be flagged for loading individually in new config section of the script Added templates for newly added units since last script update 2021/05/02 - Gamemaster_Functions v. 2.2 Refactored script from local scale into a global table that contains all variables and functions Switched to v. 2.5.3 of MOOSE New config option GMFunc.PW allows you to set up a password that must be entered before each command New Commands: -fol - Order a group of aircraft to follow another, position in which to follow can be specified -coord - Returns the coordinates of the map marker used to send the command, in a new map marker -func - Calls an external Lua function, whose name is given as a parameter. Up to five arguments (string and numbers) can be passed to the called function. Changes to existing commands: -esc - Position the escort takes, relative to the escorted group, can now be specified 2021/06/15 - Gamemaster_Functions v. 2.3 Redesigned inner workings a bit, making the implementation of functions with a high parameter count easier Switched to v. 2.7.4 of MOOSE New config options related to the new draw commands New Commands: -drawtext - Draws a textbox on the F10 map. Text, font size, transparency and colors can be specified -drawline - Draws a line on the F10 map, transparency and color can be specified. Line can optionally be labelled with a textbox. -drawarrow - Draws an arrow on the F10 map, same options as for lines can be specified -drawcircle - Draws a circle on the F10 map. Colors and transparency can be specified, a label can optionally be assigned as well. -drawrect - Draws a rectangle on the F10 map. Same options as for circles can be specified. -drawpoly - Draws a polygon on the F10 map. Max. # of possible corners is 11 at this time. Specifiable options are the same as for the other shapes. -drawdel - Deletes all drawings and map markers within a specified radius around the command marker Changes to existing commands: -coord - Leading zeros in MGRS coordinates now get displayed properly 2021/06/15 - Gamemaster_Templates v. 2.1 Added templates for all units added with the 2.7.1 update 2021/07/25 - Gamemaster_Functions v. 2.4 New Commands: -actnavbcn - Orders a specified unit to turn on its TACAN beacon (if it has one) -remnavbcn - Orders a specified unit to turn its TACAN off -acthombcn - Allows you to create radio homing beacons (ADF/FM/VHF), either attached to a group or at the marker position -remhombcn - Orders a group to stop its radio transmission -list - Returns a list of all groups that exist in the mission, list can be filtered. Helpful to keep track of spawn templates in large missions Changes to existing commands: -s - ROE at spawn can now be specified (no more passive enemy fighters) -func - The command now passes the coordinates of the command marker on to the called function as an additional, 7th argument. Global variables can now be passed as arguments as well, provided they are not buried more than 3 layers deep in tables and subtables. General changes: The config section has been restructured for better useability **Known Bugs/Issues** None reported at this time. **Planned features/ToDo-List** Feedback system that returns status messages to the player that issued a command (this currently can't be implemented due to a DCS bug) Whitelist system that controls access to the gamemaster functions in multiplayer (currently not possible due to same DCS bug) Extend -actnavbcn to include ICLS as well Manual_Gamemaster_Eng.pdf
-
Hi folks, I found a bug in the scripting engine that isn't listed in Grimes List yet. It relates to the handling of the events S_EVENT_MARK ADDED (event.id 25) S_EVENT_MARK CHANGE (event.id 26) S_EVENT_MARK REMOVE (event.id 27) in the multiplayer environment. Here's the event page on Hoggit: https://wiki.hoggitworld.com/view/Category:Events I've noticed that the field event.initiator always get populated with the unit that the server host is currently sitting in, no matter which player actually created, changed or removed a mark. I have attached the test mission I have used to test this bug after I first stumbled upon it. In it I run a simple script that returns some fields of the event table as .outText. This bug is pretty annoying to me because i have written a script that provides Zeus-like functionality to DCS and uses map markers as its input method. Without a way to know who created a marker I have no way to effectively limit the access to the Zeus functions, or return status messages only to the player that sent a command. :( Testmission.miz
-
Some buddies of mine and i did some testing, trying to get multicrew to work in the Gazelle M and we have stumbled upon a method that allows us to reliably achieve a state where both players are correctly synced. It works very well for us and i'm curious if it will do so for other players as well. Here's what we do: 1. Both Players need to start with a fresh instance of DCS, if you did some previous flying you need to restart DCS before trying to use multicrew in the Gazelle. 2. Pilot joins first, but doesn't do anything in the cockpit yet! 3. Copilot joins after Pilot has arrived in the cockpit. Pilot confirms that he can no longer operate the radios, the NADIR and any of the controls on the left side of the cockpit. 4. Pilot begins the startup procedure (no particular order needed), and announces the turbine start. If the copilot can not hear the turbine spooling up he is not properly synced and wont be able to control the sight and the weapons. In that case BOTH players need to restart DCS and try again from scratch. 5. IF the copilot hears the turbine coming to life he is synced and multicrew should work correctly. The pilot completes his startup procedure and equips the missiles. 6. Once the pilot has completed the startup of the engine the copilot can start the alignment of the NADIR and configure his sight and weapons panel. Operating the sight as the copilot: In multicrew the copilot can't slew the sight with the normal slew control (both the button commands and the axis commands won't work). Instead he moves the sight with the cyclic controls (pitch and roll). He can't steer the helicopter. We often had a problem where the sight would slowly slew to the left by itself. We found that unbinding the cyclic control before entering the cockpit as copilot and then rebinding it once proper sync has been established fixes the issue. Other than the changed slew controls all other buttons should work just as they do in singeplayer.