<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://rage.grandroleplay.ru/index.php?action=history&amp;feed=atom&amp;title=Graphics%3A%3AdrawSpotLightWithShadow</id>
	<title>Graphics::drawSpotLightWithShadow - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://rage.grandroleplay.ru/index.php?action=history&amp;feed=atom&amp;title=Graphics%3A%3AdrawSpotLightWithShadow"/>
	<link rel="alternate" type="text/html" href="https://rage.grandroleplay.ru/index.php?title=Graphics::drawSpotLightWithShadow&amp;action=history"/>
	<updated>2026-07-24T19:37:43Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://rage.grandroleplay.ru/index.php?title=Graphics::drawSpotLightWithShadow&amp;diff=10249&amp;oldid=prev</id>
		<title>imported&gt;Ragempdev в 22:16, 30 ноября 2017</title>
		<link rel="alternate" type="text/html" href="https://rage.grandroleplay.ru/index.php?title=Graphics::drawSpotLightWithShadow&amp;diff=10249&amp;oldid=prev"/>
		<updated>2017-11-30T22:16:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;mp.game.graphics.drawSpotLightWithShadow(posX, posY, posZ, dirX, dirY, dirZ, colorR, colorG, colorB, distance, brightness, roundness, radius, falloff, shadow);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Required Arguments ===&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;posX:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;posY:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;posZ:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;dirX:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;dirY:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;dirZ:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;colorR:&amp;#039;&amp;#039;&amp;#039; int&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;colorG:&amp;#039;&amp;#039;&amp;#039; int&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;colorB:&amp;#039;&amp;#039;&amp;#039; int&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;distance:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;brightness:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;roundness:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;radius:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;falloff:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;shadow:&amp;#039;&amp;#039;&amp;#039; float&lt;br /&gt;
===Return value===&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Undefined&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
==Example==&lt;br /&gt;
&lt;br /&gt;
This draws a spotlight with shadow from the source to the target, like a helicopter spotlight.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Clientside&lt;br /&gt;
let veh = mp.vehicles.at(0); &lt;br /&gt;
let target = mp.players.at(0);&lt;br /&gt;
// Examples, use any entity or even just a position as target&lt;br /&gt;
&lt;br /&gt;
mp.events.add(&amp;#039;render&amp;#039;, () =&amp;gt; {&lt;br /&gt;
    let forward = veh.getForwardVector();&lt;br /&gt;
    // returns the entity forward vector; Example: {&amp;quot;x&amp;quot;: 0.5455624, &amp;quot;y&amp;quot;: 0.00233556, &amp;quot;z&amp;quot;: 0.00021313}&lt;br /&gt;
    &lt;br /&gt;
    let dist = Math.round(mp.game.system.vdist2(veh.position.x, veh.position.y, veh.position.z, target.position.x, target.position.y, target.position.z) / 3);&lt;br /&gt;
    // Calculates the distance between the given coords; you can also use mp.game.gameplay.getDistanceBetweenCoords(), but it&amp;#039;s slower&lt;br /&gt;
&lt;br /&gt;
    let dest = new mp.Vector3((target.position.x - veh.position.x - forward.x * 3.4), (target.position.y - veh.position.y - forward.y * 3.4), (target.position.z - veh.position.z - forward.z * 3.4));&lt;br /&gt;
    // This is the destinated direction of the spotlight relative to the starting point (start.pos - target.pos - forward.pos * 3.4); &amp;quot;3.4&amp;quot; is just a multiplier to get the correct starting point of the spotlight&lt;br /&gt;
    // These are NOT the destinated coordinates, it&amp;#039;s the direction where the spotlight have to aim at, relative to the global coordinate system&lt;br /&gt;
&lt;br /&gt;
    let origin = new mp.Vector3(veh.position.x + forward.x * 3.4, veh.position.y + forward.y * 3.4, (veh.position.z + forward.z * 3.4) - 1);&lt;br /&gt;
    // Starting point&lt;br /&gt;
                                         &lt;br /&gt;
    mp.game.graphics.drawSpotLightWithShadow(origin.x, origin.y, origin.z, dest.x, dest.y, dest.z, 255, 255, 255, dist + 10, 10, 1, 5, 1, 0);&lt;br /&gt;
    // Draws the spotlight every frame.&lt;br /&gt;
});  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Graphics_s_function_c}}&lt;br /&gt;
[[Category:Clientside API]]&lt;br /&gt;
[[Category:TODO: Example]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Ragempdev</name></author>
	</entry>
</feed>