VoiceAttack v1.8.9 64-bit (non-Steam) on Windows 10 21H1
I'm currently working on a profile for Final Fantasy XIV Online, where I need to have the profile remember which class/job my character has when starting up. I use a separate profile per class, which inherit commands from the main profile for non-class actions. I wanted to use a saved variable on a 'data' profile that would serve to set my class to the one saved from my last class switch, but I ran into a rather frustrating issue:
The saved variable only saves to disk when VoiceAttack is closed with that data profile active. For example, I save Dark Knight as my class during testing, close VoiceAttack on that profile, and then reload. It works fine; however, I then saved it to Paladin, switched to the Paladin class profile, and upon exiting and relaunching VoiceAttack, it says the value is Dark Knight. This obviously presents a major issue, and I've tested it with my Minecraft profile as well. I save what weapon I use to a variable to recall on reload, but if I exit VoiceAttack on a different profile, it only remembers the saved value from prior to setting it, not the one I just saved. Surely I don't need to be careful about which profile I exit on, right?
Command Structure:
(Game - FINAL FANTASY XIV Online) : Set Class to Dark Knight -> (Game - FINAL FANTASY XIV Online | Class Database) : Startup Command -> (Game - FINAL FANTASY XIV Online | Dark Knight)
From class switch command:
Set text [currentClass] to 'Game - FINAL FANTASY XIV Online | Paladin'
Switch to profile, 'Game - FINAL FANTASY XIV Online | Class Database'
From startup on Class Database profile:
#Startup to pull saved class data and swap to class profile.
Begin Integer Compare : [FFXIV.isStartup] Equals 1
Set text [savedClass] to [Saved Value]
Set integer [FFXIV.isStartup] value to 0
#When switching classes, record to saved value.
Else
Set text [savedClass] to [currentClass] (save value to profile)
End Condition
Switch to profile, '{TXT:savedClass}' (by name)
The reason I have it set up this way with an 'interchange' profile is because I know that variables can only be saved per profile and not globally. For instance, if I cut out the Class Database profile and just use the main profile, the inherited commands that use 'save to profile' would save it to my class profile rather than the main one, which would cause each class profile to have a different idea of what the saved class actually is.
The VoiceAttack software has helped me immensely in using my computer with my RSI disability in both hands. Any help would be greatly appreciated!