1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» icon

1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download»



Название1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download»
Дата конвертации27.08.2012
Размер332.36 Kb.
ТипДокументы
1. /Manual.doc1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download»

Всё нижеследующее написано на основе описаний и мануалов, прилагавшихся к описываемым утилитам. Авторскими правами на нижеследующий материал обладает администрация сайта «Всё о Tomb Raider» http://www.misscroft.narod.ru.


Дарова, шутники-затейники, сегодня мы будем учиться клепать уровни ля ТР1-3 самопального производства а-ля мейд ин за углом. Для этого нам понадобятся:

1.Набор всяких эдиторов, ссылку на который можно найти в разделе «Download».

2.Уровень из ТР 1-3 (подойдёт и самопальный).

3.Ну и, разумеется, мозги :-)))


Часть первая. Выбор.

Первым делом определись, какой уровень ты возьмёшь за базовый.

Итак, ты решил сделать уровень где-нибудь на секретном объекте, разумеется, этот уровень для ТР3 (просто лучше взять самый новый движок из нам пока доступных, хотя решать тебе). Тогда за базовый уровень мы используем уровень area51.tr2 - уровень «Зона 51» из ТР3.

Не понял, что такое базовый уровень? Пясняю - в редакторе уровней ROOM EDITOR\TRE3D\tre3d.exe ты создаёшь каракас уровня и лепишь текстуры ,который берутся из базового уровня. Оттуда же берутся монстрыи прочие объекты. И если ты за базовый использовал уровень из ТР3, то полученный уровень тоже будет ТОЛЬКО для ТР3.


Часть вторая. Создаём исходный материал.

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

Итак, определившись с базовым уровнем, ты копируешь его в папочку с редакторами и обзываешь для удобства Base.tr2 (или Base.phd, если он был из первого ТР)

Текстуры.

Прога TEXTURE EDITOR\TRtextur\TRTEXTUR.exe.

Жми File\Open и открывай нужный файл с уровнем, откуда будешь вытаскивать нужные текстуры. Слева отображается первая стрница с текстурами из открытого тобой файла. Переключайся между страницами с текстурами в меню «LEVEL FILE», что находится прямо над отображаемой страницей с текстурами. Страница - это 4*4 текстуры, каждая 64*64 пикселя, итого одна страница - 256*256 пикселей.


Теперь можешь пойти следующим путём: в меню файл выбери «save texture to bit map» - это ты сохранил отображаемую страницу с текстурами в файл *.BMP. Предположим, ты поизвращался с выдранным файлом *.BMP теперь надо его запихнуть обратно. Для этого открывай уровень, в который ты будешь запихивать эти текстуры (разумеется, это будет наш base.tr2), затем жми в меню файл «open texture images», открывай переделанный *.BMP - справа появилась переделанный *.BMP (можно открыть любой точечный рисунок). Теперь слева кликай на текстуру, которая тебе не понравилась, а справа на ту, на которую ты хочешь непонравившеюся поменять.

Таким образом можно выдрать текстуры из любого (да, любого, если они даже от разных частей ТР) и заменить на них текстуры из твоего base.tr2. А можно самому нарисовать текстуры, или взять их из другой игры, главное чтобы файл с текстурами был формата *.BMP и имел размер 256*256. (Или 256*512, 256*768 и т.д. - файл BMP тоже разбивается на страницы). И помни - это рисунок *.bmp прога воспримет как несколько страниц размера 256*256, с 4*4 текстурами на каждой странице.

И напоследок ещё одна фича этой программы - присвоение прозрачности текстурам. Например охота сделать Текстуру для окна, которое должно быть кое-где заколочено досками, а кое-где должны быть щели. Для этого места, где должны быть прозрачные места, закрашиваем в полностью чёрный цвет (чисто чёрный цвет, в формате RGB - 0,0,0), впихиваем эту текстуру в уровень, потом в окошке слева её выбираем, а под окошком справа ставим или пункт transparent (работает во всех ТР, кроме ТР4 при 32-битном цвете, делает чёрные участки текстуры прозрачными, за исключением ТР1 - там ниже будет указано, какой именно цвет делается прозрачным, но чаще всего это опять читсо чёрный), semi-transparent (соответственно полупрозрачными, но лишь для ТР3/4) или Opaque - оставить всё как есть. Ну что такое Flip и без меня понятно - флипнуть текстуру по горизонтали/вертикали. (то бишь перевернуть на изнанку, наверняка в Paint встречали такую функцию). И не следует пугаться, когда с текстурой ничего не произойдёт, в игре она будет флипнутой.

Прога TEXTURE EDITOR\Jack\jack.exe - Тут всё просто: в меню файл выбери «открыть» и выбери нужный тебе уровень. В меню «8 bit nextures» (или 16 бит, или 24) ты можешь выдрать ВСЕ 8-битный (16- или 24-битные) текстуры в один *.BMP файл командой «save as», поизвращаться над ними, потом открыть другой уровень или остаться в этом же и заменить ВСЕ его 8-битные (или 16, или 24) на текстуры из файла *.BMP командой «import ». Опять же, не перемудри с размерами рисунка. Я советую размеры менять через TRtexture путём добавления новой страницы.

Монстры, двери, вазы, стулья… Для начала я расскажу, как поменять статичные объекты - деревья, столы, стулья. Запускай OBJECT EDITOR\TRVIEWER 0.90\trviewer.exe, в меню файл выбирай «открыть» и открывай нужный уровень. Справа появится здоровый список: выбирай «static meshes» открывай этот раздел, выбирай понравившейся предмет и жми правой кнопкой мыши и выбирай экспортировать. Если как 3ds, то впихивая обратно могут быть глюки с текстурами, но с этим объектом можно поизвращаться в 3dsMax, если как trssmh, то впихивая назад всё будет ОК, но над этим объектом поизвращаться не получится. Надеюсь ты врубился, что можно вытащить вазу из уровня «Гробница Тихокана» первого ТР и впихнуть её в уровень, скажем, от ТР3. Со статичным объектами всё ясно и понятно, не то, что с движимыми - moveable meshes.

Ну, всовываем обратно - опять же жмём правой кнопкой по названию объекта в списке слева и выбираем «импортировать». Это ты заменил объект в уровне на свой. Если хочешь не заменить, а добавить объект, то тогда щёлкай правой кнопкой мыши по самому разделу «static meshes» и выбирай импортировать. Правда при добавлении объекта добавляется один подводный камень - добавленному объекту по умолчанию присваивается ID (этот идентификационный номер объекта) равный «0». А такой уже стоит у самого первого статичного объекта. Как узнать этот ID? Выбирай в списке статичный объект, затем в меню «View» жми «Object Toolbox», там и будет указан этот ID. Так вот, эти ID ни у одного статичного объекта не должны совпадать, Ппоэтому у только что добавленного объекта меняй ID с «0» на ID последнего статичного объекта, увеличенного на единицу (я вообще присваиваю 200, и дальше по порядку). Также ID есть и у движимых объектов, между собой они тоже не должны совпадать, а вот ID статичного объекта может совпадать с ID движимого - типы-то объектов разные.

Описанным выше образом можно вытаскивать из уровня движимые объекты (раздел «Moveable Meshes»), а вот при всовынии обратно будут глюки, уровень может даже не запуститься, даже если ты объект НЕ ИЗМЕНЯЛ.

Также при нажатии правой кнопкой на название объекта в меню есть ещё два пункта - «Export texture as TGA» - это ты выдираешь текстуру ИМЕННО ЭТОГО ОБЪЕКТА ЦЕЛИКОМ как файл TGA и извращаешься над ним, и «Load&Replace Texture» - меняешь текстуру объекта на текстуру из указанного тобой файла TGA. Но учти, если ты вздумал изменить размеры выдранной текстуры объекта, то обратно впихнуть не удасться - тебя пошлют на три буквы :-))).

Точно могу сказать, что такая фишка стабильно работает и с движимыми объектами - Moveable Meshes, поэтому смело можешь перекрасить Ларкин топик в кроваво-красный цвет :-)))- глюков на уровне не будет.

В списке также есть пункт «Sprites», но он нам пока нафиг не нужен. Пункт «Sounds» позволяет прослушать музыку из файла main.sfx. Для этого зайди в меню «Optios\Original level paths» и укажи там метстонахождения этих самых main.sfx.

Вообще-то для работы со звуками в ТР есть две отдельные специальные проги, они довольно просты в обращении и лежат в папке Sound Editor.


Часть третья. Лепим каркас уровня.

Итак, ты запихал в базовый уровень нужные текстуры и нужные статичные объекты (про монстров я пока молчу). Теперь будем лепить сам уровень. Запускай ROOM EDITOR\TRE3D\TRe3d.exe.

Что, думал ты щас откроешь базовый уровень и будешь там как в лего расставлять человечков? Закатай губу, этот редактор правильнее было бы назвать билдером, так как уже готовый уровень ты переделать не сможешь :(. Итак, что тут есть перед нами: окошко с каркасом уровня и панели инструментов. Вполне нормально :). Жми «File\New» и начинай рожать будущий шедевр ;). Да, и ещё выбери в меню «файл» «Open Base» и укажи там свой base.tr2.


Раздел Room Manager


Add - добавить новую комнату. Кликаешь на неё в появившемся окне выбираешь:

Long, Width - длина/ширина комнаты единицах, здесь и далее за единицу принята ширина одного блока.

Room`s Name - и ежу ясно, что это такое;) Имя комнаты можешь задать любое, лишь бы тебе было понятно и удобно.

X,Y,Z Position - координату комнаты. Оставляй без изменения, всё равно их потом менять придётся более удобным способом.

Room Height - высота комнаты в единицах.

Flags - параметры самой комнаты. Water - ВСЯ комната будет заполнена водой, Quicksand - вся будет заполнена зыбучим песком, SKY - будет ли из этой комнаты видно небо или нет. Если ты собираешься делать открытое пространство, то это флажок необходимо указывать. Outdoor- дождь/снег будет идти (кажется) в этой комнате (прикольно звучит, верно?;), если ты поставишь этот флажок.

Ambient Light - яркость освещения этой комнаты.

Дальше выставляешь значения для текстур пола, потолка и стен. Каждой текстуре соответствует свой номер. Узнать этот номер можно выбрав меню «Textures\Texture Panel 1» - наводишь на нужную текстурку и в заголовке окна тебе показывается её номер.

Если ты нечаянно закрыл панель инструментов, тогда тебе в меню «Rooms\Show Tools Bar»

Properities - здесь ты можешь изменить параметры комнаты, если вдруг при создании сделал что-то не так. Но учти, если ты изменил параметры, то при их сохранении комната очищается от всех объектов - блоков, подъёмов и прочего, остаются только голые стены. После изменения параметров для того, чтобы изменения вступили в силу, отметь пункт «ReBuild», что рядом с кнопкой отмены, и кликай ОК.

Delete - удалить из списка выделенную комнату. Этот список находится на этой же закладке посредине окна.

Clone - клонировать эту комнату.


Раздел Render Mode

Здесь ты будешь выбирать, как будут отображаться комнаты - один каркас (wire frame), с покрытием (solid) или с текстурами (textured). Кому как удобнее. Show From - можно убрать отображение лишнего куска комнаты. Пункт «Neighbor» - номер комнаты (по порядку), которая является невидимой, то есть на экране кроме выбранной в списке комнаты будет также отображаться и невидимая (её контур имеет белый цвет в режиме отображения только каркаса). Если стоит значение 0 - значение невидимой не присвоено ни одной из комнат. Если стоит рядом галочка «Hide Neighbor» - невидимая не отображается, «Hide Portals» - не отображать порталы. Об этом узнаешь позже.


Итак, ты создал комнату, для начала рзмера 8*8 высотой в 3 единицы. В ней нет воды, зыбучего песка, неба или снега\ветра. Какие текстуры ты выбрал для пола, потолка и стен не важно. Освещение для начала оставь 16, координаты тоже пусть будут предложенные. Теперь надо в ней поизвращаться. Для начала обрати внимание на бугорок в левом ближнем углу - это позиция, на которой появляется Лара вначале уровня. Выбрать нужное тебе место для старта можно путем зажатия Ctrl+Shift+Alt и кликанья на нужный участок комнаты.


Закладки PRIMARY EDIT и Selected Textures


Здесь мы извращаемся. Для начала следует научиться пользоваться камерой. В окне редактора щёлкай на любое место правой кнопкой и зажимай её. Вертя крысой, ты вертишь уровень вокруг его центра. Теперь ещё зажми Ctrl - и двигая крысу вверх-вниз ты сможешь удалять-приближать комнату. Отпусти Ctrl и зажми Shift - водя мышкой ты сможешь передвигать комнату влево-вправо-вверх-вниз. НО УЧТИ! Это меняется лишь положение камеры, координаты комнаты при этих манипуляциях остаются неизменными. Чтобы вернуть камеру в первоначальное положение, кликни «Center Camera» на закладке «Room manager».


Ну всё, преступаем к деланью.

В разделе Primary выбери понравившийся тебе блок.

Direction - это направление объекта, который ты собираешься разместить.

Теперь в раздел Selected textures. Top Floor - номер текстуры для верхушки размещённого на полу блока. Wall Floor - номер текстуры для стенок размещённого на полу блока. Top Ceiling - верхушка (вернее это уже будет низ) блока, свисающего сверху, Wall Ceiling - стенки свисающего блока. Итак, ты выбрал нужные текстуры для блока, теперь возвращайся в закладку Room Manager и выбирай в разделе Replicate: Row/Col - сколько выбранных тобой блоков разместиться вдоль/поперёк комнаты, считая первым то место, куда ты кликнул. High Sel. - количество блококв под/над блоком/свисающим с потолка блоком. Но учти - для «плоского блока»(нижний третий справа, он используется для очистки пола от других блоков) это значение не работает.


Закладка Secondary Edit

Здесь мы извращаемся более детально. Выбери режим Select Mode - всё отобразится синим цветом ,если ты в режиме “только каркас”, и выбери кликом мыши нужный участок пола - он отобразится красным. Кликни на другой участок - теперь выбраны два. Клиукая второй раз, можно отказаться от выделения, а можно кликнуть Reset All и отказаться от выбора всех участков. А теперь извращаемся - выбери нужную тебе верхнее ребро в разделе Corner (All - все, Left/Right/Front/Back - какая-то конкретная) и жми на стрелочки рядом со словами Floor для поднятия/опусканияя этого ребра на высоту четверти блока, при нажатии на стрелочки рядом со словом Ceiling будет происходить тоже самое, но с рёбрами потолка. Таким образом можно получить более разнообразные блоки.


Закладка Sector Properities

When Click Just Put - здесь ты выбираешь, что при кликанье на участок пола будешь размещать (если, разумеется, стоит галочка рядом с нужным пунктом)

Shapes - будут ли при кликанье на участок будут размещаться блоки или нет.

Portals - об этом читай ниже

Textures - при включение этой галочки размещаемые тобой блоки будут одеваться в текстуры. Указанные в Selected Textures. При отключённой галочке боки будут приобретать текстуру пола/потолка, в зависимости от их расположения. Если отключить галочку shapes, а эту оставить включённой, можно будет перекрасить потолок (текстуры для него выбирай в Top Ceiling на закладке Selected Textures), пол (текстуры для него - Top Floor) и стены (текстуры для стен выбери в Wall Floor). Но на стены текстуры накладываются рулонами, как обои. Как справиться с этой проблемой, узнаешь позже. Просто делается другой прогой.

Climb Walls - это расстановка лестниц/рукоходов. В Climb Walls выбери расположение стены, на которой будет находиться лестница (или если рукоход, то укажи Ceiling - потолок). Если не выбран ни один пункт в Climb Walls, то лестница не размещается вообще. Лестница протянется от пола до потолка. А если тебе надо, чтобы она доходила только до средины комнаты, а там например сбоку будет уступ, то об этом будет рассказано позже. Это, как и в случае с текстурами, делается другой прогой.

Step Sounds - звуки щагов, которые будут слышны при прохоэдении по указанному сектору. По умолчанию каждый сектор является нормальным, то есть при прохождении по нему слышен нормальный звук. Выбирать звук в S.Sounds. здесь выбор из четырёх различных эффектов - нормальный, дерево, земля, металл.

Death - в указанном месте Лара умрёт, если конечно указан ещё и флажок Death, находящийся прямо над строчкой When Click Just Put. Смертельный сектор подкрашивается красным.


А теперь начинается самый настоящий загон - будем лепить проходы из одной комнаты в другую.

Если комнаты находятся на одном уровне, т.е. проход из правой в левую, из передней в заднюю и т.д. то делается это одним способом, если из верхней в нижнюю, то другим.


Итак, у тебя есть три чистые комнаты размером 8*8 высотой в три единицы. Здесь и далее флажки Climb Walls, Death и Step Sounds отключены.

Теперь надо разместить комнаты в пространстве нужным образом. Можно конечно менять координаты вручную, а можно и полегче. Иди в закладку Render Options и присваивай пункту Neighbor значение 1. Первая комната стала невидимой. Теперь в списке выбирай комнату 2 и в меню rooms жми send to front (можно и back\left\right, там всё будет работать по такому же принципу). Выбранная тобой комната, то бишь №2, будет расположена впереди относительно невидимой, то бишь №1. Как видишь, последние две линии 1-ой комнаты перекрываются с первыми двумя 2-ой комнаты. Так оно и должно быть. Так должно быть всегда, иначе переход без глюков построить не получится.

Теперь ставь галку Hide Neighbor, переключайся на первую комнату и иди в закладку Primary Edit. Выбирай “плоский блок” (нижний третий слева) и кликай (убедись, что в Sector Properities стоит только галочка Shapes) на участки 8*4 и 8*5


Отмечай теперь только галку portals в закладке Sector Properities.

Теперь объясню, зачем нужен Portal Attribs. Мы делаем переход из первой комнаты во вторую, поэтому в этом разделе пункту room side присваивай значение 2 (во 2-уюкомнаты). Тыкай на участоки пола 8*4 и 8*5 (они окрасятся другим цветом). Если комнаты расположены на одном уровне, то обязательно выбирай пункт Room side. Пункт Room below - если это портал в комнату, что находится ниже, Room above - в комнату, что находится выше. А как быть, если ты вдруг нечаянно шлёпнул не тот портал? Присваивай всем трём пунктам нули и жми на то место, где стоит неправильный параметр.

И ещё один момент - не забудь, что два отсальных параметра должны быть обнулены!

Теперь выбирай комнату 2 и начинай химичить с ней. Её первая полоса совпадает с предпоследней (7-ой) полосой 1-ой комнаты , вторая - с поледней (то есть 8-ой) в первой комнате - так оно и должно быть! Отключи галочку portals, а галочку shapes (и по желанию textures) наоборот включай. Выбирай «плоский» блок в закладке Primary Edit и кликай на участки 1*2-1*7. Итак, они стали выглядеть как положено. Теперь выбирай в Primary Edit блок Wall и кликай на участки 2*2, 2*3, 2*6, 2*7. Как видишь, теперь первые две полосы второй комнаты полностью совпадают с последними двумя первой. Если вздумаешь добавить блок на “смежную” территорию, то придётся делать это в обоих комнатах. Теперь делай проход из второй комнаты обратно в первую. Снова включай галку portals, отключай shapes, пункту room side на этот раз присваивай значение 1. И кликай на участки 1*4, 1*5.


Отлично, осталось лишь самое лёгкое. В закладке Sector Properities отключай все галочки.

Ты всё ещё в комнате 2. Иди теперь в закладку Portals View Manager. Параметру Room # присваивай значение 1 - мы же делаем портал в 1-ую комнату. Так, теперь глянь на свою комнату. У нас имеется проход размерами 2*3, значит параметру Width присваивай значение 2, параметру Height значение 3. Комната один находится позади комнаты 2, верно? Значит выбираем в параметре Type пункт Back. Теперь кликай кнопку add. Если шлёпнул портал не в ту комнату или не тех размеров - выбирай из списка порталов (он на этой же закладке) неправильный, присваивай ему нужные значения и жми кнопку Replace. Добавил вообще лишний - жми Delete.

Итак, ты добавил портал…но его пока нет. Выбирай этот портал в списке (он правда пока там всего один), зажимай клавиши Shift+Ctrl и тыкай в клетку 1*4, появится жёлтый прямоугольник. Эти жёлтые порталы надо ставить, чтобы в проход из одной комнаты было видно содержимое второй.


Со второй комнатой мы закончили, теперь иди в первую. Там делай аналогичный портал 2*3, но уже параметру Room # присваивай значение 2 - это ведь портал во вторую комнату, а в параметре Type выбирай пункт Front - ведь вторая комната находится впереди первой. Теперь добавляй этот портал, зажимай клавиши Shift+Ctrl и тыкай в клетку 8*4. Аналогично делаются порталы из левой комнаты в правую. УЧТИ! Когда соединяешь комнаты, с левой комнатой надо поступать как и с передней, а с правой - как и с здней. Если сделать наоборот, возможны глюки при переходе из одной комнаты в другую (вокруг Лары окажется одна чёрная пустота, пока она не пройдёт вперёд на несколько шагов).

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


Теперь учимся делать порталы между комнатами, что находятся одна над другой. Невидимой делай вторую комнаты, из списка выбирай третью и жми Send to up. Возвращайся во вторую комнату, а потом иди в закладку Sector Properities. Ставь только галочки textures и portals, параметру room above присваивай значение 3 (ведь делаем портал в 3-ю комнату, находящуюся наверху), а оставшееся с прошлого раза значение параметра room side обнули, на закладке с текстурами текстуре для потолка присваивай номер 0 - это прозрачная текстура. Теперь зажав Shift (возимся ведь с потолком) кликай на участки 2*3-2*7, 3*3-3*7, 4*3-4*7, 5*3-5*7, 7*3-7*7, участок 6*3-6*7 оставь в покое. Теперь если переключится на закладке Room manager в режим Textured, увидишь, что эти участки потолка стали прозрачными.

Теперь иди в третью комнату, на закладке Sector Properities параметру room below присваивай значение 2 (ведь 2-ая комната находится внизу), а оставшееся с прошлого раза значение параметра room above обнули, теперь значение 0 присвой текстуре для пола и кликай на участки 2*3-2*7, 3*3-3*7, 4*3-4*7, 5*3-5*7, 7*3-7*7 (на этот раз без зажатого Shift, возимся ведь с полом).

Ты всё ещё в 3-ей комнате. Теперь в закладке Sector Properities отключай все галочки, и снова в закладку Portals View Manager. Добавляй портал со значением Room # равным 2 (то есть во вторую комнату) размерами 4*5 типа Floor и размещай, удерживая Shift+Ctrl, в нужное место (то есть кликни на участок 2*7). Теперь добавляй ещё один портал во вторую комнату типа Floor размерами 1*5, и кликай на участок 7*7. Теперь во вторую комнату, там тоже делай ещё два портала размерами 4*5 и 1*5, но на этот раз Room # будет иметь значение 2, а тип их будет Ceiling.

Ну и теперь последний штрих - на участок 5*6 шлёпни полуторный блок (то есть половину блока, но значение high sel. на закдадке Render Options равно 2, и не забудь, чтобы галочка portals была отключена). Готово, тепрь сохрани своё творение. (Если так ничего и не понял, то открывай прилагаемые исходники и разбирайся во всём на месте)

И парочка напутствий - если хочешь сделать комнату, наполовину заполненную водой, делать придётся две комнаты - одна полнстью заполненная водой (нижняя половина), а вторая «сухая» (верхняя половина). Не смей делать комнату, выше чем 64 блока! (хотя в самой игре и высотой в дюжину не сыщешь) Как размещать монстров, оружие, предметы интерьера и проч., читай в следующей главе. Как разместить лестицу на конкретном участке стены, а не растянуть её от пола до потолка, а также как разобраться с текстурами на стенах (скажем, внизу влепить одну, вверху другую, ведь в этом редакторе текстуры накладываются на стены как обои - рулоном от пола до потолка) - узнаешь ещё позже, в пятой главе. И вот что ещё - пусть у тебя естькомната с параметром Sky. На потолок и стены (можно и на пол) накладываешь прозрачные текстуры (номер 0) - в получившиеся «окна» можно будет увидеть небо. И ещё - если ты располагешь две команты одна над другой, в верхней воздух, в нижней вода (так делаются все водоёмы, бассейны и проч), то соизволь на полу верхней и на потолке нижней расположить тесктуры воды! Мне доводилось наблюдать уровни, авторы которых располагали нулевые (прозпрачные) текстуры - на воду это было очень отдалённо похоже.


Часть четвёртая. Шкодинг.

Угу, если до этого ты мучил маленького хвостатого мыша, то теперь придётся пообниматься с тётей Клавой ;). Запускай блокнот и начинай писать скриптовый файл к своему произведению искусства, которое ты сваял Tredit3d. Скриптовый файл - в нём описывается, где что на уровне лежит/стоит/прячется/включается/проигрывается музон/кончается уровень/прочая шняга. Видел хоть раз код любой программы? Так чтобы в нём не запутаться, программеры осталяют комментарии - текст, наличие которого на работу проги не влияет. В нашем случае комментарием является всё, что следует после точки запятой до конца строки. На новой строке надо ставить новую точку с запятой. Пример:


какая-то команда; а это комментарий

это другая команда; а это другой комментарий

; и это комментарий


Ну а теперь собственно к описанию самих команд:


Расположить статичный предмет (вазу, стол, etc.) Синтаксис:

Put_static_mesh(комната, ряд, место, высота, ID, угол поворота, расположение, яркость света/формат RGB).


Комната - это номер комнаты, где будет располагаться предмет интерьера.


Ряд и место - это координаты места, где будет стоять ваза (или что-то другое). Когда в редакторе находишься в комнате, где хочешь что-то расположить, выбери Center Camera и определись с квадратом, в который ты поставишь нужный статичный объект. Теперь отсчитай, какой по счёту слева этот квадрат - это и будет номер ряда, а затем какой он по счёту от переда - это и будет номер его места.


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


ID - номер этого самого статичного объекта. По нему как раз и определяется, что ставить - вазу, статую, фонарь, etc. Напоминаю, чтобы его узнать, надо программой TRviewer открыть базовый уровень, в разделе “Static Meshes” выбери понравившийся предмет интерьера, и узнавай его ID - в разделе «view/object toolbox» смотрите его object ID. Удивлён, что там нет ни дверей, ни оружия, которое обычно валяется под ногами? Всё нормально, они находятся в разделе Moveables, и для их расположения есть иная, но сходная команда. Есть одна большая проблема - Trviewer отображает из уровней ТР4,5 только текстуры, и ID тамошних объектов с помощью него не узнать:( Что делать, я пока не знаю, разве что пользоваться методом тыка, наобум ставить номер, а потом в полученном уровне смотреть, что там разместилось.


Угол поворота - значения от 0 до 3, где 0 - стандартное расположение 0 градусов, 1- поворот на 90 градусов, 2 - на 180, 3 - на 270.

Расположение - расположение этого объекта в квадрате, значения от 0 до 4, где 0 - стандартное по центру, 1 - впереди, 2 - сзади, 3 - слева, 4 - справа.


Яркость света/формат RGB - указывает или яркость освещения простым белым светом (одно значение от 0 до 31), или яркость освещения красным, зелёным и синим (три значения от 0 до 31 каждое). Если ничего не указать, то предмет будет освещён тем же светом, что и вся комната.


А теперь примеры


Put_static_mesh(1, 4,4,0, 26,0,0, 16); простое освещение белым светом

Put_static_mesh(1, 4,6,0, 26,0,0, 16,0,0); освещено красным светом

Put_static_mesh(1, 4,8,0, 26,0,0); освещение такое же, что в комнате.


ПРИМЕЧАНИЕ: цветное освещение не поддерживается в ТР1-2, поэтому вариант RGB освещения для них не пройдёт.


Расположить источник света. Синтаксис:

Put_Spot_Light(комната, ряд, место, высота, яркость, дальность)

Первые четыре параметра тебе уже известны


Яркость - значение аналогично освещению статичных предметов и тоже измеряется от 0 до 31


Дальность - радиус освещения, измеряется в четвертях блока, стандартное значение 4.


Расположить цветной источник света. Это не работает в ТР1, ТР2. Синтаксис:

Put_RGB_light(комната, ряд, место, высота, красный, зелёный, синий, яркость, дальность)


Здесь уже немного по другому - яркость измеряется от 0 до 255, как и контраст всех цветов. Стандартная яркость - 128.


Put_RGB_light(1,4,4,8, 255,0,0, 128,1); чисто красный свет нормальной яркости.


Расположить лестницу. Да, можно лестницу расположить и путём описания её в скриптовом файле, но опять же - она протнется от пола до потолка, если есть желание сделать лестницу в конкретном мсте, скаже поперёк стены, то нужно будет воспользоваться другим спосообом, о нём в следующей главе). Синтаксис:


Climb_Wall(комната, ряд, место, параметр)


Параметр складывается из четырёх значений: 1- лазить можно по передней стене в данном секторе, 2 - по левой. 4 - по задней, 8 - по правой. Определяетесь, по каким же стенам в данном секторе нужно будет лезть, потом складываете все значения и пишите в пункте параметр.


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


Расположить рукоход. Синтаксис:


Monkey_Swing(комната, ряд, место)


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


Убить Лару. Синтаксис


Kill_Lara(комната, ряд, место)


Аналогично нужно указать нужный участок пола, где Ларе придётся расстаться с жизнью.


Расположить камеру. Синтаксис


Add_Camera(комната, ряд, место, высота, неизвестно)


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


Неизвестно - об этом параметре не знает сам автора редактора, а уж я тем более. По умолчанию он равен 1.


Задать альтернативную комнату. Синтаксис


Put_Alternate(комната_по_умолчанию, альтернативная_комната)


Используется для связи двух комнат. Помните в ТР4 уровень «Дом оперы»? Там можно было поднимать/опускать занавес на сцене. Так вот там этот параметр и использовался. По умолчанию стояла одна комната, с ней связывали другую, и когда ты нажимал рычаг, альтернативная становилась на место прежней. Как работать со всем этим, читай в разделе «Описания событий»


Расположить предмет. Синтаксис:


Put_Item(комната, ряд, место, высота, ID, угол поворота, положение, пусковое значение, количество, яркость цвета/RGB)


Располагается предмет из раздела Moveable Meshes в TRviewer.

Два новых параметра: количество - это и есть количество предметов, которые лежат в данном месте. Используется для того, чтоб в одном месте расположить десяток-другой патроно/обойм/аптечек. (помнишь последний уровень ТР2 , сколько патронов к дробовику у Ларки лежало в чулане?)

Пусковое значение - об этом узнаешь ниже. Пока же скажу, что если оно равно 0, то этот объект при запуске игры деактивирован (дверь закрыта, монстр ненападает в ТР1, а в следующих он ещё и делается невидимым, каменный валун покоится, ну и всё такое), а если равен 62, то этот объект активирован.


Теперь несколько советов. Во-первых, ID Ларки - это 0. Во всех первых трёх частях. Угу, можно забыть про указание стартового места в самом Tredit3D и прописать мисс Крофт в скриптовом файле. При этом можно будет её расположить на любой высоте от уровня пола…ну да ты знаешь обо всех возможностях. Первым объектом всегда прописывай Лару, а уж потом всё остальное - монстров, оружие, кнопки, двери. Рядом с каждым прописанным объектом (объектом, а не статичным предметом интерьера!) как комментарий, оставляй его номер, увеличенный на единицу. Пример.


;Начинаем описание

Put_Item(1, 3,3,4, 0,0,0,62, 16) ; это Лара - объект номер 2 именно два хотя по счёту идёт первой

Put_Item(1, 3,4,0, 139,0,0,62, 16) ; это гарпун из ТР2 - объект номер 3


Ещё подсказка - в ТР1,2 оружие спрайтовое поэтому придётся лезть в Trviewer в закладку со спрайтами и отыскивать там нужные ствол и узнавать его ID. Оружие, аптечки, ключи, свечи, патроны и прочая подбираемая лабуда - это всё тоже считается объектами, а не статичными предметами интерьера. Если хочешь, чтобы Лара смогла поднять ствол или патроны - не вздумай повесить их в воздухе. ..У тебя может возникнуть резонные вопрос - как сопоставить дверь и ключ, которым эта дверь открывается? Ответ: никак. Можно сопоставить дверь и размещённую замочную скважину - при активировании замка, то бишь вставляния в него ключа активируется, то есть откроется дверь. Как такое сделать читай ниже. А вот к определённой замочной скважине подойдёт только определённый ключ, и всё тут. А какому замку какой ключ, хочешь узнать? Я тоже хочу:) Для этого надо либо пройти уровень, либо догадаться по внешнему виду - ясен перец, что в золотую замочную скважину вставляется золотой ключ. (Помнишь ТР1?)


Описания событий


Пример с дверью я уже приводил ниже. Теперь конкретно как всё это работает. Синтаксис:


Start_Triger(комната, ряд, место)


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

;Список событий

end()


End_Triger()


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


If_Lara_on_ground_Do_with_Activate(пусковой параметр, время, количество)


Это значит, что событие произойдёт, если Лара коснётся земли. Если над этим местом прыгнуть, ничего не будет. Как ты уже понял из названия команды, что-то активируется при пробегании по этому месту.

Время - это время, спустя которое после пробегания по этому месту начнётся событие.

Количество - это количество раз, сколько может происходить данное событие. Обычно оно равно 1, то есть при прохождении по данному месту событие (например, открывание двери) произойдёт один раз. Разумеется, одного раза достаточно, если дверь потом не закрывается. Но асто проворачивается следующая фишка - необходимо пропрыгать точно по каким-то участкам, чтобы дверь открылась, а если оступишься - всё надо делать заново. (Помните ТР4, 3-ий уровень). Так вот здесь так и получается - оступился - дверь деактивируется, всё надо проходить заново, поэтому все события по идее должны проворачиваться бесконечно много раз. Для этого следует указать количество равное нулю, тогда происходить всё будет сколько угодно раз.


Теперь поговорим о пусковых параметрах - пусть сначала ты расположил какую-нибудь закрытую (неактивированную) дверь. Сначала её пусковой параметр равен 0. Теперь если в команде If_Lara_on_ground_Do_with_Activate указать этот параметр как 62, а потом прописать это событие для двери, то она откроется. Но как сделать так, чтобы для активизации пришлось бы пройти по двум (трём, четырём…) местам? Для этого для каждого места надо прописать свою команду, для одного указать пусковой параметр 2, для другого в два раз больше, для 3-его это уже будет 8, для последнего 62 минус сумма всех предыдущих. Как ты уже понял, для активизации предмета (открывания двери, например) можно сделать максимум пять команд (2+4+8+16+32=62). Хотя по-моему этого вполне достаточно…


If_Lara_on_ground_Do_with_Deactivate(анпусковой параметр, количество)


Здесь всё аналогично, анпусковой параметр работает аналогично пусковому, когда он достигает 62, то что-то отрубается (деактивируется объект, т.е. закрывается дверь и тому подобное, выключается подводное течеие и т.д.)


Do_with_activate(пусковое параметр, время, количество)


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


Do_with_deactivate(анпусковой параметр,количество)


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


If_KeyLock_is_ON_Do_with_Activate(пусковой параметр, время, количество, номер объекта)


Если Лара вставляет ключ в замочную скважину (а сюда входят и все остальные подобные действия - использование гемстоунов, вставляние в зубы змей разных камней и тому подобное), то происходит некое указанное дальше тобой событие. Новрое значение - номер объекта. Помнишь, ты ставил рядом со строчкой, в которой прописывал какой-нибудь объект, коментарий, какой номер этому объекту соответствует? Так вот это и есть нужный нам номер. Здесь же нужно указать номер замочной скважины (или её аналога). Примечание: сам наверно понимаешь, что если прописал происшествие событий при выполнении конкретных команд в данном месте, то в этом месте должна находиться и указанная тобой замочная скважина. Пример:


Put_Item(3, 5,6,0, 7,0,0); это мы разместили скважину, пусть она объект номер 6


Start_Trigger(3,5,6); и в этом же секторе прописываем команды для выполнения


If_KeyLock_is_ON_Do_with_Activate(62,0,0,6)

;ну тут происходят некие события если Лара вставляет ключ

end()


End_Trigger()


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


If_Switch_is_ON_Do_with_Activate(пусковой параметр, время, количество, номер объекта)


В принципе всё аналогично предыдущей команде. Когда опускается рычаг, что-то врубается, а когда он опускается, то что-то отрубается. Вот такие пироги, сделать по отдельности - чтобы включить можно было, а отключить уже потом нет можно, кажется, правильно используя параметр «количество». Как и в предыдущем случае, команды должны прописываться именно в том секторе, где расположен опускаемый рычаг.

Едем дальше:


If_Item_is_picked_Up_Do_with_Activate(пусковой параметр, время, количество, номер объекта)


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


If_Item_at_Sector_Do_with_Activate(пусковой параметр, время, количество, номер объекта)


Если указанный тобой предмет будет находиться в секторе, которому приписана эта команда, то что-то активируется (разумеется, эту команду прописывать надо не в секторе, где предмет был первоначально расположен, а в секторе, в который этот объект надо поместить). Эта команда прежде всего используется с толкаемыми блоками (когда например для открывания двери надо блок втащить на определённое место), со всеми остальными объектами - нет.


If_Lara_in_Combat_Do_with_Activate(пусковой параметр, время, количество)


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


И напоследок:

Trapdoor((пусковой параметр, время, количество)

Это редкоюзаемая команда для проваливающегося пола. Имеется ввиду не обваливаюиеся плиты, а как-бы дверь в полу (если помнишь, были такие во второй части, полно их было в ТР2голд.). Не путать с люком в полу, который можно просто подойти и открыть.


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


Активизация/деактивизация объекта. Синтаксис:

Item(номер объекта)

Объект активизируется ровно на такой параметр, какой указан в прописанной команде. Внешне ничего не происходит, и лишь когда значение достигает 62, то объект становится полностью активным (дверь открывается и т.п.). Примеры:


Put_item(1, 8,6,0, 7,0,0) ; волк объект пусть будет номер 4

Put_item(1, 2,3,0, 56,0,0) ; дверь объект номер 5
Put_item(1, 5,9,0, 57,0,0) ; дверь объект номер 6



Start_trigger(4, 2,3) ; прописываем, что в четвёртой комнате в секторе 2*3 при выполнении

; нижеследующих команд будут происходить определённые события



If_Lara_on_ground_Do_with_Activate(62,0,0) ; если Лара проходит по этому сектору
Item(4) ;включается волк
Item(5) ;открывается дверь
Item(6)
end() ; это закончились события, соответствующие выполнению Ларой написанной выше команды



If_Lara_on_ground_Do_with_Activate(2,0,0);

Item(7)

End()


End_Trigger() ; конец всего описания команд выполнемых в секторе 2 3 комнаты номер 4


Start_trigger(4, 5,5)


If_Lara_on_ground_Do_with_Activate(60,0,0);

Item(7)

End()


End_Trigger() ; конец всего описания


Итак, как ты видишь, что для активации последней двери надо пройтись по двум клеткам пола ,причём не вано, в каком порядке. Запомни - порядок не важен. После описания всего ставится End_Trigger(), после описания событий, соответствующих выполнению какой-нибудь команды ставится End(). Следует отметить, как работать с тем самым trapdoor - проваливающимся полом. Размести эту «половую дверь», затем в этом же месте укажи команду Trapdoor, пусковой параметр равен 62, а в списке событий оюозначь её. Выглядит всё это примерно так:

Put_item(1, 2,3,4, 32,0,0) ; размещаем в сектор 2-3 ловушку - объект пусть номер 7

Start_trigger(1, 2,3)
Trapdoor(62,0,0)
Item(7)
end()

End_Trigger()


Поехали дальше, следующие возможные события:


Включить камеру, которая будет фокусироваться именно на Ларе. Синтаксис:


Switch_Camera(номер, время, уменьшение, только раз)


Номер - это номер, которой по счёту в списке идёт твоя камера в описании. Только в отличие от объектов, нумерация которых начинается с двух, здесь всё обычно - первой камере в списке соответствует номер 1. Совсем необязательно, чтобы камера находилась в том месте, где совершается команда.

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

Уменьшение - при параметре в 1 эффект уменьшения при переходе от нормальной камеры позади Лары к прописанной будет срабатывать эффект уменьшения, при значении в ноль эффекта не будет. Не работает в третьей части.

Только раз - при значении в единицу прописанная камера сработает только раз, при значении в ноль - сколько угодно раз.


Посмотреть на вещь. Синтаксис

Look_at_Item(номер)


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


Add_Camera(1, 5,5, 4);Камера номер 1
Put_item(1, 5,7,0, 60,0,0); дверь пусть будет объект номер 9

Start_trigger(1, 2,2) ;

Do_with_Activate(62,0,0) ; Если Лара в этом секторе
Item(9) ;открывается дверь
Look_at_item(2) ; по идее Лара должна смотреть на дверь но
switch_camera(1,3,0,0) ; камера должна бы фокусироваться в течение трёх секунд на Ларе но так как мы ;прописали вверху команду смотреть на вещь то камера фокусируется на двери
end()
End_Trigger()

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


Проиграть трек. Синтаксис


Play_Sound_Track(номер)


Просто укажи номер, каким идёт по счёту на CD или в файле cdaudio.wad этот трек.


Найти секрет. Синтаксис


Found_Secret(номер секрета)

Это означает, что Лара нашла секрет. Всё просто и понятно, а нмер секртеа - это номер секрета. Первый будет иметь 1, второй - 2 и т.д.


Теперь разберёмся с альтернативными комнатами. Помнишь, мы прописывали основны конаты и альтернативные? Так вот, событие


Alternate_On() говорит движку использовать алтернативную комнату. То есть до этого у тебя предположим было две комнаты, расположенных обе по одним и тем же координатам. В одной была вода, в другой её не было. Первая была прописана как нормальная, вторая как альтернативная. Вот Лара опустила рычаг или сделала другую команду, и теперь происходит следующее: все (да, ВСЕ!) комнаты нормальные сменяются на альтернативные, а в итоге всё выглядит, будто ты из бассейна слил всю воду.


Alternate_Off() - это всё наоборот, происходит обратная смена на нормальные комнаты.


Alternate Flag(значение) - во тебе на…автор не знает, как юзать этот параметр, а уж я тем более.


Включить подводное течение. Синтаксис


Underwater_Flow(параметр) - врубает подводное течение. 0-2 - течение сперди назад, 0 - самое сильное.

3-5 - течение справва налево, 3 - сильншее, 6-8 - сзади вперёд, 9-11 - слева направо.


Effects(номер) - похоже на параметр играть трек, только для звука. Номер


End_Level() - а это значит, что уровень заканичивается.


Вот и всё.


Часть пятая. Компиляция и финальная обработка.

У тебя есть какркас уровня, есть скрипт к нему, есть базовый уровень, что ещё для счастья надо? Разумеется, откомпилировать всё это богатство:) В меню File редактора уровней выбирай Build Level, и указывай там, где лежит базовый левел, где каркас к нему, где скрипт, и куда полученное творение сохранить. Он требует ещё третий файл, но можно вполне обойтись и без него, а можно и добыть его. А заодно и доделать до конца свой уровень.

Итак, прога RVIEW.

Запускай её, открывай свой базовый уровень и в меню File выбирай Save as MSH. Вот найден и третий файл, который редактор уровней просит при его компиляции. Всё, теперь получив уже уровень в формате TR2 или PHD, открывай его этой же прогой RVIEW и принимайся накладывать текстуры на стены так и только так, как хочется тебе. Перед тобой уже знакомая картина: Render Mode - уже известные тебе режимы отображения. Отображаемые комнаты вертятся также, как и в редакторе уровней Tredit3D.

Внизу ты видишь две текстуры: левая размещается левым щелчком, правая - надо ещё зажать Shift. Левый щелчок с зажатым Alt - поворот текстуры на 90 градусов. Поставь галочку Enable Lights - левым щелчком мыши теперь будут размещаться источники света.

Иди взакладку Light Intensity и выбирай яркость света - от 31 -самого тёмного - до 0 - самого яркого. Здесь же выбирай по каким из четырёх направлений (VERTEX) будет распространяться свет. Здесь же можно выбрать и тип света - белый или цветной (не работает в ТР1, ТР2). На закладке Colored Light можно выбрать этот цвет, здесь же опять можно указать направления распространения света. Но уже цветного.


Tritem - вообще-то это прога может размещать на уровне предметы и с помощью неё тоже можно сопоставлять выполнение команда активации предметов, можно в ней и текстуры накладывать, но…набор команд и событий здесь ЗНАЧИТЕЛЬНО урезан, текстуры накладывать довольно неудобно…юзаю я её только для размещения лестниц и рукоходов. Отображаемая комната вертится уже знакомым тебе образом. Левым кликом выбери нужное место, затем в меню щёлкни пункт Special и выбери там Climbable Wall (лестница) или MonkeySwing (рукоход). При желании можно разместить и спрайт (sprite). Вот только для этих целей я и использую эту программу.

И напоследок программа Trscripter - программа для редактирования скриптового файла tombpc.dat, в котором описан вся игра в целом - порядок следования уровней, видеороликов на движке, ФМВ и прочее. Запусти Trscripter.bat в папке scripting tools\TRScripter, открой им tombpc.dat и извращайся. Пргорамма довольна проста в использовании и требует отдельного рассмотрения.



Похожие:

1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» iconСправочник для поступающих
России, а также оказывают оперативную помощь в выборе специальности. В разделе не приведены ссылки на сайты отдельных вузов; их можно...
1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» iconГений Мулявина
ИпИткес! Таке б» и мно­гих других групп. Найти их, конечно, можно — но у Мулявина был свой почерк, свой стиль звучания, который и...
1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» iconДосье на воинов, или что можно увидеть в разделе «статус»

1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» icon«Русский Stil 2009»
Давайте дружить проектами и поддерживать друг друга. Ведь мы делаем одно общее дело. Мы всегда готовы к диалогу и сотрудничеству....
1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» iconСеминар для директоров всех школ нашего района. Подробнее
В школе состоялся педагогический совет по проблеме "Организация профильного обучения и предпрофильной подготовки в оу". Все материалы...
1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» icon© Стрекалова Е. А.,2005 в электронном варианте отсутствуют некоторые рисунки и формулы. Их можно найти в издании на бумаге. Производные дробных порядков
В электронном варианте отсутствуют некоторые рисунки и формулы. Их можно найти в издании на бумаге
1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» iconЖурнал "Детский сад: теория и практика"
Обучение детей дошкольного возраста иностранному языку. С содержанием номера можно ознакомиться на сайте издательского дома "Эдисьон...
1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» iconФормирование методической папки (портфолио) учителя информатики
Это набор работ индивидуума, который связывает отдельные аспекты его деятельности в более полную картину
1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» iconО законе достаточного основания в этике
Целью статьи является выяснение статуса закона достаточного основания (здо) в том разделе философских дисциплин, который именуется...
1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» iconОлег шапошников руны и старшие арканы тарот
«между обеими противоположными горами», умение вырабатывать собственную точку зрения. Намек на то, что несмотря на все трудности,...
1. Набор всяких эдиторов, ссылку на который можно найти в разделе «Download» iconВторая неканонические ветви
Тем не менее, можно согласиться с Р. Яшунским, который пишет в своей статье: “Владыка Гурий – живая история и, можно сказать, реликвия...
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©podelise.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов