Author Topic: Using One Command To Make A Selection (Arma 3, Editing Speakeasy Profile)  (Read 9042 times)

E_bag17

  • Guest
So, this is a bit hard to explain so I'll try to do it the best I can.

So, I am trying to edit an Arma 3 profile, by Woofer, which is Speakeasy. The thing I mostly want to do, as of right now is make it quicker to tell units when to crouch, hold fire, and so on. There is a long delay for when I can issue these commands which end up something like: "1" *VA Recognizes and issues command* "Hold Fire" *VA Recognizes and issues command*. So, I have to wait a second between 1 and Hold Fire. I want it to be 1 Hold Fire, then it issues the command... Of course I have already done that. However!! There are 19 others I have to do this for, and there are more than just Hold Fire. There is Open Fire, Crouch, Engage, Target, and so on.

What I do know...

For one command I select between 2-20, which I know how to do [2...20].


What I don't know...

I want Voice Attack to know I selected a certain unit when I say a number between 2 and 20.

Then, in game to recognize which number unit I want (When I said the number between 2 and 20) and select it.

So, for One Command. I say a certain unit number between 2 and 20, then Voice Attack will recognize I said 2, or 3, or 4, and so on.

Then, it will go through a list of units and depending on what number it will recognize that number, select the unit in game and initiate the command, in this case, Hold Fire.

I mostly had to dumb it down for myself, but if it's still not clear I have a picture of what I mean...

Anyway, hopefully I made sense and I'll be grateful for the help.

iceblast

  • Sr. Member
  • ****
  • Posts: 372
SemlerPDX reminded me of something. I was making this to hard, so I edited my post.

Then I realized, I was missing something and edited this again. haha

This could be the way for you to do this.

[2..20] [Hold Fire;Crouch;There is Open Fire;Engage;Target] if you want to add more, just add another ;Word Would look like this then [2..20] [Hold Fire;Crouch;There is Open Fire;Engage;Target;Word]

Then you have to Add another Condition block for the new word command you Added. You'll understand when you see the profile.

Code: [Select]
Set Text [Count] to '{CMDSEGMENT:0}'
Set Text [Key] to '{CMDSEGMENT:1}'
Begin Text Compare : [Key] Equals 'Hold Fire'
    Press and release Left Alt+1 keys
    Pause 0.3 seconds
    Press and release variable key(s) [Count]
End Condition
Begin Text Compare : [Key] Equals 'Crouch'
    Press and release Left Alt+2 keys
    Pause 0.3 seconds
    Press and release variable key(s) [Count]
End Condition
Begin Text Compare : [Key] Equals 'There is Open Fire'
    Press and release Left Alt+3 keys
    Pause 0.3 seconds
    Press and release variable key(s) [Count]
End Condition
Begin Text Compare : [Key] Equals 'Engage'
    Press and release Left Alt+4 keys
    Pause 0.3 seconds
    Press and release variable key(s) [Count]
End Condition
Begin Text Compare : [Key] Equals 'Target'
    Press and release Left Alt+5 keys
    Pause 0.3 seconds
    Press and release variable key(s) [Count]
End Condition

Let's say you say, 5 Hold Fire or 5 Crouch, and so on.

It will trigger the key for the command your trying to run in game, then type the number you said.

I'm using ALT+1 as an example.

So, you say, 5 Hold Fire

The command will hit ALT+1 then type 5

Now, I don't know exactly how your using this, but this I believe will give you some ideas on how to do it to suit your needs. :)


« Last Edit: May 02, 2018, 01:24:24 AM by iceblast »

SemlerPDX

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 280
  • Upstanding Lunatic
    • My AVCS Homepage
This does get into some advanced commands (though not difficult to create, especially as an alternative to huge lists of "if/then/else" compare conditions), but very simply put, you can use keypress variables and the command segment token to address what you say all in one command, and press the correct keyboard key depending on what you said.  For the example, I show a multi-command on the second part as well, to show how you can have more than "hold fire" in this command.

To start, you would make some variable keypress text variables first if they don't already exist in your profile for that game - otherwise you would use the exact wording of the command so you can pass what you say to the Speakeasy Profile system and get the correct key.  Information on this can be found in the manual starting on page 29, 6 - Variable Keypress (Advanced).

It is helpful to have a seperate command that contains all of your variable keypress text variables so you can easily adjust them later or share them with others who may want to edit a profile to match their custom keyboard configuration in a game, but again, this gets into the Advanced zone and you can get by with doing this in a single command if you want.

Info on tokens can be found starting on page 121 of the manual, and specifically page 123, for{CMDSEGMENT:segment} usage.  Basically, from left to right, your spoken command is seen in segments starting from 0.  The numbers [2..20] would be segment 0 and the word(s) Hold Fire are segment 1.  We use the syntax {CMDSEGMENT:0} in a field that accepts tokens, and it's translated to text for use in more advanced features like this. 

Always be careful with syntax ("spelling" with symbols) it must be exact - there are only 2 periods between numbers in a number range [2..20] and I know your picture may have just been an example, but with 3 periods [2...20] it would throw an error in my example command.
"Key press by variable [KeypressVariable_Not set] not set.  No keys pressed."

Best of luck!
« Last Edit: May 02, 2018, 09:59:00 PM by SemlerPDX »

E_bag17

  • Guest
SemlerPDX reminded me of something. I was making this to hard, so I edited my post.

Then I realized, I was missing something and edited this again. haha

This could be the way for you to do this.

[2..20] [Hold Fire;Crouch;There is Open Fire;Engage;Target] if you want to add more, just add another ;Word Would look like this then [2..20] [Hold Fire;Crouch;There is Open Fire;Engage;Target;Word]

Then you have to Add another Condition block for the new word command you Added. You'll understand when you see the profile.

Code: [Select]
Set Text [Count] to '{CMDSEGMENT:0}'
Set Text [Key] to '{CMDSEGMENT:1}'
Begin Text Compare : [Key] Equals 'Hold Fire'
    Press and release Left Alt+1 keys
    Pause 0.3 seconds
    Press and release variable key(s) [Count]
End Condition
Begin Text Compare : [Key] Equals 'Crouch'
    Press and release Left Alt+2 keys
    Pause 0.3 seconds
    Press and release variable key(s) [Count]
End Condition
Begin Text Compare : [Key] Equals 'There is Open Fire'
    Press and release Left Alt+3 keys
    Pause 0.3 seconds
    Press and release variable key(s) [Count]
End Condition
Begin Text Compare : [Key] Equals 'Engage'
    Press and release Left Alt+4 keys
    Pause 0.3 seconds
    Press and release variable key(s) [Count]
End Condition
Begin Text Compare : [Key] Equals 'Target'
    Press and release Left Alt+5 keys
    Pause 0.3 seconds
    Press and release variable key(s) [Count]
End Condition

Let's say you say, 5 Hold Fire or 5 Crouch, and so on.

It will trigger the key for the command your trying to run in game, then type the number you said.

I'm using ALT+1 as an example.

So, you say, 5 Hold Fire

The command will hit ALT+1 then type 5

Now, I don't know exactly how your using this, but this I believe will give you some ideas on how to do it to suit your needs. :)



It works, but there are two problems. One, I need to call the unit number first, then make the command to hold fire and stuff. Second, I'm using the F1-F12 keys to select units, not the number keys on top

iceblast

  • Sr. Member
  • ****
  • Posts: 372
>>One, I need to call the unit number first, then make the command to hold fire and stuff.

That is done when you say the command, 5 Hold Fire

>>Second, I'm using the F1-F12 keys to select units, not the number keys on top

From what I understand, you have everything you need. Just change the order it's done, and what Key is used.

Example

Code: [Select]
Begin Text Compare : [Key] Equals 'Hold Fire'
    Press and release Left Alt+1 keys
    Pause 0.3 seconds
    Press and release variable key(s) [Count]
End Condition

To

Code: [Select]
Begin Text Compare : [Key] Equals 'Hold Fire'
    Press and release variable key(s) [Count]         Example Count =  (Unit called, 5)
    Pause 0.3 seconds
    Press and release F1 key
End Condition

Did you download the Profile I attached before, and import the command in? It's all in there, just move the pieces around and adjust it to your needs. It's pretty straight forward.

I hope that helped, but if I'm misunderstanding something, try to be more detailed in exactly what you are trying to do. What are the exact actions you are taking when you are selecting units, and so on.


iceblast

  • Sr. Member
  • ****
  • Posts: 372
Hmm, I was rereading what you said.

You're not saying when you're saying, 5 Hold Fire, the 5 is suppose to be a F5 key are you???

I ruled that out, because you were saying [2..20], because there are only 12 F keys available on the avg keyboard, though I use 24 of them, most games can't.

I don't know if that's what you meant, let me know if that's the case, and we can change the command.

Just tell me each key you hit in order, to complete the task needed in game, and I can better help you with it.

If what I said in the last post did the trick though, just ignore this one.

E_bag17

  • Guest
Yeah on my keyboard I have 12 function keys. Which are the keys I'm trying to use to select units. So, selecting unit 5 is using the F5 key. I think the confusing part is there are 12 function keys and the game can have up to 20 units you can command. F11 and F12 are used to switch pages. So, F11 has units 1 (Which is the leader (which would be me in this case)) through 10, and pressing F12 switches the page to reveal units 11 through 20. Selecting F1 doesn't select me it selects the entire squad.

So, I need to select units via the function keys, then initiate the key strokes for whatever it is I want them to do.


iceblast

  • Sr. Member
  • ****
  • Posts: 372
Think this might work for you.

Code: [Select]
Set small int (condition) [Count] value to the converted value of {CMDSEGMENT:0}
Set Text [Key] to '{CMDSEGMENT:1}'
Begin Small Integer Compare : [Count] Is Less Than Or Equals 10
    Press and release F11 key
    Pause 0.3 seconds
End Condition
Begin Small Integer Compare : [Count] Is Greater Than 10
    Press and release F12 key
    Pause 0.3 seconds
    Set small int (condition) [Count] value as decremented by 10
    Convert small integer [Count] to text [Count]
End Condition
Convert small integer [Count] to text [Count]
Set Text [Count] to 'F{TXT:Count}'
Begin Text Compare : [Key] Equals 'Hold Fire'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+1 keys
End Condition
Begin Text Compare : [Key] Equals 'Crouch'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+2 keys
End Condition
Begin Text Compare : [Key] Equals 'There is Open Fire'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+3 keys
End Condition
Begin Text Compare : [Key] Equals 'Engage'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+4 keys
End Condition
Begin Text Compare : [Key] Equals 'Target'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+5 keys
End Condition

Now the Alt+number keys are just an example, change them to what you need.

I've attached this command to a profile you can download below.

E_bag17

  • Guest
The profile doesn't load up. It says "Convert is not a valid value for ActionTypeEnum"

iceblast

  • Sr. Member
  • ****
  • Posts: 372
It sounds like you only have 18 troops. Considering F1 is you, F12 then F1 is the whole squad. That only leaves 2-10 twice, which is 18. With F11 and F12 controlling the 2 pages. So, how about a different way of doing this. Use [1..18] instead.

I made the command remove the F1 key from being selected. So, when you say 1, it will hit F2, and when you say, 9, it will hit F10, and when you say, 10, it will hit F12, and when you say, 18, it hits F10.

1   2   3   4   5   6   7  8    9    10   11   12   13   14   15   16   17   18

F2 F3 F4 F5 F6 F7 F8 F9 F10 F2   F3   F4   F5    F6   F7   F8   F9   F10

You can always make a command to hit F12 then F1 triggered by saying, All Units.

[1..18] [Hold Fire;Crouch;There is Open Fire;Engage;Target]

Code: [Select]
Set small int (condition) [Count] value to the converted value of {CMDSEGMENT:0}
Set Text [Key] to '{CMDSEGMENT:1}'
Begin Small Integer Compare : [Count] Equals 1
    Press and release F11 key
    Pause 0.3 seconds
    Set small int (condition) [Count] value as incremented by 1
    Jump to Marker: Jump
End Condition - Exit when condition met
Begin Small Integer Compare : [Count] Is Less Than Or Equals 9
    Press and release F11 key
    Pause 0.3 seconds
    Set small int (condition) [Count] value as incremented by 1
End Condition
Begin Small Integer Compare : [Count] Equals 10
    Press and release F12 key
    Pause 0.3 seconds
    Set small int (condition) [Count] value as decremented by 8
    Convert small integer [Count] to text [Count]
End Condition
Begin Small Integer Compare : [Count] Is Greater Than 10
    Press and release F12 key
    Pause 0.3 seconds
    Set small int (condition) [Count] value as decremented by 8
    Convert small integer [Count] to text [Count]
End Condition
Marker: Jump
Convert small integer [Count] to text [Count]
Set Text [Count] to 'F{TXT:Count}'
Begin Text Compare : [Key] Equals 'Hold Fire'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+1 keys
End Condition
Begin Text Compare : [Key] Equals 'Crouch'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+2 keys
End Condition
Begin Text Compare : [Key] Equals 'There is Open Fire'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+3 keys
End Condition
Begin Text Compare : [Key] Equals 'Engage'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+4 keys
End Condition
Begin Text Compare : [Key] Equals 'Target'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+5 keys
End Condition

iceblast

  • Sr. Member
  • ****
  • Posts: 372
I'm using Beta 1.7.0.4 of VoiceAttack.

Could be that when I changed a Small Integer into a Text, that feature isn't in version 1.7 of Voiceattack.

That's the only thing I can think of, for that issue. I could be wrong.

The only thing is, this command works just fine for me. So, I think if you upgrade to the beta 1.7.0.4, the command will work. The beta has been rock sold stable.

The link to download the beta is on the homepage, right beside 1.7.

E_bag17

  • Guest
Dang, I got Voice Attack through Steam, which doesn't have access to the beta...

iceblast

  • Sr. Member
  • ****
  • Posts: 372
Jeez, forgot about that possibly. Hmm, let me think, and see if I can create the command without the new feature. 0

iceblast

  • Sr. Member
  • ****
  • Posts: 372
Here you go, give this a try. I literally made a small integer variable save to a txt file in your Voiceattack apps directory, and copied it back out as a txt variable.

I've updated both versions of the command.

[2..20]

Code: [Select]
Set small int (condition) [Count] value to the converted value of {CMDSEGMENT:0}
Set Text [Key] to '{CMDSEGMENT:1}'
Begin Small Integer Compare : [Count] Is Less Than Or Equals 10
    Press and release F11 key
    Pause 0.3 seconds
End Condition
Begin Small Integer Compare : [Count] Is Greater Than 10
    Press and release F12 key
    Pause 0.3 seconds
    Set small int (condition) [Count] value as decremented by 10
    Write (overwrite), '{SMALL:Count}' to file '{VA_APPS}\Count.txt'
    Set Text [Count] to [{VA_APPS}\Count.txt]
End Condition
Write (overwrite), '{SMALL:Count}' to file '{VA_APPS}\Count.txt'
Set Text [Count] to [{VA_APPS}\Count.txt]
Set Text [Count] to 'F{TXT:Count}'
Begin Text Compare : [Key] Equals 'Hold Fire'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+1 keys
End Condition
Begin Text Compare : [Key] Equals 'Crouch'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+2 keys
End Condition
Begin Text Compare : [Key] Equals 'There is Open Fire'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+3 keys
End Condition
Begin Text Compare : [Key] Equals 'Engage'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+4 keys
End Condition
Begin Text Compare : [Key] Equals 'Target'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+5 keys
End Condition

[1..18]

Code: [Select]
Set small int (condition) [Count] value to the converted value of {CMDSEGMENT:0}
Set Text [Key] to '{CMDSEGMENT:1}'
Begin Small Integer Compare : [Count] Equals 1
    Press and release F11 key
    Pause 0.3 seconds
    Set small int (condition) [Count] value as incremented by 1
    Jump to Marker: Jump
End Condition - Exit when condition met
Begin Small Integer Compare : [Count] Is Less Than Or Equals 9
    Press and release F11 key
    Pause 0.3 seconds
    Set small int (condition) [Count] value as incremented by 1
End Condition
Begin Small Integer Compare : [Count] Equals 10
    Press and release F12 key
    Pause 0.3 seconds
    Set small int (condition) [Count] value as decremented by 8
    Write (overwrite), '{SMALL:Count}' to file '{VA_APPS}\Count.txt'
    Set Text [Count] to [{VA_APPS}\Count.txt]
End Condition
Begin Small Integer Compare : [Count] Is Greater Than 10
    Press and release F12 key
    Pause 0.3 seconds
    Set small int (condition) [Count] value as decremented by 8
    Write (overwrite), '{SMALL:Count}' to file '{VA_APPS}\Count.txt'
    Set Text [Count] to [{VA_APPS}\Count.txt]
End Condition
Marker: Jump
Write (overwrite), '{SMALL:Count}' to file '{VA_APPS}\Count.txt'
Set Text [Count] to [{VA_APPS}\Count.txt]
Set Text [Count] to 'F{TXT:Count}'
Begin Text Compare : [Key] Equals 'Hold Fire'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+1 keys
End Condition
Begin Text Compare : [Key] Equals 'Crouch'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+2 keys
End Condition
Begin Text Compare : [Key] Equals 'There is Open Fire'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+3 keys
End Condition
Begin Text Compare : [Key] Equals 'Engage'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+4 keys
End Condition
Begin Text Compare : [Key] Equals 'Target'
    Quick Input, '[{TXT:Count}]'
    Pause 0.3 seconds
    Press and release Left Alt+5 keys
End Condition

Let me know if this works for you, and which one you chose to use. :)

Gary

  • Administrator
  • Hero Member
  • *****
  • Posts: 2827
Quote
Dang, I got Voice Attack through Steam, which doesn't have access to the beta...

https://steamcommunity.com/app/583010/discussions/0/1319962417040223541/


You just need to unzip it into the right place.



Quote
Could be that when I changed a Small Integer into a Text, that feature isn't in version 1.7 of Voiceattack.

Nope... this has been in there for a long time (have not looked over what you are doing).

iceblast

  • Sr. Member
  • ****
  • Posts: 372
I thought of that, but I didn't know if that was something you wanted known or not with the steam version, and I wasn't 100% sure that the steam version was the same as the normal version so, I didn't say anything.

iceblast

  • Sr. Member
  • ****
  • Posts: 372
Oh, I overlooked what you said Gary.

Convert a Variable Value, was added 1.7.0.2, and that's what I used in the command originally.

I'm far from a expert, but the only way I know how to convert a small integer into a text variable is by transferring is back and forth from a txt file, but with Convert a Variable, I can easily convert a small integer to a text variable.

Gary

  • Administrator
  • Hero Member
  • *****
  • Posts: 2827
Oh, I see.  The explicit convert feature is new.  Forever prior it's been done with {SMALL:variableName} or {INT:variableName} (I need to read what's been written above before commenting o_O).

iceblast

  • Sr. Member
  • ****
  • Posts: 372
Oh, I didn't realize that was how you converted it before. The Token style can be a bit confusing, and didn't realize that's how you did it. :)

I like the new way though, haha :)

iceblast

  • Sr. Member
  • ****
  • Posts: 372
Gary, I was looking in the manual, and I still don't understand how to convert a Small integer to a Text. Under Advance you can convert a Text to a SMALL or INT, but I don't see how to do it the other way around. You said you can do it by tokens. I don't understand how.

Example: How would I convert {SMALL:Count} into {TXT:Count}.

With the new Convert a Variable, I don't really need to know that, but I'm interesting in how it was done the old way.

I seem to learn something new about VA everyday. :)

SemlerPDX

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 280
  • Upstanding Lunatic
    • My AVCS Homepage
Example: How would I convert {SMALL:Count} into {TXT:Count}.

Code: [Select]
//First, create the Small Int variable that will be converted to text
Set small int (condition) [SMALLint_Number] value to the converted value of {CMDSEGMENT:0}
//
//Test 1:  check the value of the Small Int variable with a Log Event
Write '[Blue] SMALLint_Number = {SMALL:SMALLint_Number}' to log
//
//
//Convert the Small Int to a Text Variable
Set Text [TEXTvariable] to '{SMALL:SMALLint_Number}'
//
//Test 2:  check the converted value of the Text variable with a Log Event
Write '[Green] Converted Small Int as Text = {TXT:TEXTvariable}' to log
//

(see attached VA Profile for details)
**(edit:  You really should not even use the Small Integer, it is deprecated and the Integer is the way to go.  Ditch the Small and just use Integers.  There is no difference you need to understand, just take the tip and forget about Small Integers altogether.  Details are in changelogs, if you are curious, and some forum posts here discussing Small vs. (normal) Integers.)

« Last Edit: May 11, 2023, 12:04:17 PM by SemlerPDX »

iceblast

  • Sr. Member
  • ****
  • Posts: 372
I've tried that before, and it never seems to work for me. So, I just assumed it couldn't be done.

I used the Small integer, just because I like the menu system layout better, and I'm not dealing with large numbers. No other reason.

I don't know programming, I've been learning what I know from VA, and the forums here, with lots of trial and error.  I've been learning new things with VA all the time. I would love to learn programming, but every time I've tried, I always feel like I started in the middle, and not the beginning.

VA has helped me a great deal though. I can do so much more with it, than I could just a year ago.

SemlerPDX

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 280
  • Upstanding Lunatic
    • My AVCS Homepage
I've tried that before, and it never seems to work for me. So, I just assumed it couldn't be done.

Not sure when you were trying, but there was an issue (solved) awhile ago involving CAPS usage in Integer names, and it would definitely throw off your learning curve if you happened to use CAPS in a variable name while trying to learn about variables and/or converting during that time.

Otherwise, it could have been any number of misunderstandings.  It's a deep rabbit hole, isn't it?  I also knew little about scripting and programming, and learned over the years bit by bit.  Coming into the middle can make it hard, but stick with it and keep challenging yourself to make more complex ideas into a reality.  Plenty of helpful people here on the forums, I've always found what I need by searching here, or in the manual, and then trial-and-error.  Use those "write to log" bits like in my example, they help you learn and see what goes wrong and where, and sometimes why.


I used the Small integer ...  I'm not dealing with large numbers
There are other reasons to use Integers only, and sure, you may not use them now, but they are easier to us in algebraic functions because the divide by / multiply (Computed value) options are in the Integer GUI itself, and anytime you can lessen the number of lines in a command, the better.  Efficiency and simplicity - Integers FTW.
 
All profiles start small, and grow over time as you really get into VoiceAttack.  I've been doing this for over 2 years now, and my profile includes multi-part commands so long, I have to edit them outside VoiceAttack in a notepad if I wish to add a new word to the "when I say" part of the command, but it's better than having dozens of commands (turn on this, turn on that, turn on those, turn on these, and on and on)

Small Integers will be gone someday, not sure if profiles will need to be re-done when that happens, but I spent a fair bit of time finally changing all usage of Sm.Int's to Integers in my Elite Dangerous profile, and it was exhausting.  I literally wrote macros to handle the task, and sat by watching for 30 minutes per run while it flip-flopped between NP++ and VA's GUI's automagically getting my work done (like watching Data from Star Trek input on a console).  I think there were over 12 runs like that.

But if you start before your personal profile gets big, and get into good habits when you are new, it will be easier than taking on a big "fixit" job later.

(edit:  Learn the basics of scripting and programming in this great post by Pfeil: http://voiceattack.com/SMF/index.php?topic=732.0 )
« Last Edit: May 03, 2018, 02:18:00 PM by SemlerPDX »

Gary

  • Administrator
  • Hero Member
  • *****
  • Posts: 2827
What will most likely be done with eliminating small integers is that the UI will simply just report everything as an integer, whether it is small or not.  The underlying processes will remain in place for backward-compatibility, but everything added or edited will be merged into integer.  The only time this would cause a problem is if somebody is using both a small integer and integer with the same variable name at the same time.  I think that's a lot smaller number than making it where every profile has to be rewritten ;)

The small integers were put in place early on, when the idea was that we just needed to track state in our profiles (you know... landing gear down, landing gear up, lights on, lights off), which seemed rather silly at the time as I hadn't caught on with the whole, 'immersion' thing (really?  you need a keypress app to do that?).  A small integer seemed like overkill, versus just using Boolean values but offered a little bit more flexibility (this was even before there were text variables).  Before long, there was a Death Star and it's still far from complete o_O  The Emperor will not be pleased.

iceblast

  • Sr. Member
  • ****
  • Posts: 372
In the last couple of months, I've been learning a lot about VA, making more complicated commands. Though I've been using VA for over 3 years now. I use it everyday, pretty much all day. I would love to learn to program, but it can be hard to get your mind around how something works, when you never seen it work before. Most of the commands I do now, I'm creating from scratch. To me it might be new, but to everyone else, it's old hat haha. I'll think I made something cool, and it turns out, that it's been done before, and done better then what I did.

I'm a computer technician, I know a great deal about computers, programs and files. I find some programs lacking, and would love just to build my own, that does exactly what I want it to do. I'm just not really a book learner. I'm more a watch someone else, and learn. I can ask questions, and I'll learn very fast if something clicks. VA has helped me a great deal, and I hope in time, I'll finally find my footing in programming. I'm completely self taught, and sometimes, things just look like greek to me. ;)