openclonk/docs/sdk/script/fn/PathFree.xml

58 lines
2.0 KiB
XML

<?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>PathFree</title>
<category>Landscape</category>
<version>5.1 OC</version>
<syntax>
<rtype>bool</rtype>
<params>
<param>
<type>int</type>
<name>x1</name>
<desc>X coordinate of the start point</desc>
</param>
<param>
<type>int</type>
<name>y1</name>
<desc>Y coordinate of the start point</desc>
</param>
<param>
<type>int</type>
<name>x2</name>
<desc>X coordinate of the end point</desc>
</param>
<param>
<type>int</type>
<name>y2</name>
<desc>Y coordinate of the end point</desc>
</param>
</params>
</syntax>
<desc>Determines whether the path from the start point to the end point is free, meaning that no solid material is intersected by a directly line between those points.</desc>
<remark>All coordinates are global, even in local calls.</remark>
<examples>
<example>
<code>// for all living beings in a circle with a radius of 500 around it
for(var living in <funclink>FindObjects</funclink>(<funclink>Find_OCF</funclink>(<funclink>OCF_Alive</funclink>),<funclink>Find_Distance</funclink>(500)))
{
// incinerate if the path is free
if(PathFree(GetX(),GetY(),GetX(living),GetY(living)))
living-&gt;<funclink>Incinerate</funclink>();
}</code>
<text>Eye of the beholder: Incinerates all living beings in a distance of maximum 500 pixels and if the beholder has a line-of-sight to it.</text>
</example>
</examples>
<related>
<funclink>GetMaterial</funclink>
<funclink>GBackSolid</funclink>
<funclink>GetPathLength</funclink>
<funclink>PathFree2</funclink>
</related>
</func>
<author>Sven2</author><date>2002-08</date>
</funcs>