chessmaster42 / curatorpresets Goto Github PK
View Code? Open in Web Editor NEWThis is an addon for Arma 3 that provides script presets in Zeus (aka Curator) mode in the Modules screen.
License: Other
This is an addon for Arma 3 that provides script presets in Zeus (aka Curator) mode in the Modules screen.
License: Other
Need a module to tell an AI group to hold and defend an area
Expected Result: Zeus should be able to disable/destroy individual components of vehicles, allowing for more dynamic gameplay scenarios.
As discussed ingame, it's sort of random which a helicopter will do first, when given an altitude change and a waypoint to move toward.
Also it may not react to altitude changes at all, when not given a WP.
This is specifically not meant to be a full inventory editor but rather an assortment of commands that can be run on a unit or group(!).
Some examples:
1.) "remove gear x" - don't want your players/AI to have maps or nightvision, but the default loadouts have them? use this. (I know, for players there are other ways to achieve this already [though this will be quicker]. The remove option will be most handy for AI; think of "no NV-goggles", "pistols only", "full AI squad but no AT" etc.)
2.) "fill up ammo" - especially when issue #13 "Force Fire" has been added, the default AI setups may prove lacking when it comes to ammo. This could detect the unit's primary weapon and drop some mags of the appropriate ammo type in its inventory (if there's room).
Low priority addon:
3.) a) removing or giving specific ammo types to vehicles - imagine the possibilities of having an enemy tank on the field, that doesn't have ammo for its machine guns and thus is not as huge a threat to infantry as it first seems but still destroys any allied vehicles that are in the area.
b) do we already have a way to spawn vehicles with empty inventory? If not, it should go in here.
Need to be able to set the animation of a unit and whether it plays just once or in a loop.
Need to increase dialog size as well as the # of lines in the drop-downs. Will try to double it from 4.5 to 9 and see how that does.
Need to have an optional selection in the waypoint handler dialog if the waypoint is on/in a building so that positions within the building can be selected.
Provide some sort of artificial target to force units to fire on a given location.
This is 3.) of #39 .
This was a tricky one to pinpoint but I think I know the exact circumstances now, so here goes.
When you place a unit in Zeus mode it automatically becomes the selected unit (seection frame etc.) and if you RClick afterwards the resulting MOVE waypoint is assigned to that unit too.
However, the WP handler does not seem to understand that spawning also means selecting what was spawned.
To reproduce, place a unit and then attempt to give it a special WP; the WP will be assigned to the previously selected unit (or will do nothing, if there is no previous selection).
If you deselect the unit in question and then select it again, the problem is fixed (the WP handler now knows that this unit is selected).
Need to research a way to pass in-game VOIP through a unit as well as the current text chat module. Might be more trouble than it's worth but need to look into it just the same.
Need to leave module instead of cleaning up when placed. This way we can potentially remove the need for the icon. Also need to sync the guard trigger to the module so that it can be removed, moved, or edited as needed.
Pretty simple (hopefully): Add a checkbox or similar to the WP handler that allows for the WP to be appended to the current list of tasks instead of replacing them.
Might well be that these settings can't be touched during a running scenario but you've suprised me more than once, so I'll log this for you to decide.
What I'm thinking of here, is a module that allows Zeus to toggle all the little gizmos one by one that are bundled in with the difficulty level; without touching any AI settings.
By helpers I'm thinking of the grenade indicator for underslung launchers, the personal 3d waypoint and similar.
This would aid in the quicker creation of paths consisting of multiple "simple" Move WPs.
Since you are able to heal/damage players or their vehicles directly. Would it be possible to get a module that allows player teleportation?
For example:
L - Toggles lights of vehicle selected
H - Hits horn of vehicle selected
Z - Drops unit prone
This sort of thing shouldn't be too hard to do.
As per title, roughly 20 - 25% of units spawned by the Garrison module seem to be officers.
For believability's sake that is a bit much already, but not that big of a deal.
In missions we often use COs as our primary/secondary objectives however, so it's probably advisable to remove officers from the module alltogether and leave it to Zeus to place them as needed by hand.
We got the server to where it checks which mods are present but apparently it doesn't notice that older files are mixed in by some players.
If it's feasable for you, it would be great if you could include a check that puts out a warning or ideally kicks the player in question.
Expected Result: VAS is placeable object, or addable to existing object with script.
STRs: N/A
The Unit Surrender module needs to apply to the whole group that unit is in. Very quick fix. Might need to add a config dialog pending some discussion on the forums.
I'd love to see an option to choose between ASOR or VAS when selecting a virtual loadout system on an item.
The way I imagine it might work:
a) Place an ammo box and edit its content through the normal Zeus editor for it.
b) Select the module out of the list and click on the box with it.
c) Enter a name for the "loadout" in the dialog, that pops up, to save it.
d) Place the module again, on free terrain, and select one of your previously saved loadouts (dropdown menu would be nice but entering the name again would also work)
Notes:
1.) Putting any work into this only really makes sense, if saved loadouts are persistent between missions (as they are in VAS).
2.) Where you save the loadouts is entirely up to you. If clientside makes the most sense, do it. With naming conventions even among programmers being what they are, noone really wants to go looking for their loadouts in a giant list of badly named somethings. If someone really, really wants to copy loadouts from someone else, person1 can place their crates, then let person2 into Zeus' seat to save them through the module.
Need to convert the list box elements over to the combo type.
As far as I can tell it's the same problem you noticed with adding CWS to AI units.
As of this post it has happened with the following modules (will update this issue when I find others):
EDIT: Guess this one is on Bohemia since it happens with the unit editor as well.
Need to find a way to change the onSetFocus handlers on UI elements to onLoad. Either that or I need to find a way to trigger the onSetFocus when the parent dialog is loaded.
Need to be able to select an action from a list for a unit and have the unit run the action.
All this module would do when dropped on a unit/group is have them freeze on the spot until Zeus chooses to unfreeze them again.
This includes the following:
a) Position - Wherever they are, that's where they stay.
b) Orders - This is the main purpose of this module. Pre-plan dozens of waypoints for a unit (during a lull in the mission or even before it starts, when you have lots of time) and unfreeze it with one click, when it's needed.
c) Stats - This mainly concerns airborne units and their fuel.
While frozen no vehicle should be using up fuel at all. This way you can park a helicopter mid-air and won't come back to it having crashed when you need it due to running out of fuel.
d) AI - While frozen we might as well disable all AI for the unit to conserve resources. The modules is meant to be used outside of the players' sight only.
e) Momentum - Again, cherry on the cake, might not be doable.
This is important for jets obviously but also benefits anything else that's supposed to move at some speed.
The point of this module is, that you can set complex maneuvers (e.g. ambushes, chases, attacks with multiple groups) prior to things getting hot and then time them perfectly to whatever is happening. Especially when players are motorized it can be a matter of seconds that enemy armor crests the hill not too early (they'd destroy the players) and not to late (players wouldn't even notice them).
Need to add new module for ordering units to disembark a vehicle. This should be configurable to choose between passengers and crew.
Logging Duff's suggestion, so it doesn't get lost.
The sliders in the Garrison module and Damage Component (that's the ones I remember of the top of my head) could greatly profit from having a value displayed for their slider position.
Maybe this can go hand in hand with some clarification, e.g. does a full slider in Damage component mean 100% damage or 100% health. In other words the unit you cram in there is just as important as the number in front of it.
Need to restrict visibility of the CWS icon to just curators.
Need to look into possibility of building custom spawn groups for things like custom convoys, specialty infantry squads, etc.
Need to be able to chat through units and choose which channel to send the message to.
Pending clearance from Tonic I hope to find a clean and modular way to integrate VAS (http://www.iamtonic.co/arma-3/scripts/virtual-ammobox-system-vas/) into a mod that can also be packed in alongside CPM.
Build a handler to intercept waypoint placement in Zeus so that we can display a config dialog upon placement.
Need a module to instruct helicopters to both land and hover
Both the disembark module and Zeus' own 'G'-key have the unsightly problem, that, when used, they throw out the selected units all at once in a big heap (looks ugly, doesn't give players the time to react to the threat and makes a giant floating target made of bodies).
For the module to have an edge over standard functionality I suggest looping the script unit by unit so you have them get out one by one in a semi-orderly fashion.
If things need to move fast the 'G'-key is still going to be the method of choice, but in the players' sight the module certainly becomes a viable option.
Need to find a way to use a hotkey for the waypoint handler. Zeus already uses Ctrl and Alt when placing a waypoint so I might be able to use Ctrl+Alt or maybe Shift. If not I can find another key.
Need to add module that is in the old Zeus category that does a forced re-initialization of CPM.
Need to have the custom categories re-rendered when the curator interface is toggled.
Need to dust off CWS (https://github.com/chessmaster42/cws_injury) and get it cleaned up so that I can create a mod version of it that can easily be packed in alongside CPM.
Technically this might qualify as a couple separate issues, but I don't want to flood the repo until 1.) and 3.) have been reproduced by someone else. I'm reasonably certain 2.) is a thing though.
1.) WPs placed via Ctrl + Shift + RClick do not appear consistently (tested with vehicles and Infantry; the problem appeared in about 50% of cases for both).
EDIT: Was unable to reproduce this just a couple minutes later. However, there always is a considerable delay between closing the special WP dialog and the WP appearing on screen (compared to a simple move WP). Might be that a lag spike can cause this delay to become long enough for the system to drop the WP entirely(?).
2.) Sometimes Ctrl + Shift + RClick places a standard move WP instead of calling up the special WP dialog. There don't seem to be any special circumstances causing or stopping it from happening.
3.) It appears that sometimes the WP dialog assigns the new WP not to the currently selected unit but one that was previously selected.
Better solution for chopper landing waypoints. Moved from here: DogsoftheState/dots_arma_modpack#8
This is pretty self explanatory and you might be able to reuse what you have in the Garrison script and are doing for "Improve Waypoint handler - Optional building position selection".
Basically this waypoint type would have the AI unit walking from one building position to the next, effectively searching the building for enemies (you'll probably want to auomatically set the AI to combat mode to achieve a realistic way of moving; no running and staying crouched etc.). This'll make "defend location X" and "hide from so and so" feasable in missions, as so far AI just mindlessly pounds its head against the building (literally), when there's enemies inside.
A couple things that'd make it even handier:
1.) Seeing your garrison module, I'm going to assume that it's the way to do it anyways, but I'll mention it nonetheless. Search by radius: When the waypoint is selected you choose a radius and the unit will search the positions inside that radius. That way you can have them search anything from one building to an entire village (might need a hard limit performance-wise, if there's too many positions?).
2.) Thoroughness of the search.
You could have another slider that sets the percentage of positions inside the radius the AI will choose at random to visit. It'd give Zeus a way to have AI do a quick and dirty sweep of a city (e.g. radius 300m, but only look at 20% of all positions).
This gives players a chance to be lucky and not be discovered during a search.
3.) Fire Team tactics
Unlike the two points above the following three are potentially a big time-sink in and off themselves, but they'd also be the cherry on the cake, so I'll line them out anyways. Some of these are extensive enough, we might want to split them off into different issues ... or discard them entirely
a) If the waypoint is given to a group (fireteam etc.) the units will divide up the building positions between themselves; so, if there are 40 building positions and there's 4 units in the fire team, each one of them will look at 10 by itself. The tricky thing with this is, that it would probably be smart to not randomly assign those waypoints but look at how they're spacially grouped together, so each unit may end up looking at all waypoints in one or two building and NOT one waypoint in every building in the entire village.
b) A vehicle given this order will obviously not go for building positions.
Instead it would complete this waypoint type, if the vehicle checked all the roads inside the given radius.
c) If a member of a group is taken out during 3.a) the rest of the group has to react to that and search the last known position of that group member. Zeus can easily do that manually of course, so definitely no priority here.
1.) Thoroughness of the search.
You could have another slider that sets the percentage of positions inside the radius the AI will choose at random to visit. It'd give Zeus a way to have AI do a quick and dirty sweep of a city (e.g. radius 300m, but only look at 20% of all positions).
This gives players a chance to be lucky and not be discovered during a search.
2.) If a member of a group is taken out during the rest of the group has to react to that and search the last known position of that group member. Zeus can easily do that manually of course, so definitely no priority here.
We've done a lot of talking about this already and that has made it clear how big of a task it is to create believable behaviour for non-combatants.
I've split the problem into two (for now) manageable chunks, the smaller one of which this suggestion describes.
Basically what this does is: replace the current fleeing mechanic (aka. headless chicken) with one of the following two responses to "shots fired in the vicinity".
1.) Civilian checks his surroundings for hiding spots (building positions), picks one (as close as possible), goes there and crouches or lies down. He then stays there until at least 15 minutes after the situation has cleared (maybe disable AI entirely for that time). Should be clear what existing code this utilizes. ;)
2.) In a certain amount of cases (maybe 20%) or if failing to detect a hiding spot in 1. (because there's no building closer than 100m meters for example) the Civilian will instead go prone and shut down until at least 15 minutes after the situation has cleared.
Bonus feature:
After 1. or 2. has been executed the Civilian automatically becomes a hostage, enabling players to evacuate Civis out of an area, if they choose to do so.
Need to be able to dynamically pull the list of factions so that factions from addons can be used.
As it is, some big buildings have few positions in them, while some smaller ones are practically full of them (sheds come to mind).
Result of that is, that some rusty shed has more defenders than a house or important installation.
I wonder, if, bit by bit, you could make some manual adjustments here and there for the more common building types, so they end up with a more logical distribution of units.
I realize this requires lots and lots of special case adjustments, but maybe it is something you want to lay the foundation for and then bit by bit play with the numbers, as we notice oddities during missions.
This is the 2. point from #39 .
Pretty easy to reproduce: Spawn a single infantry unit and try giving it a mix of MOVE and special waypoints.
Most of the time the dialog will appear no problem, but sometimes it won't, instead placing a MOVE WP.
It feels as though this happens more often when WPs are placed in rapid succession (1 every 2 seconds).
This is low priority as the nature of the WPs in the menu make it a rare occurence that you have to queue several of them.
Use on unit to call for them to fire manually at a given location with a specific round with a specific number of rounds.
While currently still quite practical for testing purposes, you might want to remove waypoints that are otherwise accessible out of the special WP dialog.
This should aid in the quicker finding of things in the dialog, especially if searchBuilding doesn't stay your only new addition.
To possibly be removed:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.