Merge branch 'release-prep/0.5' into release
This commit is contained in:
commit
553ae0f735
8 changed files with 17453 additions and 2166 deletions
35
CHANGELOG.md
35
CHANGELOG.md
|
@ -1,3 +1,36 @@
|
|||
# v0.5 (2019-11-09)
|
||||
|
||||
## RatAttack v0.1
|
||||
|
||||
RatAttack is now a thing! :D
|
||||
|
||||
## SpanshAttack v2.0
|
||||
|
||||
* SpanshAttack will now disable EDDI’s speech responder by default. To get it
|
||||
back you will have to manually re-enable it after including
|
||||
`SpanshAttack.startup`. See docs for more info.
|
||||
* Fixed the target announcement when plotting. Will now properly use the plot
|
||||
target instead of the system that you have targeted at the moment of the
|
||||
announcement.
|
||||
* Requirements are now listed in the documentation.
|
||||
* Fixed auto jump on scooping. Now only queues a jump _once_ not once per
|
||||
“refuelled” event (fires every 5s)
|
||||
|
||||
## EliteDangerous v2.0.2
|
||||
|
||||
* Scanning a body will now tell you if it is in a fast orbit (less than 6h).
|
||||
* Fixed the `sentToX` commands to do a CTRL+A before pasting text. This will
|
||||
prevent garbled things to be send when you have already typed some text into
|
||||
the edit box.
|
||||
* Now automatically toggles FlightAssist off on takeoff/undock. Set
|
||||
`>FlightAssistOff` to false in `EliteDangerous.startup` to disable.
|
||||
* Added `[start;stop] [firing;mining]`. This command will start/stop hold down
|
||||
the primary fire button for you; in case of mining it will also deploy your
|
||||
cargo scoop.
|
||||
* Fixed the discovery scan event to only tell you about differences with EDSM
|
||||
when EDSM knows _fewer_ bodies (there are some issues with duplicate entries
|
||||
in EDSM, e.g. in Dromi)
|
||||
|
||||
# v0.4.1 (2019-10-14)
|
||||
|
||||
This is a bug fix release (as the version number indicates). Mainly for changes
|
||||
|
@ -45,7 +78,7 @@ yet, so you do not have to download the new archive.
|
|||
## SpanshAttack v1.2
|
||||
|
||||
* improved trip time announcements
|
||||
* trip time is now also wrote to the VoiceAttack log
|
||||
* trip time is now also written to the VoiceAttack log
|
||||
|
||||
## EliteDangerous v1.0
|
||||
|
||||
|
|
11
README.md
11
README.md
|
@ -16,7 +16,7 @@ Each of the profiles is documented in `/docs/`.
|
|||
* [SpanshAttack](docs/SpanshAttack.md): profile to plot and follow trips along
|
||||
the neutron highway using [spansh](https://spansh.co.uk/plotter).
|
||||
* [RatAttack](docs/RatAttack.md): profile for interactions with the Fuel Rats’
|
||||
IRC server. (Not a thing yet.)
|
||||
IRC server.
|
||||
* [SealAttack](docs/SealAttack.md): profile for interactions with the Hull
|
||||
Seals’ IRC server. (Not a thing yet.)
|
||||
|
||||
|
@ -24,10 +24,13 @@ Each of the profiles is documented in `/docs/`.
|
|||
|
||||
* [VoiceAttack](https://voiceattack.com): absolutely required (duh).
|
||||
* [bindED](https://forum.voiceattack.com/smf/index.php?topic=564.0): required
|
||||
for all profiles; makes anything involving hitting E:D key binds portable.
|
||||
for EliteDangerous and SpanshAttack; makes anything involving hitting E:D key
|
||||
binds portable.
|
||||
* [EDDI](https://github.com/EDCD/EDDI) installed as a VoiceAttack plugin:
|
||||
required for my personal profile and for SpanshAttack, optional for RatAttack
|
||||
and SealAttack.
|
||||
required for EliteDangerous and SpanshAttack, optional for RatAttack and
|
||||
SealAttack. If you are already running EDDI and want to keep the default
|
||||
speech responder active, you will need to re-enable it in your profile _after_
|
||||
running the `<profile>.startup` command.
|
||||
* [ED-NeutronRouter](https://github.com/sc-pulgan/ED-NeutronRouter): required
|
||||
for SpanshAttack.
|
||||
* [elite-scripts](https://github.com/alterNERDtive/elite-scripts): required for
|
||||
|
|
|
@ -286,6 +286,9 @@ Basically anything that is related to directly doing something with your ship.
|
|||
it, 1 to the others.
|
||||
* `rapid fire lights`: Flashes your lights 5 times in a row.
|
||||
* `retract [all;everything]`: Retracts, well, everything.
|
||||
* `[start;stop] [firing;mining]`: Starts/stops holding down primary fire. Mostly
|
||||
useful when mining. When triggered with “mining”, also deploys the cargo
|
||||
scoop.
|
||||
* `[super;] cruise [when ready;]`: Retracts everything, then jupms to SC. If
|
||||
given “when ready” will wait for mass lock to clear and your FSD to cool down
|
||||
first.
|
||||
|
@ -353,6 +356,8 @@ if you have included EliteDangerous.
|
|||
* `>enableR2Rannouncements` (boolean): whether to announce planets worth mapping
|
||||
when jumping into a known system. This is useful for doing some R2R on the
|
||||
side. Default: false.
|
||||
* `>flightAssistOff` (boolean): whether to automatically toggle FlightAssist off
|
||||
on liftoff. Default: true.
|
||||
* `>targetSubsystem` (string): the default target subsystem. Unused. Default:
|
||||
“drive”.
|
||||
* `python.ScriptPath` (string): the path you have placed the compiled python
|
||||
|
|
|
@ -0,0 +1,253 @@
|
|||
# RatAttack #
|
||||
|
||||
This profile facilitates [Fuel Ratting](https://www.fuelrats.com). It aims to
|
||||
eliminate as much of the required manual task and attention switching as
|
||||
possible via automation and voice commands.
|
||||
|
||||
If you don’t know what the Fuel Rats are, come hang out and ask :)
|
||||
|
||||
## Requirements ##
|
||||
|
||||
Only vanilla VoiceAttack is absolutely required to use this profile. Optionally
|
||||
you can install EDDI and my elite scripts for advanced features.
|
||||
|
||||
* [EDDI](https://github.com/EDCD/EDDI) installed as a VoiceAttack plugin: This
|
||||
will give you a better (IMO) way of using TTS. Be sure to set
|
||||
`RatAttack.useEddiForVoice`. It will also enable you to have ingame chat be
|
||||
transferred to IRC; see below.
|
||||
* [elite-scripts](https://github.com/alterNERDtive/elite-scripts): Using the
|
||||
Python scripts will give RatAttack a way to be aware of where your CMDRs are
|
||||
and give you the nearest one to a rat case. That’s only really needed if you
|
||||
actually _have_ multiple CMDRs, obviously. Just download the zip file from the
|
||||
release page and extract into your VoiceAttack directory.
|
||||
|
||||
### EDDI speech responder ###
|
||||
|
||||
For the convenience of people that have not been using EDDI in the past,
|
||||
RatAttack will deactivate the speech responder automatically to not clutter them
|
||||
with unwanted TTS.
|
||||
|
||||
If you are already an EDDI user and want to keep the default speech responder
|
||||
functionality, you will have to run the `enablespeechresponder` plugin function
|
||||
of the EDDI plugin from your profile’s startup command _after_ the
|
||||
`RatAttack.startup` command invocation.
|
||||
|
||||
In order to do that, choose “Other” → “Advanced” → “Execute an External Plugin
|
||||
Function”, choose the EDDI plugin and set the “Plugin Context” to
|
||||
“enablespeechresponder”.
|
||||
|
||||
## Settings ##
|
||||
|
||||
There are a lot of preferences you can set, including some you really want to
|
||||
concern yourself with before you start using the profile. Some of the more
|
||||
advanced features heavily rely on you giving it the correct things to work with.
|
||||
|
||||
See the [Configuration Variables](#Configuration-Variables) section.
|
||||
|
||||
## Including the Profile ##
|
||||
|
||||
When including the profile, be sure to
|
||||
|
||||
* Run the startup command. You will need to have a startup command in your
|
||||
profile (= one that is run on profile loading) and call `RatAttack.startup`
|
||||
from that one.
|
||||
* Set configuration options. In the same startup command of yours, overwrite all
|
||||
configuration variables you want changed; _after_ the `RatAttack.startup`
|
||||
call. See [below](#Configuration-Variables).
|
||||
* Make sure all EDDI events that RatAttack needs are correctly handled. For all
|
||||
events used in RatAttack that you already have handlers for in your profile,
|
||||
you’ll have to include a call to `RatAttack.<event name>`. E.g. for “EDDI
|
||||
Message sent”, call `RatAttack.EDDI Message sent` by name from your `((EDDI
|
||||
Message sent))` command.
|
||||
|
||||
## Usage ##
|
||||
|
||||
### Going On/Off Duty ###
|
||||
|
||||
When you are on duty, RatAttack will automatically announce cases coming in
|
||||
through IRC. When off duty, it won’t.
|
||||
|
||||
* `[enable;disable] rat duty`: puts you on/off duty.
|
||||
|
||||
### Handling a Case ###
|
||||
|
||||
#### Getting Case Data From IRC ####
|
||||
|
||||
Currently there is one singular way of getting case info from IRC into
|
||||
VoiceAttack: having your IRC client put the ratsignal into the clipboard, then
|
||||
having it run the `RatAttack.getInfoFromRatsignal` command.
|
||||
|
||||
This has two purposes:
|
||||
|
||||
1. announcing a new incoming case
|
||||
1. storing case data and making it available to VoiceAttack, e.g. for copying
|
||||
the case’s system into the clipboard
|
||||
|
||||
In my case I am running AdiIRC and have the following script setup for handling
|
||||
this:
|
||||
|
||||
```
|
||||
on *:TEXT:RATSIGNAL - CMDR*(??_SIGNAL):#fuelrats:{
|
||||
var %clip = $cb(-1)
|
||||
/clipboard $1-
|
||||
/run -h "D:\tools\VoiceAttack\VoiceAttack.exe" -nofocus -command "RatAttack.getInfoFromRatSignal"
|
||||
/sleep 2 /clipboard %clip
|
||||
}
|
||||
```
|
||||
|
||||
This does the following things:
|
||||
|
||||
1. listen for a line starting with “RATSIGNAL - CMDR” and ending with
|
||||
“(??\_SIGNAL)” (`?` being any character); that will catch an incoming signal
|
||||
with basically no false positives
|
||||
1. temporarily save the current clipboard
|
||||
1. copy the entire line to the clipboard
|
||||
1. run VoiceAttack (should already be open) with the
|
||||
`RatAttack.getInfoFromRatsignal` command that will parse the signal and store
|
||||
case information
|
||||
1. wait for 2s to make sure the command had time to grab the clipboard, then
|
||||
restore the old clipboard
|
||||
|
||||
If you don’t know how to do the same thing for your IRC client or it doesn’t
|
||||
support copying the control characters in the ratsignal that the profile uses to
|
||||
split the information, either switch to AdiIRC or bribe me to include some other
|
||||
way to get case data into VoiceAttack.
|
||||
|
||||
#### Internal Case List ####
|
||||
|
||||
If you have your IRC client setup properly, VoiceAttack will hold a list with
|
||||
all rat cases that have come in while you had it running. It will save the case
|
||||
number, CMDR name, system, O₂ status and platform. There are several commands
|
||||
you can run on this list, giving it a case number:
|
||||
|
||||
* `rat case number [0..19] details`: Will give you all stored info on a case.
|
||||
* `[current;rat] case details`: Will give you all stored info on the currently
|
||||
open case.
|
||||
* `nearest commander to rat case number [0..19]`: Will give you the nearest of
|
||||
your CMDRs with their distance to a case’s system. Requires some setup and the
|
||||
use of my `elite-scripts` Python scripts.
|
||||
* `nearest commander to [the;] rat case`: Will give you the nearest of your
|
||||
CMDRs with their distance to the current case’s system. Requires some setup
|
||||
and the use of my `elite-scripts` Python scripts.
|
||||
|
||||
#### Opening a Case ####
|
||||
|
||||
* `open rat case number [0..19]`: Opens rat case with the given number. If there
|
||||
is no case data for that case (e.g. because you don’t have your IRC client set
|
||||
up properly), it will still open it, just not have any data on it.
|
||||
* `open [latest;] rat case`: Opens the latest rat case that has come in through
|
||||
IRC. Will probably error out in creative ways if you don’t have your IRC
|
||||
client set up properly. Too tired right now to have proper error handling so
|
||||
just open an issue if you run into problems (it’s 7am, I haven’t slept and
|
||||
want to finish this doc to get the release out (yes, you are allowed to laugh
|
||||
at this section)).
|
||||
|
||||
#### Closing a Case ####
|
||||
|
||||
* `[close;clear] rat case`: Closes the currently open rat case.
|
||||
|
||||
### Making Calls ###
|
||||
|
||||
There are a bunch of calls you can make for a case, the most common are modelled
|
||||
through VoiceAttack commands. The descriptive commands (e.g. “system confirmed”)
|
||||
will be shortened to the usual IRC short hands (e.g. “sysconf”). If you need
|
||||
something more unusual you can either still manually type it into your IRC
|
||||
client or use the “General IRC Integration”, see below.
|
||||
|
||||
* `call [1..20] jumps [and login;and takeoff]`: Calls jump for the currently
|
||||
open case. You can optionally include that you will still have to login to the
|
||||
game or have to take off from your current station/port/outpost/planet.
|
||||
* `call friend [positive;negative] [in pg;in private group;in solo;in main
|
||||
meu;sysconf;system confirmed]`: Friend request confirmations, with all the
|
||||
things you might want to / should call with it.
|
||||
* `call [beacon;fuel;instance;pos;position;prep;sys;system;wing]
|
||||
[positive;negative]`: All the stuff you usually need for ratting after you
|
||||
have received the friend request.
|
||||
* `call client in [exclusion zone;main menu;open;open sysconf;pg;private
|
||||
group;solo;super cruise]`: Callouts for all the various things a client could
|
||||
get themselves into.
|
||||
* `call [client destroyed;sysconf;system confirmed]`: This is the command you
|
||||
don’t want to use. Include sysconf in your “friend+” or “in open” calls, and
|
||||
make sure you will never have to call “client destroyed”, would you?
|
||||
|
||||
### General IRC Interaction ###
|
||||
|
||||
(requires EDDI)
|
||||
|
||||
Using EDDI to read the game’s journal, you can send messages to IRC from Elite’s
|
||||
ingame chat.
|
||||
|
||||
**Be aware that the chat message will still appear in the ingame chat channel
|
||||
you send it to!**
|
||||
|
||||
I recommend using local chat and limiting the use to instances that will
|
||||
probably not have other players in it (e.g. instanced in normal space with the
|
||||
client or in SC in some remote system out in the black on a long range rescue).
|
||||
|
||||
* #fuelrats: Use “.fr \<message\>” to have VoiceAttack send “#\<caseNumber\>
|
||||
\<message\>” to the #fuelrats channel – or yell at you when you are not on
|
||||
a case.
|
||||
* #ratchat: Use “.rc \<message\>” to have VoiceAttack send “\<message\>” to
|
||||
#ratchat.
|
||||
|
||||
These commands send their text to windows with “#fuelrats” and “#ratchat” in
|
||||
their title, respectively. If your IRC client does not do that, you will have to
|
||||
change the “target” window of the `RatAttack.sendToFuelrats` and
|
||||
`RatAttack.sendToRatchat` commands to reflect the actual window titles on your
|
||||
system. I will look into making this more elegant to change in the future.
|
||||
|
||||
## Exposed Variables ##
|
||||
|
||||
The following Variables are _global_ and thus readable (and writeable! Please
|
||||
don’t unless it’s a config variable …) from other profiles.
|
||||
|
||||
### Configuration Variables ###
|
||||
|
||||
These are set in `RatAttack.startup` and can be overridden from your profile if
|
||||
you have included RatAttack.
|
||||
|
||||
* `Elite.pasteKey` (string): the key used for pasting into Elite. On QWERTY this
|
||||
is `v`. Default: `v`.
|
||||
* `RatAttack.confirmCalls` (boolean): whether VoiceAttack should ask you before
|
||||
posting to #fuelrats to make sure there hasn’t been an error in voice
|
||||
recognition and you accidentally post the wrong thing. Default: true.
|
||||
* `RatAttack.onDuty` (boolean): whether or not you are currently on rat duty.
|
||||
Default: true.
|
||||
* `RatAttack.platforms` (string): the platforms you want to be informed of
|
||||
incoming cases for. If you are on console, you can still have VoiceAttack
|
||||
running on the PC that you are using for IRC and handle calls and stuff using
|
||||
voice! Delimited by whatever you want. Can include “PC”, “XB”, “PS4”.
|
||||
Default: “PC”.
|
||||
* `RatAttack.platformAnnouncements` (boolean): whether or not to announce the
|
||||
case’s platform by default. Useful to set if you are active on more than one
|
||||
platform. Even with this off, you will still be warned when you open a case
|
||||
that is _not_ on one of your platforms. Default: false.
|
||||
* `RatAttack.useEddiForVoice` (boolean): whether to use the EDDI plugin to
|
||||
handle text-to-speech over VoiceAttacks built-in speech function. Default:
|
||||
false.
|
||||
* `RatAttack.announceNearestCMDR` (boolean): whether or not to automatically
|
||||
announce your nearest CMDR to a case. Requires the `elite-scripts` Python
|
||||
scripts. Will probably break in creative ways if you don’t have them and turn
|
||||
it on anyway. Default: false.
|
||||
* `RatAttack.CMDRs` (string): list of your CMDR names, delimited by spaces. If
|
||||
your names include spaces, you will have to put them in quotes. Default: “"J
|
||||
Jora Jameson" NameWithNoSpace”.
|
||||
* `python.scriptPath` (string): the path you put the Python scripts in. Default:
|
||||
“{VA_DIR}\scripts”.
|
||||
|
||||
### Other Variables ###
|
||||
|
||||
Current case data:
|
||||
|
||||
* `RatAttack.caseNumber` (int): the number of the case you are currently on.
|
||||
Will be `Not Set` if you are not on a case.
|
||||
* `RatAttack.onCase` (boolean): whether or not you are currently on a case.
|
||||
|
||||
Case list:
|
||||
|
||||
* `RatAttack.caseList.<case#>.cmdr` (string)
|
||||
* `RatAttack.caseList.<case#>.system` (string)
|
||||
* `RatAttack.caseList.<case#>.platform` (string)
|
||||
* `RatAttack.caseList.<case#>.codeRed` (boolean)
|
||||
|
||||
… with `<case#>` being a number between 0 and 19.
|
|
@ -6,6 +6,35 @@ neutron jumps using [spansh](https://spansh.co.uk/plotter). It fully does
|
|||
everything you need from within the game and VoiceAttack, you won’t have to
|
||||
visit the site at any point.
|
||||
|
||||
## Requirements ##
|
||||
|
||||
In addition to VoiceAttack, you will need the following plugins to use this
|
||||
profile:
|
||||
|
||||
* [bindED](https://forum.voiceattack.com/smf/index.php?topic=564.0): required
|
||||
for EliteDangerous and SpanshAttack; makes anything involving hitting E:D key
|
||||
binds portable.
|
||||
* [EDDI](https://github.com/EDCD/EDDI) installed as a VoiceAttack plugin:
|
||||
required for EliteDangerous and SpanshAttack, optional for RatAttack and
|
||||
SealAttack.
|
||||
* [ED-NeutronRouter](https://github.com/sc-pulgan/ED-NeutronRouter): required
|
||||
for SpanshAttack.
|
||||
|
||||
### EDDI speech responder ###
|
||||
|
||||
For the convenience of people that have not been using EDDI in the past,
|
||||
SpanshAttack will deactivate the speech responder automatically to not clutter
|
||||
them with unwanted TTS.
|
||||
|
||||
If you are already an EDDI user and want to keep the default speech responder
|
||||
functionality, you will have to run the `enablespeechresponder` plugin function
|
||||
of the EDDI plugin from your profile’s startup command _after_ the
|
||||
`SpanshAttack.startup` command invocation.
|
||||
|
||||
In order to do that, choose “Other” → “Advanced” → “Execute an External Plugin
|
||||
Function”, choose the EDDI plugin and set the “Plugin Context” to
|
||||
“enablespeechresponder”.
|
||||
|
||||
## Settings ##
|
||||
|
||||
Because Elite’s keyboard handling is … weird you’ll have to set the key to use
|
||||
|
@ -40,7 +69,7 @@ When including the profile, be sure to
|
|||
configuration variables you want changed; _after_ the `SpanshAttack.startup`
|
||||
call. See [below](#Configuration-Variables).
|
||||
* Make sure all EDDI events that SpanshAttack needs are correctly handled. For
|
||||
all events used in Spanshattack that you already have handlers for in your
|
||||
all events used in SpanshAttack that you already have handlers for in your
|
||||
profile, you’ll have to include a call to `SpanshAttack.<event name>`. E.g.
|
||||
for “EDDI Jumped”, call `SpanshAttack.EDDI Jumped` by name from your `((EDDI
|
||||
Jumped))` command.
|
||||
|
@ -121,17 +150,17 @@ your trip turned off. This way you can get the time you’ve been jumping with t
|
|||
### Helper Functions ###
|
||||
|
||||
The profile contains a lot of helper functions that get called by the
|
||||
aforementionde commands. Have a look around, maybe learn something about
|
||||
aforementioned commands. Have a look around, maybe learn something about
|
||||
VoiceAttack :)
|
||||
|
||||
## Exposed Variables ##
|
||||
|
||||
The following Variables are _global_ and thus readable (and writeable! please
|
||||
The following Variables are _global_ and thus readable (and writeable! Please
|
||||
don’t unless it’s a config variable …) from other profiles:
|
||||
|
||||
### Configuration Variables ###
|
||||
|
||||
These are set in `SpanshAttack.startup` and can be overriden from your profile
|
||||
These are set in `SpanshAttack.startup` and can be overridden from your profile
|
||||
if you have included SpanshAttack.
|
||||
|
||||
* `Elite.pasteKey` (string): the key used for pasting into Elite. On QWERTY this
|
||||
|
@ -148,8 +177,8 @@ if you have included SpanshAttack.
|
|||
after fuel scooping (and moving out of scoop range). Default: true.
|
||||
* `SpanshAttack.autoPlot` (boolean): whether to automatically plot to the next
|
||||
waypoint on supercharging. Default: true.
|
||||
* `SpanshAttack.clearOnShutdown` (boolean): whether or not to automtically clear
|
||||
an active neutron route on Elite client shutdown. Default: true.
|
||||
* `SpanshAttack.clearOnShutdown` (boolean): whether or not to automatically
|
||||
clear an active neutron route on Elite client shutdown. Default: true.
|
||||
* `SpanshAttack.copyWaypointToClipboard` (boolean): whether to copy the next
|
||||
waypoint into the Windows clipboard for use in other programs. Default: false.
|
||||
* `SpanshAttack.useEddiForVoice` (boolean): whether to use EDDI over VA’s
|
||||
|
|
File diff suppressed because it is too large
Load diff
13690
profiles/RatAttack-Profile.vap
Executable file
13690
profiles/RatAttack-Profile.vap
Executable file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue