<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.rage.mp/w/index.php?action=history&amp;feed=atom&amp;title=Gameplay%3A%3AgetGroundZAndNormalFor3DCoord</id>
	<title>Gameplay::getGroundZAndNormalFor3DCoord - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rage.mp/w/index.php?action=history&amp;feed=atom&amp;title=Gameplay%3A%3AgetGroundZAndNormalFor3DCoord"/>
	<link rel="alternate" type="text/html" href="https://wiki.rage.mp/w/index.php?title=Gameplay::getGroundZAndNormalFor3DCoord&amp;action=history"/>
	<updated>2026-06-04T08:58:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.rage.mp/w/index.php?title=Gameplay::getGroundZAndNormalFor3DCoord&amp;diff=21888&amp;oldid=prev</id>
		<title>Shr0x: Created page with &quot;{{ClientsideJsFunction}} {{JSContainer|  ===Required Values=== *&#039;&#039;&#039;x:&#039;&#039;&#039; {{RageType|float}} *&#039;&#039;&#039;y:&#039;&#039;&#039; {{RageType|float}} *&#039;&#039;&#039;z:&#039;&#039;&#039; {{RageType|float}}  ===Return value=== *{ groundZ: number; normal: Vector3; result: boolean; }  ==Syntax== &lt;syntaxhighlight lang=&quot;javascript&quot;&gt; mp.game.gameplay.getGroundZAndNormalFor3DCoord(x, y, z); &lt;/syntaxhighlight&gt;  ==Example== &lt;syntaxhighlight lang=&quot;javascript&quot;&gt; const {x, y, z} = mp.players.local.position; const {groundZ, normal, result}...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.rage.mp/w/index.php?title=Gameplay::getGroundZAndNormalFor3DCoord&amp;diff=21888&amp;oldid=prev"/>
		<updated>2024-04-29T10:16:08Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{ClientsideJsFunction}} {{JSContainer|  ===Required Values=== *&amp;#039;&amp;#039;&amp;#039;x:&amp;#039;&amp;#039;&amp;#039; {{RageType|float}} *&amp;#039;&amp;#039;&amp;#039;y:&amp;#039;&amp;#039;&amp;#039; {{RageType|float}} *&amp;#039;&amp;#039;&amp;#039;z:&amp;#039;&amp;#039;&amp;#039; {{RageType|float}}  ===Return value=== *{ groundZ: number; normal: Vector3; result: boolean; }  ==Syntax== &amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt; mp.game.gameplay.getGroundZAndNormalFor3DCoord(x, y, z); &amp;lt;/syntaxhighlight&amp;gt;  ==Example== &amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt; const {x, y, z} = mp.players.local.position; const {groundZ, normal, result}...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ClientsideJsFunction}}&lt;br /&gt;
{{JSContainer|&lt;br /&gt;
&lt;br /&gt;
===Required Values===&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;x:&amp;#039;&amp;#039;&amp;#039; {{RageType|float}}&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;y:&amp;#039;&amp;#039;&amp;#039; {{RageType|float}}&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;z:&amp;#039;&amp;#039;&amp;#039; {{RageType|float}}&lt;br /&gt;
&lt;br /&gt;
===Return value===&lt;br /&gt;
*{ groundZ: number; normal: Vector3; result: boolean; }&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
mp.game.gameplay.getGroundZAndNormalFor3DCoord(x, y, z);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const {x, y, z} = mp.players.local.position;&lt;br /&gt;
const {groundZ, normal, result} = mp.game.gameplay.getGroundZAndNormalFor3DCoord(x, y, z);&lt;br /&gt;
mp.console.logInfo(`GroundZ is ${groundZ} ${result ? &amp;#039;with collision&amp;#039; : &amp;#039;without collision&amp;#039;}`);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
==See also==&lt;br /&gt;
{{Gameplay_definition_c}}&lt;br /&gt;
[[Category:Clientside API]]&lt;br /&gt;
[[Category:TODO: Example]]&lt;/div&gt;</summary>
		<author><name>Shr0x</name></author>
	</entry>
</feed>