<?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>Колонны - История изменений</title>
		<link>http://doomdev.idkfa.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%BE%D0%BD%D0%BD%D1%8B&amp;action=history</link>
		<description>История изменений этой страницы в вики</description>
		<language>ru</language>
		<generator>MediaWiki 1.13.3</generator>
		<lastBuildDate>Wed, 08 Apr 2026 08:30:20 GMT</lastBuildDate>
		<item>
			<title>Costja в 22:25, 6 июня 2006</title>
			<link>http://doomdev.idkfa.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BB%D0%BE%D0%BD%D0%BD%D1%8B&amp;diff=2201&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;[[Изображение:pillar.gif|frame|center|Рисунок 1: Колонна в качестве двери]]&lt;br /&gt;
&lt;br /&gt;
Другим элементом, пришедшим в ZDoom из Hexen, является колонна. Колонной называется сектор, у которого пол и потолок движутся одновременно в противоположных направлениях. В уроке «Раздвигающиеся двери» для имитирования двери мы использовали спецификаторы [[Floor_Raise]], [[Floor_Lower]], [[Ceiling_Raise]] и [[Ceiling_Lower]]. В этом уроке мы создадим другую раздвижную дверь, но для упрощения написания скриптов используем спецификаторы колонн. В wad-файле [http://zdoom.org/zdkb/pillardr.zip pillardr.wad] приведен пример использования колонны.&lt;br /&gt;
&lt;br /&gt;
На рисунке 1 показана колонна в действии. Когда игрок активирует дверь, при помощи спецификатора ACS_Execute вызывается скрипт. Этот скрипт принимает один параметр – tag сектора-двери – что позволяет ему работать с любой раздвижной дверью на уровне. А вот и сам скрипт:&lt;br /&gt;
 #include “zcommon.acs”&lt;br /&gt;
  &lt;br /&gt;
 script 1 (int DoorTag)&lt;br /&gt;
 {&lt;br /&gt;
         //Открытьдверь.&lt;br /&gt;
         Pillar_Open (DoorTag, 16, 0, 0);&lt;br /&gt;
         &lt;br /&gt;
         Delay (120);&lt;br /&gt;
         &lt;br /&gt;
         //Закрыть дверь.&lt;br /&gt;
         Pillar_Build (DoorTag, 16, 0);&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Если вы сравните этот скрипт со скриптом раздвигающихся дверей, то увидите, насколько колонны упрощают код.&lt;br /&gt;
&lt;br /&gt;
Колонны управляются следующими тремя спецификаторами:&lt;br /&gt;
&lt;br /&gt;
[[Pillar_Build]] (tag, скорость, расстояние)&lt;br /&gt;
* tag – tag сектора-колонны.&lt;br /&gt;
* скорость – скорость перемещения пола и потолка.&lt;br /&gt;
* расстояние – расстояние, на которое перемещаются пол и потолок. Если этот параметр равен нулю, то они встретятся на середине пути.&lt;br /&gt;
&lt;br /&gt;
[[Pillar_Open]] (tag, скорость, перем_пола, перем_потолка)&lt;br /&gt;
* tag – tag сектора-колонны.&lt;br /&gt;
* скорость – скорость перемещения пола и потолка.&lt;br /&gt;
* перем_пола – расстояние, на которое должен переместить пол. Если этот параметр равен нулю, то пол опустится до уровня самого низкорасположенного соседнего пола.&lt;br /&gt;
* перем_потолка – расстояние, на которое должен переместится потолок. Если этот параметр равен нулю, потолок поднимется до уровня самого высокорасположенного соседнего потолка.&lt;br /&gt;
&lt;br /&gt;
Если нужно сделать колонну (или дверь) ловушкой и наносить ущерб игроку, находящемуся в ее пределах при закрытии, надо использовать спецификатор давящей колонны. Pillar_BuildAndCrush (№94) принимает четыре параметра:&lt;br /&gt;
&lt;br /&gt;
[[Pillar_BuildAndCrush]] (tag, скорость, расстояние, ущерб)&lt;br /&gt;
* tag – tag сектора-колонны&lt;br /&gt;
* скорость – скорость перемещения пола и потолка.&lt;br /&gt;
* расстояние – расстояние, на которое перемещается пол и потолок. Если равен нулю, то пол и потолок встретятся на середине пути.&lt;br /&gt;
* ущерб – наносимый ущерб.&lt;br /&gt;
&lt;br /&gt;
{{RCTutorial}}&lt;/div&gt;</description>
			<pubDate>Tue, 06 Jun 2006 22:25:27 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:%D0%9A%D0%BE%D0%BB%D0%BE%D0%BD%D0%BD%D1%8B</comments>		</item>
	</channel>
</rss>