sexybastardo wrote: ↑Thu Mar 30, 2017 8:03 pm
Modules always end with an @End and Links with a @StartStroking, and it works. In this way you have full control of which module/link will be available, depending on your vars/flags. I use only @CallReturn currently, because it's the only reliable function and it works like a charm. Don't combine @Call, @CallReturn or @MiniScript.
There still exist a problem with the @Call function in 54.7 that could break the session when called after a @CallReturn or if you use a @Call/@CallReturn/@MiniScript in a Module before you use @StartStroking. I just figured it out with Daragorn and there will be a fix for some of the problems I mentioned here:
viewtopic.php?f=26&t=19545#p231212
I tried to figure out the whole behavior of the combination of all the @Call etc commands. I learned that @CallReturn is the only thing that works perfectly in every case.
Just to clarify...currently there is a small bug with @CallReturn() not behaving properly if you use them during a module before giving the @StopStroking command (not @StartStroking as sexybastardo wrote
..probably it was just mystiping from him, but i wanted to clarify this).
So, if you are NOT stroking callreturn works perfectly, if you are in a stroking cycle and callreturn, it works fine too...the only issue right now is if you are in a module/link, you are in a stroking state because you never used the @StopStroking command and you launch a @CallReturn().
P.s: always remember to use @End after the @StartStroking in the link too....not using it might cause problems. A script ALWAYS need to close with an @End
As far as using @CallRandom()-run a link-then @Call() back to the link, i think it should work fine if you give the @StartStroking command....i am not completely sure, though, but i think it should work
I currently have a similar behaviour in my personality, with a "generic" module/link which does its tricks and then @CallRandom() the "real" link or module....i don't use a @Call() back to the "generic" module/link, though.
Without that, it works perfectly for sure....i don't think there should be any issue, though, doing that since basically @CallRandom() and @Call() share similar code, so, if it works with @CallRandom() alone, i don't see why it shouldn't with a @CallRandom() followed by a @Call().
My suggestion, as always, with such complex behaviours is, first of all create some simple test files and try them in a test session...just create a pair of fake modules with 1 line (just to be sure it is reading the files correctly), a pair of fake link done in the same way and try running a session using them (do not try them with just the "run file text" option in the debug panel because it might work differently since, using that, it will NOT start a session and, for example, if you run a module, when it ends, it will send you to an end script instead of a link, since the "session timer" it is 0)