<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Madis</id>
	<title>Multi Theft Auto: Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Madis"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Madis"/>
	<updated>2026-05-23T14:22:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:SetSoundEffectEnabled&amp;diff=24356</id>
		<title>Talk:SetSoundEffectEnabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:SetSoundEffectEnabled&amp;diff=24356"/>
		<updated>2010-08-12T21:55:01Z</updated>

		<summary type="html">&lt;p&gt;Madis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of effects:&lt;br /&gt;
chorus&lt;br /&gt;
compressor&lt;br /&gt;
distortion&lt;br /&gt;
echo&lt;br /&gt;
flanger&lt;br /&gt;
gargle&lt;br /&gt;
i3dl2reverb&lt;br /&gt;
parameq&lt;br /&gt;
reverb&lt;br /&gt;
&lt;br /&gt;
e.g&lt;br /&gt;
setSoundEffectEnabled(&amp;quot;distortion&amp;quot;, true)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Maybe better argument name than 'toggle' would be 'isEnabled', though maybe it comes from the source code.&lt;br /&gt;
&lt;br /&gt;
---&amp;lt;br&amp;gt;&lt;br /&gt;
How I hear the effects:&amp;lt;br&amp;gt;&lt;br /&gt;
-- weird UFO noise&amp;lt;br&amp;gt;&lt;br /&gt;
gargle&amp;lt;br&amp;gt;&lt;br /&gt;
-- limits high sounds&amp;lt;br&amp;gt;&lt;br /&gt;
compressor&amp;lt;br&amp;gt;&lt;br /&gt;
-- large hall or city-like&amp;lt;br&amp;gt;&lt;br /&gt;
echo&amp;lt;br&amp;gt;&lt;br /&gt;
-- behind the door&amp;lt;br&amp;gt;&lt;br /&gt;
i3dl2reverb&amp;lt;br&amp;gt;&lt;br /&gt;
-- like too loud for that shitty speaker (e.g. grammofon)&amp;lt;br&amp;gt;&lt;br /&gt;
distortion&amp;lt;br&amp;gt;&lt;br /&gt;
-- A chorus effect occurs when individual sounds with roughly the same timbre and nearly (but never exactly) the same pitch converge and are perceived as one. While similar sounds coming from multiple sources can occur naturally (as in the case of a choir or string orchestra), it can also be simulated using an electronic effects unit or signal processing device.&amp;lt;br&amp;gt;&lt;br /&gt;
chorus&amp;lt;br&amp;gt;&lt;br /&gt;
-- parametrical equalizer? where are the settings then?&amp;lt;br&amp;gt;&lt;br /&gt;
parameq&amp;lt;br&amp;gt;&lt;br /&gt;
-- live in small next room&amp;lt;br&amp;gt;&lt;br /&gt;
reverb&amp;lt;br&amp;gt;&lt;br /&gt;
-- trancy effect&amp;lt;br&amp;gt;&lt;br /&gt;
flanger&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:SetSoundEffectEnabled&amp;diff=24355</id>
		<title>Talk:SetSoundEffectEnabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:SetSoundEffectEnabled&amp;diff=24355"/>
		<updated>2010-08-12T20:23:18Z</updated>

		<summary type="html">&lt;p&gt;Madis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of effects:&lt;br /&gt;
chorus&lt;br /&gt;
compressor&lt;br /&gt;
distortion&lt;br /&gt;
echo&lt;br /&gt;
flanger&lt;br /&gt;
gargle&lt;br /&gt;
i3dl2reverb&lt;br /&gt;
parameq&lt;br /&gt;
reverb&lt;br /&gt;
&lt;br /&gt;
e.g&lt;br /&gt;
setSoundEffectEnabled(&amp;quot;distortion&amp;quot;, true)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Maybe better argument name than 'toggle' would be 'isEnabled', though maybe it comes from the source code.&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:SetSoundEffectEnabled&amp;diff=24275</id>
		<title>Talk:SetSoundEffectEnabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:SetSoundEffectEnabled&amp;diff=24275"/>
		<updated>2010-08-09T01:49:53Z</updated>

		<summary type="html">&lt;p&gt;Madis: Created page with 'List of effects: chorus compressor distortion echo flanger gargle i3dl2reverb parameq reverb  e.g setSoundEffectEnabled(&amp;quot;distortion&amp;quot;, true)'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of effects:&lt;br /&gt;
chorus&lt;br /&gt;
compressor&lt;br /&gt;
distortion&lt;br /&gt;
echo&lt;br /&gt;
flanger&lt;br /&gt;
gargle&lt;br /&gt;
i3dl2reverb&lt;br /&gt;
parameq&lt;br /&gt;
reverb&lt;br /&gt;
&lt;br /&gt;
e.g&lt;br /&gt;
setSoundEffectEnabled(&amp;quot;distortion&amp;quot;, true)&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:Editor/EDF&amp;diff=22877</id>
		<title>Talk:Editor/EDF</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:Editor/EDF&amp;diff=22877"/>
		<updated>2010-04-13T02:35:48Z</updated>

		<summary type="html">&lt;p&gt;Madis: Created page with 'There's currently a bug where rotation isn't added from edf: http://bugs.mtasa.com/view.php?id=5175  - Madis (13/04/10)'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There's currently a bug where rotation isn't added from edf: http://bugs.mtasa.com/view.php?id=5175&lt;br /&gt;
 - Madis (13/04/10)&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:IsPlayerDead&amp;diff=22343</id>
		<title>Talk:IsPlayerDead</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:IsPlayerDead&amp;diff=22343"/>
		<updated>2010-01-31T05:30:06Z</updated>

		<summary type="html">&lt;p&gt;Madis: Created page with 'Should this be Client Only, as it's not in the http://wiki.multitheftauto.com/wiki/Client_Scripting_Functions and there's isPedDead for server-side'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Should this be Client Only, as it's not in the http://wiki.multitheftauto.com/wiki/Client_Scripting_Functions and there's isPedDead for server-side&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetDistanceBetweenPointAndSegment2D&amp;diff=22331</id>
		<title>GetDistanceBetweenPointAndSegment2D</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetDistanceBetweenPointAndSegment2D&amp;diff=22331"/>
		<updated>2010-01-24T20:14:33Z</updated>

		<summary type="html">&lt;p&gt;Madis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Takes point coordinates and line (a segment) starting and ending coordinates. It returns the shortest distance between the point and the line.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;float getDistanceBetweenPointAndSegment2D(float pointX, float pointY, float x1, float y1, float x2, float y2)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''pointX''': The X coordinate of the point.&lt;br /&gt;
* '''pointY''': The Y coordinate of the point.&lt;br /&gt;
* '''x1''': The X coordinate of the starting point of the line.&lt;br /&gt;
* '''y1''': The Y coordinate of the starting point of the line.&lt;br /&gt;
* '''x2''': The X coordinate of the ending point of the line.&lt;br /&gt;
* '''y2''': The Y coordinate of the ending point of the line.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Function source&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function getDistanceBetweenPointAndSegment2D(pointX, pointY, x1, y1, x2, y2)&lt;br /&gt;
	local A = pointX - x1&lt;br /&gt;
	local B = pointY - y1&lt;br /&gt;
	local C = x2 - x1&lt;br /&gt;
	local D = y2 - y1&lt;br /&gt;
&lt;br /&gt;
	local point = A * C + B * D&lt;br /&gt;
	local lenSquare = C * C + D * D&lt;br /&gt;
	local parameter = point / lenSquare&lt;br /&gt;
&lt;br /&gt;
	local shortestX&lt;br /&gt;
	local shortestY&lt;br /&gt;
&lt;br /&gt;
	if parameter &amp;lt; 0 then&lt;br /&gt;
		shortestX = x1&lt;br /&gt;
    		shortestY = y1&lt;br /&gt;
	elseif parameter &amp;gt; 1 then&lt;br /&gt;
		shortestX = x2&lt;br /&gt;
		shortestY = y2&lt;br /&gt;
	else&lt;br /&gt;
		shortestX = x1 + parameter * C&lt;br /&gt;
		shortestY = y1 + parameter * D&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local distance = getDistanceBetweenPoints2D(pointX, pointY, shortestX, shortestY)&lt;br /&gt;
&lt;br /&gt;
	return distance&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This code draws a red line, enables mouse cursor and tells client how far from the line was clicked.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Draw a red line&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;, getRootElement(),&lt;br /&gt;
	function()&lt;br /&gt;
		dxDrawLine(20, 20, 200, 100, tocolor(255, 0, 0))&lt;br /&gt;
	end&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
-- Show cursor&lt;br /&gt;
showCursor(true)&lt;br /&gt;
&lt;br /&gt;
-- Fires when left mouse button is clicked&lt;br /&gt;
function cursorPositionFromTheRedLine(button, state, clickedX, clickedY)&lt;br /&gt;
	-- Allow function to continue only if left button was pressed and button was pressed down&lt;br /&gt;
	if button ~= &amp;quot;left&amp;quot; or state == &amp;quot;up&amp;quot; then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Calculate the distance&lt;br /&gt;
	local distance = getDistanceBetweenPointAndSegment2D(clickedX, clickedY, 20, 20, 200, 100)&lt;br /&gt;
&lt;br /&gt;
	-- Tell user the distance&lt;br /&gt;
	outputChatBox(&amp;quot;You clicked &amp;quot;..distance..&amp;quot; away from the Red Line!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Read mouse clicks&lt;br /&gt;
addEventHandler(&amp;quot;onClientClick&amp;quot;, root, cursorPositionFromTheRedLine)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code from: http://www.allegro.cc/forums/thread/589720&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:Hibakeres%C3%A9s&amp;diff=22330</id>
		<title>Talk:Hibakeresés</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:Hibakeres%C3%A9s&amp;diff=22330"/>
		<updated>2010-01-24T18:18:33Z</updated>

		<summary type="html">&lt;p&gt;Madis: Created page with 'Isn't isTimer already MTA function? http://wiki.mtasa.com/wiki/IsTimer Also, is this really the way MTA isTimer works? If having a lot of timers, better method would be to remove…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Isn't isTimer already MTA function?&lt;br /&gt;
http://wiki.mtasa.com/wiki/IsTimer&lt;br /&gt;
Also, is this really the way MTA isTimer works? If having a lot of timers, better method would be to remove the table key in the function setTimer references to. And onColShapeLeave just check if the key exists.&lt;br /&gt;
 --Madis&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetDistanceBetweenPointAndSegment2D&amp;diff=22328</id>
		<title>GetDistanceBetweenPointAndSegment2D</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetDistanceBetweenPointAndSegment2D&amp;diff=22328"/>
		<updated>2010-01-24T03:21:46Z</updated>

		<summary type="html">&lt;p&gt;Madis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Takes point coordinates and line (a segment) starting and ending coordinates. It returns the shortest distance between the point and the line.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;float getDistanceBetweenPointAndSegment2D(float pointX, float pointY, float x1, float y1, float x2, float y2)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''pointX''': The X coordinate of the point.&lt;br /&gt;
* '''pointY''': The Y coordinate of the point.&lt;br /&gt;
* '''x1''': The X coordinate of the starting point of the line.&lt;br /&gt;
* '''y1''': The Y coordinate of the starting point of the line.&lt;br /&gt;
* '''x2''': The X coordinate of the ending point of the line.&lt;br /&gt;
* '''y2''': The Y coordinate of the ending point of the line.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Function source&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function getDistanceBetweenPointAndSegment2D(pointX, pointY, x1, y1, x2, y2)&lt;br /&gt;
	local A = pointX - x1&lt;br /&gt;
	local B = pointY - y1&lt;br /&gt;
	local C = x2 - x1&lt;br /&gt;
	local D = y2 - y1&lt;br /&gt;
&lt;br /&gt;
	local point = A * C + B * D&lt;br /&gt;
	local lenSquare = C * C + D * D&lt;br /&gt;
	local parameter = point / lenSquare&lt;br /&gt;
&lt;br /&gt;
	local shortestX&lt;br /&gt;
	local shortestY&lt;br /&gt;
&lt;br /&gt;
	if parameter &amp;lt; 0 then&lt;br /&gt;
		shortestX = x1&lt;br /&gt;
    		shortestY = y1&lt;br /&gt;
	elseif parameter &amp;gt; 1 then&lt;br /&gt;
		shortestX = x2&lt;br /&gt;
		shortestY = y2&lt;br /&gt;
	else&lt;br /&gt;
		shortestX = x1 + parameter * C&lt;br /&gt;
		shortestY = y1 + parameter * D&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local distance = getDistanceBetweenPoints2D(pointX, pointY, shortestX, shortestY)&lt;br /&gt;
&lt;br /&gt;
	return distance&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This code draws a red line, enables mouse cursor and tells client how far from the line was clicked.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Draw a red line&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;, getRootElement(),&lt;br /&gt;
	function()&lt;br /&gt;
		dxDrawLine(20, 20, 200, 100, tocolor(255, 0, 0)&lt;br /&gt;
	end&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
-- Show cursor&lt;br /&gt;
showCursor(true)&lt;br /&gt;
&lt;br /&gt;
-- Fires when left mouse button is clicked&lt;br /&gt;
function cursorPositionFromTheRedLine(button, state, clickedX, clickedY)&lt;br /&gt;
	-- Allow function to continue only if left button was pressed and button was pressed down&lt;br /&gt;
	if button ~= &amp;quot;left&amp;quot; or state == &amp;quot;up&amp;quot; then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Calculate the distance&lt;br /&gt;
	local distance = getDistanceBetweenPointAndSegment2D(clickedX, clickedY, 20, 20, 200, 100)&lt;br /&gt;
&lt;br /&gt;
	-- Tell user the distance&lt;br /&gt;
	outputChatBox(&amp;quot;You clicked &amp;quot;..distance..&amp;quot; away from the Red Line!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Read mouse clicks&lt;br /&gt;
addEventHandler(&amp;quot;onClientClick&amp;quot;, root, cursorPositionFromTheRedLine)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code from: http://www.allegro.cc/forums/thread/589720&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:IsYearALeapYear&amp;diff=22327</id>
		<title>Talk:IsYearALeapYear</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:IsYearALeapYear&amp;diff=22327"/>
		<updated>2010-01-24T03:17:56Z</updated>

		<summary type="html">&lt;p&gt;Madis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How is this an useful function? --Madis&lt;br /&gt;
Oh, for http://wiki.mtasa.com/wiki/GetTimestamp -- Madis&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetDistanceBetweenPointAndSegment2D&amp;diff=22326</id>
		<title>GetDistanceBetweenPointAndSegment2D</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetDistanceBetweenPointAndSegment2D&amp;diff=22326"/>
		<updated>2010-01-24T03:15:41Z</updated>

		<summary type="html">&lt;p&gt;Madis: Created page with '{{Useful Function}} &amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt; __NOTOC__ Takes point coordinates and line (a segment) starting and ending coordinates. It returns the shortest distance bet…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Takes point coordinates and line (a segment) starting and ending coordinates. It returns the shortest distance between the point and the line.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;float getDistanceBetweenPointAndSegment2D(float pointX, float pointY, float x1, float y1, float x2, float y2)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''pointX''': The X coordinate of the point.&lt;br /&gt;
* '''pointY''': The Y coordinate of the point.&lt;br /&gt;
* '''x1''': The X coordinate of the starting point of the line.&lt;br /&gt;
* '''y1''': The Y coordinate of the starting point of the line.&lt;br /&gt;
* '''x2''': The X coordinate of the ending point of the line.&lt;br /&gt;
* '''y2''': The Y coordinate of the ending point of the line.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Function source&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function getDistanceBetweenPointAndSegment2D(pointX, pointY, x1, y1, x2, y2)&lt;br /&gt;
	local A = pointX - x1&lt;br /&gt;
	local B = pointY - y1&lt;br /&gt;
	local C = x2 - x1&lt;br /&gt;
	local D = y2 - y1&lt;br /&gt;
&lt;br /&gt;
	local point = A * C + B * D&lt;br /&gt;
	local lenSquare = C * C + D * D&lt;br /&gt;
	local parameter = point / lenSquare&lt;br /&gt;
&lt;br /&gt;
	local shortestX&lt;br /&gt;
	local shortestY&lt;br /&gt;
&lt;br /&gt;
	if parameter &amp;lt; 0 then&lt;br /&gt;
		shortestX = x1&lt;br /&gt;
    		shortestY = y1&lt;br /&gt;
	elseif parameter &amp;gt; 1 then&lt;br /&gt;
		shortestX = x2&lt;br /&gt;
		shortestY = y2&lt;br /&gt;
	else&lt;br /&gt;
		shortestX = x1 + parameter * C&lt;br /&gt;
		shortestY = y1 + parameter * D&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local distance = getDistanceBetweenPoints2D(pointX, pointY, shortestX, shortestY)&lt;br /&gt;
&lt;br /&gt;
	return distance&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This code draws a red line, enables mouse cursor and tells client how far from the line was clicked.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Draw a red line&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;, getRootElement(),&lt;br /&gt;
	function()&lt;br /&gt;
		dxDrawLine(20, 20, 200, 100, tocolor(255, 0, 0)&lt;br /&gt;
	end&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
-- Show cursor&lt;br /&gt;
showCursor(true)&lt;br /&gt;
&lt;br /&gt;
-- Fires when left mouse button is clicked&lt;br /&gt;
function cursorPositionFromTheRedLine(button, state, clickedX, clickedY)&lt;br /&gt;
	-- Allow function to continue only if left button was pressed and button was pressed down&lt;br /&gt;
	if button ~= &amp;quot;left&amp;quot; or state == &amp;quot;up&amp;quot; then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Calculate the distance&lt;br /&gt;
	local distance = distanceBetweenPointAndSegment(clickedX, clickedY, 20, 20, 200, 100)&lt;br /&gt;
&lt;br /&gt;
	-- Tell user the distance&lt;br /&gt;
	outputChatBox(&amp;quot;You clicked &amp;quot;..distance..&amp;quot; away from the Red Line!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Read mouse clicks&lt;br /&gt;
addEventHandler(&amp;quot;onClientClick&amp;quot;, root, cursorPositionFromTheRedLine)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code from: http://www.allegro.cc/forums/thread/589720&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:DxDrawImage&amp;diff=22325</id>
		<title>Talk:DxDrawImage</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:DxDrawImage&amp;diff=22325"/>
		<updated>2010-01-24T01:10:13Z</updated>

		<summary type="html">&lt;p&gt;Madis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I added note to filepath that .dds images are also supported, though it's not the best solution, a proper list would be better. --Madis&lt;br /&gt;
&lt;br /&gt;
Current image types I know that work:&lt;br /&gt;
dds&lt;br /&gt;
png&lt;br /&gt;
&lt;br /&gt;
Image types that seem not to work:&lt;br /&gt;
jpg&lt;br /&gt;
&lt;br /&gt;
--Madis&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:DxDrawImage&amp;diff=21972</id>
		<title>Talk:DxDrawImage</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:DxDrawImage&amp;diff=21972"/>
		<updated>2009-11-23T23:56:02Z</updated>

		<summary type="html">&lt;p&gt;Madis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I added note to filepath that .dds images are also supported, though it's not the best solution, a proper list would be better. --Madis&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:DxDrawImage&amp;diff=21971</id>
		<title>Talk:DxDrawImage</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:DxDrawImage&amp;diff=21971"/>
		<updated>2009-11-23T23:55:53Z</updated>

		<summary type="html">&lt;p&gt;Madis: Created page with 'I added note to filepath that .dds images are also supported, though it's not the best solution, a proper list would be better.'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I added note to filepath that .dds images are also supported, though it's not the best solution, a proper list would be better.&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawImage&amp;diff=21970</id>
		<title>DxDrawImage</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawImage&amp;diff=21970"/>
		<updated>2009-11-23T23:55:00Z</updated>

		<summary type="html">&lt;p&gt;Madis: /* Required Arguments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}} &lt;br /&gt;
&lt;br /&gt;
Draws an image on the screen for a single frame. In order for the image to stay visible continuously, you need to call this function with the same parameters on each frame update (see [[onClientRender]]).&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawImage ( float posX, float posY, float width, float height, string filepath [, float rotation = 0, float rotationCenterOffsetX = 0, float rotationCenterOffsetY = 0, int color = white, bool postGUI = false ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''posX:''' the absolute X coordinate of the top left corner of the image&lt;br /&gt;
*'''posY:''' the absolute Y coordinate of the top left corner of the image&lt;br /&gt;
*'''width:''' the absolute width of the image (must be a power of two or image might be blurry)&lt;br /&gt;
*'''height:''' the absolute height of the image (must be a power of two or image might be blurry)&lt;br /&gt;
*'''filepath:''' The [[filepath]] of the image which is going to be drawn. (.dds images are also supported)&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''rotation:''' the rotation, in degrees for the image.&lt;br /&gt;
*'''rotationCenterOffsetX:''' the absolute X offset from the image center for which to rotate the image from.&lt;br /&gt;
*'''rotationCenterOffsetY:''' the absolute Y offset from the image center for which to rotate the image from.&lt;br /&gt;
*'''color:''' the color of the image, a value produced by [[tocolor]] or hexadecimal number in format: 0xAARRGGBB (AA = alpha, RR = red, GG = green, BB = blue).&lt;br /&gt;
*'''postgui :''' A bool representing whether the image should be drawn on top of or behind any ingame GUI (rendered by CEGUI).&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
Example of a pendulum swinging from the top of the screen, made using dxDrawImage.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local rootElement = getRootElement()&lt;br /&gt;
local screenWidth,screenHeight = guiGetScreenSize()  -- Get screen resolution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function renderDisplay ( )&lt;br /&gt;
	local seconds = getTickCount() / 1000&lt;br /&gt;
	local angle = math.sin(seconds) * 80&lt;br /&gt;
	-- This will draw the graphic file 'arrow.png' at the top middle of the screen&lt;br /&gt;
	-- using the size of 100 pixels wide, and 240 pixels high.&lt;br /&gt;
	-- The center of rotation is at the top of the image.&lt;br /&gt;
	dxDrawImage ( screenWidth/2 - 50, 0, 100, 240, 'arrow.png', angle, 0, -120 )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function HandleTheRendering ( )&lt;br /&gt;
	addEventHandler(&amp;quot;onClientRender&amp;quot;,rootElement, renderDisplay)  -- Keep everything visible with onClientRender.&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;,rootElement, HandleTheRendering)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Drawing_functions}}&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OnVehicleExplode&amp;diff=21966</id>
		<title>OnVehicleExplode</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OnVehicleExplode&amp;diff=21966"/>
		<updated>2009-11-22T08:41:16Z</updated>

		<summary type="html">&lt;p&gt;Madis: /* Example 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server event}}&lt;br /&gt;
This event is triggered when a vehicle explodes.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
No arguments&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
The [[event system#Event source|source]] of this event is the [[vehicle]] that exploded.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
vagosVehicle = nil&lt;br /&gt;
&lt;br /&gt;
-- This will get called when the vagos vehicle explodes&lt;br /&gt;
function onVagosVehicleExplode ()&lt;br /&gt;
	outputChatBox ( &amp;quot;VAGOS VEHICLE DESTROYED!&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This is called when THIS resource starts&lt;br /&gt;
function onThisResourceStart ()&lt;br /&gt;
&lt;br /&gt;
	-- Create the vagos vehicle. A van.&lt;br /&gt;
	vagosVehicle = createVehicle ( 522, 0, 0, 5 )&lt;br /&gt;
&lt;br /&gt;
	-- Add its explode handler. When this car explodes, onVagosVehicleExplode is called&lt;br /&gt;
	addEventHandler ( &amp;quot;onVehicleExplode&amp;quot;, vagosVehicle, onVagosVehicleExplode )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Add the resource start event&lt;br /&gt;
addEventHandler ( &amp;quot;onResourceStart&amp;quot;, getResourceRootElement ( getThisResource () ), onThisResourceStart )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example 2== &lt;br /&gt;
&lt;br /&gt;
This will show name of any vehicle that blew up&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function notifyAboutExplosion()&lt;br /&gt;
	-- source is the element that triggered the event and can be used in other events as well&lt;br /&gt;
	outputChatBox(getVehicleName(source)..&amp;quot; just blew up&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- by using getRootElement() as root, it works for any vehicle&lt;br /&gt;
addEventHandler(&amp;quot;onVehicleExplode&amp;quot;, getRootElement(), notifyAboutExplosion)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{See also/Server event|Vehicle events}}&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OnVehicleExplode&amp;diff=21965</id>
		<title>OnVehicleExplode</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OnVehicleExplode&amp;diff=21965"/>
		<updated>2009-11-22T08:40:02Z</updated>

		<summary type="html">&lt;p&gt;Madis: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server event}}&lt;br /&gt;
This event is triggered when a vehicle explodes.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
No arguments&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
The [[event system#Event source|source]] of this event is the [[vehicle]] that exploded.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
vagosVehicle = nil&lt;br /&gt;
&lt;br /&gt;
-- This will get called when the vagos vehicle explodes&lt;br /&gt;
function onVagosVehicleExplode ()&lt;br /&gt;
	outputChatBox ( &amp;quot;VAGOS VEHICLE DESTROYED!&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- This is called when THIS resource starts&lt;br /&gt;
function onThisResourceStart ()&lt;br /&gt;
&lt;br /&gt;
	-- Create the vagos vehicle. A van.&lt;br /&gt;
	vagosVehicle = createVehicle ( 522, 0, 0, 5 )&lt;br /&gt;
&lt;br /&gt;
	-- Add its explode handler. When this car explodes, onVagosVehicleExplode is called&lt;br /&gt;
	addEventHandler ( &amp;quot;onVehicleExplode&amp;quot;, vagosVehicle, onVagosVehicleExplode )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Add the resource start event&lt;br /&gt;
addEventHandler ( &amp;quot;onResourceStart&amp;quot;, getResourceRootElement ( getThisResource () ), onThisResourceStart )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example 2== &lt;br /&gt;
&lt;br /&gt;
This will show name of any vehicle that blew up&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function notifyAboutExplosion()&lt;br /&gt;
	-- source is the element that triggered the event and can be used in other events as well&lt;br /&gt;
	outputChatBox(getVehicleName(source))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- by using getRootElement() as root, it works for any vehicle&lt;br /&gt;
addEventHandler(&amp;quot;onVehicleExplode&amp;quot;, getRootElement(), notifyAboutExplosion)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{See also/Server event|Vehicle events}}&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:IsYearALeapYear&amp;diff=21964</id>
		<title>Talk:IsYearALeapYear</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:IsYearALeapYear&amp;diff=21964"/>
		<updated>2009-11-21T04:03:21Z</updated>

		<summary type="html">&lt;p&gt;Madis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How is this an useful function? --Madis&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:IsYearALeapYear&amp;diff=21963</id>
		<title>Talk:IsYearALeapYear</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:IsYearALeapYear&amp;diff=21963"/>
		<updated>2009-11-21T04:02:53Z</updated>

		<summary type="html">&lt;p&gt;Madis: Created page with 'How is this an useful function?'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How is this an useful function?&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OnClientVehicleStartExit&amp;diff=21959</id>
		<title>OnClientVehicleStartExit</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OnClientVehicleStartExit&amp;diff=21959"/>
		<updated>2009-11-19T05:18:00Z</updated>

		<summary type="html">&lt;p&gt;Madis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Incomplete Event]]&lt;br /&gt;
{{Client event}}&lt;br /&gt;
__NOTOC__ &lt;br /&gt;
This event is triggered when a player starts exiting a vehicle. Once the exiting animation completes, [[onClientVehicleExit]] is triggered.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
player thePlayer, int seat&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''thePlayer:''' the player who started exiting the vehicle.&lt;br /&gt;
*'''seat:''' the number of the seat that the player was sitting on.&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
The source of this event is the vehicle that the player started to exit.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
===Client vehicle events===&lt;br /&gt;
{{Client_vehicle_events}}&lt;br /&gt;
===Client event functions===&lt;br /&gt;
{{Client_event_functions}}&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OnClientElementDataChange&amp;diff=21958</id>
		<title>OnClientElementDataChange</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OnClientElementDataChange&amp;diff=21958"/>
		<updated>2009-11-19T02:00:05Z</updated>

		<summary type="html">&lt;p&gt;Madis: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client event}}&lt;br /&gt;
__NOTOC__ &lt;br /&gt;
This event is triggered whenever an element's ''[[element data]]'' is changed.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string dataName, string oldValue&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*'''dataName''': A string representing the element data that was changed&lt;br /&gt;
*'''oldValue''': A string representing the value before changed element data&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
The [[event system#Event source|source]] of this event is the [[element]] that had its element data changed&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example tells the client whenever a player's &amp;quot;score&amp;quot; element data is changed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler ( &amp;quot;onClientElementDataChange&amp;quot;, getRootElement(),&lt;br /&gt;
function ( dataName )&lt;br /&gt;
	if getElementType ( source ) == &amp;quot;player&amp;quot; and dataName == &amp;quot;score&amp;quot; then&lt;br /&gt;
		outputChatBox ( getPlayerName(source)..&amp;quot;'s new score is &amp;quot;..getElementData (source, &amp;quot;score&amp;quot;)..&amp;quot;!&amp;quot; )&lt;br /&gt;
	end&lt;br /&gt;
end )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
===Client element events===&lt;br /&gt;
{{Client_element_events}}&lt;br /&gt;
===Client event functions===&lt;br /&gt;
{{Client_event_functions}}&lt;/div&gt;</summary>
		<author><name>Madis</name></author>
	</entry>
</feed>