Jump to content

Action Group 'Wait' Command


Zlatkocam

Recommended Posts

Hey everyone, this is my first request. It's a very simple idea but would exponentially increase the diversity and functionality of action groups while maintaining simplicity. As of now, action groups and stages are the most effective methods of controlling a craft as simply as possible. The limitations so far i have experienced is that, the stages are linear and sequential (one by one, no reversing no alternatives except continue forward.) Action groups help make up the short coming of stages by allowing the user to freely fire any button they wish. This is extremely useful, though yet again there are some short comings (each button does 1 thing so it sometimes many buttons for a single task, there is no wait X seconds command.) My ideas are relatively simple and ill try and explain to the best of my knowledge

WAIT X Seconds

This is the simplest and most neccesary part of this idea. The wait command is used to make action group bindings pause or wait for a certain amount of time (several selectable seconds). You simply insert the command before an action, then the computer will pause for a few seconds before it executes the command. This is EXTREMELY useful, as it makes a single action group button almost as diverse as the stage button as it fires several commands one after another. For example an escape tower bound to the abort button at the moment either fires everything at once or it requires a second button (generally the stage button) to decouple and deploy the parachutes. With a wait command, it could fire everything with a single button.

Escape tower Abort with Wait command

Abort button
Fire Escape Rocket
Wait 3 seconds...
Decouple
Deploy Parachute

While this seems simple enough, we have gone from needing 2-3 buttons (abort and staging) to needing a single button. There are many many instances where a wait command would increase the diversity and simplicity of crafts while also reducing the amount of buttons needed to do these things.

WAIT FOR COMMAND

This part is a bit more complicated and much more enriching. The basic idea is to add sub groups into the action group bindings to give sequential staging (Mod + Custom01... repeat pressing for sequential staging of a part) and sub grouped action groups (hold Custom01 + Num 1 or Num 2 etc.. each combo subgroup functions the same as an action group)

Adding these subgroup combinations exponentially increases the diversity and functionality of the action groups. The player would be able to create either type of subgroup in an action group key bind which essentially waits for either (Mod + Custom0X) to sequentially stage a part or (Hold Custom0X + Numpad X) which works essentially the same as action groups but give much much more diversity.

Below is an example of an engine which would be quite simple to set up yet only uses 1 traditional action group.

[B]Custom01[/B]
Toggle Engine
[CODE][B]Mod + Custom01[/B]
Set Engine Power 33%
[B]Mod + Custom01[/B]
Set Engine Power 66%
[B]Mod + Custom01[/B]
Set Engine Power 100%[B]
Mod + Custom01[/B]
Set Engine Power 0%

[B]Hold Custom01 + Numpad 1[/B]
Toggle Gimble

[B]Hold Custom01 + Numpad 2[/B]
Toggle Mode

[B]Hold Custom01 + Numpad 0[/B]
Shutdown Engine
Wait 5
Decouple

If i were to press Custom01 it would toggle the engine and function exactly the same as the existing action group does right now

If I were to keep pressing Mod + Custom01 it would sequentially fire up the engine from 0% to 33% then 66% then 100%, one more time after that would set the engine to 0% (essentially reseting it) ending the script.

If I Hold Custom01 and press Numpad 1 I would toggle the gimble of my engine, this functions the same as existing action groups, but with much more diversity as the player has exponentially more freedom

If i Hold Custom01 and press Numpad 0 It would function like an action group with a WAIT command. First the engine will shut down, then 5 seconds later the engine will decouple from the craft.

Also the idea probably needs a way of resetting the sequential staging effect of Mod + Custom01. So instead of just always staging up from point to point without being able to reset the stage position, I think Ctrl + Mod + Custom01 should RESET the WAIT FOR script. This means that (following the example) if you are at 66% thrust pressing CTRL + MOD + Custom01 will reset the script meaning next time you press Mod + Custom01 it will put you on 33% INSTEAD of 100%.

OK Thanks for listening to my idea. I hope this reaches someone, I think it's a fairly simple and user friendly upgrade to action groups.

Thank you

Edited by Zlatkocam
Link to comment
Share on other sites

This isn't the same. You still need multiple action groups for a single abort mode. I like to have several abort modes throughout the flight, all set up using smart parts, but I need a lot of action groups for that. What OP suggests could turn my 5-6 abort groups into a single one or two to three at most. If, however, SmartParts could make use of Diazo's Action Groups Extended, then OP's (and my) needs would be fulfilled by existing mods.

Link to comment
Share on other sites

Interesting. I'm the AGX dev and this caught my eye as it got mentioned.

I have recently added one of the OP's requests in that AGX now gives you the ability to use modifier keys. So 1, Alt-1, Ctrl-1, and Ctrl-Alt-1 can now all activate different action groups. (Note that KSP considers Left and Right Ctrl two different keys so Right Ctrl is a valid key for this, although you can set which keys you want as modifier keys.)

AGX has no ability to stage or execute any sort of timed function, but the concept does intrigue me. I'll at least send Firov a message about it (he's the SmartParts maintainer) but I won't commit to anything at this point.

D.

Link to comment
Share on other sites

Thanks for noticing! I have just downloaded your mod Diazo, so I'll be testing it tonight.

Yeah timing sounds great, in theory if you have limitless action groups and play with you could have the keys rebind itself to the next 'stage' of an action group after its pressed. So you set it up in the GUI and put 'stage breaks' in which end the action group and rebind the key to the next 'stage' action group (which sits in the GUI though it were still part of the first action group), so you could keep pressing a single button to 'stage' an action group. The timer would be great to have too, it could just be firing different (unbound) action groups thru timers from the original key press (as it seems smart parts does already) The idea seems a bit choppy atm, though you could have staging thru a single keybind group(or automated even).

Also you could add a 'loop' break to the GUI, so when the 'staging' reaches the end of its cycle, it rebinds the key to the first part (first action group) of the script. That would make it even more useful than the current staging is :)

P.S. Couldn't help myself, had to play with it and suggest something :D

Edited by Zlatkocam
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...