Some things I should ask to those who know it better, before trying to finding out via whacky means or time consuming trials.
1 - About timers, is it possible to run differently named timers in the same script at the same time? And to run one with + seconds and the other with - ? (so long they are addressed correctly and/or structured separately)
2 - Is there a limit of "nesting" that can be placed in scrips?? For example, an IF that follows with 10 conditions, under another IF holding 20 conditions, under it yet another IF with 30 conditions, etc etc, is there a limit for nesting??
3 - Complementing the previous question and regarding CPU usage via scripts, if I place an IF and ask it to check 500 conditions (absurd, but for the sake of this example), will the engine/script stop at the first check that doesn't return valid, or will it keep running all the (499) extra checks?? I know it sounds illogical and a waste of resources to keep checking, but one never knows... Just to see how practical I should aim to be when scripting stuff.
4 - The "Begin GameMode" seems pretty intensive so I should avoid using it whenever possible, is this the complete list of begins or are there extra ones introduced by NVSE or something else?? Also are there some checks that I should avoid using? (The previous game I messed with was unpractical to check for inventory items, could cause severe lag)
5 - Lastly, I had to use a script to make a NPC say something, however the NPC should not talk on top (as interrupting) himself, so I had the script to fire only if the character should be silently, to check this silence I used the GetCurrentAIProcedure, more specific the numbers 4 and 5, for future reference, can someone comment on the difference between 4 and 5, and possibly number 6 too? To my meager understanding, number 4 should already cover any type of talking.
if CG02.WallyPipboy == 0 && CG02ButchREF.GetisCurrentPackage CG02ButchTalkToWally == 0 && CG02WallYMackREF.GetDistance Player < 80
if CG02WallyMackREF.GetCurrentAIProcedure != 4 && CG02WallyMackREF.GetCurrentAIProcedure != 5
SayTo Player Hello
Set CG02.WallyPipboy to 1