I added this to my program at the top, but it would still run the script involved. I even added a "stop script" block after the "...". It works if I run the second script by starting it manually, but the two scripts would kinda merge (ex. text merging when speaking)
If I'm understanding "at the top" correctly, I didn't make myself clear. That "..." was meant to represent the entire rest of your script! There shouldn't be anything underneath the IF.
if you don't like everything inside C blocks, you can do this:
[scratchblocks]
if (have i been run?) :: control
stop [this script v]
end
set [have i been run? v] to <true :: operators>
...
[/scratchblocks]