на главную страницу -|- к архиву статей
Территория
Файлы
Статьи и дополнительная информация
Гостевая книга
Команда

В ПОМОЩЬ СОЗДАТЕЛЮ ПРИКЛЮЧЕНИЙ

ЧАСТЬ II

РАЗМЕЩАЕМЫЕ ОБЪЕКТЫ


Это наиболее интересная и одна из сложных тем в нашем разговоре. Трудно, используя стандартные объекты в Toolset-е, не потерять чувство меры, так необходимое дизайнеру. Но мы попробуем расширить скромные возможности палитры.

1. Размещение не используемых объектов.

Вид каждого Placeable Objects-a, предназначен для определенных нужд в игре. Например, ящики нужны для инвентаря, но. Если у вас дом с одним входом, а внутренняя территория с двумя выходами из группы тайлов 2х3 или 2х2, как быть? Тогда, мы просто берем ящик, убираем из свойств галочку об использовании и инвентаре, добавляем свой тэг и ResRef и у нас получился новый объект палитры. Мы заставим ящиками этого вида дверь без выхода, и территория обретет необходимые нам параметры.

Рис. 10.

Рассмотрим эту операцию подробно. Выберем наш неиспользуемый ящик из палитры и установим его перед дверью. Скопировав его в буфер, поставим пять одинаковых ящиков в ряд. Выделим эти пять ящиков, и скопируем заново. Теперь нажав Crl+v мы увидим пять полупрозрачных объектов, наш ряд ящиков. Установим второй ряд прямо перед первым, кликнув левой кнопкой мыши. (Рис. 10) При необходимости пододвиньте вплотную к первому ряду. Теперь мы выделим уже десять ящиков, весь наш ряд и нажмем Crl+c. При нажатии Crl+v, наши ящики необходимо поставить во внутрь первого ряда! Просто переместите их до совпадения последней точки текстур, совместив один в один, нажимайте левую кнопку. Вот у нас и второй ряд. Повторив данную операцию несколько раз, вы закроете вход ненужной двери (Рис. 11).

Рис. 11.

Попробуйте несколько раз проделать эту операцию с другим видом ящиков. Смешайте несколько видов, разместите рядом несколько для правдоподобности.

Однако не все объекты имеют правильную геометрию. Например, поленья дров, довольно проблематично сложить в красивую стойку. Но это вполне возможно при определенном навыке.

Совет. Если вам необходимо развернуть объект вокруг оси, используйте клавишу Shift + правую кнопку мышки.

Существуют объекты, выстроить которые в пирамиду, возможно только при строго вертикальном положении камеры. Вы смотрите на объект сверху. Копируете и вставляете также в вертикальном положении.

2. Размещение объектов на одной плоскости.

Попробуйте разместить на стойке бара несколько кружек рядом. Наверняка ничего не получится. Они будут постоянно соскакивать с текстуры, перемещаться за границу карты и т.д. Необходимо поступить так: выстроить на полу порядок расстановки предметов и нажать Crl+c. Скопировав их на курсор - Crl+v, прицеливаетесь к поверхности и нажимаете левую кнопку мышки. Камера должна быть в вертикальном положении, что бы вы могли точно определить координаты курсора для вставки. Если не получилось или вы промазали, повторите еще раз, обязательно получится!

Таким способом я устанавливаю сервировку столов в тавернах и трактирах, которые используют Placeable Objects из хаков, как для сервировки так и для самого стола.


3. Размещение объектов в воздухе.

"Зачем такие сложности при установке объектов?" - спросите вы. Дело в том, что установить на один объект другой очень сложно. Вернее установить легко, а изменить его положение сложно. Он будет постоянно проваливаться в нижний. Почему бы не воспользоваться такими свойствами Placeable Objects?

Предположим, вы хотите установить статую бога не на пол, а подвесить в воздух. Как будто ее удерживает магическая сила на весу. Установите объект любой высоты необходимой вам для этой операции, например, стол. Установите сверху статую. Теперь удалите стол с локации. Статуя останется в воздухе! Сохраняйтесь, но не вздумайте трогать ее мышкой, она сразу же рухнет вниз и поднять ее можно будет только через проделанную операцию.

4. Размещение одного объекта в другом.

Все Placeable Objects позволяют проникать друг в друга. Используем это свойство объектов. Например, присмотритесь к (Рис. 12) и ответьте из чего я выстроил подиум для статуи дварфов?

Рис. 12.

Из неиспользуемых саркофагов. Довольно мило, не находите? Да, согласен. Некоторые из вас определят, из чего выложен этот пьедестал и сочтут это вульгарным. А что делать? Компания BioWar нам особого выбора не предоставила, значит, этот способ имеет право на жизнь.

Важно! Помните, большое количество Placeable Objects нагружает вашу арену и весь модуль в целом. Не теряйте чувство меры!

Используя проникновение объектов, можно добиться изменения внешнего вида одного объекта, путем постановки рядом в него другого. Установите большой булыжник, рядом чуть-чуть в него другой. Теперь вращайте один из них вокруг оси, совместите текстуры и возможно, вы получите булыжник уже больших размеров и другого вида.

На (Рис. 13) показано, как из волшебных брызг, пламени, дыма и звука горящего строения сделан горящий мост.

Рис. 13.

5. Совмещение тайлов и объектов.

Все что я вам описал довольно легко воспроизвести. Однако, больше всего моего времени отняло "укрощение" объектов и тайлов, например, используя рельеф местности. На сайте http://nwvault.ign.com есть хак-пак добавляющий текстуры воды как объекты. Эти текстуры необходимо очень тщательным образом совмещать, так как заметен стык при неаккуратном совмещении. Установить такие текстуры на рельефе с возвышенностями, камнями и даже кустиками траве не удается. Вода постоянно оказывалась то на дереве, то на краю карты, то выше, то ниже. Объект не может проникнуть внутрь тайлов, надо было искать выход.

Рис. 14.

И я его нашел! Я установил абсолютно ровный рельеф, без единого кустика и кочки. Подогнал мозаику текстур как мне надо по замыслу. Отключил отображение объектов на местности, есть такая опция - изображение стола. Сделав нужный рельеф, я включил отображение объектов. Весь рельеф с текстурами воды ужился. Результат вы можете посмотреть на (Рис. 14).

Важно! Используя данный хак-пак у себя в модуле учтите, изображение ног и туловища игрока под текстурой отображается только в некоторых направлениях.


6. Насыщенность ландшафта объектами.

Самая больная тема. Вы заметили, что объектов в палитре много, но когда дело доходит до построения локации их становится катастрофически не хватать? Или они совершенно не нужны вам в данной ситуации. Все эти проблемы из-за того, что многие начинают делать территории с огромным периметром. Поставив такую карту, не знают, чем бы ее заставить. Вот тут и начинается использование фонтанов, десятков деревьев, одинаковых домов и т.д. В палитре BioWar всего два (!) дерева-объекта, это надо помнить. Заставлять ими локацию, делая чащу, по крайней мере, неразумно. Если вам необходимы оригинальные объекты, используйте хак-паки или чувство меры при использовании стандартных объектов.

Так же следует учитывать, что использование некоторых Placeable Objects, на определенных территориях будет выглядеть нелепо. Например, вы зашли в город, а там, на улицах - сундуки! Или диван под домом стоит! Представьте, вы идет домой, а у вас во дворе стоит сундук или диван.

Совет. При использовании многочисленных, одинаковых объектов, если нельзя избежать повторов, потрудитесь хотя бы повернуть объекты в разные стороны света. Это относится к кустам, деревьям и т.д.

7. Фонтаны.

Отдельно отмечу такие объекты и тайлы, как фонтаны. Старайтесь ставить их там, где они будут к месту: во дворцах, у зданий правительства (тайлы фонтанов), у богатых гильдий и т.д. Фонтан - атрибут роскоши и достатка, а не способ заполнения пустого пространства.

Избыток фонтанов не только некрасиво, но еще и достаточно ресурсоемко. Особенно фонтан 2х1. Помните об этом.

Важно! Разрабатывая модуль, схематично разделите используемые объекты и тайлы объектов типа дом, фонтан, ферма. Используйте в одной локации только часть объектов и тайлов. Иначе вы получите города времен "Иронии судьбы", ул. Строителей дом 7, а город не важно какой. Ведь они так похожи…

8. Использование объектов из хаков.

Если вы решили использовать в своей разработке дополнительные ресурсы в виде хака, то должны будете проделать несколько необходимых действий. В частности, занесите все объекты из хака к вам в синьку. Присвойте им оригинальные тэги, ResRef -ы, имена, поместив в удобную для вас группу.

Важно! Пытаясь заставить правильно сесть НПС на стул или кресло из хака, учтите, что вам скорее всего это не удастся. Лишь немногие объекты в виде кресел, диванов и стульев позволяют это сделать. Читайте свойства вашего будущего хака внимательно.

Основное отличие от стандартных Placeable Objects в том, что они не обладают некоторыми свойствами. Их нельзя дестроить на установленном месте, нельзя включить - выключить анимацию, у них нет портрета при написании диалога и т.д. Но их недостатки меркнут в сравнении с дизайнерскими возможностями.


Совет. Обратите внимание, НПС при ходьбе иногда проникают внутрь текстур объектов и даже тайлов (!), а сквозь нестандартные объекты намного чаще. Будьте внимательны при установке.


ОРУЖИЕ И БРОНЯ

Вы видели меч или доспехи для 32-го уровня? Я видел. Печальное зрелище, сопровождающееся вопросом изготовителя: "Почему я не могу это носить?"

1. Создание оружия.

Создание оружие начинается с названия. Дадим ему имя ITM_SWORD (Рис. 15). Его тег и ResRef, будут как на рисунке. Открываем свойства и меняем его имя. Например, на "Большой меч".

Рис. 15.

Важно! Систематизируйте названия всего, что вы создаете. Например, монстры будут начинаться на букву М_***, двери с DOOR_***, помещаемые объекты с PLC_***, или как вам удобно. Это очень важно! Вы будете постоянно работать как с тэгами так и с ResRef-ми этих объектов. Наступит время, когда вы перестанете разбираться в собственной палитре.

На экране свойств показаны: имя, ярлык, ResRef, минимальный уровень необходимый для использования, стоимость в магазине, количество зарядов (если в свойствах есть магические заклинания), принадлежность к сюжету. С остальным вы разберетесь сами без труда.

Из всего этого стоить отметить уровень необходимый для использования и принадлежность к сюжету. Чем больше свойств у оружия, тем выше минимальный уровень, с которого можно пользоваться оружием. Если поставить галочку - сюжетный предмет, то его нельзя будет уничтожить и продать. Купцы его не станут покупать, а если поставить галочку - краденый, то его купит только продавец покупающий краденый товар.

Перейдем к закладке "Свойства". Здесь вы можете сделать ваше оружие более мощным или проклясть его. Что именно вы будете делать, решать вам. Выбрав определенное свойство, изучите его параметры.

Совет. В тулсете реализована адресная помощь, т.е. вы выбираете непонятный пункт и нажимаете F1, всплывает окно, в нем написано кратко об этом пункте. Слоты скриптов, свойства спеллов и фиты и т.д., объяснены таким способом. Пользуйтесь, отпадет много вопросов.

Чем сложнее и больше разных дополнительных свойств у оружия, тем дороже оно будет стоить и тем выше будет уровень необходимый для использования. Чаще заглядывайте на первую закладку свойств и следите за уровнем использования и за ценой. Цену можно поднять, но не понизить, нажимая "дополнительно".

Рис. 16.

Некоторые свойства отображаются визуально, однако, не со всеми значениями. Например, меч со свойством, дающим дополнительные повреждения +3 против стиля характера "добрый", будет иметь стандартный вид. Но стоит нам поднять повреждения до +4, как он засветится красным магическим светом (Рис. 15, 16).

Совет. Если ваше оружие уникально, не поленитесь и добавьте биографию ему. Как оно получило название, свои уникальные свойства, кто был последним хозяином и т.д. Это в равной степени относится ко всем вещам, как надеваемым, так и помещаемым объектам, если они играют какую ни будь роль.

Внешний вид оружия настройте сами, тут дело вкуса каждого. Внешний вид оружия не так критичен как внешний вид создаваемой брони. Но об этом мы поговорим дальше.

2. Создание брони.

Так же как оружие мы называем доспехи английскими буквами, означающие наш ResRef. Откроем и посмотрим настраиваемые свойства. Они практически не отличаются от параметров оружия. Главное, следите за ценой, АС и минимальным уровнем для использования. А вот внешний вид, который мы почти не разбирали в оружии, мы разберем подробно.

Важно! От внешнего вида брони зависит класс АС, присеваемый броне. Чем тяжелее выглядят доспехи, тем выше класс.

Давайте внимательно изучим внешний вид брони. Ее свойства настраиваются подобно свойствам оружия. Пользуйтесь справкой, следите за уровнем АС и минимальным классом для использования.

Перейдем к внешнему виду. Он разделяется по виду для мужчин и для дам. Если ваша броня предназначена для использования НПС женского пола, то настраивайте вид доспехов на "кукле" изображающей девушку. Слишком большие отличия во внешнем виде. Внешний вид торса у брони начинается с ткани при нулевом АС, и заканчивается видом тяжелых кованых лат с соответствующим уровнем АС. Очень часто сочетание рукавов, локтей и торса брони не сочетаются. Многие мало придают этому значение, а жаль. Потратьте несколько часов и присмотритесь, сочетающиеся части доспехов и одежды будут подходить друг к другу и по текстурам (Рис. 17).

 

 

 

 

 

 

 

 

 

 

 

Рис. 17, 18.

Кстати, у меня на подборку частей брони, для ключевых НПС, и их цветовую гамму иногда уходит по несколько часов. Бывает, создавая одну вещь, получается другая, с оригинальным видом и оттенками. Я ее сохраняю и начинаю заново.

Шлем изготовить самостоятельно не представит особого труда, если вы внимательно прочитали все, что я писал выше. Единственно, если вы делаете комплект брони, сочетайте цвета и дизайн доспехов и шлема (Рис. 18).

Совет. Не используйте больше двух, трех цветов одновременно для создания брони, если вы не делаете одежду для клоуна…

Внешний вид остальных предметов виден лишь в инвентаре, и как они будут выглядеть, дело вашего вкуса.


НПС

Вы сможете назвать более одного или двух имен НПС из официальной компании? На ум приходит только Арибет. Арибет помнят все, а почему?

1. Характер персонажа.

Создание НПС происходит задолго до его реализации в Wizard-е, необходимо продумать вашему персонажу характер. Чем важнее ваш НПС по сюжету, тем доскональней надо представить его и то, как он поступит в той или иной ситуации. От этого будет зависеть его диалоговые ветки и общее впечатление, производимое на игрока.

Совет. В идеале, каждому персонажу придумывается биография: место рождения, участия в знаменитых событиях и сражениях, радости и беды, выпавшие на его долю. Опишите повороты судьбы, заставившие выбрать тот или иной класс, мировоззрение и т.д.

Когда вы используете стандартные или дополнительные портреты из хака, постарайтесь добиться визуального сходства портрета с "куклой" (Рис. 19). Черноволосая обладательница портрета блондинки вызовет недоумение у игроков. Если не у них, то у меня точно.

Давайте краткое описание НПС в его свойствах: "Внешний вид этого храброго воина говорит о том, что он побывал во многих сражениях и испытал на себе все тяжести лишений…" ну и в таком духе. Этим простым способом вы добавляете атмосферности игре и подчеркиваете характер вашего героя.

Совет. Если у вас проблемы с поиском характера для вашего персонажа, оглянитесь и присмотритесь вокруг. Очень многие характеры героев я подсмотрел в реальной жизни. Жизнь - самый лучший писатель и рассказчик.

2. Имя для НПС.

Характер вы обрисовали, теперь необходимо придумать имя и, если надо, прозвище. Придумать хорошее имя непростая задача.

Важно! Старайтесь избегать переноса имен из художественной литературы, фильмов и других популярных источников. Эти имена связаны с характерами персонажей из этих произведений и могут вызывать недовольство и ненужные ассоциации у игроков.

Имена, сгенерированные Toolset-ом, или другой программой, нельзя использовать в таком виде как они есть. Необходимо доработать имя до такого состояния, когда оно будет соответствовать характеру вашего персонажа, легко произноситься, а значит, и запоминаться, на русском языке.

Я поступаю так. Генерирую пол сотни, или сотню, имен. Выбираю понравившиеся сочетания букв в именах. Выписываю имена в столбик и начинаю составлять из кусочков свое.

Совет. В сети есть программа позволяющая генерировать имена. Ее название - THE EVERCHANGING BOOK OF NAMES Version 2.1 (c) 1997-1998 Sami Pyцrre. Где я ее нашел, к сожалению, не помню, но не на сайте авторов, это точно. Рекомендую для таких случаев.

3. Прозвища.

Отдельно разберу такой аспект персонажа, как его прозвище, если оно необходимо и есть в наличии.

В мире Forgotten Realms, существует много личностей имеющие кроме имени меткое прозвище. Иногда они мало чем отличаются от обычных, но в основной массе это прилагательные, образованные от словосочетаний с двумя и более слов. Например: "Королем среди дварфов был Туир, прозванный "Каменнобородый" за страшную стойкость и отсутствие чувства юмора…" Или: "Борьба продолжалась еще восемь лет, пока Король орков "Жуткоклык" не разбил (а также почетно разделал, пожарил и съел) своих последних врагов…"

Совет. Если у вас не получаются типажи к персонажам, обратите внимание на ники в интернете. Ведь ник пользователя это самовыражение, чем не повод для переноса?

Старайтесь придерживаться такого стиля, если вы делаете модуль в мире Forgotten Realms.

4. Создание НПС и его свойства.

При создании НПС, имя будет его ResRef-ом и тэгом, об этом вам должно уже быть известно. Изменить отображаемое имя вы сможете в любой момент (Рис. 19).

Важно! Создавать НПС лучше всего с помощью Wizard-а, таким образом, вы получаете сбалансированный персонаж с особыми возможностями (Special Abilities), способностями (scills), трюками (feats) и скриптами по умолчанию для данного класса и расы. Особенно если эти НПС будут враждебными, и будут участвовать в столкновениях с игроком.

Созданному персонажу можно изменить вид, расу, внешность и т.д. Ваш полуорк может выглядеть, как человек или даже, как гном.

Обратите внимание на улучшенные настройки (Рис. 20). Модель сокровищ, позволяет оставлять после смерти НПС заданный предмет в виде свитка или даже фигуры. Фракция. Это устанавливает принадлежность к группе НПС с определенной реакцией на окружающих и на игрока. Сюжет (Plot) - обозначает принадлежность НПС к сюжету.

Рис. 20.

Звук, это тот звук, который будет использоваться персонажем, обязательно настройте, иначе все будут разговаривать при встрече, как один. Радиус восприятия, расстояние на котором НПС будет вас замечать и реагировать.

Важно! Многие спрашивают, что такое сюжет (Plot) и зачем нужна это опция? Простыми словами, это "защита от дураков". Например, у вас по сюжету за дверью НПС, дающий вам задание. Однако дверь на замке, а ключик надо искать. Можно разломать дверь? Да, но только не сюжетную, она не разломается, как нельзя убить НПС, принадлежащего к сюжету, продать квестовую вещь, случайно и тем самым завершить тупиком игру. А ведь встречаются игроки, которые стараются убить и разрушить все что видят, обвиняя разработчиков в невозможности завершить игру.

Рейтинг задачи, примерно дает понять сложность и крутость НПС, которая складывается из общих боевых и защитных параметров.

5. НПС - враг.

Настроить НПС, как достойного противника, например дающего ключевой предмет после смерти сложно, но реализуемо. Несколько дней экспериментов научат вас правильному подходу в данной ситуации. Просто необходимо знать какими свойствами и трюками обладает данный класс персонажа, какие отвечают за его боеспособность.

Рис. 21.

Рассмотрим на примере воина, так как этот класс я наиболее хорошо узнал в ходе официального прохождения. К сожалению, о магических заклинаниях, и всего что с этим связано я знаю не много, скажем, не достаточно что бы говорить об этом в статье. Как только я разберусь, я дополню этот пробел в данной работе.

Создавая воина врага, учитывайте, что главным боевой способностью будет "дисциплина". Из трюков выбирайте специализацию к тому оружию, которым он владеет, вернее тем чем вы снарядили его в инвентаре. Выберите несколько общих (feats) для класса воина: "силовая атака", "выстрел в упор", и т.д. Если вам непонятно что-то, пользуйтесь клавишей - F1.

Важно! При создании НПС, обязательно настройте его способности носить броню, владеть оружием, так как с первого уровня некоторые классы не имеют этих способностей и одев вашего НПС в доспехи вы будете в игре созерцать голого обывателя или торговца.

Уровень сделайте чуть повыше, чем предполагаемый у игрока. Зайдите и протестируйте. Если НПС слишком быстро погибает, добавьте Hit points. Увеличьте класс природной брони, подняв АС, либо оденьте в броню потяжелее. Добавьте обязательно несколько микстур в инвентарь, при стандартных скриптах он будет пользоваться ими, и бой продлится еще дольше. Так же, увеличьте значения спасбросков. Оденьте его в плащ, сапоги, защитные амулеты. Для того что бы их можно было взять после смерти, поставьте галочку - можно уронить. Протестировав несколько раз и добившись определенных результатов, зайдите другим классом и повторите настройки выпавших из вашего вида значений.

Кстати, грамотно настроенный враг будет интересен игроку, однажды во время теста для победы над боссом мне понадобилось 40 микстур лечения смертельных ран, но я получил удовольствие от боя.

6. Фракции.

Что такое фракции? При создании НПС, вам предлагают на выбор четыре родительских фракции, наиболее подходящие по характеру. Но после создания мы можем их отредактировать.

Важно! Любая группа НПС или одиночный персонаж, претендующие на свое независимое суждение должны иметь свою фракцию! Иначе убив оборванца в одном городе с фракцией "обыватель" вы будете враждебны ко всем НПС с такой фракцией не зависимо от места. К тому же, охранники из фракции "защитник" будут вас преследовать везде и всегда. Конец игры.

Давайте попробуем настроить три фракции внутри одного помещения. Их имена лучше назначать к месту или локации. Например, в локации с тэгом TRAKTIR_CAT надо назвать фракцию таким же именем. У вас не будет неразберихи, и вы сможете настроить посетителей таким образом, что даже убив всех вас не тронет охрана на улице или в другом городе. А можно и наоборот.

Фракция Traktir_cat - посетители в трактире под названием "Кот".
Фракция Traktir_cat_sec - будет охрана.
А фракция Traktir_cat_barm - бармен.

Чтобы настроить так, что убив посетителя, нас бы обслужил бармен, но бросилась бы в бой охрана, а остальные посетители наплевали бы на все, надо:
Сделать фракцию Traktir_cat, нейтральной к самой себе. Т.е. ползунки должны быть в положении 50%, нейтральны. Тогда все НПС из этой фракции не будут реагировать на любые действия по отношению к их фракции.

Важно! Например, если ползунки отношений в одной фракции будут враждебными, т.е. равны 0 и будут красными, то в таверне все посетители станут друг друга убивать. А если 100% дружественны и зеленым, то они будут защищать друг друга и тогда не известно какой свалкой закончится ваш "наезд" на одного.

Traktir_cat_sec - будут охранять как бармена, так и посетителей. Значит, ползунки их отношений с фракциями Traktir_cat и Traktir_cat_barm, будут ровны 100% дружественны. Напав на бармена, или посетителя вы получите отпор от них. Но учтите, если вы настроите отношения бармена и посетителей к фракции Traktir_cat_sec дружественно, то напав на вас охранник, будет защищен всеми так как они защищают дружественную фракцию. Что бы этого не произошло, отношение бармена и посетителей к фракции охраны, должно быть нейтрально.

Сложно? Разбирайтесь, другого выбора у вас нет.

Рис. 22.

Фракцию бармена Traktir_cat_barm, настроим нейтрально к посетителям. Ему тоже будет наплевать, убьете вы кого или нет, у него свои интересы.

Важно! Таким образом, настраиваются ВСЕ ФРАКЦИИ МЕЖДУ СОБОЙ! И если вы пропустите один ползунок в двадцати фракциях, то ждите результатов от тестеров.

Совет. Для того что бы решить проблему с убийством НПС из прохожих, посетителей таверн, бомжей и т.д. Вам необходимо настроить еще одну нейтральную ко всем абсолютно фракциям. И используя диалоговые ветки со скриптами, меняйте фракцию НПС на эту и убивайте смело, можете настроить вам в помощь охрану. Как это все реализовать скриптом, вам расскажет DBColl, автор этой идеи, в своей будущей статье.

В заключении, хочу сказать, что прежде чем качать хаки на 40 мб, попробуйте использовать на 100% внутренние возможности редактора. Для примера, взгляните на НПС созданных без применения дополнительных ресурсов (Рис. 21, 22).

 

Третья часть статьи >>>

 

 

Внимание!
Данный текст является интеллектуальной собственностью. Любое цитирование материалов допустимо только со ссылкой на наш сайт!

 


Design by DBColl - 2003 -
Hosted by uCoz