Ok, not really super advanced, or useful for that matter, but it can easy fit in with a failsafe proc.
Ok, so lets begin, xor is a keyword, used pretty much the same as or. But, there's a difference, lets take the following script for example:
SCAR Code:
var
a : Integer;
begin
a := 5;
if ( a > 2) or
( a < 6 ) then
Writeln('a is either more than 2, less than 6, or even both!');
end.
Simple, if a is either more than 2, less than 6 or both, then it will write a string to the debug box. But lets say, we ONLY wanted to write to the debug box if only ONE condition was met? This is where xor comes into play.
SCAR Code:
var
a : Integer;
begin
a := 5;
if ( a > 2) xor
( a < 6 ) then
Writeln('a is either more than 2, or less than 6.');
end.
If you've been paying attention, you'll know that this doesn't print anything, change "( a < 6 ) then" to "( a < 4 ) then" and Bob's your uncle.
You can also mix it with the other operators such as and, or.
SCAR Code:
var
a : Integer;
begin
a := 5;
if ( a > 2) and
( a < 6 ) xor
not( a = 5 ) then
Writeln('if a is more than 2, and either less than 6, or not 5, then print!');
end.
Have fun. :P