(Attent: All data below can be outdated. Developer can do any changes on input handling, so you should read actual information in TwitchTV channel description.)
Inputs
All macros will use active platform inputs and depends on it. So if you want to automate inputs, you should read platform instructions before:
16-bit: Sega Genesis / Sega Mega Drive
Macros
Introduction
Macros start with «#» and have a name, which may be used to describe what the macro does. For example, «#masha» can be a macro for «[a34ms #34ms]*20«, which will press «a» many times very rapidly.
Note: There is some restrictions to operating with macros on TPS channel.
You have to be whitelisted viewer to use any macro.
And you have to be TPS bot admin to create/modify or remove any macro.
All details described in channel description.
Simple macro
How to use
To use simple macro, simply type macro name in chat with «#» symbol. You also can use macro within another input sequences. Here is an examples:
Following message will run macro named as "#test".
#test
Following message will run macro #save after input sequence.
left a a a c #saveNote: There is a chat-command on channel to view all available macro: !macros
How to create/modify/remove
There is a chat-command !addmacro to create or modify macro either. Macro will have name and input sequence. Name must start with #-symbol.
This example will create or overwrite simple macro with A-keypress.
!addmacro #test a
If you want to use created macro, simple call it by name:
#test
This command also can be use to modify macro:
!addmacro #test b
Now calling #test will perform b-keypress
#test
If you decide what your macro will not be useful in future, you simple can delete it, calling !removemacro
!removemacro #testHow to view details of existing macro
Command !show #macroname will provide detailed sequence of inputs. Note: If you want to see details about parametric macro, you have to write name in correct syntax, right as it described in !macros list.
!macros
> #test #test2(*)
!show #test
> b
!show #test2
Will not work: you shall use !show #test2(*) to view details of #test2Parametric macro
In some cases macro should have different behavior, depends on circumstances. For an example, you want to make a macros with different taps on button B inside a sequence.
Parametric macro can take additional data when it called. It can be all type of inputs (keystrokes, input sequences, other macro etc. or a numeric values). There is no special requirements for macro arguments, but only rule: result sequence have to got be valid.
Here is an examples of parametric macro:
!addmacro #pmacro(*) abc<0>
!addmacro #pmacro(*,*) [<0>1s]*<1>In this example we put <0> placer in macro sequence, and all data passed as argument will appers instead of it. If we have several arguments in macro header, then each argument will match his <N>-placer.
Passing arguments to parametric macro
Simple place data you need instead of *-symbols when calling a macro. Here is an examples:
> #test(*) = abc<0>
#test(start) -- Will perform sequence A B C START
#test(1s) -- Note: This will work too. And will perform A and B keystrokes, and press C to one seconds after all. (Similar to A B C1s)
> #test(*, *) = [<0>1s]*<1>
#test(a, 5) -- Will perform [a1s]*5