Well unless you are opening the script editor and starting with the SCN line ... it is not scripting per'se.
But technically there are scripts running all over the place to quote the matrix line ... hehe.
The methods I mentioned so far , is to use objects that have scripting built in. And yes with Actor effects , it becomes an object within an object. And when using the CIOS is an object within an object within a script.
And of course you can get it all done with one script usually. But it can get complex and usually a step up in knowledge. Sometimes more efficient , but other times less efficient.
The key for you though , would be what brings it all together for the best way to understand what is going on.
And each to their own on that ^shrug^
But no worries for noobish questions , they are a part of learning to mod/script , all questions are good if they help you
Now as far as a condition on a hit being critical , there is this ... https://geckwiki.com...LastHitCritical which says it only works in an OnHit or OnHitWith begin block (which both of those are single frame also)
But strangely enough , it shows up as a condition you can select on the "Actor Effect / Effect Item "
But that just might be an oversight , in which it won't work ... but might as well try it.
And a piece of advice while doing all this testing. Make a separate file , or a backup , to test all this stuff before you finally figure out and decide near the final product.
Throwing away test files is common practice , just comes with the territory for ruling out why stuff is not working.
And one more thing for if your changes just made in a file don't seem to be working.
Try and toggle the archive invalidation ... which just means to turn it off , then on again ... with the files you are about to launch checked.
I'm not sure on the specifics of what all it will fix , but I have had it fix enough stuff , that I just do it religiously now before testing any file I made changes in. And sometimes you need to use a save from before the changes ... in fact I would avoid making any saves while testing , unless your testing needs a save spot.
Like with "GetGameRestarted" needs a save spot.