Space Engineers

Space Engineers

739 ratings
Whip's Weapon Salvo Script
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
358.933 KB
4 Dec, 2017 @ 8:29pm
3 Jul, 2023 @ 12:51am
18 Change Notes ( view )

Subscribe to download
Whip's Weapon Salvo Script

In 1 collection by Whiplash141
Whip's Scripts
22 items
Description
Whip's Weapon Salvo Script


  Description
This script sequences the firing of groups of fixed weapons so that you can achieve a continuous rate of fire. Rather than fire all of your weapons at once, this code will delay the firing so that they fire rapidly one after another. This script works with vanilla weapons AND modded ones! This script also allows you to fire your weapons with the regular mouse input; the code will handle the sequencing for you!

This script is a upgrade to my old Weapon Sequencer. My old code only worked for one group of weapons, but this new code will work for as many weapon groups as you want!

The behavior of each Salvo Group can be customized through program arguments or custom data configuration!


  Features
  • Staggers the firing of weapons to create a continuous stream of destruction!
  • Weapons can be fired from the hotbar just like normal
  • Weapons can be fired in bursts of specified length!
  • Rate of fire can be customized
  • Simultaneous sequencing of multiple independent weapon groups
  • No timers needed for operation!
  • Weapons are sequenced alphabetically. This means that you can control the firing pattern by naming launchers alphabetically.
  • Works with vanilla and modded weapons (with customization)


  Instructions
  1. Place this script in a programmable block.
  2. Make block groups of your weapons with the name "Salvo Group <unique tag>" where <unique tag> is a unique word or phrase (Ex: Salvo Group 1)
    • Leading and trailing spaces do not matter
    • Letter case does not matter
    • NOTE: Salvo groups names can not have square bracket characters "[" or "]"!
  3. You can make as many salvo groups as you want! A single code can control them all!
  4. Fire your weapons normally, and the code will sequence them automatically!


  Arguments
Type in these arguments without quotes. Arguments are case insensitive. These arguments can be input manually to the program argument field, this program's Custom Data, through timers, or through sensors.

In the Custom Data, command lines can be seperated with semi-colons, or they can be seperated by new lines.

Basic Argument Syntax
"<Group name>" <command 1>

Advanced Argument Syntax
You can also execute several commands for the same group.
"<Group name>" <command 1> <command 2> ...

Available Commands
Command
Function
--rps <number>
Changes the rate of fire in rounds per second.

[Maximum RPS] = [Standard RPS] * [Number of sequenced weapons]

NOTE: The script will round this number, this is not a bug!
--rpm <number>
Changes the rate of fire in rounds per minute.

[Maximum RPM] = 60 * [Standard RPM] * [Number of sequenced weapons]

NOTE: The script will round this number, this is not a bug!
--ticks <integer>
Changes the rate of fire in ticks between shots (60 ticks = 1 sec)

NOTE: This should be a whole number
--burst <integer>
Fires a burst with the specified number of shots

NOTE: This should be a whole number
--default
The script will determine the maximum continuous rate of fire of the weapons (using the default fixed rocket rate of fire).
--fire_on
Toggles fire on only
--fire_off
Toggles fire off only
--fire_toggle
Toggles fire on/off

Examples

"Salvo Group 1" --fire_on
Toggles the weapon firing on and uses default rate of fire for "Salvo Group 1"

"Salvo Group 2" --default
Resets the default rate of fire for "Salvo Group 2"

"Salvo Group 3" --rpm 10 --fire_toggle
Sets the rate of fire to 10 rounds per minute and toggles weapon firing for "Salvo Group iLikeTurtles"


  Custom Data
You can also manually configure the default behavior of each Salvo Group individually within the Custom Data of the programmable block that is running this script.


  Author's Notes
If you are shooting and only one gun is working, try clicking middle mouse. If you accidentally clicked MMB before, the game will only let you fire one weapon of that type; clicking it again will turn that mode off. Why this "feature" even exists in the game is beyond me.

No this will not work with Weapon Core. Weapon Core guns need special, mod specific code to work properly and I will not add support for it.

No this wont work with AI turret blocks, and there is no way to make it. This will only work for fixed weapons.

I've been working on this for quite a while. This new script should bring with it a lot more versatility and better performance.

Hope y'all enjoy!

(Do not reupload without permission, not even to mod.io)

This works with the new railguns!
Popular Discussions View All (1)
44
21 Nov, 2022 @ 1:04pm
PINNED: Bug Reports
Whiplash141
405 Comments
Whiplash141  [author] 4 Jun @ 12:05pm 
So auto cannons that is expected because of how they work internally. They fire too fast and have a randomized spool-up time that prevents effective salvo fire. Assault cannons should work perfectly fine. I'm using several ships with salvo'd assault cannons currently.
wtdtd 4 Jun @ 5:47am 
@Whiplash141 I have tried both small grid Autocannons and Assault Cannons with similar results
For the first 2 seconds or so it will fire each gun once before it gets going and even then it isnt a nice smooth continuous barrage, it has a dead space in it.
It does this every time you pull the trigger.
Whiplash141  [author] 3 Jun @ 6:19pm 
@wtdtd: What weapon are you trying to fire
wtdtd 3 Jun @ 4:22pm 
How do i stop it from stuttering? for the first couple of shots it seems to reconfigure itself before going into full auto, and i seemingly can't get it to obey any arguments
pobblebonk 19 Feb @ 7:37pm 
Found a more clever way to cleanly toggle salvo script on/off and automatically turning the salvoed weapons back on with one button using an event controller, but still would be nice if it was native to the script to turn weapons on when desired with a command.
pobblebonk 16 Feb @ 8:11pm 
Hey, is there a command to toggle the salvo code? Right now if I want to turn off the salvo code, I have to set up a timer block to turn off the program and turn on all the weapons in my salvo because turning off the script doesn't turn all the salvo'ed weapons back on. Would be cool if it was a part of the script instead of having to timer block it.
Whiplash141  [author] 9 Dec, 2023 @ 9:26pm 
@Liquidghost: You could have 2 different salvo groups each with 2 cannons in it that operate in parallel

@Daedooloos: Right now you can only command a single group at a time with one argument
Liquighost 9 Dec, 2023 @ 8:46pm 
damb alright, thanks for answering
Daedooloos 9 Dec, 2023 @ 5:56pm 
if i want to have multiple sets of groups, how should i seperate the arguments?
does adding the " to the next group count as a new set?
Whiplash141  [author] 9 Dec, 2023 @ 4:09pm 
Not currently, no