SQS to SQF conversion: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Removed old link)
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
==What's different in SQF==
==What's different in SQF==
* Every command have to be ended with semicolon.
* Every command has to end with semicolon.
* Cycles with the While-Do structure are limited to 10 000 loops.
* SQF does not have a [[goto]] command anymore.
* SQF commands can span several lines if they are enclosed in brackets.
* SQF can return a variable, where SQS cannot.


==Replacing==
==Replacing==
Line 16: Line 18:
  */
  */


  comment "And this is comment working both in SQS and SQF";
  comment "And this is a comment working both in SQS and SQF";
}}
}}


Line 35: Line 37:
}}
}}


===Command with condition===
===Conditional command===
{{Box_File|SQS|
{{Box_File|SQS|
  ?CONDITION: COMMAND
  ?CONDITION: COMMAND
Line 43: Line 45:
}}
}}


===Structured command with condition===
===Multi-conditional command===
{{Box_File|SQS|
{{Box_File|SQS|
  ?CONDITION: [[goto]] "SKIP"
  ?CONDITION: [[goto]] "SKIP"
COMMAND_2
  COMMAND_2
[[goto]] "END"
  [[goto]] "END"
  #SKIP
  #SKIP
COMMAND_1
  COMMAND_1
  #END
  #END
}}
}}
Line 59: Line 61:
{{Box_File|SQS|
{{Box_File|SQS|
  #loop
  #loop
COMMAND
  COMMAND
~DELAY
  ~DELAY
  ?CONDITION: [[goto]] "LOOP"
  ?CONDITION: [[goto]] "LOOP"
}}
}}
Line 74: Line 76:
  _n <nowiki>=</nowiki> 0
  _n <nowiki>=</nowiki> 0
  #LOOP
  #LOOP
COMMAND
  COMMAND
_n <nowiki>=</nowiki> _n + 1;
  _n <nowiki>=</nowiki> _n + 1;
  ?_n < COUNT: [[goto]] "LOOP"
  ?_n < COUNT: [[goto]] "LOOP"
}}
}}
Line 84: Line 86:
}}
}}


===Structured command with conditions===
===Structured conditional command===
{{Box_File|SQS|
{{Box_File|SQS|
  ?VARIABLE <nowiki>==</nowiki> VALUE_1: [[goto]] "SKIP_1"
  ?VARIABLE <nowiki>==</nowiki> VALUE_1: [[goto]] "SKIP_1"
  ?VARIABLE <nowiki>==</nowiki> VALUE_2: [[goto]] "SKIP_2"
  ?VARIABLE <nowiki>==</nowiki> VALUE_2: [[goto]] "SKIP_2"
DEFAULT
  DEFAULT COMMAND
[[goto]] "END"
  [[goto]] "END"
  #SKIP_1
  #SKIP_1
COMMAND_1
  COMMAND_1
goto "END"
  goto "END"
  #SKIP_2
  #SKIP_2
COMMAND_2
  COMMAND_2
  #END
  #END
}}
}}
Line 100: Line 102:
  [[switch]] (VARIABLE) [[do]] {
  [[switch]] (VARIABLE) [[do]] {
   [[case]] VALUE_1: {COMMAND_1};
   [[case]] VALUE_1: {COMMAND_1};
   [[case]] VALUE_2: {COMMAND_1};
   [[case]] VALUE_2: {COMMAND_2};
   [[default]] {DEFAULT};
   [[default]] {DEFAULT_COMMAND};
};
}}
 
===Exiting===
{{Box_File|SQS|
?CONDITION: [[goto]] "Exit"
  COMMAND_1
 
#Exit
  COMMAND_2
  exit
}}
{{Box_File|SQF|color_dark=#78AF78|color_light=#f2fff2|
[[if]] (CONDITION) [[exitWith]]
{
  COMMAND_2;
  };
  };
COMMAND_1;
}}
}}
== See Also ==
* [[SQF syntax]]


[[Category:Syntax]]
[[Category:Syntax]]
[[Category:Scripting Topics]]

Revision as of 15:51, 17 January 2018

What's different in SQF

  • Every command has to end with semicolon.
  • SQF does not have a goto command anymore.
  • SQF commands can span several lines if they are enclosed in brackets.
  • SQF can return a variable, where SQS cannot.

Replacing

Comment

Template:Box File Template:Box File

Condition

Template:Box File Template:Box File

Delay

Template:Box File Template:Box File

Conditional command

Template:Box File Template:Box File

Multi-conditional command

Template:Box File Template:Box File

Cycle

Template:Box File Template:Box File

Cycle with step

Template:Box File Template:Box File

Structured conditional command

Template:Box File Template:Box File

Exiting

Template:Box File Template:Box File

See Also