Most code considered SQF-only will work in SQS, but SQS has no notion of a multi-line command, so they often look ugly forced onto a single line. Still, they work (if/then/else, switch, etc), but I would try to follow either a standard SQS or SQF format, because a lot of people understand SQS and a lot of people understand SQF, but not many know both well and everyone will be confused if you use both at once ;P Really, if you are just learning, learn SQF and ignore SQS (SQS is ever so slightly easier for simple scripts, but a nightmare for anything more complex, which includes most "useful" scripts).
I'm pretty sure you aren't able to use goto from within an if statement, but you can within an ? statement, so some of your gotos will never happen. If in doubt, don't mix SQF (if) and SQS (goto) like this:
if ("LaserDesignator" in weapons player)then {goto "radiocal"} else {goto "check"}
if ("LaserDesignator" in weapons player)then {enableradio true} else {enableradio false}
Even if you convert that, properly, into SQS:
? "LaserDesignator" in weapons player ? goto "radiocal" : goto "check"
? "LaserDesignator" in weapons player ? enableradio true : enableradio false
You have the problem that the second line would never be run, since the first line always jumps (uses goto) before the script gets to that latter line. Fix this by just reversing the order of these two lines.
There are a number of other odd things (logical and syntactic errors) going on in the script, so I'm not entirely sure how to fix it (as someone above said, it helps to tell us what the error is, even if, as I suspect, the script is just "not doing anything"). One reason the script might go to hell is that, although it continually loops, there aren't any sleep statements in it, so that it will grind away continuously and give you about 1 frame per second, if you are lucky.