I am tired of getting a same module in a session, so I tried something to get all the modules before repeat a module.
This requires to move all the modules to the custom scripts folder, and call it for a single module file, something like this:
Code: Select all
@NullResponse @RapidCodeOn
@NullResponse @CheckFlag(NotFirstTime)
@NullResponse @SetVar[AV_ModulePart1_Done]=[0]
@NullResponse @SetFlag(NotFirstTime)
(NotFirstTime)
@NullResponse @RapidCodeOn
@NullResponse @If[AV_ModulePart1_Done]=[0]Then(Part1_1)
@NullResponse @If[AV_ModulePart1_Done]=[1]Then(Part1_2)
@NullResponse @If[AV_ModulePart1_Done]=[10]Then(Part1_3)
@NullResponse @If[AV_ModulePart1_Done]=[100]Then(Part1_4)
@NullResponse @If[AV_ModulePart1_Done]=[1000]Then(Part1_5)
@NullResponse @If[AV_ModulePart1_Done]=[11]Then(Part1_6)
@NullResponse @If[AV_ModulePart1_Done]=[101]Then(Part1_7)
@NullResponse @If[AV_ModulePart1_Done]=[111]Then(Part1_8)
@NullResponse @If[AV_ModulePart1_Done]=[110]Then(Part1_9)
@NullResponse @If[AV_ModulePart1_Done]=[1001]Then(Part1_10)
@NullResponse @If[AV_ModulePart1_Done]=[1011]Then(Part1_11)
@NullResponse @If[AV_ModulePart1_Done]=[1111]Then(Part1_12)
@NullResponse @If[AV_ModulePart1_Done]=[1010]Then(Part1_13)
@NullResponse @If[AV_ModulePart1_Done]=[1110]Then(Part1_14)
@NullResponse @If[AV_ModulePart1_Done]=[1100]Then(Part1_15)
@NullResponse @If[AV_ModulePart1_Done]=[1101]Then(Part1_16)
(Mod1)
@NullResponse @ChangeVar[AV_ModulePart1_Done]=[AV_ModulePart1_Done]+[1]
@NullResponse @Call(Custom\AV_Scripts\AV_Module1)
(Mod2)
@NullResponse @ChangeVar[AV_ModulePart1_Done]=[AV_ModulePart1_Done]+[10]
@NullResponse @Call(Custom\AV_Scripts\AV_Module2)
(Mod3)
@NullResponse @ChangeVar[AV_ModulePart1_Done]=[AV_ModulePart1_Done]+[100]
@NullResponse @Call(Custom\AV_Scripts\AV_Module3)
(Mod4)
@NullResponse @ChangeVar[AV_ModulePart1_Done]=[AV_ModulePart1_Done]+[1000]
@NullResponse @Call(Custom\AV_Scripts\AV_Module4)
(Part1_1)
@NullResponse @Goto(Mod1,Mod2,Mod3,Mod4)
(Part1_2)
@NullResponse @Goto(Mod2,Mod3,Mod4)
(Part1_3)
@NullResponse @Goto(Mod1,Mod3,Mod4)
(Part1_4)
@NullResponse @Goto(Mod1,Mod2,Mod4)
(Part1_5)
@NullResponse @Goto(Mod1,Mod2,Mod3)
(Part1_6)
@NullResponse @Goto(Mod3,Mod4)
(Part1_7)
@NullResponse @Goto(Mod2,Mod4)
(Part1_8)
@NullResponse @Goto(Mod4)
(Part1_9)
@NullResponse @Goto(Mod1,Mod4)
(Part1_10)
@NullResponse @Goto(Mod2,Mod3)
(Part1_11)
@NullResponse @Goto(Mod3)
(Part1_12)
@NullResponse @Goto(Fim)
(Part1_13)
@NullResponse @Goto(Mod1,Mod3)
(Part1_14)
@NullResponse @Goto(Mod1)
(Part1_15)
@NullResponse @Goto(Mod1,Mod2)
(Part1_16)
@NullResponse @Goto(Mod2)
(Fim)
ACABOU
@EndEvery time a module is called, will change the variable "AV_ModulePart1_Done" value. If is the mod1, change +1, mod2 +10, mod3 +100 and mod4 +1000
With this, checking the "AV_ModulePart1_Done" value, I can know what modules already run. Ex: AV_ModulePart1_Done=1010, I know module 2 and 4 already run, so I can call a @Goto(Mod1,Mod3) and do not get a repeated module. When I got a 1111, I know all the modules already ran, and can go to another group
- I tried something more simple, just with flags, but could get long loops trying to find a new module. With this, it is instant.
- I will need to use groups of 4 modules, if I add 1 more, will get 30 options (10000,10001, 10010, etc). But still a lot of work to put something like 40 modules there (10 groups), and I need something to select the groups too.
- in the other hand, after done, its ease to include more modules without change everything.
- My brains hurts after all that numbers. I can not type in english anymore
I will wait 1885 new patch to continue this, in case he implement something like that in the app.



