Syntax for switch case statements

I know how to use the case statements in gauge strings and macros, but I cannot figure out the syntax if I try to use it in a <Script> section.
Is something like the example below possible? (Depending on the case result, I want to execute several different statements, so this is obviously a very simplified example.)

Code:
<?xml version="1.0" encoding="UTF-8"?>
<SimBase.Document Type="AceXML" version="1,0" id="blah">
[...]
  <Element>
    <Shift>
      <Expression>
        <Script>
          <!-- this works, but hurts my eyes... -->
          (G:Var1) 0 == if{ 1 (&gt;G:Var2) }
          (G:Var1) 1 == if{ 1 (&gt;G:Var3) }
          (G:Var1) 2 == if{ 1 (&gt;G:Var4) }
 
          <!-- this doesn't work (always executes the last case) -->
          (G:Var1) {case}
            {:0} 1 (&gt;G:Var2)
            {:1} 1 (&gt;G:Var3)
            {:2} 1 (&gt;G:Var4)
          {end}
[...]
 

taguilo

Resource contributor
{case} {:0) {:1} etc only works in FormattedText/GaugeString <String> scripts. The simplest way to code your example is by using those if{} conditionals that you don't seem to like.
For scripts in general you can write something like n2 n1 n0 3 (yourvar) case but in your example it won't make any difference because you'll need those if{} as well -unless you want to use a bit of complex code.

Tom
 
Oh, well. A bit disappointing, but thanks for confirming that it was not my screwed up syntax that kept it from working...
 
Top