<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://tesck.ru/index.php?action=history&amp;feed=atom&amp;title=RampRumble_-_ObjectReference</id>
		<title>RampRumble - ObjectReference - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://tesck.ru/index.php?action=history&amp;feed=atom&amp;title=RampRumble_-_ObjectReference"/>
		<link rel="alternate" type="text/html" href="https://tesck.ru/index.php?title=RampRumble_-_ObjectReference&amp;action=history"/>
		<updated>2026-05-30T01:10:32Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://tesck.ru/index.php?title=RampRumble_-_ObjectReference&amp;diff=6294&amp;oldid=prev</id>
		<title>Admin: Новая страница: «Category:Скриптинг Category:Papyrus {{MemberOfScript|parent=ObjectReference Script}} Функция задумана в качестве быст…»</title>
		<link rel="alternate" type="text/html" href="https://tesck.ru/index.php?title=RampRumble_-_ObjectReference&amp;diff=6294&amp;oldid=prev"/>
				<updated>2016-04-19T05:42:58Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «&lt;a href=&quot;/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3&quot; title=&quot;Категория:Скриптинг&quot;&gt;Category:Скриптинг&lt;/a&gt; &lt;a href=&quot;/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Papyrus&quot; title=&quot;Категория:Papyrus&quot;&gt;Category:Papyrus&lt;/a&gt; {{MemberOfScript|parent=ObjectReference Script}} Функция задумана в качестве быст…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Скриптинг]]&lt;br /&gt;
[[Category:Papyrus]]&lt;br /&gt;
{{MemberOfScript|parent=ObjectReference Script}}&lt;br /&gt;
Функция задумана в качестве быстрого способа встряхнуть контроллер и камеру.  Автоматически подбирает интенсивность эффекта на основе дистанции игрока от точки появления/вызова эффекта на ссылке.&lt;br /&gt;
&lt;br /&gt;
== {{Syntax}} ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;papyrus&amp;quot;&amp;gt;&lt;br /&gt;
bool Function rampRumble(float power = 0.5, float duration = 0.25, float falloff = 1600.0)&lt;br /&gt;
	if power &amp;gt; 1.0 || power &amp;lt;= 0&lt;br /&gt;
	endif&lt;br /&gt;
	float playerDist = game.getplayer().getDistance(self)&lt;br /&gt;
	if playerDist &amp;lt; falloff&lt;br /&gt;
		float intensity = (1 - (playerDist / falloff))&lt;br /&gt;
		intensity = intensity*power		&lt;br /&gt;
		if intensity &amp;gt; 1.0&lt;br /&gt;
			intensity = 1.0 &lt;br /&gt;
		elseif intensity &amp;lt;= 0&lt;br /&gt;
			intensity = 0&lt;br /&gt;
			return false&lt;br /&gt;
		endif&lt;br /&gt;
		game.shakeCamera(game.getPlayer(), intensity)&lt;br /&gt;
		game.shakeController(intensity, intensity, duration)&lt;br /&gt;
		return true&lt;br /&gt;
	else&lt;br /&gt;
		return False&lt;br /&gt;
	endif&lt;br /&gt;
endFunction&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== {{Parameters}} ==&lt;br /&gt;
*'''power''': Мощность тряски в точке появления эффекта&lt;br /&gt;
**'''{{Default}}''': 0.5, что является половинной интенсивностью.  Допустимые значения в промежутке 0.001 - 1.0, где 1.0 будет эффектом с самой большой интенсивностью из возможных&lt;br /&gt;
*'''duration''': Как долго должен длиться эффект?&lt;br /&gt;
**'''{{Default}}''': 0.25&lt;br /&gt;
*'''falloff''': Радиус эффекта (на конце радиуса идет полный спад эффекта).  Самая большая интенсивность будет у вызываемого объекта, плавно спадая в ноль вдоль радиуса спада.&lt;br /&gt;
**'''{{Default}}''': 1600&lt;br /&gt;
&lt;br /&gt;
== {{Return Value}} ==&lt;br /&gt;
Вернет ''false'' если тряска не была применена. (Некорректные значения параметров откидываются и не будут вызывать сбоя функции)&lt;br /&gt;
&lt;br /&gt;
== {{Example}} ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;papyrus&amp;quot;&amp;gt;&lt;br /&gt;
; Вызывать интенсивную тряску камеры/контроллера из точки, где находится маркер, с небольшим радиусом&lt;br /&gt;
; выводим трейс для отладки, чтобы узнать, произошла ли тряска&lt;br /&gt;
If ( !RumbleMarker.RampRumble(1.0, 0.25, 512.0) )&lt;br /&gt;
     Debug.Trace(&amp;quot;Функция RampRumble() не произвела никакой тряски.  Игрок слишком далеко?&amp;quot;)&lt;br /&gt;
Else&lt;br /&gt;
     Debug.Trace(&amp;quot;Мир игрока пошатнулся!&amp;quot;)&lt;br /&gt;
EndIf&lt;br /&gt;
&lt;br /&gt;
; Простая тряска контроллера/камеры&lt;br /&gt;
RumbleMarker.RampRumble()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== {{See Also}} ==&lt;br /&gt;
*[[ObjectReference Script]]&lt;br /&gt;
*[[ShakeCamera - Game]]&lt;br /&gt;
*[[ShakeController - Game]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>