<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://doomdev.idkfa.ru/wiki/skins/common/feed.css?164"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Delay - История изменений</title>
		<link>http://doomdev.idkfa.ru/wiki/index.php?title=Delay&amp;action=history</link>
		<description>История изменений этой страницы в вики</description>
		<language>ru</language>
		<generator>MediaWiki 1.13.3</generator>
		<lastBuildDate>Wed, 08 Apr 2026 12:04:09 GMT</lastBuildDate>
		<item>
			<title>Costja в 21:47, 19 января 2006</title>
			<link>http://doomdev.idkfa.ru/wiki/index.php?title=Delay&amp;diff=2106&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''void Delay(int тики)'''&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
|'''тики'''&lt;br /&gt;
|интервал времени&lt;br /&gt;
|}&lt;br /&gt;
Текущий скрипт приостанавливается, пока не пройдет указанный интервал времени. Тик – один цикл 35-герцового таймера, то есть одна секунда - 35 тиков.&lt;br /&gt;
&lt;br /&gt;
'''Пример:'''&lt;br /&gt;
Delay употребляется очень часто. Одно из применений - исправление ошибки 'Runaway script x terminated'. Скрипт завершается, если он застревает в бесконечном цикле (фактически, на 500000-й итерации). Например:&lt;br /&gt;
&lt;br /&gt;
 script 1 ENTER&lt;br /&gt;
 {&lt;br /&gt;
 	int health;&lt;br /&gt;
 	while (TRUE)&lt;br /&gt;
 	{&lt;br /&gt;
 		health = [[GetActorProperty]](0, APROP_HEALTH);&lt;br /&gt;
 		[[Print]](s:&amp;quot;You have &amp;quot;, d:health, s:&amp;quot; health!&amp;quot;);&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Этот скрипт вызовет ошибку и будет завершен, так как он пытается сообщать игроку здоровье не приостанавливаясь. Добавление небольшой задержки приведет к желаемому эффекту - постоянному сообщению игроку его здоровья.&lt;br /&gt;
&lt;br /&gt;
 script 1 ENTER&lt;br /&gt;
 {&lt;br /&gt;
 	int health;&lt;br /&gt;
 	while (TRUE)&lt;br /&gt;
 	{&lt;br /&gt;
 		health = [[GetActorProperty]](0, APROP_HEALTH);&lt;br /&gt;
 		[[Print]](s:&amp;quot;You have &amp;quot;, d:health, s:&amp;quot; health!&amp;quot;);&lt;br /&gt;
 		Delay(1); // Wait for next frame&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Другое очевидное применение - простая задержка. Например, поведение двери, используемой в ловушке у первого ключа на E1M6 может быть сэмитировано таким скриптом:&lt;br /&gt;
&lt;br /&gt;
 script 12 (int sector, int speed, int seconds)&lt;br /&gt;
 {&lt;br /&gt;
 	[[Door_Open]](sector, speed);&lt;br /&gt;
 	Delay(35*seconds);&lt;br /&gt;
 	[[Door_Close]](sector, speed);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Но это поведение может быть достигнуто и спецификатором [[Door_CloseWaitOpen]].&lt;br /&gt;
&lt;br /&gt;
{{Zdoomwikibased}}&lt;br /&gt;
[[category:Функции ожидания]]&lt;/div&gt;</description>
			<pubDate>Thu, 19 Jan 2006 21:47:13 GMT</pubDate>			<dc:creator>Costja</dc:creator>			<comments>http://doomdev.idkfa.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Delay</comments>		</item>
	</channel>
</rss>