<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE funcs
  SYSTEM '../../../clonk.dtd'>
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
<funcs>
  <func>
    <title>Par</title>
    <category>Script</category>
    <version>5.1 OC</version>
    <syntax>
      <rtype>any</rtype>
      <params>
        <param>
          <type>int</type>
          <name>index</name>
          <desc>0-9: index of the requested parameter</desc>
        </param>
      </params>
    </syntax>
    <desc>Returns the value of a parameter passed to the function.</desc>
    <remark>In old times, this was the only method to access function parameters. The new script style allows naming of parameters which makes declaration and access much more convenient.</remark>
    <examples>
      <example>
        <code>private func Multiply3(v1, v2, v3)
{
  return v1 * v2 * v3;
}</code>
        <text>The same function with new style syntax.</text>
        <code>private func MultiplyX(cnt)
{
  var x = 1;
  for(var i = 0; i &lt; cnt; i++)
    x *= Par(i + 1);
  return x;
}</code>
        <text>An example for mixed use of named and indexed parameters: this function can multiply up to 0 numbers. The first parameter is the count of following parameters to be multiplied (e.g. MultiplyX(4, 10, 3, 4, 7) = 10 * 3 * 4 * 7 = 840)</text>
      </example>
    </examples>
  </func>
  <author>Sven2</author><date>2002-08</date>
</funcs>
